1
0
Fork 0

Updated README

This commit is contained in:
Jan Grosser 2024-05-25 22:55:10 +02:00
parent 4e010b3167
commit d98dd03fef

View file

@ -2,17 +2,17 @@
## Description ## Description
My NixOS configuration repository My NixOS configuration repository
## Install a new host ## Install a New Host
1. Install NixOS with graphical ISO image (e.g. GNOME). During the installation the desktop environment can be choosen. 1. Install NixOS with graphical ISO image (e.g. GNOME). During the installation the desktop environment can be choosen.
2. Reboot into NixOS 2. Reboot into NixOS
3. Edit `/etc/nixos/configuration.nix` with sudoedit 3. Edit `/etc/nixos/configuration.nix` with sudoedit
a) Change hostname - Change hostname
b) Enable flakes. Add the following lines: - Enable flakes. Add the following lines:
``` ```
# Enable flakes # Enable flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];
``` ```
c) Install tmux, neovim, git by adding them to `environment.systemPackages = with pkgs; [` - Install tmux, neovim, git by adding them to `environment.systemPackages = with pkgs; [`
4. Apply changes: `sudo nixos-rebuild switch` and reboot 4. Apply changes: `sudo nixos-rebuild switch` and reboot
5. Clone NixOS config repository to /home/$USER/nixos: 5. Clone NixOS config repository to /home/$USER/nixos:
``` ```
@ -20,9 +20,25 @@ cd
git clone https://git.plueschbit.de/jan/nixos-conf ~/nixos git clone https://git.plueschbit.de/jan/nixos-conf ~/nixos
``` ```
6. Add the new host to repository 6. Add the new host to repository
a) Create ~/nixos/hosts/$HOSTNAME - Create ~/nixos/hosts/$HOSTNAME
b) `cp /etc/nixos/*.nix $HOSTNAME/.` - `cp /etc/nixos/*.nix $HOSTNAME/.`
c) Edit `~/nixos/flake.nix` and add section for new host - Edit `~/nixos/flake.nix` and add section for new host
d) Stage new config files: `git add flake.nix hosts/$HOSTNAME/*`. Otherwise, nixos-rebuild will refuse to work with the files. - Stage new config files: `git add flake.nix hosts/$HOSTNAME/*`. Otherwise, nixos-rebuild will refuse to work with the files.
8. Apply config: `sudo nixos-rebuild switch --flake ~/nixos/#<host>` 8. Apply config: `sudo nixos-rebuild switch --flake ~/nixos/#<host>`
## Update Packages on a Host
Update of the file `flake.nix`:
```
sudo nix flake update
```
Then, perform nixos rebuild:
```
sudo nixos-rebuild switch --flake ~/nixos/#<host>
```
## Garbage Collection
Keep e.g. the last five generations and perform garbage collection:
```
sudo nix-env --delete-generations +5
sudo nix-store --gc
```