From cee1ce4af1369573e1a9a6d23f5c29a310573331 Mon Sep 17 00:00:00 2001 From: ChUrl Date: Wed, 26 Apr 2023 22:15:48 +0200 Subject: [PATCH] Update README.md --- README.md | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 114e55a7..714c9f23 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,41 @@ # NixOS Configuration To install remove everything from ``/etc/nixos`` and symlink the ``flake.nix`` to ``/etc/nixos/flake.nix``. -Because I am dumb many obvious things are explained here and in comments inside the configuration. -This is very WIP and some parts are pretty dumb as I am still learning the NixOS ecosystem. -I heavily borrowed from: -- [hlissner](https://github.com/hlissner/dotfiles) -- [misterio77](https://github.com/Misterio77/nix-config) - -# ./system +## NixFlake/system This folder contains all the system configurations. -- There is a common configuration used for all systems: ``NixFlake/nixos`` -- Every system has its own special configuration: ``NixFlake/nixos/`` +- There is a common configuration used for all systems: ``NixFlake/system/default.nix`` +- Every system has its own special configuration: ``NixFlake/system//default.nix`` +- System modules are located in ``NixFlake/system/modules`` When creating a NixOS configuration inside the ``NixFlake/flake.nix`` the common configuration is imported. Because the hostname is propagated to the common configuration, it can import the host-specific config by itself. -# ./home +## NixFlake/home This folder contains all the home-manager configurations. -- There is a configuration for each user: ``NixFlake/home/`` -- There is a common configuration for all systems of this user: ``NixFlake/home//`` +- There is a common configuration for each user: ``NixFlake/home//default.nix`` +- There is a configuration for a single system of this user: ``NixFlake/home///default.nix`` +- Home-Manager modules are located in ``NixFlake/home/modules`` When creating a NixOS configuration inside the ``NixFlake/flake.nix`` the common configuration is imported. Because the hostname is propagated to the common configuration, it can import the host-specific config by itself. -# Notes +## NixFlake/derivations + +This folder contains all the stuff I packaged. +Each derivation is loaded into ``NixFlake/derivations/default.nix``. + +## NixFlake/overlays + +This folder contains (not at the moment) all overlays. +The ``NixFlake/overlays/default.nix`` imports all of the overlays and all of the derivations. +It is then imported by the toplevel ``NixFlake/flake.nix``, to make everything available to the system/home configurations. + +## NixFlake/docs + +This folder contains automatically generated static documentation sites for my Home-Manager modules. -- I didn't organize the modules in folders with a ``default.nix`` for every module as this reduces readability -- Modules are split into system modules and home modules -- The ``NixFlake/overlays/default.nix`` imports all the derivations -- ``NixFlake/config`` contains all the dotfiles that are symlinked by HomeManager \ No newline at end of file