Add opt-in nomarchy.updates (modules/home/updates.nix): a nomarchy-updates checker on a systemd user timer (interval, default daily) that surfaces a Waybar indicator + a notification when updates are available, without ever changing anything (you still run sys-update / flatpak update). It counts: - flake inputs behind upstream — only the flake's DIRECT inputs (root.inputs: nixpkgs, the Nomarchy input, home-manager, stylix…), not the transitive closure, via `git ls-remote` vs the locked rev. Offline → skipped, never a false alarm. - Flatpak updates, when the flatpak CLI is present (.flatpak, gated on services.flatpak being on) — Bernardo's suggestion. Waybar custom/updates self-gates (hidden until the timer finds something; accent " N", signal 9 for instant refresh), in the generated bar and both summer whole-swaps. The notification fires only when the count grows, so a daily timer doesn't nag. Click → the upgrade flow in a terminal (sys-update / flatpak update, each confirmed). nomarchy-updates ships always on PATH and self-gates so the static whole-swap bars can exec it even when the feature is off. Verified: flake check clean; home generation builds; the jq direct-input filter + status self-gate exercised against the real flake.lock; script passes bash -n. Pending an on-machine check (ls-remote/notify/timer need a live session). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
116 lines
2.3 KiB
CSS
Executable File
116 lines
2.3 KiB
CSS
Executable File
@define-color bg_dim #efebd4;
|
|
@define-color bg0 #fdf6e3;
|
|
@define-color bg1 #f4f0d9;
|
|
@define-color bg2 #efebd4;
|
|
@define-color bg3 #e6e2cc;
|
|
@define-color bg4 #e0dcc7;
|
|
@define-color bg5 #bdc3af;
|
|
@define-color fg #5c6a72;
|
|
@define-color red #f85552;
|
|
@define-color orange #f57d26;
|
|
@define-color yellow #dfa000;
|
|
@define-color green #8da101;
|
|
@define-color aqua #35a77c;
|
|
@define-color blue #3a94c5;
|
|
@define-color purple #df69ba;
|
|
@define-color grey0 #a6b0a0;
|
|
@define-color grey1 #939f91;
|
|
@define-color grey2 #829181;
|
|
|
|
/* margin: top right bottom left */
|
|
/* Spacing outside the element */
|
|
|
|
/* padding: top right bottom left */
|
|
/* Spacing inside the element */
|
|
|
|
* {
|
|
font-family: JetBrainsMono Nerd Font, FontAwesome;
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
window#waybar {
|
|
background-color: @fg;
|
|
color: @bg0;
|
|
transition-property: background-color;
|
|
transition-duration: 0.5s;
|
|
border-radius: 0px 0px 15px 15px;
|
|
transition-duration: .5s;
|
|
|
|
border-bottom-width: 5px;
|
|
border-bottom-color: #3d4a52;
|
|
border-bottom-style: solid;
|
|
}
|
|
|
|
#custom-launcher,
|
|
#clock,
|
|
#clock-date,
|
|
#workspaces,
|
|
#pulseaudio,
|
|
#custom-powerprofile,
|
|
#custom-nightlight,
|
|
#custom-updates,
|
|
#battery,
|
|
#tray,
|
|
#custom-notification,
|
|
#custom-powermenu {
|
|
background-color: @bg0;
|
|
color: @fg;
|
|
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
margin-top: 7px;
|
|
margin-bottom: 12px;
|
|
border-radius: 10px;
|
|
|
|
border-bottom-width: 5px;
|
|
border-bottom-color: @bg5;
|
|
border-bottom-style: solid;
|
|
}
|
|
|
|
#workspaces {
|
|
padding: 0px;
|
|
}
|
|
|
|
/* The power-profile speedometer glyph renders small in its em box. */
|
|
#custom-powerprofile {
|
|
font-size: 20px;
|
|
}
|
|
|
|
#workspaces button.active {
|
|
background-color: @blue;
|
|
color: @bg0;
|
|
|
|
border-radius: 10px;
|
|
|
|
margin-bottom: -5px;
|
|
|
|
border-bottom-width: 5px;
|
|
border-bottom-color: #1e6791;
|
|
border-bottom-style: solid;
|
|
}
|
|
|
|
#custom-launcher {
|
|
background-color: @green;
|
|
color: @bg0;
|
|
border-bottom-color: #5d6b00;
|
|
|
|
margin-left: 15px;
|
|
padding-left: 20px;
|
|
padding-right: 21px;
|
|
/* The Nomarchy mark lives at U+F000 in the dedicated "Nomarchy" font;
|
|
pin the family or the Nerd Font's glass icon at U+F000 wins. */
|
|
font-family: Nomarchy;
|
|
font-size: 18px;
|
|
}
|
|
|
|
#custom-powermenu {
|
|
background-color: @red;
|
|
color: @bg0;
|
|
border-bottom-color: #b32f2c;
|
|
|
|
margin-right: 15px;
|
|
padding-left: 20px;
|
|
padding-right: 23px;
|
|
}
|