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:
2026-02-15 02:44:33 -05:00
commit 58e4232f2f
50 changed files with 3853 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
{
description = "My Nomarchy Configuration";
inputs = {
nomarchy.url = "github:blu/nomarchy";
nixpkgs.follows = "nomarchy/nixpkgs";
};
outputs = { self, nomarchy, nixpkgs, ... }: let
# Edit this configuration
userConfig = {
username = "myuser";
hostname = "myhostname";
timezone = "America/New_York";
locale = "en_US.UTF-8";
keyboardLayouts = ["us"];
keyboardVariants = [""];
# Location for night light (gammastep)
location = { lat = 40.7; lon = -74.0; };
# Features
enableSyncthing = true;
enableMullvad = false;
enablePrinting = true;
enableBluetooth = true;
# Performance (security tradeoff - leave false unless you understand the risks)
enableMitigationsOff = false;
# Theme
theme = "classical";
};
in {
nixosConfigurations.${userConfig.hostname} = nomarchy.lib.mkHost {
system = "x86_64-linux";
config = userConfig;
extraModules = [
# Import your hardware configuration
./hardware-configuration.nix
# Add custom modules here
# ./my-custom-module.nix
];
};
};
}