+1 for NixOS. My desire to have a reproduceable system got me to this and does just the job for me.
nrbray
I like DeltaChat but FairEmail won out for me.
agreed, if I didn't trust the encryption, I would not use it. I am fine with bitwarden hosting my encrypted passwords, the store is accessible locally on each device, and I can self host with vaultwarden if bitwarden pull the free service. The features in bitwarden are good and sufficient, less awkward than alternatives I have tried.
I use the lowest cost vps and domain name I can find. OVH black Friday deals and lcn free UK domains as a starting point and practice moving host and registrar so as not to be dependent on either. Only after you are independent of vendors is it worth taking this approach IMHO. Beware if you "forget" to renew your domain many sharks about will take it, gather your data or ransom the name.
me too
Scuttlebutt?
use syncthing with markor, nothing simpler imho
Another suggestion to help on NixOs. There is quite some demand for what NixOs delivers so any work done should benefit from useful feedback.
Great, please may I ask if you would share other sources worth reading.
I think previous Linux knowledge helps, just less needed for newcomers; NixOS has been described as capturing others' 20 years experience for us to use. Nixos-mailserver is a great example. I used that out of the box and only with user knowledge of NixOS, none of mail tools. Otherwise mail servers are too hard I gathered.
I've found lots more to learn about Nix for development environments.
You might want to use nixos-mailserver first for production - after my research I was gobsmacked at how quickly it went. I relied totally on NixOS. Your milage might vary but I'd be shocked if it takes less than 10 times as long another way.
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/embed?src=b9o52fobqjak8oq8lfkhg3t0qg@group.calendar.google.com&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/
https://github.com/hackmdio/CodiMD for me is the genuine oss app with the real talent behind it and hedgedoc a controversial fork iterating on an older version
I hope NixOS gets added.