{ lib, pkgs, namespace, ... }: let inherit (lib.${namespace}) enabled disabled; # Displays display = { input = "eDP-1"; resolution = "3456x2234"; refreshRate = "60.00000"; }; in { home = { username = "matt"; homeDirectory = "/home/matt"; stateVersion = "23.11"; }; ${namespace} = { desktop.plasma = lib.mkForce enabled; programs.hyprland = { enable = false; primaryDisplay = "eDP-1"; debug.disableScaleChecks = true; monitorv2 = [ { name = display.input; mode = "${display.resolution}@${display.refreshRate}"; position = "0x0"; scale = 1.25; extra = [ "bitdepth" "10" "cm" "hdr" "sdrbrightness" "1.2" "sdrsaturation" "0.98" ]; } ]; workspace = [ "name:firefox, monitor:${display.input}, default:false, special, class:(.*firefox.*)" "name:discord, monitor:${display.input}, default:true, special, title:(.*vesktop.*), title:(.*Apple Music.*)" "name:steam, monitor:${display.input}, default:false, special, class:(.*[Ss]team.*)" ]; windowRule = [ # "size 2160 3356, tag:horizonrdp" ]; hyprpaper = { wallpaperPath = "/run/wallpaper.jpg"; }; keybinds = { bind = [ "$mod, A, exec, chromium --app=\"https://music.apple.com\"" "SHIFT, XF86MonBrightnessUp, exec, lightctl -D kbd_backlight up" "SHIFT, XF86MonBrightnessDown, exec, lightctl -D kbd_backlight down" ]; }; defaultApps = { browser = pkgs.firefox; }; extraConfig = '' exec-once = brightnessctl -d kbd_backlight s 50% ''; }; programs = { btop = enabled; calibre = enabled; kitty = disabled; mako = disabled; nwg-dock = disabled; nwg-drawer = disabled; nwg-panel = disabled; opencode = enabled; thunderbird = enabled; vesktop = enabled; waybar = { enable = false; layer = "bottom"; temperature = { cpu = enabled; gpu = enabled; }; extraModules = { "custom/lights" = { tooltip = false; exec = "waybar-hass --get_light light.living_room_lights"; interval = "once"; format = "{text}"; # "󱉓"; on-click = "waybar-hass --toggle_light light.living_room_lights"; return-type = "json"; }; }; extraModulesStyle = '' #custom-lights { color: @base0C; opacity: 0.85; background-color: @base00; } #custom-lights:hover { background: @base03; } ''; windowOffset = 75; }; wlogout = disabled; wofi = disabled; }; services = { protonmail = enabled; }; }; sops = { secrets = { "protonmail-password" = { sopsFile = lib.snowfall.fs.get-file "secrets/mac-secrets.yaml"; }; }; }; home.packages = with pkgs.${namespace}; [ # librepods librepods-beta ] ++ (with pkgs; [ bolt-launcher bottles iw iwd orca-slicer rpi-imager vscodium ]); # Override the shared Plasma panel to add a standalone battery widget # (laptop-specific — not needed on desktop systems) programs.plasma.panels = lib.mkForce [ { location = "bottom"; floating = true; height = 44; widgets = [ "org.kde.plasma.kickoff" "org.kde.plasma.icontasks" "org.kde.plasma.marginsseparator" { battery = { }; } "org.kde.plasma.systemtray" "org.kde.plasma.digitalclock" ]; } ]; services = { kdeconnect = { enable = lib.mkForce true; indicator = lib.mkForce true; }; }; programs = { password-store = enabled; }; }