nomarchy.system.autoTimezone (off by default): geoclue + automatic- timezoned drive /etc/localtime from your location, so travelling to another zone updates the Waybar clock on its own. Menu-driven, in-flake state (the night-light / keyboard philosophy): the flag is settings.autoTimezone in theme-state.json (git-tracked); a System-menu entry toggles it. Because it's a SYSTEM service — not a user unit it can start/stop instantly like night-light — the toggle (nomarchy-autotimezone, run in a terminal) writes the flag --no-switch then drives `sudo nixos-rebuild` (bakes the service + the time.timeZone override) plus `home-manager switch` (the Waybar-refresh watcher); both sides read the one flag. - modules/nixos/timezone.nix: parses settings.autoTimezone from nomarchy.system.stateFile (like Plymouth), gates geoclue2 + automatic-timezoned, and mkForce-nulls time.timeZone — automatic- timezoned sets it null at normal priority, which collides with the installer's static value (a hard eval error), so force wins and reverts cleanly when disabled. Ships the nomarchy-autotimezone toggle. - modules/home/timezone.nix: a tiny user service watching timedate1's change signal that reloads Waybar (SIGUSR2) on a real zone change, so the clock follows live (Waybar captures the zone at construction). Gated on the same flag via nomarchy.settings.autoTimezone. - rofi menu: "Auto timezone (on/off)" in the System submenu. - option + template example + ROADMAP entry; theme.nix seeds the flag. Eval-verified on (geoclue+daemon on, tz forced null over a static installer value, watcher present) and off (static tz intact, nothing extra); home + system both build green. Needs an on-hardware check (geoclue detection + the SIGUSR2 clock refresh aren't CI-testable). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
My Nomarchy machine
- Overwrite the placeholder hardware config with the real one:
nixos-generate-config --show-hardware-config > hardware-configuration.nix - Set
flake.nixup once (Nomarchy repo URL, your username, optionally ahardwareProfilefrom https://github.com/NixOS/nixos-hardware — an unknown name fails the rebuild with suggestions). After that the flake is never touched again: your machine lives insystem.nix(hostname, services — the login user is created fromusernameautomatically) andhome.nix(your packages). git init && git add -A— flakes only see tracked files, includingtheme-state.json.- System:
sudo nixos-rebuild switch --flake .#default - Desktop:
nix run home-manager -- switch --flake .#me(afterwards justhome-manager switch --flake .#me— it's installed) - Clone/symlink this directory to
~/.nomarchy(or exportNOMARCHY_PATH) sonomarchy-theme-syncknows where the state lives.
Day-to-day:
nomarchy-theme-sync list # 21 shipped presets
nomarchy-theme-sync apply gruvbox # writes state + home-manager switch
nomarchy-theme-sync bg next # cycle wallpapers (instant, no rebuild)
The system layer only needs nixos-rebuild when you change system.nix.