My entire system configuration and dotfiles, built and refined over the years.
This repository contains my complete NixOS system configuration, including all dotfiles and customizations that have been developed and improved incrementally over time. It's a fully declarative setup using NixOS, with extensive program configurations written in Lua and CSS styling.
.
├── configuration.nix # Main NixOS system configuration
├── hardware-configuration.nix # Hardware-specific settings
├── home.nix # Home Manager configuration
├── flake.nix # Nix Flakes configuration
├── flake.lock # Flake dependencies lock file
├── core/ # Core system modules and utilities
├── configs/ # Application configuration files
├── programs/ # Program-specific configurations
├── services/ # System services configuration
├── fonts/ # Custom fonts and font configurations
├── icons/ # Icon theme and customizations
├── LICENSE # License file
- core/ - Contains core system modules and utilities used across configurations
- configs/ - Application-specific configuration files and dotfiles
- programs/ - Detailed configurations for various programs and applications
- services/ - System services and daemon configurations
- fonts/ - Custom fonts and font-related configurations
- icons/ - Icon themes and icon set customizations
This project uses:
- Nix (43.3%) - System configuration and package management
- Lua (41.4%) - Application configuration and scripting
- CSS (15.3%) - UI styling and theming
- ✅ Complete NixOS system configuration
- ✅ Home Manager integration for user environment
- ✅ Declarative package management
- ✅ Modular configuration structure
- ✅ Custom fonts and icon themes
- ✅ Service definitions and system utilities
- ✅ Lua-based program configurations
- NixOS operating system
- Nix Flakes enabled
- Git
-
Clone this repository:
git clone https://github.com/ritishDas/nix_config.git cd nix_config -
Adjust
hardware-configuration.nixfor your specific hardware -
Rebuild your NixOS configuration:
sudo nixos-rebuild switch --flake .# -
For Home Manager setup:
home-manager switch --flake .#
- Edit
configuration.nixfor system-wide settings - Edit
home.nixfor user-specific configurations - Modify files in
programs/,services/, andconfigs/directories as needed - Update
flake.nixto manage dependencies
See the LICENSE file for details.
Note: This configuration is tailored to my system setup. Feel free to adapt and customize it for your own use, but some paths and settings may need adjustment for your specific hardware and preferences.