10 ms·
>I think for many developers with Linux experience, probably getting a reasonable NixOS desktop setup is straightforward. I took this as an excuse to try NixOS
by evh 5y ago
>I think for many developers with Linux experience, probably getting a reasonable NixOS desktop setup is straightforward.
I took this as an excuse to try NixOS myself and an opportunity to provide anecdata.
Previous Linux experience: Lots, including about 7 years of Gentoo use, some Arch and the usual distro hopping before that. Mostly on laptops (not counting VMs). Lately it's mostly been the BSDs so I'm a little lost.
It took me about 45 minutes from searching for their site to have a working XFCE install using their minimal install ISO with VirtualBox. Certainly a different experience, but with their install guide and searching "nixos xfce" you'll get it done.
Promptly rebooted and went for an encrypted ZFS root - less straightforward but after a few PEBKAC snags I got it up in an hour or two.
My immediate impression is that this is great but not being allowed to just
# which zsh >> /etc/shells
rubbed me the wrong way. Definitely something I'll consider using in the future, seems like a good fit for i.e. a VPS you might want to move easily.
Naturally I haven't learned the config language fully, but it seems easy enough if the docs aren't terrible.
- pxc 5y agoThanks for sharing your experience! > My immediate impression is that this is great but not being allowed to just `# which zsh >> /etc/shells` rubbed me the wrong way. Yep. That kind of thing will come up; on NixOS, root's interactive whim doesn't own /etc— `nixos-rebuild` owns /etc. But of course, both root and nixos-rebuild are you, so that's not so bad. :) For those curious (I assume the parent poster already figured it out) the NixOS way of enabling ZSH as a login shell is the following one liner: programs.zsh.enable = true; which will both ensure that it is installed and on the PATH, and add it to /etc/shells for you. As a rule of thumb, it's generally a good idea to check the NixOS options to see if there's a module defined for configuring a program before just adding it to your `environment.systemPackages`. Here's NixOS' zsh configuration options, for example: https://search.nixos.org/options?channel=21.05&from=0&size=50&sort=relevance&type=packages&query=programs.zsh https://search.nixos.org/options?channel=21.05&from=0&size=5... (`programs.zsh.{shell,prompt,loginShell,interactiveShell}Init` are your escape hatches; you can put whatever custom zsh scripting you want in there)