mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-18 12:11:54 +00:00
5e9d52e88e3ca17c052569142ca97289946cf31d
NixOS System Configuration
This is a NixOS flake configuration for managing your system setup, ricing, and applications across multiple devices.
Structure
.
├── flake.nix # Main flake configuration
├── flake.lock # Locked dependency versions
├── system/
│ └── common.nix # Shared system configuration
├── hosts/
│ └── my-machine/ # Per-machine configurations
│ ├── configuration.nix # Machine-specific settings
│ └── hardware-configuration.nix # Hardware-specific settings
└── home/
└── home.nix # User-level configuration (dotfiles, packages)
Initial Setup
-
Generate hardware configuration on your NixOS machine:
nixos-generate-config --show-hardware-config > hardware-configuration.nixCopy the output to
hosts/my-machine/hardware-configuration.nix -
Update configuration files:
- Change
my-machineto your actual hostname throughout the files - Update
yourusernameto your actual username - Adjust timezone, locale, and other personal settings
- Choose your desktop environment / window manager
- Change
-
Update flake inputs:
nix flake update -
Build and switch to the new configuration:
sudo nixos-rebuild switch --flake .#my-machine
Adding a New Machine
- Create a new directory under
hosts/with your machine's hostname - Generate and add the hardware configuration
- Create a
configuration.nixfor machine-specific settings - Add the new machine to
flake.nixundernixosConfigurations - Build with:
sudo nixos-rebuild switch --flake .#new-machine
Updating the System
# Update flake inputs
nix flake update
# Rebuild system
sudo nixos-rebuild switch --flake .#my-machine
Customization Ideas
- Add window manager configurations (i3, bspwm, Hyprland, etc.)
- Configure terminal emulators (Alacritty, Kitty, WezTerm)
- Set up status bars (Polybar, Waybar)
- Add custom themes and color schemes
- Configure rofi, dunst for notifications
- Set up wallpaper management with nitrogen or variety
Resources
Description
Languages
TypeScript
84.7%
Nix
9.1%
SCSS
5.3%
CSS
0.5%
Shell
0.4%