Skip to content

NixOS Hyperland-based window manager for NixOS with seamless tiling, customization, and stable configuration.

License

Notifications You must be signed in to change notification settings

sijanthapa171/NixOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NixOS Configuration System

πŸš€ A Modern, Customizable NixOS Configuration

NixOS License Last Commit Stars Issues PRs Welcome Flakes

NixOS Logo

A powerful, modular, and reproducible NixOS configuration system designed for modern computing needs.

Key Features β€’ Installation β€’ Configuration β€’ Customization β€’ Documentation β€’ Contributing

πŸ“‹ Overview

This NixOS configuration system leverages the power of Nix Flakes to create a fully reproducible and declarative system setup. Whether you're a developer, content creator, or power user, this configuration provides a solid foundation that can be easily customized to meet your specific needs.

Why This Configuration?

  • πŸ”„ Reproducible: Every aspect of your system can be recreated exactly as intended
  • πŸ›  Modular: Easily enable or disable components based on your needs
  • πŸ“¦ Declarative: Your entire system configuration is defined in code
  • πŸ”’ Secure: Security-focused defaults and easy-to-audit configurations
  • 🎨 Customizable: Extensive theming and personalization options
  • πŸš€ Performance: Optimized system configurations for maximum efficiency

✨ Key Features

Core Components

  • πŸ”„ Nix Flakes - Next-generation reproducible package management
  • 🏠 Home Manager - Sophisticated user environment management
  • 🎨 Desktop Environments - Multiple pre-configured options:
    • Hyprland
    • GNOME
    • i3
    • Custom WM setups

πŸš€ Installation

Prerequisites

Before you begin, ensure you have:

  • A NixOS installation or live environment
  • Internet connection
  • Basic understanding of Nix/NixOS concepts
  • At least 50GB of free disk space
  • 8GB RAM (16GB recommended)

Quick Start

  1. Clone the Repository

    git clone https://github.com/sijanthapa171/NixOS.git
    cd NixOS
  2. Review Configuration

    # Edit flake.nix to set your preferences
    nvim flake.nix
  3. Installation Options

    For existing NixOS systems:

    ./install.sh

    For fresh installations:

    ./live-install.sh
  4. Post-Installation

    # Rebuild and switch to the new configuration
    nixos-rebuild switch --flake .#Default

βš™οΈ Configuration

Core Settings (flake.nix)

settings = {
  username = "your-username";
  editor = "nixvim";    # Options: nixvim, vscode, nvchad, neovim
  browser = "floorp";   # Options: firefox, floorp, zen
  terminal = "kitty";   # Options: kitty, alacritty, wezterm
  videoDriver = "nvidia"; # Options: nvidia, amdgpu, intel
};

Available Configurations

Category Options Description
Editors nixvim, vscode, nvchad Pre-configured editor setups
Browsers firefox, floorp, zen Browser configurations with privacy focus
Terminals kitty, alacritty, wezterm Modern terminal emulators
File Managers yazi, lf Terminal and GUI file managers
Themes astronaut, black_hole, purple_leaves SDDM and system themes

πŸ“ Project Structure

NixOS/
β”œβ”€β”€ modules/           # Core system modules
β”‚   β”œβ”€β”€ desktop/      # Desktop environments
β”‚   β”œβ”€β”€ hardware/     # Hardware configurations
β”‚   β”œβ”€β”€ programs/     # Application setups
β”‚   β”œβ”€β”€ scripts/      # Utility scripts
β”‚   └── themes/       # Visual customizations
β”œβ”€β”€ hosts/            # Host-specific configs
β”œβ”€β”€ pkgs/            # Custom packages
β”œβ”€β”€ overlays/        # Nixpkgs overlays
└── dev-shells/      # Development environments

πŸ”§ Customization

Adding New Programs

  1. Create a new module in modules/programs/:

    # modules/programs/your-program/default.nix
    { config, lib, pkgs, ... }:
    {
      config = {
        # Your configuration here
      };
    }
  2. Import your module in the main configuration.

Theme Customization

  1. Choose a pre-configured theme:

    sddmTheme = "purple_leaves";
  2. Or create your own in modules/themes/.

Hardware Configuration

Adjust hosts/Default/hardware-configuration.nix for your specific hardware needs.

πŸ“š Documentation

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch
  3. πŸ’» Make your changes
  4. πŸ” Test your changes
  5. πŸ“ Create a Pull Request

Please read our Contributing Guidelines for more details.

πŸ™ Acknowledgments

⚠️ Notes

πŸ”„ Update Policy

  • Major updates: Every 6 months
  • Security updates: As needed
  • Bug fixes: Weekly/Bi-weekly

Made with ❀️ by the NixOS community

Website β€’ Forum β€’ Matrix

Contributors 3

  •  
  •  
  •