The "default application suite" roadmap item, but deliberately NOT a
nomarchy.apps.* option surface: a bare package install has no config to
put behind a toggle, so a thin `mkIf x { systemPackages = [p]; }` only
reinvents what a package list already gives. Instead the suite is a
curated home.packages list in templates/downstream/home.nix (extending
the existing `# firefox` convention) — active staples (libreoffice,
vscode, gimp, inkscape, mpv, amberol) plus commented suggestions. The
opt-out is deleting a line; it also keeps the apps out of the live ISO
automatically (the ISO never scaffolds from the template).
The members that DO need system config become nomarchy.services.* opt-in
toggles instead (config behind the switch, like the existing services):
- steam → programs.steam (32-bit stack, controller udev, RP ports)
- libvirt → libvirtd + virt-manager, login user added to libvirtd group
- obs → obs-studio + a v4l2loopback virtual camera (exclusive_caps=1)
selectable as a webcam in Zoom/Teams
README option table, ROADMAP (services item now "Eight shipped"; suite
item marked done with the no-surface rationale) and the downstream
system.nix examples updated to match.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
70 lines
3.6 KiB
Nix
70 lines
3.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.
|
|
#
|
|
# Gaming (Steam) and VMs (virt-manager) are NOT here — they need system
|
|
# setup beyond a package (32-bit libs, a daemon, group membership), so
|
|
# they're opt-in service toggles in system.nix instead
|
|
# (nomarchy.services.steam / nomarchy.services.libvirt).
|
|
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)
|
|
|
|
# ── Uncomment to add ──
|
|
# firefox # a web browser (pick your own)
|
|
# thunderbird # email client
|
|
# signal-desktop # Signal messenger
|
|
# telegram-desktop # Telegram
|
|
# zoom-us # Zoom video calls (unfree)
|
|
# teams-for-linux # Microsoft Teams (community client — no official Linux app)
|
|
# logseq # notes / outliner (PKM)
|
|
# lmstudio # local LLM runner (unfree; large closure)
|
|
# kdePackages.kdenlive # non-linear video editor (pulls in KDE libs)
|
|
# spotify # music streaming (unfree)
|
|
# texliveFull # full LaTeX toolchain — multi-GB (texliveMedium is lighter)
|
|
];
|
|
}
|