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:
136
modules/programs/default.nix
Normal file
136
modules/programs/default.nix
Normal 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"];
|
||||
}))
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user