This is my multi host, modular Nix config. It declares configs for different programs using Nix language, such as:
- NixVim - Neovim declared in Nix
- Helix - Master branch with a use of official Helix flake cache
- Niri - Scrollable Tilling Wayland Compositor via Community Niri-flake
- And many more with Home-manager, that allows to declare configuration of user programs in Nix language
- 2 NixOS hosts with Nvidia and Intel, and AMD APU on laptops. Both on ZFS
- Nix-On-Droid on phone, even if unmantained, it still works
- NixOS-WSL for Windows partition
- NixVM for testing, you shouldn't use it unless testing breaking changes
Config is modular in a way that depending on host, the changes for programs can change. Like For FullHD screen and 4K screen - font size is 13 and 11 respectively. This is dependent on meta
attribute that is defined in each of the Hosts individually.
Also, you don't need to add imports to hosts, just custom.helix.enable = true;
to download the package and a config for any individual host. More info on this structure in Vimjoyer's Video
I write comments on things, that might explain certain ways of doing things, or leave not working options in comments for people to find. This is to not look up one thing twice, and just look at the nix file itself.
Also, I have Norg document, containing notes and TODO for the config, and folder /docs
for containing more specific instructions.
Yes, it is a JoJo's reference
I take a lot of things from the internet and different configs too. So I credit people in comments to snippets that I stole.
If you want to check every person that I stole things from, go to my List of configs
Also for that one guy who switched to codeberg
Also, thanks to everyone in nix-community for being so awesome, wouldn't be there without ya