Skip to content

zephrynis/nix-flake

Repository files navigation

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

  1. Generate hardware configuration on your NixOS machine:

    nixos-generate-config --show-hardware-config > hardware-configuration.nix

    Copy the output to hosts/my-machine/hardware-configuration.nix

  2. Update configuration files:

    • Change my-machine to your actual hostname throughout the files
    • Update yourusername to your actual username
    • Adjust timezone, locale, and other personal settings
    • Choose your desktop environment / window manager
  3. Update flake inputs:

    nix flake update
  4. Build and switch to the new configuration:

    sudo nixos-rebuild switch --flake .#my-machine

Adding a New Machine

  1. Create a new directory under hosts/ with your machine's hostname
  2. Generate and add the hardware configuration
  3. Create a configuration.nix for machine-specific settings
  4. Add the new machine to flake.nix under nixosConfigurations
  5. 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

About

NixOS System Config

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published