This repository keep track of my personal NixOS configuration.
This setup use Flakes so the "entrypoint" is flake.nix.
The configuration directory contains configuration specific to the hosts.
- Configuration specific to nostromo:
configuration/nostromo - Configuration specific to sanctuary:
configuration/sanctuary - Configuration specific to atlantis:
configuration/atlantis - Default configuration:
configuration/default.nix
The modules directory is related to the programs or services optionally imported.
- Module related to bash:
modules/bash.nix - Module related to firefox:
modules/firefox.nix - Module related to git:
modules/git.nix - Module related to home-manager:
modules/home-manager.nix - Module related to i3:
modules/i3.nix - Module related to neovim:
modules/neovim - Module related to rust:
modules/rust.nix - Module related to steam:
modules/steam.nix - Module related to xorg: `modules/xorg.nix
Rebuild the system from the local repository:
sudo nixos-rebuild switch --flake <path_to_repo>#hostname
Note that <path_to_repo> can be the path to the local repository but also the remote repository:
sudo nixos-rebuild switch --flake github:owner/repo#hostname
You can upgrade NixOS to the latest version by running:
nixos-rebuild switch --upgrade --flake <path_to_repo>#hostname
Note that auto-upgrade is enabled in configuration/default.nix.
To remove old, unreferenced packages:
nix-collect-garbage
The following command deletes old unreferenced packages and old roots, removing the ability to roll back to them:
nix-collect-garbage -d
sudo nix-collect-garbage -d
To delete all historical versions you can use
sudo nix profile wipe-history
You can manually optimize the store using:
nix-store --optimise