A declarative NixOS configuration using flakes and Home Manager for reproducible system and user environment management.
This repository contains my personal NixOS system configuration, managed through Nix flakes for improved reproducibility and Home Manager for user-level package and dotfile management.
- NixOS installed with flakes enabled
- Git for cloning the repository
-
Clone the repository:
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles cd ~/dotfiles
-
Enable flakes (if not already enabled): Add to
/etc/nixos/configuration.nix:nix.settings.experimental-features = [ "nix-command" "flakes" ];
-
Build and switch:
sudo nixos-rebuild switch --flake .#hostname
When installing NixOS from scratch:
# After basic installation
git clone https://github.com/yourusername/dotfiles.git /mnt/etc/nixos
cd /mnt/etc/nixos
nixos-install --flake .#hostname# From the dotfiles directory
sudo nixos-rebuild switch --flake .#hostname# List generations
sudo nixos-rebuild list-generations
# Switch to previous generation
sudo nixos-rebuild switch --rollback
# Boot into specific generation (from GRUB menu)
# Select generation at boot time- Taskbar drop down
- Wallpaper Selector
- Power buttons