Some checks failed
Check / eval (push) Failing after 9m12s
Post-migration annoyances from TuringMachine: - Force fprintAuth from fingerprint.pam (NixOS defaults it on with fprintd) - First-boot toast waits for swaync, retries, only marks after success - Night light status/toggle handles masked units + hyprsunset/wlsunset - VPN menu: define rofi_menu in nomarchy-vpn (was a silent no-op) - Left arrow = ↩ Back in list menus; GTK menu contrast via Stylix - Mic-mute LED udev + sync after wpctl; EasyEffects starts after tray - Migration guide: HM before GUI login, fingerprint/browser/VPN notes Verified: flake check --no-build; checks.first-boot; checks.hardware-toggles (pam=false node). V3 session items pending after user rebuild.
48 lines
1.9 KiB
Nix
48 lines
1.9 KiB
Nix
# First-session welcome toast (nomarchy.firstBootWelcome) — one dismissible
|
|
# "you're set" notification pointing at SUPER+M / SUPER+T / SUPER+? and
|
|
# Network, then writes settings.firstBootShown into the flake checkout
|
|
# (GOALS: no state outside the checkout). Live ISO keeps its own toast
|
|
# (hosts/live.nix); the script self-skips on hostname nomarchy-live.
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
config = lib.mkIf config.nomarchy.firstBootWelcome.enable {
|
|
systemd.user.services.nomarchy-first-boot = {
|
|
Unit = {
|
|
Description = "Nomarchy first-session welcome toast";
|
|
PartOf = [ "graphical-session.target" ];
|
|
# After the session AND the notification daemon. Without
|
|
# After=swaync, first login races D-Bus Notifications and the
|
|
# toast times out (migration: journal "Timeout was reached") —
|
|
# or worse, a later success writes firstBootShown without the
|
|
# user ever seeing the toast. Wants= so we still run if swaync
|
|
# is disabled (notify-send will fail and leave the marker unset).
|
|
After = [
|
|
"graphical-session.target"
|
|
"graphical-session-pre.target"
|
|
"swaync.service"
|
|
];
|
|
Wants = [ "swaync.service" ];
|
|
};
|
|
Service = {
|
|
Type = "oneshot";
|
|
# PATH: real notify-send + theme-sync; VM check shims both via PATH.
|
|
# NOMARCHY_PATH matches home.sessionVariables so the marker lands
|
|
# in the user's flake checkout.
|
|
Environment = [
|
|
"PATH=${lib.makeBinPath [
|
|
pkgs.libnotify
|
|
pkgs.nomarchy-theme-sync
|
|
pkgs.coreutils
|
|
]}"
|
|
"NOMARCHY_PATH=%h/.nomarchy"
|
|
];
|
|
# Brief settle after swaync is up; the script also retries.
|
|
ExecStartPre = "${pkgs.coreutils}/bin/sleep 1";
|
|
ExecStart = "${pkgs.nomarchy-first-boot}/bin/nomarchy-first-boot";
|
|
};
|
|
Install.WantedBy = [ "graphical-session.target" ];
|
|
};
|
|
};
|
|
}
|