It is now on Codeberg at https://codeberg.org/Yuugen/nixos-config
Hi, this is my system flake and daily driver.
- Modules system
- Cachy kernel for improved performance
- Git hooks
The entry point of this config. Exposes a lot of stuff
nixosModules: Self defined system options and modulesnixosConfigurations: Hosts a.k.a machines a.k.a computers definitionshomeManagerModules: Self defined user options and moduleshomeConfigurations: Home a.k.a user definitionsdevShells: Everything needed to work on this flakechecks.<system>.pre-commit-check: Pre commit hooks
User definitions, every subfolder is a user and is imported in default.nix
Machine definitions, every subfolder is a host/machine and is imported in default.nix
Self defined utilitary functions
User side modules/options to be imported and changed (or not) by users. Provides good enough default values.
Same but host side
Local modifications on packages
Self packaged stuff
Default set of options for users
Same but host side
Nothing, this flake is perfect… except for:
- Somehow worse performance than on stock CachyOS
- [ ] Match stock CachyOS performance
- [ ] Manage secrets with Nix
- [ ] Hide from /nix/store
- [ ] Encrypt files on github
- [ ] Manage theming through Nix
If you wish to expand on this config, you may open a pull request or fork this repo yourself. I would be extremely grateful if you made pull requests for modules you deem interesting.
My only request is that you follow the Conventional Commits and use nixfmt
- tsrk(the GOAT)’s config: https://github.com/itsshamed/tsrk-nix-flex
- CachyOS’ ideas, scripts and defaults: https://wiki.cachyos.org/
- Enzuru’s emacs config: https://github.com/enzuru/.emacs.d
- Parc Informatique de l’EPITA: https://gitlab.cri.epita.fr/forge/infra/nixpie
- Emmanuel Rosa’s ProtonVPN module: https://github.com/emmanuelrosa/erosanix/blob/master/modules/protonvpn.nix