- Nix 98.3%
- Shell 1.7%
| .forgejo | ||
| docs | ||
| home | ||
| hosts/example | ||
| nixos | ||
| themes | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
Nixy - MSRL Edition
Based on Nixy — A NixOS configuration framework by anotherhadi.
Nixy simplifies and unifies the Hyprland ecosystem with a modular, easily customizable setup. It provides a structured way to manage your system configuration and dotfiles with minimal effort. It includes home-manager, secrets, and custom theming all in one place.
Features:
- 💻 Hyprland-centric: Preconfigured Hyprland ecosystem (Hyprlock, Hyprpanel, etc.)
- 🎨 Consistent Theming: Base16 & Stylix-powered themes
- ⌨️ Vim-like Everywhere: Unified keybindings (Hyprland, nvim, vimium, etc.)
- 🔒 Secrets Management: Sops-nix integration for secure credential storage
Table of Content
Architecture
🏠 /home (User-level configuration)
Contains dotfiles and settings that apply to your user environment.
Subfolders:
programsis a collection of apps configured with home-managerscriptsis a folder full of bash scripts (see SCRIPTS.md)systemis some "desktop environment" configuration
🐧 /nixos
Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, ...)
🎨 /themes
This folder contains all system themes. Mainly stylix configurations. Check out the available themes and learn how to create your own in THEMES.md
💻 /hosts
This directory contains host-specific configurations. Each host includes:
configuration.nixfor system-wide settingshome.nixfor user-level configurationvariables.nixfor global variablessecrets/for sensitive data
Installation
- Clone this repo to your system:
git clone https://git.msrl.be/42/nixy-msrl.git ~/.config/nixos
-
Copy the
hosts/examplefolder, rename it to match your system's hostname, and updatevariables.nixwith your machine's settings. -
Copy your
hardware-configuration.nixinto your new host's folder. -
Register your new host in
flake.nixby adding it undernixosConfigurations.
Important
# CHANGEMEcomments are placed throughout the config to indicate necessary modifications. Use the following command to quickly locate them:rg "CHANGEME" ~/.config/nixos
Tip
When you add new files, don't forget to run
git add .to add them to the git repository
- Build the system
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
Usage
Daily commands
| Command | Description |
|---|---|
nixy rebuild |
Rebuild and switch to the new configuration |
nixy update |
Update flake inputs |
nixy upgrade |
Update and rebuild |
nixy gc |
Run garbage collection to free disk space |
nixy test |
Test the configuration without switching |
Adding packages
- User packages: Add to
hosts/<hostname>/home.nixunderhome.packages - System packages: Add to
hosts/<hostname>/configuration.nixunderenvironment.systemPackages
Secrets management
This config uses sops-nix for secrets:
- Initialize age key:
age-keygen -o ~/.config/sops/age/keys.txt - Add your public key to
.sops.yaml - Create/edit secrets:
sops hosts/<hostname>/secrets/secrets.yaml
Documentation
- THEMES: How themes work and how to create your own
- SCRIPTS: A list of available scripts and their usage
- KEYBINDINGS-HYPRLAND: Keybindings available in Hyprland
- WALLPAPERS: An awesome collection of wallpapers
- CONTRIBUTING: How to contribute
- LICENSE: MIT License
Credits
This configuration is based on Nixy by anotherhadi.