Mirror the NixOS openssh config on system-manager: no password auth, no
root login, ed25519 host key only, and gabriel's authorized keys. Its
module runs Ubuntu's /usr/sbin/sshd, so PAM keeps working.
Also enable programs.ssh for system-wide known hosts, and teach the NixOS
side about system-manager hosts so they know electra.
Raise the Axios response limit to 64 MiB only for Lidarr so large album libraries can complete SeerrNG scans without weakening the cap for other external APIs.
Assisted-by: pi (gpt-5.6-sol)
Point SeerrNG directly at systemd's private StateDirectory target so its log
path security check does not reject the public DynamicUser symlink.
Assisted-by: pi (gpt-5.6-sol)
Move Kavita to port 5001 because JellySearch already occupies its default
port 5000, which left Kavita restarting against JellySearch's listener.
Assisted-by: pi (gpt-5.6-sol)
Serve the Readarr-owned library through read-only Kavita, with a persisted
machine-local token key and the existing public books.m7.rs endpoint.
Assisted-by: pi (gpt-5.6-sol)
Drop defaults where one desktop entry is already the sole available handler,
whether declared by the desktop or added explicitly. Keep browser defaults
because their ordering is intentional.
Assisted-by: pi (gpt-5.6-sol)
Add khal-import.desktop for interactive text/calendar imports. Associate
pkgs.khal's existing khal.desktop, which launches ikhal, with
x-scheme-handler/calendar and use that handler from Waybar.
Assisted-by: pi (gpt-5.6-sol)
Watch and reload the Home Manager GTK 4 user stylesheet so theme switches replace the immutable imported theme without restarting Khora.
Assisted-by: pi (gpt-5.6-sol)
Map libadwaita accent roles to the active GTK theme selection colors so generated themes control highlights, focus rings, and selected dates.
Assisted-by: pi (gpt-5.6-sol)
Reset the full GTK background shorthand for clickable event buttons so flat-button theme imagery cannot hide calendar colors.
Assisted-by: pi (gpt-5.6-sol)
Render a six-week month grid with colored event chips, overflow links, adjacent-month dates, and navigation into day or agenda views.
Assisted-by: pi (gpt-5.6-sol)
Replace the stock sidebar calendar with a compact month widget that marks each visible date with up to three calendar-colored event dots.
Assisted-by: pi (gpt-5.6-sol)
Load agenda events in two-week chunks from the selected date, continuing near the scroll boundary with an explicit fallback to load more.
Assisted-by: pi (gpt-5.6-sol)
Monitor local calendar directories and debounce automatic refreshes when vdirsyncer or another application changes event files.
Assisted-by: pi (gpt-5.6-sol)
Remember the active view, vertical zoom, sidebar width, calendar visibility, and collapsed account groups across restarts.
Assisted-by: pi (gpt-5.6-sol)
Open timed, all-day, and agenda events in a read-only details dialog with their time, calendar, location, description, URL, organizer, and attendees.
Assisted-by: pi (gpt-5.6-sol)
Follow the GNOME GTK and icon theme settings alongside the color scheme so live light/dark switches do not combine a new libadwaita palette with the previous GTK theme.
Assisted-by: pi (gpt-5.6-sol)
Support session-wide vertical zoom in day and week views with Ctrl+scroll while preserving the visible point in the timeline.
Assisted-by: pi (gpt-5.6-sol)
Color day and week event cards with their calendar color and choose a contrasting foreground instead of showing only a colored marker.
Assisted-by: pi (gpt-5.6-sol)
Add a Google Calendar-style day and week time grid behind a compact view dropdown, while retaining the existing list as the agenda view.
Assisted-by: pi (gpt-5.6-sol)
Watch the GNOME interface color-scheme setting directly and update
libadwaita instead of relying on portal propagation under Hyprland.
Assisted-by: pi (gpt-5.6-sol)
Add a read-only GTK/libadwaita agenda backed by khal, with calendar
filters, Nix packaging, desktop metadata, and model tests.
Assisted-by: pi (gpt-5.6-sol)
Patch aerc to load nested $include paths before the including binds file, with relative and home path expansion plus cycle detection. Include the packaged defaults from Home Manager so custom bindings override them without duplication or IFD.
Assisted-by: pi (gpt-5.6-sol)
The generic ethernet rule makes an unplugged enp44s0 managed, so
networkd-wait-online blocked on it for the full 120s timeout and delayed
wg-quick@wg0. NixOS pairs its generic DHCP networks with --any for the same
reason.
Assisted-by: pi (claude-opus-5)
Its control socket never gets ctrl_interface_group applied (upstream never
copies the field when creating the P2P device), so with the daemon running as
root the socket is root-only. wpa_gui scans the directory, hits p2p-dev-*
first and gives up before reaching the real interface.
Assisted-by: pi (claude-opus-5)
The tree is heavily Ubuntu-coupled: masking netplan's generator and Ubuntu's
own wpa_supplicant units, apt packages in cloud-init, /etc/dbus-1 policy.
Assisted-by: pi (claude-opus-5)
The sandbox binds secretsFile into the unit's namespace, so a secret that
can't be decrypted kills the daemon along with the control socket needed to
connect by hand and fix it. It also breaks wpa_gui (nixpkgs#475438).
Tradeoff: the daemon runs as root again, as it does on most distros.
Assisted-by: pi (claude-opus-5)
Run the upstream NixOS wpa_supplicant module under system-manager through a
compat shim. system-manager already reuses nixpkgs' systemdUtils,
environment.etc and userborn, so the unit, the generated config and the
wpa_supplicant user come out unchanged; only four NixOS-only options needed
stubbing, two of which are re-expressed on top of environment.etc.
Extract the wireless config to hosts/wireless.nix so both trees share one
source: they sit at the same depth, so every path resolves identically.
electra's generated wpa_supplicant.conf is now byte-identical to atlas'
except for the country line.
Take over networkd from netplan on electra with the same generic match rules
NixOS uses, which also covers ethernet and USB tethering, neither of which
was configured before. netplan is neutered by masking its generator rather
than uninstalling it, since purging netplan.io would take cloud-init,
ubuntu-minimal and ubuntu-server-minimal with it.
Assisted-by: pi (claude-opus-5)
Generate an aerc styleset from config.colorscheme.colors, matching how
tmux, zathura and the rest are themed. Keys are quoted throughout since
unquoted dotted names build nested attrsets and fail the module's type
check.
Home Manager writes the whole aerc.conf, so aerc's shipped filters never
applied: bring back colorize, calendar and html, and point the viewer at
less. Pin the mailbox order per account instead of taking plain
alphabetical, and fold subfolders under their parent.
Assisted-by: pi (claude-opus-5)
Give each host a wallpaper whose derived colorscheme sits at its own position on an evenly spaced hue wheel:
- Atlas: aenami-dawn; Celaeno: mountain-yellow-red
- Alcyone: autumn-leaves-orange; Pleione: plains-flowers-green-red
- Electra: aenami-northern-lights; Merope: aenami-bright-planet
- Maia: deer-lunar-fantasy; Taygeta: nebula-purple-pink
Reserve the remaining turquoise position for a future asterope host, and regenerate the website colorscheme data.
Assisted-by: pi (gpt-5.6-sol)
Keep the appendix heading visible while placing its sustainability fragment table in a details disclosure that is collapsed by default.
Assisted-by: pi (gpt-5.6-sol)