Skip to content

win-hafus/nixos-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

273 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NixOS Configuration

NixOS Flakes License: MIT

My personal NixOS configuration with a focus on modularity, reproducibility, and aesthetics.

Features

  • πŸ”„ Flakes β€” fully reproducible builds
  • 🏠 Home Manager β€” declarative user environment management
  • 🎨 Catppuccin Macchiato β€” consistent theming across the system
  • πŸͺŸ Hyprland β€” modern Wayland compositor
  • πŸ“¦ Modular Architecture β€” easily extensible and maintainable configuration

πŸ“Έ Screenshots

πŸ—‚οΈ Project Structure

.
β”œβ”€β”€ flake.nix              # Main entry point
β”œβ”€β”€ flake.lock
β”œβ”€β”€ hosts/                 # Host-specific configurations
β”‚   └── default/           # Default host configuration
β”œβ”€β”€ modules/               # Reusable modules
β”‚   β”œβ”€β”€ nixos/            # System-level modules (NixOS)
β”‚   └── home-manager/     # User-level modules (Home Manager)
β”œβ”€β”€ LICENSE
└── README.md

🎨 System Components

System Level

Component Value
Display Manager SDDM with Catppuccin theme
Desktop Environment GNOME + Hyprland (your choice)
Wallpaper Engine AWWW
Theme Catppuccin Macchiato Lavender

User Environment

Category Applications
Window Manager Hyprland
Terminal Alacritty
Shell Zsh + Oh My Zsh
Launcher Rofi
Status Bar Waybar
File Manager Nautilus
Icons Papirus-Dark

πŸš€ Installation

Prerequisites

  • NixOS installed
  • Flakes enabled (add to /etc/nixos/configuration.nix):
    nix.settings.experimental-features = [ "nix-command" "flakes" ];

Option 1: Full Configuration Replacement

⚠️ Warning: This method will delete your current configuration!

# Remove existing configuration
sudo rm -rf /etc/nixos

# Clone the repository
sudo git clone https://github.com/win-hafus/nixos-config /etc/nixos

# Navigate to the directory
cd /etc/nixos
make install

# Apply the configuration
make switch

Option 2: Integration with Existing Configuration

# Clone to your home directory
git clone https://github.com/win-hafus/nixos-config ~/nixos-config

# Import desired modules into your configuration
# Add to your flake.nix:
inputs.my-config.url = "github:win-hafus/nixos-config";

# Then use the modules:
imports = [ inputs.my-config.nixosModules.default ];

βš™οΈ Configuration

Changing Username and Hostname

Edit flake.nix:

...
let
      username = "hfv5";
      hostname = "nixos";
    in {
...

πŸ”„ Updating

# Update flake inputs
make update-flake

# Apply updates
make switch

# Clean old generations (optional)
make gc-old

πŸ“š Useful Resources

🀝 Contributing

Found a bug or have a suggestion? Feel free to open an issue or pull request!

πŸ“œ License

This project is licensed under the MIT License.

πŸ™ Acknowledgments

  • NixOS β€” for the amazing operating system
  • Hyprland β€” for the modern compositor
  • Catppuccin β€” for the beautiful color scheme
  • The NixOS community for continuous support and inspiration

Made with ❀️ and NixOS

Releases

No releases published

Packages

 
 
 

Contributors