Make the whole workstation menu available, all off/commented by default.
home.nix: the bare GUI apps become a categorized commented menu (~50
suggestions across browsers, comms, office, notes, code, graphics, A/V,
media, gaming, files/sync, security, system, local AI) — uncomment to add.
services.nix: the members that need system config (not just a package)
become opt-in nomarchy.services.* toggles, each with a commented example
in the downstream system.nix:
- docker → rootful Docker + user in docker group; asserts against the
podman docker-compat (both provide the `docker` command)
- kdeconnect → programs.kdeconnect (opens phone-pairing ports)
- gamemode → Feral GameMode daemon
- adb → android-tools (programs.adb was removed; systemd ≥258 does
the device uaccess udev rules, so no group needed)
- wireshark → Qt GUI + user in wireshark group (capture without root)
- ollama → local LLM runtime on 127.0.0.1:11434
- printing → CUPS + Avahi/mDNS network printer discovery
README option table and ROADMAP (services item now "Fifteen shipped";
local-AI / containers / gaming / devices areas marked) updated. All seven
branches eval-verified with the toggles forced on; the docker/podman
assertion confirmed firing.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
140 lines
5.6 KiB
Nix
140 lines
5.6 KiB
Nix
# Your user environment. The Nomarchy desktop (Hyprland, Waybar,
|
|
# Ghostty, theming engine, Stylix) comes from homeModules.nomarchy;
|
|
# tune it via the nomarchy.* options, add your own packages and
|
|
# programs below.
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
# ── Overrides (the desktop is on by default; tweak or opt out) ──────
|
|
# nomarchy.terminal = "kitty"; # swap the default terminal
|
|
# nomarchy.waybar.enable = false; # bring your own bar
|
|
# nomarchy.stylix.enable = false; # opt out of GTK/Qt theming
|
|
# nomarchy.keyboard.layout = "de"; # session keyboard (set the matching
|
|
# # services.xserver.xkb.layout in
|
|
# # system.nix too; the console + LUKS
|
|
# # prompt follow it automatically)
|
|
|
|
# ── Opt-in features — uncomment and tweak to enable ─────────────────
|
|
# nomarchy.nightlight = { # scheduled blue-light filter (hyprsunset)
|
|
# enable = true;
|
|
# temperature = 4000; # night warmth in K — lower is warmer
|
|
# sunset = "20:00";
|
|
# sunrise = "07:00";
|
|
# };
|
|
#
|
|
# nomarchy.monitors = [ # declarative per-output layout, hotplug-applied
|
|
# { name = "eDP-1"; position = "0x0"; }
|
|
# { name = "HDMI-A-1"; position = "auto-right"; }
|
|
# ]; # names from `hyprctl devices`
|
|
#
|
|
# nomarchy.keyboard.devices = { # a specific keyboard's own layout
|
|
# "keychron-keychron-k2" = { layout = "de"; };
|
|
# };
|
|
#
|
|
# nomarchy.keyboard.layouts = [ "de" "fr" ]; # rofi-prompt for a layout when a
|
|
# # new keyboard connects + remember it
|
|
|
|
# ── Application suite ───────────────────────────────────────────────
|
|
# A starter complete-workstation set, installed for your user — yours to
|
|
# curate. Delete a line to slim the machine; uncomment a suggestion (or
|
|
# add your own) to extend it. The desktop itself — terminal, editor
|
|
# keybinds, theming — comes from the modules; these are the heavier
|
|
# standalone apps the distro doesn't impose by default.
|
|
#
|
|
# Apps that need system setup beyond a package (Steam's 32-bit stack,
|
|
# a daemon, group membership, a kernel module) are NOT here — they're
|
|
# opt-in service toggles in system.nix instead (nomarchy.services.* —
|
|
# steam, libvirt, obs, docker, gamemode, kdeconnect, adb, wireshark,
|
|
# ollama, printing).
|
|
home.packages = with pkgs; [
|
|
libreoffice-fresh # office suite (documents, sheets, slides)
|
|
vscode # code editor (unfree; allowUnfree is on)
|
|
gimp # raster image editor
|
|
inkscape # vector graphics
|
|
mpv # media player
|
|
amberol # music player (local library; streaming → spotify below)
|
|
|
|
# ── More apps — uncomment to add ─────────────────────────────────
|
|
# Web browsers
|
|
# firefox
|
|
# chromium
|
|
# ungoogled-chromium
|
|
# brave # (unfree)
|
|
# google-chrome # (unfree)
|
|
|
|
# Communication
|
|
# signal-desktop
|
|
# telegram-desktop
|
|
# element-desktop # Matrix
|
|
# vesktop # Discord (themeable client)
|
|
# slack # (unfree)
|
|
# zoom-us # (unfree)
|
|
# teams-for-linux # community client (no official Linux app)
|
|
# thunderbird # email
|
|
|
|
# Office & documents
|
|
# onlyoffice-desktopeditors # stronger MS-Office fidelity
|
|
# kdePackages.okular # PDF viewer
|
|
# xournalpp # PDF annotation
|
|
# pdfarranger
|
|
# calibre # ebook library
|
|
# texliveFull # full LaTeX toolchain — multi-GB (texliveMedium is lighter)
|
|
|
|
# Notes / research
|
|
# logseq
|
|
# obsidian # (unfree)
|
|
# joplin-desktop
|
|
# anki-bin # flashcards
|
|
# zotero # reference manager
|
|
|
|
# Code & data
|
|
# zed-editor
|
|
# lazygit
|
|
# dbeaver-bin # database GUI
|
|
# bruno # API client
|
|
# distrobox # containerized dev shells
|
|
|
|
# Graphics & design
|
|
# krita # digital painting
|
|
# blender # 3D
|
|
# darktable # RAW photo
|
|
|
|
# Audio / video
|
|
# audacity
|
|
# shotcut # video editor
|
|
# kdePackages.kdenlive # video editor (pulls in KDE libs)
|
|
# handbrake # transcoder
|
|
|
|
# Media
|
|
# vlc
|
|
# spotify # (unfree)
|
|
# newsflash # RSS reader
|
|
|
|
# Gaming (Steam + GameMode are service toggles in system.nix)
|
|
# lutris
|
|
# heroic # Epic/GOG launcher
|
|
# bottles # Wine prefixes
|
|
# prismlauncher # Minecraft
|
|
# protonup-qt # Proton-GE manager
|
|
# mangohud # in-game overlay
|
|
|
|
# Files, sync & torrents
|
|
# nextcloud-client
|
|
# localsend # AirDrop-like transfer
|
|
# qbittorrent
|
|
|
|
# Security
|
|
# keepassxc
|
|
# bitwarden-desktop
|
|
|
|
# System
|
|
# gnome-disk-utility
|
|
# gparted
|
|
# baobab # disk usage
|
|
|
|
# Local AI (Ollama is a service toggle in system.nix)
|
|
# lmstudio # (unfree; large closure)
|
|
# alpaca # GTK Ollama UI
|
|
];
|
|
}
|