README: use consistent tab width (2 spaces)
This commit is contained in:
96
README.md
96
README.md
@@ -35,37 +35,37 @@ or follow the instructions [here][NUR] to use it via the Nix User Repositories.
|
|||||||
|
|
||||||
## Layout
|
## Layout
|
||||||
- `doc/`
|
- `doc/`
|
||||||
- instructions for tasks i find myself doing semi-occasionally in this repo.
|
- instructions for tasks i find myself doing semi-occasionally in this repo.
|
||||||
- `hosts/`
|
- `hosts/`
|
||||||
- the bulk of config which isn't factored with external use in mind.
|
- the bulk of config which isn't factored with external use in mind.
|
||||||
- that is, if you were to add this repo to a flake.nix for your own use,
|
- that is, if you were to add this repo to a flake.nix for your own use,
|
||||||
you won't likely be depending on anything in this directory.
|
you won't likely be depending on anything in this directory.
|
||||||
- `integrations/`
|
- `integrations/`
|
||||||
- code intended for consumption by external tools (e.g. the Nix User Repos)
|
- code intended for consumption by external tools (e.g. the Nix User Repos)
|
||||||
- `modules/`
|
- `modules/`
|
||||||
- config which is gated behind `enable` flags, in similar style to nixpkgs'
|
- config which is gated behind `enable` flags, in similar style to nixpkgs'
|
||||||
`nixos/` directory.
|
`nixos/` directory.
|
||||||
- if you depend on this repo, it's most likely for something in this directory.
|
- if you depend on this repo, it's most likely for something in this directory.
|
||||||
- `nixpatches/`
|
- `nixpatches/`
|
||||||
- literally, diffs i apply atop upstream nixpkgs before performing further eval.
|
- literally, diffs i apply atop upstream nixpkgs before performing further eval.
|
||||||
- `overlays/`
|
- `overlays/`
|
||||||
- exposed via the `overlays` output in `flake.nix`.
|
- exposed via the `overlays` output in `flake.nix`.
|
||||||
- predominantly a list of `callPackage` directives.
|
- predominantly a list of `callPackage` directives.
|
||||||
- `pkgs/`
|
- `pkgs/`
|
||||||
- derivations for things not yet packaged in nixpkgs.
|
- derivations for things not yet packaged in nixpkgs.
|
||||||
- derivations for things from nixpkgs which i need to `override` for some reason.
|
- derivations for things from nixpkgs which i need to `override` for some reason.
|
||||||
- inline code for wholly custom packages (e.g. `pkgs/additional/sane-scripts/` for CLI tools
|
- inline code for wholly custom packages (e.g. `pkgs/additional/sane-scripts/` for CLI tools
|
||||||
that are highly specific to my setup).
|
that are highly specific to my setup).
|
||||||
- `scripts/`
|
- `scripts/`
|
||||||
- scripts which aren't reachable on a deployed system, but may aid manual deployments
|
- scripts which aren't reachable on a deployed system, but may aid manual deployments
|
||||||
- `secrets/`
|
- `secrets/`
|
||||||
- encrypted keys, API tokens, anything which one or more of my machines needs
|
- encrypted keys, API tokens, anything which one or more of my machines needs
|
||||||
read access to but shouldn't be world-readable.
|
read access to but shouldn't be world-readable.
|
||||||
- not much to see here
|
- not much to see here
|
||||||
- `templates/`
|
- `templates/`
|
||||||
- exposed via the `templates` output in `flake.nix`.
|
- exposed via the `templates` output in `flake.nix`.
|
||||||
- used to instantiate short-lived environments.
|
- used to instantiate short-lived environments.
|
||||||
- used to auto-fill the boiler-plate portions of new packages.
|
- used to auto-fill the boiler-plate portions of new packages.
|
||||||
|
|
||||||
|
|
||||||
## Key Points of Interest
|
## Key Points of Interest
|
||||||
@@ -73,35 +73,35 @@ or follow the instructions [here][NUR] to use it via the Nix User Repositories.
|
|||||||
i.e. you might find value in using these in your own config:
|
i.e. you might find value in using these in your own config:
|
||||||
|
|
||||||
- `modules/fs/`
|
- `modules/fs/`
|
||||||
- use this to statically define leafs and nodes anywhere in the filesystem,
|
- use this to statically define leafs and nodes anywhere in the filesystem,
|
||||||
not just inside `/nix/store`.
|
not just inside `/nix/store`.
|
||||||
- e.g. specify that `/var/www` should be:
|
- e.g. specify that `/var/www` should be:
|
||||||
- owned by a specific user/group
|
- owned by a specific user/group
|
||||||
- set to a specific mode
|
- set to a specific mode
|
||||||
- symlinked to some other path
|
- symlinked to some other path
|
||||||
- populated with some statically-defined data
|
- populated with some statically-defined data
|
||||||
- populated according to some script
|
- populated according to some script
|
||||||
- created as a dependency of some service (e.g. `nginx`)
|
- created as a dependency of some service (e.g. `nginx`)
|
||||||
- values defined here are applied neither at evaluation time _nor_ at activation time.
|
- values defined here are applied neither at evaluation time _nor_ at activation time.
|
||||||
- rather, they become systemd services.
|
- rather, they become systemd services.
|
||||||
- systemd manages dependencies
|
- systemd manages dependencies
|
||||||
- e.g. link `/var/www -> /mnt/my-drive/www` only _after_ `/mnt/my-drive/www` appears)
|
- e.g. link `/var/www -> /mnt/my-drive/www` only _after_ `/mnt/my-drive/www` appears)
|
||||||
- this is akin to using [Home Manager's][home-manager] file API -- the part which lets you
|
- this is akin to using [Home Manager's][home-manager] file API -- the part which lets you
|
||||||
statically define `~/.config` files -- just with a different philosophy.
|
statically define `~/.config` files -- just with a different philosophy.
|
||||||
- `modules/persist/`
|
- `modules/persist/`
|
||||||
- my alternative to the Impermanence module.
|
- my alternative to the Impermanence module.
|
||||||
- this builds atop `modules/fs/` to achieve things stock impermanence can't:
|
- this builds atop `modules/fs/` to achieve things stock impermanence can't:
|
||||||
- persist things to encrypted storage which is unlocked at login time (pam_mount).
|
- persist things to encrypted storage which is unlocked at login time (pam_mount).
|
||||||
- "persist" cache directories -- to free up RAM -- but auto-wipe them on mount
|
- "persist" cache directories -- to free up RAM -- but auto-wipe them on mount
|
||||||
and encrypt them to ephemeral keys so they're unreadable post shutdown/unmount.
|
and encrypt them to ephemeral keys so they're unreadable post shutdown/unmount.
|
||||||
- `modules/programs/`
|
- `modules/programs/`
|
||||||
- like nixpkgs' `programs` options, but allows both system-wide or per-user deployment.
|
- like nixpkgs' `programs` options, but allows both system-wide or per-user deployment.
|
||||||
- allows `fs` and `persist` config values to be gated behind program deployment:
|
- allows `fs` and `persist` config values to be gated behind program deployment:
|
||||||
- e.g. `/home/<user>/.mozilla/firefox` is persisted only for users who
|
- e.g. `/home/<user>/.mozilla/firefox` is persisted only for users who
|
||||||
`sane.programs.firefox.enableFor.user."<user>" = true;`
|
`sane.programs.firefox.enableFor.user."<user>" = true;`
|
||||||
- `modules/users.nix`
|
- `modules/users.nix`
|
||||||
- convenience layer atop the above modules so that you can just write
|
- convenience layer atop the above modules so that you can just write
|
||||||
`fs.".config/git"` instead of `fs."/home/colin/.config/git"`
|
`fs.".config/git"` instead of `fs."/home/colin/.config/git"`
|
||||||
|
|
||||||
some things in here could easily find broader use. if you would find benefit in
|
some things in here could easily find broader use. if you would find benefit in
|
||||||
them being factored out of my config, message me and we could work to make that happen.
|
them being factored out of my config, message me and we could work to make that happen.
|
||||||
|
Reference in New Issue
Block a user