Live data from Hacker News

My experience with NixOS

blog.patchgirl.io

91–95 of 95 posts

Re: My experience with NixOS

#91

Earlier quoted context omitted.

Yes people often blame the Nix langauge when they should blame Nixpkgs. I needs some more refactoring than we've been able to give it (though thankfully we've been able to give a lot of refactoring in absolute terms). I think static types what's needed to get us over the hill on this one.

I lay the blame with the arcane and inconsistent design patterns in nixpkgs, and with the usability of the nix toolset. for instance, a number of times I've had packages fail to build due to 404s. I first tried to git clone nixpkgs and fix it there, but I had to set it up as a channel for that to work. next I wasted a day setting up an overlay, but I couldn't get the hang of the self: super: construct. finally I foun…

> mirrors

Indeed it is a problem. I hope we will soon solve it.

> instead of bash

Totally agreed bash needs to go. I was thinking lua for sake of also supporting Windows.

Re: My experience with NixOS

#92
post #47

Earlier quoted context omitted.

I made the switch from Arch about a week ago. So far, great experience. I love the fact that my system state is reproducible and if I use version control on my dotfiles, I basically have a full backup of the look and feel of my workstation. VFIO with GPU passthrough works flawlessly. Setting up FDE with LUKS during and after the install was a breeze as well. Really enjoyed the whole experience. Being able to switch b…

Can you share the passthrough setup?

Of course. Here it is.

  boot.kernelModules = [ "kvm-amd" "vfio_virqfd" "vfio_pci" "vfio_iommu_type1" "vfio" ];
  boot.extraModprobeConfig = "options vfio-pci ids=10de:1e04,10de:10f7,10de:1ad6,10de:1ad7";
  boot.kernelParams = [ "amd_iommu=on" /*"video=efifb:off" if you have only one GPU and want to keep the vBIOS intact*/ ];

  virtualisation = {
    lxc.enable = true;
    lxd.enable = true;

    libvirtd = {
      enable = true;
      qemuOvmf = true;
      qemuVerbatimConfig = ''
        namespaces = []
        dynamic_ownership = 0
      '';
    };
  };
Make sure your environment.systemPackages include qemu-kvm and virtmanager.

And that's about it really. All you need to do after this is to go to virt-manager and create a new VM and add your GPU.

Re: My experience with NixOS

#93
post #62

Earlier quoted context omitted.

> I recently switched to NixOS and have essentially configured my OS from scratch in less than a week That doesn't exactly scream ease of use .

NixOS isn’t easy to use. It’s very powerful though. It gives you the ability to configure your whole OS, including all of your packages and configurations, in one declarative file. It reproduces the entire installation from this file in a way that’s fully immutable and hash-perfect (with minimal building from source). Very cool.

What he said.

Re: My experience with NixOS

#94
post #12
post #2

NixOS is good, if you found not enough documentation, try Guix and may be GuixSD. It uses guile (scheme) and has fantastic documentation. [1] Earlier Nix had additional NixOps but that too now is available with Guix deploy. I am waiting when I can run Guix within a lxd container, shepherd init still has some rough edges with LXD container init. Both are great piece of software and a new take on building OS and distri…

Guix looks really cool. I wish that it used Lisp rather than Scheme (because IMNSHO Lisp is better-suited to this kind of system software), but that ship has sailed. It’s a real shame that rms had such a dislike of Common Lisp. The mind boggles at where the cutting edge of computing would be today had Emacs upgraded from Elisp to Common Lisp twenty or thirty years ago. Instead GNU has spent 27 years trying to turn Sc…

RMS dislike of CL was purely due to personal factors: He felt cheated by the Lisp machine industry.

Re: My experience with NixOS

#95
post #12

Earlier quoted context omitted.

Guix looks really cool. I wish that it used Lisp rather than Scheme (because IMNSHO Lisp is better-suited to this kind of system software), but that ship has sailed. It’s a real shame that rms had such a dislike of Common Lisp. The mind boggles at where the cutting edge of computing would be today had Emacs upgraded from Elisp to Common Lisp twenty or thirty years ago. Instead GNU has spent 27 years trying to turn Sc…

RMS dislike of CL was purely due to personal factors: He felt cheated by the Lisp machine industry.

Never heard this before -- quite plausible. Do you have any references out in the wider world?
Post reply on HN