No description
  • Nix 98.3%
  • Shell 1.7%
Find a file
2025-12-01 21:08:20 +01:00
.forgejo Update workflows for Forgejo 2025-12-01 21:08:20 +01:00
docs Update workflows for Forgejo 2025-12-01 21:08:20 +01:00
home Initial commit: Nixy - MSRL Edition 2025-12-01 20:20:29 +01:00
hosts/example Initial commit: Nixy - MSRL Edition 2025-12-01 15:49:03 +01:00
nixos Initial commit: Nixy - MSRL Edition 2025-12-01 15:45:43 +01:00
themes Initial commit: Nixy - MSRL Edition 2025-12-01 15:45:43 +01:00
.gitignore Initial commit: Nixy - MSRL Edition 2025-12-01 15:45:43 +01:00
flake.lock Initial commit: Nixy - MSRL Edition 2025-12-01 15:45:43 +01:00
flake.nix Initial commit: Nixy - MSRL Edition 2025-12-01 15:45:43 +01:00
LICENSE Initial commit: Nixy - MSRL Edition 2025-12-01 15:45:43 +01:00
README.md Initial commit: Nixy - MSRL Edition 2025-12-01 20:20:29 +01:00

nixy-msrl logo

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:

  • programs is a collection of apps configured with home-manager
  • scripts is a folder full of bash scripts (see SCRIPTS.md)
  • system is 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.nix for system-wide settings
  • home.nix for user-level configuration
  • variables.nix for global variables
  • secrets/ for sensitive data

Installation

  1. Clone this repo to your system:
git clone https://git.msrl.be/42/nixy-msrl.git ~/.config/nixos
  1. Copy the hosts/example folder, rename it to match your system's hostname, and update variables.nix with your machine's settings.

  2. Copy your hardware-configuration.nix into your new host's folder.

  3. Register your new host in flake.nix by adding it under nixosConfigurations.

Important

# CHANGEME comments 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

  1. 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.nix under home.packages
  • System packages: Add to hosts/<hostname>/configuration.nix under environment.systemPackages

Secrets management

This config uses sops-nix for secrets:

  1. Initialize age key: age-keygen -o ~/.config/sops/age/keys.txt
  2. Add your public key to .sops.yaml
  3. Create/edit secrets: sops hosts/<hostname>/secrets/secrets.yaml

Documentation

Credits

This configuration is based on Nixy by anotherhadi.