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,136 @@
# System programs
{
config,
lib,
pkgs,
pkgs-stable,
nomarchyConfig,
...
}: {
# Shell
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
};
# nix-ld for dynamically linked libraries
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
zlib
stdenv.cc.cc
openssl
];
};
environment.systemPackages = with pkgs; [
# Core utilities
wget
git
unzip
jq
lsof
file
ripgrep
fd
# Development
zig
bun
nodejs_22
lazygit
# Networking
wireguard-tools
nmap
arp-scan
rclone
rsync
# Privacy
tor-browser
gnupg
pinentry-curses
# Media
mpv
yt-dlp
imagemagick
viu
chafa
# Documents
libreoffice-qt
nb
mdbook
exiftool
# File management
ranger
dolphin
# Shell enhancements
eza
bat
fzf
starship
btop
zsh
zoxide
# Browsers
firefox
chromium
# Applications
anki
# NixOS tools
nh
nvd
nix-tree
# Disk usage
dust
ncdu
gdu
duf
# Android
android-tools
# Filesystem
exfatprogs
# Graphviz
graphviz
# Qt multimedia
qt6.qtmultimedia
# Signal Desktop (from stable for reliability)
pkgs-stable.signal-desktop
# Kate editor (KDE)
kdePackages.kate
# FHS environment for non-NixOS binaries
(let
base = pkgs.appimageTools.defaultFhsEnvArgs;
in
pkgs.buildFHSEnv (base
// {
name = "fhs";
targetPkgs = pkgs:
(base.targetPkgs pkgs)
++ (with pkgs; [
pkg-config
]);
profile = "export FHS=1";
runScript = "bash";
extraOutputsToInstall = ["dev"];
}))
];
}