
A powerful, modular, and reproducible NixOS configuration system designed for modern computing needs.
Key Features β’ Installation β’ Configuration β’ Customization β’ Documentation β’ Contributing
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.
- π 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
- π 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
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)
-
Clone the Repository
git clone https://github.com/sijanthapa171/NixOS.git cd NixOS
-
Review Configuration
# Edit flake.nix to set your preferences nvim flake.nix
-
Installation Options
For existing NixOS systems:
./install.sh
For fresh installations:
./live-install.sh
-
Post-Installation
# Rebuild and switch to the new configuration nixos-rebuild switch --flake .#Default
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
};
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 |
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
-
Create a new module in
modules/programs/
:# modules/programs/your-program/default.nix { config, lib, pkgs, ... }: { config = { # Your configuration here }; }
-
Import your module in the main configuration.
-
Choose a pre-configured theme:
sddmTheme = "purple_leaves";
-
Or create your own in
modules/themes/
.
Adjust hosts/Default/hardware-configuration.nix
for your specific hardware needs.
We welcome contributions! Here's how you can help:
- π΄ Fork the repository
- πΏ Create a feature branch
- π» Make your changes
- π Test your changes
- π Create a Pull Request
Please read our Contributing Guidelines for more details.
- NixOS Community
- Home Manager Project
- All our amazing contributors
- Regular updates are released - check the changelog
- Report bugs through GitHub Issues
- Join our Discord Community for support
- Major updates: Every 6 months
- Security updates: As needed
- Bug fixes: Weekly/Bi-weekly