Update documentation
This commit is contained in:
parent
9226d8a7e6
commit
b543fe2ddc
1 changed files with 36 additions and 30 deletions
66
README.md
66
README.md
|
@ -1,5 +1,5 @@
|
||||||
# nixos-system-config
|
# nixos-system-config
|
||||||
My NixOS configuration.
|
My modular NixOS configuration.
|
||||||
|
|
||||||
## About
|
## About
|
||||||
This is the NixOS configuration that I daily drive on my system. Feel free to use,
|
This is the NixOS configuration that I daily drive on my system. Feel free to use,
|
||||||
|
@ -12,38 +12,37 @@ modify and share this configuration to your heart's content, no attribution requ
|
||||||
|
|
||||||
## Layout
|
## Layout
|
||||||
```
|
```
|
||||||
├── assets ; Images used by the config and repo
|
├── assets ; Binary assets tracked in git
|
||||||
│ └── wallpaper.png
|
│ ├── screenshot.png
|
||||||
|
│ └── wallpaper.jpg
|
||||||
|
├── dotfiles ; GNU stow compatible dotfiles directory
|
||||||
|
│ └── ... ; Stores configurations that do not depend on Nix
|
||||||
├── flake.lock
|
├── flake.lock
|
||||||
├── flake.nix ; Entry point
|
├── flake.nix ; Entry point
|
||||||
├── machines ; Machine specific configuration
|
├── home ; home-manager configuration
|
||||||
│ └── workstation
|
│ ├── default.nix ; User and home-manager options
|
||||||
│ ├── configuration.nix
|
│ ├── packages ; Per-package home-manager configuration
|
||||||
│ ├── hardware-configuration.nix ; Modified hardware configuration
|
|
||||||
│ └── persist.nix ; Impermanence configuration
|
|
||||||
├── packages ; Sets of packages to install and configure
|
|
||||||
│ ├── sets
|
|
||||||
│ │ ├── games.nix
|
|
||||||
│ │ └── ...
|
│ │ └── ...
|
||||||
│ └── wm ; Package sets and basic config for WM and DE
|
│ └── persist.nix ; Home opt-in state directories and files
|
||||||
│ ├── hyprland.nix
|
├── hosts ; Host configurations
|
||||||
|
│ └── workstation
|
||||||
|
│ ├── default.nix ; Host configuration.nix equivalent
|
||||||
|
│ ├── hardware-configuration.nix ; Host hardware specific configuration
|
||||||
|
│ └── persist.nix ; System wide opt-in state directories and files
|
||||||
|
├── lib ; Custom helper functions
|
||||||
|
│ ├── default.nix
|
||||||
|
│ └── ...
|
||||||
|
├── modules ; System modules and sets of packages
|
||||||
|
│ ├── desktop
|
||||||
|
│ │ ├── apps
|
||||||
|
│ │ │ └── ...
|
||||||
|
│ │ └── environments
|
||||||
|
│ │ └── ...
|
||||||
|
│ └── system
|
||||||
│ └── ...
|
│ └── ...
|
||||||
├── README.md
|
├── README.md
|
||||||
├── secrets ; Git ignored folder to store confidentials
|
└── secrets ; Location of secrets not tracked in the git tree
|
||||||
│ └── hu
|
└── pass
|
||||||
│ └── pass ; Hashed password file for user
|
|
||||||
└── users
|
|
||||||
└── hu ; User specific configuration
|
|
||||||
├── packages ; Package configurations
|
|
||||||
│ ├── firefox.nix ; Configurations can be for NixOS or home-manager
|
|
||||||
│ ├── ...
|
|
||||||
│ └── zsh
|
|
||||||
│ ├── config ; Non-nix package config directory
|
|
||||||
│ │ └── conf.d
|
|
||||||
│ ├── zsh-home.nix ; For home-manager
|
|
||||||
│ └── zsh.nix ; For NixOS
|
|
||||||
├── persist.nix ; Impermanence configuration for the user
|
|
||||||
└── user.nix
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installing
|
## Installing
|
||||||
|
@ -71,7 +70,14 @@ and call it `root-blank`.
|
||||||
After you've mounted all the subvolumes and EFI partition (`/boot`) in `/mnt`
|
After you've mounted all the subvolumes and EFI partition (`/boot`) in `/mnt`
|
||||||
clone this repository in to `/mnt/nix/config`. Adjust all the block ids of the partitions
|
clone this repository in to `/mnt/nix/config`. Adjust all the block ids of the partitions
|
||||||
in `hardware-configuration.nix` and create a hashed password using `mkpasswd` and store it
|
in `hardware-configuration.nix` and create a hashed password using `mkpasswd` and store it
|
||||||
in the `secrets/{user}` directory as `pass`.
|
in the `secrets` directory as `pass`.
|
||||||
|
|
||||||
Finally, in the config directory run `nixos-install --flake '.#'`, reboot and you're done.
|
Finally, in the config directory run `nixos-install --flake '.#'`, reboot and you're done.
|
||||||
|
|
||||||
|
## Updating
|
||||||
|
This configuration sets up [nh](https://github.com/viperML/nh) for a prettier and more convenient
|
||||||
|
way of keeping the system up to date. To update you can simply run:
|
||||||
|
```sh
|
||||||
|
nix flake update /nix/config
|
||||||
|
nh os switch
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in a new issue