6 ms·
I’m gonna start using NixOS as my daily driver in a short time, may I ask whether you can pinpoint me to that part which needs to click? Is it learning Nix/bein
by Aerbil313 3y ago
I’m gonna start using NixOS as my daily driver in a short time, may I ask whether you can pinpoint me to that part which needs to click? Is it learning Nix/being able to write derivations? (also learning resources etc.)
- Xaiph_Rahci 3y agoThe entire OS being declarative. You tell it what is required, not how to do it, as in other OS.
- jchw 3y agoI can't really fully encapsulate it in a comment really, but I can give you some advice: 1. Use flakes to set up your system and do work with. It sometimes feels underdocumented, but it's worth some headscratching imo. 2. Don't worry about putting everything in the base system. Stick to services (Tailscale, Syncthing, etc) and system/base desktop software. It's easy enough to use nix run, or Podman, or flatpak, or even AppImage to a degree. 3. Want to configure something declaratively? Before pulling out HomeManager or another user tool, consider configuring software at the system level. I do this for Zsh, SwayWM, etc. As a bonus, you can easily block off shell startup files and chown them to root so that malware can't trivially insert themselves there. (It's a weak protection, but definitely doesn't hurt in addition to other approaches.) There's more (I recommend using Nix-ld to support AppImage and raw binaries better) but these things go a long way.
- colordrops 3y agoWhat clicks is that the OS seems to go against entropy, getting more stable the longer you use it and update your config, as opposed to other distros, which get cruftier over time, after which you have to reinstall every couple years, not remembering half the things you did to set it up. As others have said, it's immutable and completely built from config, and you can basically configure anything, so you can effectively redeploy a machine form config in minutes. Furthermore, it creates a snapshot every time you deploy, so you can always roll back if you break something. Nix is basically the future of operating systems. The one problem that still needs solving, which is blocking wider adoption, is ease of use. People are working on making the command line tools easier, but what will really do it is something that abstracts away config generation with a UI installer and tools, but opens up the config if you go into "advanced mode" or something like that.
- 3np 3y agoI'd strongly advice on using Nix in some other context (local dev environment for some or all your projects, for example) before jumping into NixOS as your daily driver, especially for a workstation where you work with dev. Helps to get some intuition on what fits where.