Update README.md
This commit is contained in:
39
README.md
39
README.md
@ -1,36 +1,41 @@
|
|||||||
# NixOS Configuration
|
# NixOS Configuration
|
||||||
|
|
||||||
To install remove everything from ``/etc/nixos`` and symlink the ``flake.nix`` to ``/etc/nixos/flake.nix``.
|
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:
|
## NixFlake/system
|
||||||
- [hlissner](https://github.com/hlissner/dotfiles)
|
|
||||||
- [misterio77](https://github.com/Misterio77/nix-config)
|
|
||||||
|
|
||||||
# ./system
|
|
||||||
|
|
||||||
This folder contains all the system configurations.
|
This folder contains all the system configurations.
|
||||||
|
|
||||||
- There is a common configuration used for all systems: ``NixFlake/nixos``
|
- There is a common configuration used for all systems: ``NixFlake/system/default.nix``
|
||||||
- Every system has its own special configuration: ``NixFlake/nixos/<hostname>``
|
- Every system has its own special configuration: ``NixFlake/system/<hostname>/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.
|
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.
|
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.
|
This folder contains all the home-manager configurations.
|
||||||
|
|
||||||
- There is a configuration for each user: ``NixFlake/home/<username>``
|
- There is a common configuration for each user: ``NixFlake/home/<username>/default.nix``
|
||||||
- There is a common configuration for all systems of this user: ``NixFlake/home/<username>/<hostname>``
|
- There is a configuration for a single system of this user: ``NixFlake/home/<username>/<hostname>/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.
|
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.
|
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
|
|
Reference in New Issue
Block a user