# NixOS Configuration Files wit Flakes, Home-Manager ## Description My NixOS configuration repository ## Install a new host 1. Install NixOS with graphical ISO image (e.g. GNOME). During the installation the desktop environment can be choosen. 2. Reboot into NixOS 3. Edit `/etc/nixos/configuration.nix` with sudoedit a) Change hostname b) Enable flakes. Add the following lines: ``` # Enable flakes nix.settings.experimental-features = [ "nix-command" "flakes" ]; ``` c) Install tmux, neovim, git by adding them to `environment.systemPackages = with pkgs; [` 4. Apply changes: `sudo nixos-rebuild switch` and reboot 5. Clone NixOS config repository to /home/$USER/nixos: ``` cd git clone https://git.plueschbit.de/jan/nixos-conf ~/nixos ``` 6. Add the new host to repository a) Create ~/nixos/hosts/$HOSTNAME b) `cp /etc/nixos/*.nix $HOSTNAME/.` c) 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. 8. Apply config: `sudo nixos-rebuild switch --flake ~/nixos/#`