-
base
directory:
Shared configurations across all hosts are stored in this directory. -
desktop
andlaptop
directories:
Host-specific configuration files for the 'nix-desktop' and 'nix-laptop' hosts are contained in these directories. Each holds its configuration.nix and hardware-configuration.nix to tailor settings per device. -
desktop_environments
directory:
Houses a collection of available desktop environments, including GNOME, KDE, and potentially more. Each environment has its configuration.nix and home.nix. -
scripts
directory:
Stores miscellaneous scripts, offering additional functionalities or utilities for the system.
- Install NixOS on your machine
- Add this to your /etc/nixos/configuration.nix:
nix = { extraOptions = '' experimental-features = nix-command flakes ''; };
- Run
sudo nixos-rebuild switch
- Enter shell with
nix-shell -p git
and clone this repo (make sure to init all submodules!) - change the "username" variable in flake.nix to your desired user name
- Modify
desktop/configuration.nix
and/orlaptop/configuration.nix
: remove my driver configurations and add your own - Copy your hardware configuration into appropriate profile e.g. if using nix-desktop, place it in desktop/
sudo cp /etc/nixos/hardware-configuration.nix ~/[path to this repo]/desktop/
- Run
sudo nix flake update
to update packages - Run
sudo nixos-rebuild switch --flake .#nix-desktop
to apply configuration to OS - If everything works, remove non-flake NixOS configuration
sudo rm -rf /etc/nixos/
- To update packages run 'update'
- To switch to new configuration run 'switch'