3 ms·
I don't have a good guide. I had to just start getting my hands dirty and piece it together. My strategies: - keep the documentation open - install nixos in
by hackernudes 3y ago
I don't have a good guide. I had to just start getting my hands dirty and piece it together.
My strategies:
- keep the documentation open
- install nixos in a vm
- search github for "configuration.nix" to find fully worked examples for nixos. I just cloned anything that looked useful[1] and would grep through it
- read the source code for nixpkgs
- search google and search https://discourse.nixos.org/ https://discourse.nixos.org/ when you have an idea of what you want to do to find other people discussing it
It took me a couple days to have a very basic system running and a month to port most of my setup into nix (running some containers, overriding system packages, defining my own packages, running unmodified binaries using nix-ld).
I still use non-nix containers for a few services that I don't want to port over (but if I had known nix when I started I definitely would've used it).
Every step of the way was a huge struggle but the tools I have learned stay useful so I hope it is worthwhile investment. Still sometimes the extra nix friction is really frustrating but I can't help but think Nix or something like it is inevitably the future of software.
[1]: here is my random current list with some good and some bad...
https://cgit.euer.krebsco.de/stockholm/ https://cgit.euer.krebsco.de/stockholm/ https://github.com/9ary/dotfiles.git https://github.com/9ary/dotfiles.git https://github.com/baitinq/nixos-config https://github.com/baitinq/nixos-config https://github.com/barrucadu/nixfiles.git https://github.com/barrucadu/nixfiles.git https://github.com/catern/dotfiles.git https://github.com/catern/dotfiles.git https://github.com/contrun/infra.git https://github.com/contrun/infra.git https://github.com/disassembler/network.git https://github.com/disassembler/network.git https://github.com/juliosueiras/rasp-nix/ https://github.com/juliosueiras/rasp-nix/ https://github.com/KFearsoff/NixOS-config.git https://github.com/KFearsoff/NixOS-config.git https://github.com/lopsided98/nixos-config https://github.com/lopsided98/nixos-config https://github.com/Mic92/dotfiles.git https://github.com/Mic92/dotfiles.git https://github.com/moul/nixpkgs.git https://github.com/moul/nixpkgs.git https://github.com/musnix/musnix https://github.com/musnix/musnix https://github.com/myme/dotfiles https://github.com/myme/dotfiles https://github.com/nix-community/emacs-overlay https://github.com/nix-community/emacs-overlay https://github.com/nix-community/home-manager.git https://github.com/nix-community/home-manager.git https://github.com/NixOS/nixos-org-configurations.git https://github.com/NixOS/nixos-org-configurations.git https://github.com/reckenrode/nixos-configs https://github.com/reckenrode/nixos-configs https://github.com/skogsbrus/os https://github.com/skogsbrus/os https://github.com/Xe/nixos-configs.git https://github.com/Xe/nixos-configs.git https://github.com/Xe/site.git https://github.com/Xe/site.git https://git.immae.eu/perso/Immae/Config/Nix.git https://git.immae.eu/perso/Immae/Config/Nix.git https://gitlab.com/pgronkievitz/nixos-configurations.git https://gitlab.com/pgronkievitz/nixos-configurations.git https://gitlab.com/rprospero/dotfiles.git https://gitlab.com/rprospero/dotfiles.git