{ config, inputs, pkgs, ... }: let wallpaperDir = "${config.home.homeDirectory}/.config/wallpapers"; defaultWallpaper = "${wallpaperDir}/even-in-arcadia.png"; noctaliaIpc = pkgs.writeShellScriptBin "noctalia-ipc" '' set -eu exec noctalia msg "$@" ''; in { imports = [ inputs.noctalia.homeModules.default ]; home.packages = [ noctaliaIpc ]; # Wallpapers tracked in the repo; linked to ~/.config/wallpapers for noctalia xdg.configFile."wallpapers".source = ./wallpapers; programs.noctalia = { enable = true; settings = { bar.default = { # "group:sysmon" renders as one capsule containing cpu + ram start = [ "launcher" "clipboard" "group:sysmon" "network" ]; center = [ "clock" ]; end = [ "notifications" "volume" "brightness" "battery" "control-center" "session" ]; thickness = 40; padding = 10; radius = 0; margin_edge = 0; margin_ends = 0; widget_spacing = 8; capsule_group = [ { id = "sysmon"; members = [ "cpu" "ram" ]; fill = "surface_variant"; opacity = 1.0; padding = 6.0; } ]; }; idle = { behavior_order = [ "lock" "screen-off" ]; behavior = { lock = { action = "lock"; enabled = true; timeout = 600; }; screen-off = { action = "screen_off"; enabled = true; timeout = 660; }; }; }; lockscreen.wallpaper = defaultWallpaper; nightlight.enabled = true; osd.position = "top_right"; shell = { font_family = "JetBrainsMono Nerd Font"; polkit_agent = true; corner_radius_scale = 1.0; animation.speed = 1.5; panel = { clipboard_placement = "attached"; launcher_placement = "attached"; launcher_session_search = true; panel_overlap = 1; # pull panel flush against bar to hide seam contact_shadow = true; # gradient at meeting point masks any residual gap }; shadow.alpha = 0.5; }; theme.builtin = "Kanagawa"; wallpaper = { enabled = true; directory = wallpaperDir; default.path = defaultWallpaper; }; }; }; }