summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2024-12-21 15:47:33 +0100
committerLinnnus <[email protected]>2024-12-21 16:19:04 +0100
commit8353554315564b89dfe27d5130080ed04a0a65ad (patch)
tree896de88b6ea2701692b3ffe977c23947a786318e /README.md
parent9b7ed17b27157a25e57a6e38be3bcfeaa70ec9e8 (diff)
Move to a profile-based configuration where common
This patch makes it so common configuration is now located in shared/ and each host basically just becomes a bunch of import statements. The exception here is host-specific configuration like the `*.linus.onl` that live inside `hosts/ahmed/`. Specifically I have: - moved common configuration `shared/{nixos,home-manager,nix-darwin}`. - moved `hosts/common.nix` to `shared/nixos/common-{nix,shell}-settings.nix`. - split `hosts/muhammed/{dev-utils,neovim}` into per-language configuration. This patch was done in preparation for the arrival of a new host, which will need to share a lot of configuration with Muhammed.
Diffstat (limited to 'README.md')
-rw-r--r--README.md10
1 files changed, 3 insertions, 7 deletions
diff --git a/README.md b/README.md
index a077538..8774c82 100644
--- a/README.md
+++ b/README.md
@@ -15,12 +15,6 @@ Most files also contain a little comment at the top, explaining what it does.
* `/hosts/ahmed/`: Mediocre home-server which runs most of my self-hosted services.
* `/hosts/muhammed/`: My personal laptop used for development.
* `/hosts/fatima/`: NAS
- * `/hosts/common.nix`: Common configuration options shared by all hosts.
- Every `configuration.nix` imports this file. It contains basic stuff like
- making `zsh` the default shell.
-* `/home/`: Contains the part of my [home-manager] configuration that is common
- to all hosts. This includes basic stuff like `zsh` plugins. It is matched by
- `/hosts/<host>/home` which contains host-specific home-manager configuration.
* `/modules/`: Contains reusable modules that are configurable using [NixOS's
module system][mod-sys] and are exported for other consumers via `flake.nix`.
* `/modules/nixos/`: Every subdirectory in this directory contains a NixOS
@@ -33,9 +27,11 @@ Most files also contain a little comment at the top, explaining what it does.
versions and fix bugs used in the repo. These are exported as
`outputs.overlays.modifications` in `flake.nix`.
* `/pkgs/`: Contains Nix packages which I haven't upstreamed into `nixpkgs` for
- some reason. `/pkgs/default.nix` lists out every package. These are also
+ some reason. `/overlays/additions.nix` lists out every package. These are also
exported in `flake.nix`. An overlay that adds all new packages is also
available as `outputs.overlays.additions`.
+* `/shared/`: This can somewhat be thought of like `nixos/modules/profiles` in
+ nixpkgs; bits of configuration which are imported to be used.
* `/secrets`: All files which can't be added to the world-readable Nix-store
are managed by [agenix].
* `/secrets/secrets.nix`: The only Nix file which isn't (indirectly) imported