mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-18 20:21:53 +00:00
55c0f998169a3f82930b13ed6fbed1aaa5d497ea
Firefox has been commented out from the package list, and Teams has been added under the communication section. This updates the set of installed applications.
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%