89181a9c07529af0ba057d32e4720b4f6c5adda0
nixConfig
This is a modular, flake-based Nix configuration repository for managing all personal machines and environments in one place. It supports:
- Full system configuration for NixOS laptop.
- Home Manager user environments on all machines (NixOS, Ubuntu, WSL, servers).
- Reusable modules for programs and services.
- Declarative configuration and reproducible builds.
Repository Structure
nixConfig/
├── flake.nix # Flake entry point with all system and user configs
├── flake.lock # Input versions for reproducibility
├── hosts/ # Per-host system-level configs
│ ├── t440p # NixOS system config for laptop
│ │ ├── configuration.nix # NixOS system config
│ │ └── hardware-configuration.nix # Hardware config generated by NixOS
│ ├── steamdeck # NixOS system running on Valve Steamdeck
│ ├── xaorus # home-manager on Ubuntu
│ └── vps04_08 # services running on Ubuntu VPS
├── home/ # Home Manager configs (user environments)
│ └── home.nix # Shared user config for 'wieerwill'
├── modules/ # Shared program/service modules
│ └── ...
Usage
Rebuild the system
use the systems name at the end. Example:
sudo nixos-rebuild switch --flake ~/nixConfig#t440p
Rebuild Home Manager only (e.g. on non-NixOS systems)
home-manager switch --flake ~/nixConfig#<username>@<hostname>
Update flake inputs
nix flake update
or use the scripts in /scripts. The script is build for on-system execution and will clean up afterwards:
chmod +x ./scripts/nix-maintain.sh
./scripts/nix-maintain.sh
Setup
/etc/nixosis a symlink to~/nixConfigso NixOS can find configuration files (sudo ln -s /home/$USER/nixConfig /etc/nixos).- Uses matching Home Manager and Nixpkgs versions (
release-25.05) to avoid compatibility warnings. - Home Manager is integrated via NixOS modules for system-wide user config.
Modules
The home/ and modules/ directory will contain reusable modules such as:
neovim.nix– editor configurationfirefox.nix– browser preferencesgit.nix– shared Git settingstraefik.nix– server services
These modules will be selectively included in each host config or enabled conditionally.
Secrets & Private Data
Do not store secrets or passwords in this repository! SOPS with age is provided in the configuration as secure method for secrets management.
Description
Languages
Nix
93.6%
Shell
6.4%