readme: no more reusability
This commit is contained in:
parent
687e48da4a
commit
576cf6dc87
1 changed files with 9 additions and 4 deletions
13
README.md
13
README.md
|
@ -5,6 +5,13 @@
|
||||||
</h1>
|
</h1>
|
||||||
Collection of my personal Nix configurations and opinionated NixOS, nix-darwin, home-manager, and flake-parts modules.
|
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
|
## Project structure
|
||||||
- hosts - per-machine configurations
|
- hosts - per-machine configurations
|
||||||
- kazuki - my linux arm server
|
- 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
|
- ude - another linux arm server
|
||||||
- kogata - my m1 mac mini doubling as a server
|
- kogata - my m1 mac mini doubling as a server
|
||||||
- modules - options which in principle should be reusable by others
|
- 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 - my opinionated nixos/nix-darwin modules
|
||||||
- system
|
- home - my opinionated home-manager modules
|
||||||
- settei - my opinionated nixos/nix-darwin options
|
|
||||||
- flake - flake-parts modules
|
- flake - flake-parts modules
|
||||||
- secrets - agenix secrets
|
- secrets - agenix secrets
|
||||||
- wrappers - nix packages wrapped with my configs (see: [wrapper-manager](https://github.com/viperML/wrapper-manager))
|
- 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 ];`
|
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.
|
- the file should be roughly in order of most interesting to least interesting options.
|
||||||
- `imports` should be the first attribute (except for `_file`)
|
- `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.
|
- 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)
|
(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
|
to achieve this i still need to create a proper live iso with my config and my bootstrapping ssh key
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue