Commit Graph
10 Commits
Author SHA1 Message Date
nevaforget c8d9a00a8d feat(services): report the age of the nixpkgs lock
A rebuild against an unchanged lock installs nothing new, so a machine
built daily can still run months-old packages. A user timer reads the
locked lastModified of the nixpkgs input and notifies once it passes
seven days, offering a terminal that runs the update.
2026-09-10 13:32:14 +02:00
nevaforget b1ed5d087b refactor(stasis): take the package from nixpkgs
nixpkgs carries stasis 1.5.1, so the pinned input and pkgs/stasis.nix go. It
ships no unit and has no NixOS module, so modules/services.nix keeps declaring
one; its actions run as `sh -lc` and it spawns niri and pactl directly, hence
the unit path.

stasis prefers a user config over /etc and generates its own when none exists,
so moonarch's is seeded into the home directory instead of only reaching /etc.
2026-08-31 11:58:33 +02:00
nevaforget 16625ef503 refactor(services): power-profiles-daemon replaces auto-cpufreq
amd-pstate in active mode reads only the min/max and EPP registers and
ignores the requested performance level, so the governor auto-cpufreq
switches decides nothing. ppd writes those registers and the ACPI
platform_profile; on the testvm, where neither exists, it falls back to
the placeholder driver instead of polling sysfs a virtio guest lacks.

The NixOS module asserts against auto-cpufreq, so the two cannot run at
the same knob. Matches the moonarch tree this flake deploys from.
2026-08-25 08:33:29 +02:00
nevaforget 3e40a701e7 fix(desktop): add the archiver, image viewer and cpufreq backend
Gaps against moonarch/packages/official.txt: zip, unzip and viewnior were
missing outright, and thunar-archive-plugin was installed without
xarchiver, which left its menu entries inert.

services.auto-cpufreq is the backend of the Quickshell CpuGov widget,
which calls 'auto-cpufreq --get-state' and 'pkexec auto-cpufreq --force';
without it the indicator has no state and the popout cannot switch.
2026-08-24 10:28:28 +02:00
nevaforget bf915d66bb Install only the helper scripts that are still called
cpugov, sink-switcher and nightlight were referenced solely by the waybar
config; the Quickshell popouts cover all three. btnote, capsnote, vpn and
waybar-hidpp are unreferenced anywhere.

Adds the two system units for battery threshold restore and camera
shutoff, which had been missed.
2026-08-07 17:12:53 +02:00
nevaforget e824177113 Wire stasis into the desktop and add its user service
Upstream ships a systemd unit in the Arch package but not in the source
tarball, so it is declared in the module.
2026-08-07 16:21:14 +02:00
nevaforget f6140c07b6 Do not deploy the empty kanshi config
defaults/xdg/kanshi/config is a 0-byte placeholder, unused on Arch as
well, where kanshi reads ~/.config/kanshi/config instead. Deploying it
made kanshi fail to parse and restart in a loop. The unit now starts only
when a user config exists.
2026-08-07 15:36:51 +02:00
nevaforget d6c42526fb Drop waybar and swaync from the desktop set
Both are marked 'kept as a reserve' in the Arch config, a note left over
from the migration to the Quickshell bar. A fresh setup has no reason to
carry them, so the packages, their configs and the waybar-only helper
scripts stay out.
2026-08-07 15:02:39 +02:00
nevaforget d9d616c45d Fix niri config discovery, polkit path, wallpaper stack
- NIRI_CONFIG points niri at /etc/xdg; without it niri writes its own
  default config, so none of the Moonarch settings applied.
- config.kdl spawns the polkit agent by FHS path, provided via tmpfiles
  instead of diverging the config shared with Arch.
- waypaper was missing entirely, hence no wallpaper. It invokes swww,
  which the maintained awww provides under a different name.
2026-08-07 13:17:46 +02:00
nevaforget d485783cf7 Add NixOS modules for desktop, greetd and services 2026-08-07 12:26:46 +02:00