




I, too, migrated to NixOS (from Fedora), and it was surprisingly easier than I expected
I have been a bit of a control freak when it comes to making sure my Linux and macOS environments reproducible and organized. Previously, I manually updated a markdown file listing every packages I installed and every configuration command I executed. So migrating to NixOS (and nix-darwin on macOS) was long overdue.
I was scared of jumping into Nix at first, but I found it surprisingly easy. Perhaps it's because I don't utilize fancier features that Nix offers, but creating one entry point for home-manager, one for Nixvim, two host configuration.nix (for my Framework 13 and M4 Mac Mini), and a flake.nix that ties everything together worked great.
Instead of using mkOutofStoreSymlink, I used this as an opportunity to simplify my overall environment. I tried using a well-established third-party package instead of writing things on my own like I did in my previous dotfiles repository, and I am very satisfied with the result. I especially like the fact that I turned all spawn-at-startup lines in my Niri config into systemd services, which seems to be a much better way of handling Waybar, Swayidle, Gammastep, etc.
Overall, I love the reproducibility and stability. My current plan is to update flake.lock every 2-3 weeks, iron out changes in a separate branch, and then merge it into the main branch. It's almost like having a personal release cycle for my own operating system, it's very satisfying.
If I have to point out two disappointments, it would be similar to what others have said:
- the build takes so long. I get that it's just how Nix works, but having to wait a minute or two for every changes, especially when I am trying out small things like tweaking font, colorscheme, etc. was painful
- Documentation. I largely had to reference other people's configuration to get things started, since there is no good starting guide. I also found that consistently, official documentation (e.g., official NixOS Wiki, home-manager official manual, nix-darwin officail manual) are (obviously) up-to-date and accurate but very hard to navigate, while unofficial documentation (e.g., https://mynixos.com/ , unofficial Wiki) have more information and easier to navigate but are often outdated.
Overall, I have been loving using it for 3 weeks, and I think it will stick with me for a while.
![Image 1 — [Niri] surprisingly pleasant experience migrating to NixOS](https://preview.redd.it/hcszw3i01htg1.png?width=2880&format=png&auto=webp&s=bae3ecd2bb259b85f8ad8f53da7c1c535ba77003)
![Image 2 — [Niri] surprisingly pleasant experience migrating to NixOS](https://preview.redd.it/veife3i01htg1.png?width=2880&format=png&auto=webp&s=671a98d03ff2721a6a87ed07485594ccafe9b8fc)
![Image 3 — [Niri] surprisingly pleasant experience migrating to NixOS](https://preview.redd.it/bhb7qzh01htg1.png?width=2880&format=png&auto=webp&s=7a8bdf37f50fd5eabc98db39208b8d8ab84772cc)
![Image 4 — [Niri] surprisingly pleasant experience migrating to NixOS](https://preview.redd.it/jq1333i01htg1.png?width=2880&format=png&auto=webp&s=165f60bbafb65e52aa97ad23205d397a36ab5615)
![Image 5 — [Niri] surprisingly pleasant experience migrating to NixOS](https://preview.redd.it/2i0537i01htg1.png?width=2880&format=png&auto=webp&s=1de6124224d19269200e283011d6af5836d99fa5)