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>
48 lines
1.1 KiB
Nix
48 lines
1.1 KiB
Nix
{
|
|
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
|
|
];
|
|
};
|
|
};
|
|
}
|