1
0
Fork 0
NixOS config
Find a file
Jan Grosser 7febd46001 2024-06-16 update
System update on 2024-06-16

I had to allow to insall EOL electron which is a dependency for logseq,
see:
https://discourse.nixos.org/t/electron-complaining-it-is-eol-but-what-is-requiring-it/34700.

I added a section to allow certain "unsafe" packages in
configuration.nix. It only worked when I specified the package with the
version number.
2024-06-16 21:58:52 +02:00
hosts 2024-06-16 update 2024-06-16 21:58:52 +02:00
modules Implemented stylix 2024-06-14 22:23:12 +02:00
flake.lock 2024-06-16 update 2024-06-16 21:58:52 +02:00
flake.nix Fixed identation 2024-06-16 21:24:07 +02:00
README.md Fixed README. No channel upgrade => set to unstable 2024-06-03 00:10:07 +02:00

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
    • Change hostname
    • Enable flakes by adding the line nix.settings.experimental-features = [ "nix-command" "flakes" ];
    • 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 $HOME
git clone https://git.plueschbit.de/jan/nixos-conf ~/nixos
  1. Add the new host to repository
    • Create ~/nixos/hosts/$HOSTNAME
    • cp /etc/nixos/*.nix $HOSTNAME/.
    • Edit ~/nixos/flake.nix and 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.
  2. Apply config: sudo nixos-rebuild switch --flake ~/nixos/#<host>

Update Packages on a Host

Update of the file flake.nix:

cd ~/nixos
sudo nix flake update

Then, perform nixos rebuild:

sudo nixos-rebuild switch --flake ~/nixos/#<host>

Upgrading to a new NixOS channel

In flake.nix the channel is set to unstable. Therefore, there is no need to upgrade the channel.

Garbage Collection

List all generations:

sudo nix-env --list-generations --profile /nix/var/nix/profiles/system

Keep e.g. the last five generations and perform garbage collection:

sudo nix-env --delete-generations +5 --profile /nix/var/nix/profiles/system
sudo nix-collect-garbage