- 🎨 Clean and modern desktop environment
- 🔧 Fully reproducible system configuration
- 🏠 Home Manager for user environment management
- ❄️ Nix Flakes for declarative and reproducible builds
- 🚀 Easy installation process
- 🎯 Optimized for daily use
- OS: NixOS (Linux)
- Window Manager: Hyprland
- Shell: Fish
- Terminal: Foot
- Package Manager: Nix with Flakes
- Configuration Manager: Home Manager
- Status Bar: Eww
- Application Launcher: Fuzzel
- Notifications: Mako
- File Manager: Thunar
- Screenshot Tool: Grimblast
- Color Picker: Hyprpicker
- Clipboard Manager: Cliphist
- Audio Control: PavuControl
- Media Controls: Playerctl
- Editor: Neovim, Cursor, Helix
- Version Control: Git
- Build System: Nix Build
- Cloud Storage: OneDrive, Rsync
- Network Management: Network Manager
- System Monitoring: Built-in Nix tools
-
Boot into NixOS live environment
-
Set up internet connection:
# List available network interfaces ip link show # Connect to WiFi (replace values in <>) wpa_supplicant -B -i <interface> -c <(wpa_passphrase "<wifi_name>" "<wifi_password>") # Verify connection ping -c 3 google.com
-
Set up your partitions and mount them:
# Mount your root partition mount /dev/your-root-partition /mnt # For UEFI systems mkdir -p /mnt/boot/efi mount /dev/your-efi-partition /mnt/boot/efi
-
Get the configuration:
# Install git temporarily nix-shell -p git # Clone the repository cd /mnt/etc/nixos git clone https://github.com/chere3/dots.git . --recurse-submodules
-
Generate and update hardware configuration:
nixos-generate-config --root /mnt # Replace the hardware configuration with the generated one cp /mnt/etc/nixos/hardware-configuration.nix /mnt/etc/nixos/nixos/hosts/<hostname>/
-
Install NixOS:
nixos-install --flake /mnt/etc/nixos#<hostname>
-
After reboot, set up home configuration:
git clone https://github.com/chere3/dots.git ~/.dots --recurse-submodules doas nh home switch -R
Additional Setup Steps
If you lose connection during installation:
- Use
ip link show
to identify your network interface - For WiFi, use:
wpa_supplicant -B -i <interface> -c <(wpa_passphrase "<wifi_name>" "<wifi_password>")
- For ethernet, usually no configuration is needed
- Verify with:
ping -c 3 google.com
The configuration is organized into several key components:
nixos/
- System configurationhome/
- User environment configurationflake.nix
- Main configuration entry point
- Make sure to replace
<hostname>
with your actual hostname - Backup your data before installation
- Check hardware compatibility with NixOS
Contributions are welcome! Feel free to submit issues and pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ using NixOS