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>
137 lines
1.9 KiB
Nix
137 lines
1.9 KiB
Nix
# 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"];
|
|
}))
|
|
];
|
|
}
|