I have no real experience in nixos, so this will be a for ever work in progress. My choices here may be bad choices and should never taken as good practices. Best case scenario is 'it works on my laptop'
On my machines, /etc/nixos is a clone of this repo.
configuration.nix is the first file read by nixos and (will) contain common system settings across my machines.
It expects a symlink local in machines/, targeting the real machine folder, containing
- hardware-configuration.nix is generated by nix and should never be modified
- configuration.nix contains specific system settings
machine's configuration.nix imports modules:
- common is basic shell config that I want everywhere
- laptops is everything I need to geek like gnome env, browser and vscode
- servers is mostly ssh and k3s config
- work is specific configs for my job
- games is more or less steam
machine | status | common | laptops | servers | work | games |
---|---|---|---|---|---|---|
lithium | my personal laptop | ✅ | ✅ | ❌ | ❌ | ✅ |
beryllium | my personal server | ✅ | ❌ | ✅ | ❌ | ❌ |
boron | my work laptop | ✅ | ✅ | ❌ | ✅ | ❌ |
see INSTALL.md
see REFERENCES.md