NixOS Configurationn
NixOS
A comprehensive NixOS configuration with Hyprland window manager, development tools, and reproducible system managementt
NixOS
Hyprland
Neovim
Python
Rust
Steam
NixOS Configuration
This repository contains a NixOS configuration flake. It provides a complete desktop environment with Hyprland window manager, development tools, and various utilities for a productive Linux setup.
Requirements
- NixOS (unstable channel recommended)
- Git
- Basic understanding of Nix and NixOS
Installation
Clone this repository:
git clone https://github.com/temidaradev/nixos.git ~/.dotfiles cd ~/.dotfilesUpdate the flake inputs:
nix flake updateBuild and switch to the NixOS configuration:
sudo nixos-rebuild switch --flake .#yourhostnameApply Home Manager configuration:
home-manager switch --flake .#yourhostname
Features
Hardware
- Graphics: AMD GPU support with Mesa drivers
- Bluetooth: Enabled with BlueZ
- Sensors: LM Sensors for hardware monitoring
- Brightness: DDC control and brightnessctl for display management
- Udev Rules: Custom rules for hardware devices
Development Tools
- Editors: Neovim, VS Code, Helix, Zed, JetBrains IDEs (Rust Rover, GoLand, CLion)
- Languages: Python, Go, Zig, Haskell, Odin, Lua
- Tools: Git, Make, UV (Python package manager), Arduino IDE, Godot
Applications
- Browsers: Firefox
- Communication: Slack, Discord, Telegram, Thunderbird
- Media: MPV, Blender, YouTube Music
- Utilities: Kitty terminal, Dolphin file manager, Rofi launcher
Gaming
- Steam integration
- Lunar Client
- Wine for Windows compatibility
Virtualization
- Docker
- VMware Workstation
Customization
Host-Specific Configuration
Edit hosts/yourhostname/ for your machine:
machine.nix: NixOS system configurationhome.nix: Home Manager user configurationpackages.nix: System and user packageshardware/hardware.nix: Hardware-specific settings (e.g., kernel modules, firmware)
Modules
Modify modules in modules/:
modules/nixos/: System-level modulesmodules/home/: User-level modules
Adding Packages
Add packages to hosts/yourhostname/packages.nix under system or home lists.
Usage
Updating the System
sudo nixos-rebuild switch --flake ~/.dotfiles#yourhostname
home-manager switch --flake ~/.dotfiles#yourhostname
Updating Flake Inputs
cd ~/.dotfiles
nix flake update
Garbage Collection
sudo nix-collect-garbage -d
Troubleshooting
- If you encounter issues with hardware, check
hardware/hardware.nix - For display issues, verify AMD graphics configuration in display modules
- Ensure your user is in the correct groups (e.g.,
docker,wheel)
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test with
nixos-rebuild build --flake .#yourhostname - Submit a pull request
License
This configuration is provided as-is. Modify and distribute as needed.
NixOS Configuration Demo
Demo video coming soon
No video found in project README