readme: no more reusability

This commit is contained in:
Nikodem Rabuliński 2025-01-04 16:50:44 +01:00
parent 687e48da4a
commit 576cf6dc87

View file

@ -5,6 +5,13 @@
</h1>
Collection of my personal Nix configurations and opinionated NixOS, nix-darwin, home-manager, and flake-parts modules.
> [!CAUTION]
> I tried to make the modules in this repository useful to others without having to modify them,
> meaning I tried to have many configuration options, have them be disabled by default, etc.
> That is no more and although I still encourage people to use my config for learning and inspiration,
> the modules will now assume they're running in my infrastructure and I'll only add
> configuration and/or enabling options when it makes sense to me, personally.
## Project structure
- hosts - per-machine configurations
- kazuki - my linux arm server
@ -14,9 +21,8 @@ Collection of my personal Nix configurations and opinionated NixOS, nix-darwin,
- ude - another linux arm server
- kogata - my m1 mac mini doubling as a server
- modules - options which in principle should be reusable by others
- */common - common options between my machines which aren't meant to be reusable by others
- system
- settei - my opinionated nixos/nix-darwin options
- system - my opinionated nixos/nix-darwin modules
- home - my opinionated home-manager modules
- flake - flake-parts modules
- secrets - agenix secrets
- wrappers - nix packages wrapped with my configs (see: [wrapper-manager](https://github.com/viperML/wrapper-manager))
@ -32,7 +38,6 @@ Not set rules but general guidelines for myself to hopefully keep this config cl
this means i'll try to only do `imports = [ ./foo ];` or `imports = [ ./bar.nix ]` but not `imports = [ ./x/y/z.nix ];`
- the file should be roughly in order of most interesting to least interesting options.
- `imports` should be the first attribute (except for `_file`)
- anything that goes into `modules` should be usable by others, except for `modules/common`.
- there should be no implicit state anywhere in the config.
(sounds obvious but this is already broken with legion and the zfs pool but i'll let that one slide)
to achieve this i still need to create a proper live iso with my config and my bootstrapping ssh key