1.4 KiB
1.4 KiB
NixOS Configuration Files wit Flakes, Home-Manager
Description
My NixOS configuration repository
Install a New Host
- Install NixOS with graphical ISO image (e.g. GNOME). During the installation the desktop environment can be choosen.
- Reboot into NixOS
- Edit
/etc/nixos/configuration.nixwith sudoedit- Change hostname
- Enable flakes. Add the following lines:
# Enable flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];
- Install tmux, neovim, git by adding them to `environment.systemPackages = with pkgs; [`
- Apply changes:
sudo nixos-rebuild switchand reboot - Clone NixOS config repository to /home/$USER/nixos:
cd
git clone https://git.plueschbit.de/jan/nixos-conf ~/nixos
- Add the new host to repository
- Create ~/nixos/hosts/$HOSTNAME
cp /etc/nixos/*.nix $HOSTNAME/.- Edit
~/nixos/flake.nixand add section for new host - Stage new config files:
git add flake.nix hosts/$HOSTNAME/*. Otherwise, nixos-rebuild will refuse to work with the files.
- 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