Initial commit: Nomarchy NixOS configuration
An opinionated NixOS configuration with Hyprland, featuring: - Modular flake-based architecture - Parameterized user configuration (username, timezone, locale, etc.) - Classical/antiquity theme with Thomas Cole wallpapers - Full Hyprland setup with waybar, rofi, swaync - Custom utility scripts (screenshots, screen recording, WiFi QR) - Neovim with LSP support - Interactive installer for existing NixOS systems - ISO builder for fresh installations Flake outputs: - nixosConfigurations.example - Test configuration - nixosConfigurations.installer - ISO installer - packages.iso - Bootable ISO image - apps.default - Interactive installer - lib.mkHost - Host builder function - templates.default - Starter template Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
115
README.md
Normal file
115
README.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user