- Installer prompts for keyboard layout (with optional variant) and locale
via curated short list + Other… fallback into the full localectl list;
applies to the live session immediately (loadkeys + hyprctl) so the
rest of the install types correctly. Generated system.nix emits
console.keyMap, i18n.defaultLocale, and services.xserver.xkb.{layout,
variant}.
- New nomarchy.{system,}.formFactor enum (laptop|desktop, default laptop).
Installer auto-detects via /sys/class/power_supply/BAT* and lets the
user flip the answer. Waybar drops the battery widget on desktop;
battery-monitor service is gated on the same option.
- Lift waybar tray out of the collapsed group/tray-expander in the default
theme so nm-applet's icon is visible without expanding the drawer.
- Live ISOs (TTY + graphical) get baseline mkDefault keyMap/locale so the
installer's runtime override always wins.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
39 lines
1.1 KiB
Nix
39 lines
1.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
lib.mkIf (config.nomarchy.formFactor == "laptop") {
|
|
systemd.user.services.nomarchy-battery-monitor = {
|
|
Unit = {
|
|
Description = "Nomarchy Battery Monitor Check";
|
|
After = [ "graphical-session.target" ];
|
|
# Belt-and-braces: even on a laptop generation, skip if the kernel
|
|
# hasn't surfaced a battery yet (e.g. early boot, removable battery).
|
|
ConditionPathExistsGlob = "/sys/class/power_supply/BAT*";
|
|
};
|
|
|
|
Service = {
|
|
Type = "oneshot";
|
|
# The script is packaged in nomarchy-scripts which is in the home profile
|
|
ExecStart = "nomarchy-battery-monitor";
|
|
Environment = [ "DISPLAY=:0" ];
|
|
LogLevelMax = "warning";
|
|
};
|
|
};
|
|
|
|
systemd.user.timers.nomarchy-battery-monitor = {
|
|
Unit = {
|
|
Description = "Nomarchy Battery Monitor Timer";
|
|
ConditionPathExistsGlob = "/sys/class/power_supply/BAT*";
|
|
};
|
|
|
|
Timer = {
|
|
OnBootSec = "1min";
|
|
OnUnitActiveSec = "30sec";
|
|
AccuracySec = "10sec";
|
|
};
|
|
|
|
Install = {
|
|
WantedBy = [ "timers.target" ];
|
|
};
|
|
};
|
|
}
|