Replace individual .outer-pad.audio, .outer-pad.network, etc. color
rules with a 5-color palette in end-widget-colors.css that cycles via
:nth-child(5n+N). Add workspace pill reset to prevent the rotation
from bleeding into workspace widgets. Move per-widget color variables
from theme.css into end-widget-colors.css (keep tray colors in theme
since the SNI tray is a center widget outside the rotation).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use :not(menu):not(menuitem):not(popover):not(window) guards on all
wildcard selectors so bar typography and background-color rules don't
bleed into SNI popup menus and popovers attached via menuAttachToWidget.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update home-manager, NixOS-WSL, status-notifier-item, and
notifications-tray-icon. Remove lock entries for the old
haskell-language-server input and its transitive dependencies.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add notifications-tray-icon.nix module with overlay and home-manager
service config. Update flake input to colonelpanic8 fork and remove
stale HLS input follows. Clean up xmonad.nix by removing the old
overlay reference and commented-out service definition.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
services.kanshi is a Home Manager option, not a NixOS module option,
so the NixOS build was failing. Install kanshi as a package instead.
Also add nwg-displays for GUI monitor arrangement.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move git-sync-rs from a nixpkgs PR patch to a direct flake input,
add overlay and package, and have org-agenda-api follow it.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use :not(menu):not(menuitem):not(popover) selectors to prevent
forcing transparent backgrounds on popup menus attached via
menuAttachToWidget. Add dedicated .dbusmenu-submenu styling.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dunst works on both X11 and Wayland, so it belongs in the shared
desktop config rather than under the xmonad-specific module.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
systemd user environment persists across login sessions, so
XDG_SESSION_TYPE can be stale. Proactively set a custom variable
on each session start so ConditionEnvironment checks are reliable.
Use it for xsettingsd and random-background (X11-only services).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set the autoUpgrade flake reference globally in configuration.nix so
machines only need to opt in with system.autoUpgrade.enable.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GTK's menuAttachToWidget makes popup menus CSS descendants of the tray
widget, so .outer-pad.sni-tray * (specificity 0,2,0) was bleeding light
tray text colors into menu items. Fix by using the same parent selectors
with menu descendant types (.outer-pad.sni-tray menu menuitem *) for
specificity 0,2,2+ that definitively overrides the tray color rule.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The tangled org-config now includes the org-window-habit use-package
block (added in efc50ec1) which uses elpaca-style :ensure recipes.
Standard use-package cannot parse these. Override the normalizer to
accept and ignore :ensure since all packages are provided via Nix.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Wrap network widget with withNmAppletMenu for click-to-open menu
- Use withLogLevels hook instead of manual enableLogger
- Remove unused aeson, directory, yaml dependencies
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use accent color (#f1b2b2) tint for the active workspace pill instead of
a white outline, so it's visually distinct from the active window
highlight. Add white border and background to the active window icon
container within workspaces. Also add nerd font family to mpris icon.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wrap the mpris grid in a box with a nerd font music note icon (U+F075A)
so it follows the same icon+label pattern as other widgets.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Increase global font size from 9pt to 11pt for better readability.
Add padding-right on icon-label icon elements to prevent nerd font
glyphs from overlapping adjacent text. Consolidate battery CSS
selectors to match the new single-widget structure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace the separate batteryIconWidget + batteryTextWidget with a single
batteryWidget using batteryTextIconNew paired with textBatteryNew via
buildIconLabelBox. Switch diskUsageWidget from diskUsageLabelNew to
diskUsageNew which includes a nerd font disk icon.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Document the @import url() requirement, per-widget color variables,
workspace label positioning via padding (not margin, which GTK
overlays ignore), asymmetric workspace padding, active workspace
outline targeting, and bar border-radius.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Target .workspaces .active .outer-pad with an inset box-shadow to
highlight the currently focused workspace pill.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reduce bar alpha from 0.55 to 0.35 for more transparency and add
6px border-radius to match widget squircles.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Asymmetric inner-pad padding (10px left, 3px right) so workspace
number labels have room on the left without extra space on the right.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use padding on the workspace-label (not margin on the overlay-box,
which GTK overlays ignore) to inset the number into the pill area.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix CSS import syntax (bare `import` -> `@import url()`) so
@define-color variables from theme.css are available. Define
per-widget background/foreground/border colors and add CSS rules
for clock, disk-usage, sni-tray, battery, and backlight widgets.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add desktop-entry icon lookup to the rofi window picker scripts,
matching the XMonad setup's icon support. A shared helper script
(window-icon-map.sh) builds a class→icon mapping from .desktop files
and each picker uses rofi's dmenu icon protocol (\0icon\x1f).
Also replaces the X11-only "rofi -show window" with a native
Hyprland window picker using hyprctl clients.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The taffybar audio widget requires PulseAudio's DBus interface
(module-dbus-protocol) to read volume/mute state. Without it the
widget shows "n/a".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove detectBackendRobust and discovery helpers from taffybar.hs now
that the equivalent logic lives in System.Taffybar.Context.Backend
(taffybar PR #625). Update submodule and flake.lock accordingly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>