This repository contains my personal NixOS system configuration with a modular structure for easy management and replication.
- Enable wpa_supplicant for WiFi:
sudo systemctl enable wpa_supplicant- Configure your WiFi credentials:
- Navigate to
modules/core/networking - Add your SSID and PSK in the appropriate configuration section
- Navigate to
.
├── programs/ # Package configurations
│ ├── editors/ # Text editors (neovim, etc.)
│ ├── terminal/ # Terminal emulators and tools
│ ├── containers/ # Docker, kubernetes
│ ├── languages/ # Programming languages and LSP
│ └── media/ # Browsers and media tools
├── desktop/ # Desktop environment (Hyprland)
└── modules/ # Core system modules
└── core/ # Core system configurations
- Navigate to the appropriate directory in
programs/ - Add package to the relevant
default.nixlist for default configuration - For custom configurations, create a new .nix file (e.g.,
neovim.nix)
- Remove the SHA hash value in the configuration
- Replace with empty quotes
"" - Run
nixos-rebuild - The build will fail and provide the correct hash
- Replace the empty quotes with the new hash
- Run
nixos-rebuildagain
Hyprland configuration can be found in the desktop directory. Customize window management, keybindings, and appearance settings here.
- Each directory in
programs/supports both default package installation and custom configurations - Custom configurations are automatically imported from .nix files in their respective directories
- The modular structure allows for easy addition and removal of components
To rebuild your system after making changes:
sudo nixos-rebuild switchFor development/testing:
sudo nixos-rebuild test