# 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 ```bash nix run github:blu/nomarchy ``` This launches an interactive installer that: 1. Prompts for your username, timezone, keyboard layout, etc. 2. Generates a configuration in `~/.config/nomarchy/` 3. 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 ## 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`: ```nix { theme = "classical"; # Currently the only theme, more coming soon } ``` ### Adding Packages Create a custom module: ```nix # ~/.config/nomarchy/my-packages.nix { pkgs, ... }: { environment.systemPackages = with pkgs; [ my-package ]; } ``` Add it to your flake: ```nix extraModules = [ ./my-packages.nix ]; ``` ### Wallpapers Copy your wallpapers to `~/.config/nomarchy/wallpapers/` and they'll be used for the random rotation. ## 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](https://github.com/basecamp/omarchy) and the NixOS community. ## License MIT