Phase 3: Encrypted secrets - Add secrets module with agenix integration - Create secrets/secrets.nix template for key definitions - Installer generates SSH key if missing - Installer creates personalized secrets.nix with user's key - Full documentation in docs/SECRETS.md Features: - Secrets encrypted with age using SSH keys - Decrypted automatically at system activation - Safe to commit .age files to git - Support for WiFi passwords, API keys, service credentials Usage: agenix -e secrets/my-secret.age age.secrets.my-secret.file = ./secrets/my-secret.age; Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.4 KiB
Nomarchy
An opinionated NixOS configuration featuring Hyprland, designed for developers who want a beautiful, functional, and reproducible desktop environment.
Quick Start
For Existing NixOS Systems
nix run github:blu/nomarchy
This launches an interactive installer that:
- Prompts for your username, timezone, keyboard layout, etc.
- Generates a configuration in
~/.config/nomarchy/ - Applies the configuration to your system
From ISO (Coming Soon)
Download the ISO from the releases page and boot from it for a fresh installation with LUKS encryption.
Features
- Hyprland - Modern Wayland compositor with smooth animations
- Waybar - Customizable status bar
- Rofi - Application launcher and quick actions
- SwayNC - Notification center
- Neovim - Fully configured with LSP support
- Classical Theme - Earthy, vintage aesthetic inspired by historical paintings
- Bootloader Choice - systemd-boot (default) or Limine (prettier, more features)
- Plymouth - Optional boot splash screen
- Secrets Management - Encrypted secrets with agenix (WiFi passwords, API keys, etc.)
Keybindings
| Key | Action |
|---|---|
Super + Q |
Terminal |
Super + R |
App Launcher |
Super + E |
File Manager |
Super + B |
Browser |
Super + W |
Close Window |
Super + F |
Fullscreen |
Super + V |
Toggle Float |
Super + / |
Quick Actions |
Super + A |
Notifications |
Super + Escape |
Power Menu |
Super + 1-9 |
Workspaces |
Print |
Screenshot |
Super + Shift + R |
Record Screen |
Customization
Changing Theme
Edit ~/.config/nomarchy/config.nix:
{
theme = "classical"; # Currently the only theme, more coming soon
}
Adding Packages
Create a custom module:
# ~/.config/nomarchy/my-packages.nix
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [
my-package
];
}
Add it to your flake:
extraModules = [
./my-packages.nix
];
Wallpapers
Copy your wallpapers to ~/.config/nomarchy/wallpapers/ and they'll be used for the random rotation.
Secrets Management
Nomarchy uses agenix for encrypted secrets:
# Create a secret
cd ~/.config/nomarchy
agenix -e secrets/wifi-password.age
# Use in your config
age.secrets.wifi-password.file = ./secrets/wifi-password.age;
See docs/SECRETS.md for full documentation.
Structure
nomarchy/
├── flake.nix # Main flake
├── lib/ # Helper functions
├── modules/
│ ├── core/ # Boot, networking, hardware
│ ├── desktop/ # Hyprland, display manager
│ ├── services/ # Syncthing, printing, VPN
│ ├── programs/ # System packages
│ ├── performance/ # Optimizations
│ └── home/ # Home-manager configs
├── themes/
│ └── classical/ # Default theme
├── installer/ # Installation scripts
└── iso/ # ISO builder
Security Note
The enableMitigationsOff option disables CPU vulnerability mitigations (Spectre, Meltdown, etc.) for improved performance. This is disabled by default and should only be enabled if you understand the security implications.
Credits
Inspired by Omarchy and the NixOS community.
License
MIT