Here's mine fwiw - no SSO or LDAP but might add something to what you find. My journey is to move from a NixOS user of 2 years and 1 year 'all in'. I run my own mail server with NixOS.
nixos-mailserver works well for me. The package set runs faultlessly on the smallest OVH vps. NixOS gives me the ability to redeploy anywhere painlessly and the backup need is limited to a dovecot sync. Dovecot sync is neat: with a 2nd identical vps (match configuration.nix) and non functional but services running duplicates all the live mail data with one command.
I am going all in on Rust too. There is a rust based mail server being developed that I might track as a migration in years to come.
Reading material
Learn { NixOS, Nix }
- https://nixos-and-flakes.thiscute.world/nixos-with-flakes/modularize-the-configuration "The Nix module system provides a parameter, imports, which accepts a list of .nix files and merges all the configuration defined in these files into the current Nix module."
- https://gitlab.com/famedly/conduit/-/blob/next/nix/README.md
- https://fangpenlin.com/posts/2024/01/14/high-speed-usb4-mesh-network/ Nix package system "beautifully designed but hard to understand at first glance."
- https://stackoverflow.com/questions/18878117/using-vagrant-to-run-virtual-machines-with-desktop-environment
- https://discourse.nixos.org/t/set-up-vagrant-with-libvirt-qemu-kvm-on-nixos/14653
- https://aldoborrero.com/posts/2023/01/15/setting-up-my-machines-nix-style/
- https://github.com/tweag/rust-wasm-nix
- https://github.com/NixOS/nix.dev
- https://terinstock.com/post/2021/01/Setting-up-a-git-server-on-NixOS/
- https://github.com/nrbray/nixos-configuration
- https://ash64.eu/blog/2022/building-custom-nixos-isos/
- https://github.com/nix-community/disko
- https://github.com/ghostbuster91/blogposts/blob/a2374f0039f8cdf4faddeaaa0347661ffc2ec7cf/router2023-part2/main.md
- https://cola-gang.industries/nixos-for-the-confused-part-2
- https://publish.reddit.com/embed?url=https://www.reddit.com/r/NixOS/comments/12kxmii/comment/jg5kq9n?snippet=2_8_105
- https://github.com/Mic92/dotfiles
- https://www.haskellforall.com/2022/08/stop-calling-everything-nix.html
- https://calendar.google.com/calendar/u/0/[email protected]&ctz=Europe/Amsterdam
- https://publish.reddit.com/embed?url=https://www.reddit.com/r/NixOS/comments/16zs4sn/comment/k3ilo44?snippet=0_12_128
- https://vaibhavsagar.com/blog/2019/08/22/industrial-strength-deployments/
- https://discourse.nixos.org/t/how-do-i-split-common-system-configuration-into-seperate-files/34316/4
- https://discourse.nixos.org/t/cant-get-gnupg-to-work-no-pinentry/15373/31?u=nrbray
- https://github.com/colemickens/nixcfg/blob/52e6f2600b1f01dbd223652849caa32d9a4ef42e/mixins/gpg-agent.nix
- https://github.com/Misterio77/nix-starter-configs/blob/main/README.md
- https://nixos.wiki/wiki/Nix_Cookbook#Creating_shell_scripts
- https://discourse.nixos.org/t/using-deploy-rs-with-existing-configuration/31665/3
Flake specific
are simply a special entry point for Nix code with a built in pinning system
- https://colmena.cli.rs/unstable/tutorial/flakes.html
- https://github.com/erictossell/nixflakes/blob/main/flake.nix
- https://github.com/simonkampe/nixos/blob/main/flake.nix
- https://discourse.nixos.org/t/proper-way-to-build-a-remote-system-with-flakes/17661
- https://fasterthanli.me/series/building-a-rust-service-with-nix
- https://nixos.wiki/wiki/Overlays#In_a_Nix_flake
- https://thiscute.world/en/posts/nixos-and-flake-basics/
- https://drakerossman.com/blog/how-to-convert-default-nixos-to-nixos-with-flakes
- https://flake.parts/best-practices-for-module-writing
- https://www.tweag.io/blog/2022-09-22-rust-nix/
- https://flake.parts/
- https://github.com/nix-community/NUR
- https://lantian.pub/en/article/modify-computer/nixos-packaging.lantian/
- https://tonyfinn.com/blog/nix-from-first-principles-flake-edition/nix-6-nixpkgs-not-reinventing-the-wheel/