Steps to replicate the system configuration starting from a fresh NixOS installation:
- install git:
sudo nano /etc/nixos/configuration.nix=>sudo nixos-rebuild switch - clone repository:
cd ~ ; git clone https://github.com/siphc/nixos-configuration.git(note that you won't have ssh by this stage!) - download source code of required packages (dwm, st, slstatus) and copy configuration files over (TODO: this task is automate-able, so we can write a shell script that accomplishes this)
- change
users.users.*and"nixos-config=*innix.nixPathto your own username, of course. - IMPORTANT: change
system.stateVersionto your own version AS OF TIME OF INSTALL as described in/etc/nixos/configuration.nix. nixos-rebuild switch -I nixos-config=/home/[USER]/nixos-configuration/configuration.nix- ensure screenshot scripts function properly:
cd ~ ; mkdir -p Pictures/Screenshots - configure lf:
~/nixos-configuration/initsetup.sh - copy .bashrc out of this directory to your $HOME.
- fix PATH by symlinking to
./binfrom~/.local/bin - reboot.
Steps to upgrade nixpkgs channels: I don't trust system.autoUpgrade.enable, so we have to do this manually twice a year.
sudo nix-channel --add https://channels.nixos.org/channel-name nixos, change channel-name to a desirable channel, like nixos-25.11 or nixos-unstable.sudo nixos-rebuild switch --upgradeBoth commands have to be ran withsudoto make sure that the channel is correctly set in the configuration file (as channels are set per user). Pretty sure this recompiles firefox like 4 times, so you'll need to wait a bit.
TODO: All three suckless packages can be added as Git submodules... Will get to that the next time I have to reinstall my system.