From bb86cd082d57863d225b6571d50cbfe2b91d9faf Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Sun, 7 Jul 2024 08:47:50 +0100 Subject: [PATCH] Switch back to sway (and all the changes that involved) --- flake.nix | 3 +- home/Northstar.nix | 10 +- home/Scorch.nix | 7 +- home/Tone.nix | 38 ++- home/Vanguard.nix | 29 +- home/desktop/alacritty/default.nix | 4 +- home/desktop/avizo/default.nix | 19 ++ home/desktop/default.nix | 114 ++++++- home/desktop/foot/default.nix | 47 +++ home/desktop/fuzzel/default.nix | 46 +++ home/desktop/mako/default.nix | 26 ++ home/desktop/rofi/default.nix | 139 +++++++++ home/desktop/sway/default.nix | 182 ++++++++++++ home/desktop/swayidle/default.nix | 20 ++ home/desktop/swaylock/default.nix | 48 +++ home/desktop/swaylock/swaylockfx.nix | 6 + home/desktop/swaync/default.nix | 360 +++++++++++++++++++++++ home/desktop/waybar/default.nix | 345 ++++++++++++++++++++++ home/desktop/wlogout/default.nix | 77 +++++ home/desktop/wlogout/icons/hibernate.png | Bin 0 -> 17963 bytes home/desktop/wlogout/icons/lock.png | Bin 0 -> 8108 bytes home/desktop/wlogout/icons/logout.png | Bin 0 -> 6329 bytes home/desktop/wlogout/icons/reboot.png | Bin 0 -> 16483 bytes home/desktop/wlogout/icons/shutdown.png | Bin 0 -> 15698 bytes home/desktop/wlogout/icons/suspend.png | Bin 0 -> 17256 bytes home/emacs/default.nix | 3 + system/desktop.nix | 74 ++++- 27 files changed, 1574 insertions(+), 23 deletions(-) create mode 100644 home/desktop/avizo/default.nix create mode 100644 home/desktop/foot/default.nix create mode 100644 home/desktop/fuzzel/default.nix create mode 100644 home/desktop/mako/default.nix create mode 100644 home/desktop/rofi/default.nix create mode 100644 home/desktop/sway/default.nix create mode 100644 home/desktop/swayidle/default.nix create mode 100644 home/desktop/swaylock/default.nix create mode 100644 home/desktop/swaylock/swaylockfx.nix create mode 100644 home/desktop/swaync/default.nix create mode 100644 home/desktop/waybar/default.nix create mode 100644 home/desktop/wlogout/default.nix create mode 100644 home/desktop/wlogout/icons/hibernate.png create mode 100644 home/desktop/wlogout/icons/lock.png create mode 100644 home/desktop/wlogout/icons/logout.png create mode 100644 home/desktop/wlogout/icons/reboot.png create mode 100644 home/desktop/wlogout/icons/shutdown.png create mode 100644 home/desktop/wlogout/icons/suspend.png diff --git a/flake.nix b/flake.nix index 43e52bc5..37491ca7 100644 --- a/flake.nix +++ b/flake.nix @@ -53,7 +53,7 @@ in { inherit hostname iosevkaCustom; inherit (plasma-manager.packages.${system}) rc2nix; - accentColourName = "base0C"; + accentColourName = "base0E"; fonts = with iosevkaCustom; rec { sizes = { applications = 12; @@ -91,6 +91,7 @@ }: { networking = {inherit hostName;}; nix.settings.trusted-users = [username]; + services.greetd.settings.initial_session.user = username; programs.${loginShell}.enable = true; users.users.${username} = { shell = pkgs.${loginShell}; diff --git a/home/Northstar.nix b/home/Northstar.nix index 039a8057..8181ac97 100644 --- a/home/Northstar.nix +++ b/home/Northstar.nix @@ -1,4 +1,12 @@ {...}: { imports = [./personal.nix]; - programs.plasma.configFile.kcminputrc."Libinput/1739/52759/SYNA32AA:00 06CB:CE17 Touchpad".NaturalScroll = true; + wayland.windowManager.sway.config = { + output."eDP-1".scale = "1.25"; + workspaceOutputAssign = [ + { + output = "eDP-1"; + workspace = "1"; + } + ]; + }; } diff --git a/home/Scorch.nix b/home/Scorch.nix index 2d7aed4b..82fbce76 100644 --- a/home/Scorch.nix +++ b/home/Scorch.nix @@ -1 +1,6 @@ -{...}: {imports = [./work.nix];} +{...}: { + imports = [./work.nix]; + wayland.windowManager.sway.config = { + output."Dell Inc. DELL P3223QE CCG8YN3".scale = "1.5"; + }; +} diff --git a/home/Tone.nix b/home/Tone.nix index 1cb9ea0d..7fde6f2a 100644 --- a/home/Tone.nix +++ b/home/Tone.nix @@ -1,4 +1,40 @@ {...}: { imports = [./work.nix]; - programs.plasma.configFile.kcminputrc."Libinput/1160/4132/DELL0A21:00 0488:1024 Touchpad".NaturalScroll = true; + wayland.windowManager.sway.config = { + output."eDP-1".scale = "1.25"; + workspaceOutputAssign = [ + { + output = "eDP-1"; + workspace = "1"; + } + ]; + }; + services.kanshi = { + enable = true; + settings = let + laptopScreen = { + criteria = "eDP-1"; + scale = 1.25; + position = "2560,576"; + }; + monitor = { + criteria = "Dell Inc. DELL P3223QE CCG8YN3"; + scale = 1.5; + position = "0,0"; + }; + in [ + { + profile = { + name = "undocked"; + outputs = [laptopScreen]; + }; + } + { + profile = { + name = "docked"; + outputs = [laptopScreen monitor]; + }; + } + ]; + }; } diff --git a/home/Vanguard.nix b/home/Vanguard.nix index ff11b96f..c0661e12 100644 --- a/home/Vanguard.nix +++ b/home/Vanguard.nix @@ -1,7 +1,34 @@ -{...}: { +{pkgs, ...}: { imports = [ ./personal.nix ./games/default.nix ./streaming/default.nix ]; + wayland.windowManager.sway.config = { + output = { + "Microstep MSI G27CQ4 E2 Unknown" = { + mode = "2560x1440@120Hz"; + scale = "1.25"; + position = "1920 0"; + }; + "Acer Technologies ED270R TJMEE0043W01" = { + mode = "1920x1080@120Hz"; + position = "0 140"; + adaptive_sync = "off"; + }; + }; + workspaceOutputAssign = [ + { + output = "DP-1"; + workspace = "2"; + } + { + output = "DP-2"; + workspace = "1"; + } + ]; + startup = [ + {command = "${pkgs.xorg.xrandr}/bin/xrandr --output DP-1 --primary";} + ]; + }; } diff --git a/home/desktop/alacritty/default.nix b/home/desktop/alacritty/default.nix index 647dee1e..4484b513 100644 --- a/home/desktop/alacritty/default.nix +++ b/home/desktop/alacritty/default.nix @@ -19,8 +19,8 @@ x = 10; y = 10; }; - # decorations = "none"; - # opacity = 0.9; + decorations = "none"; + opacity = 0.85; }; live_config_reload = true; selection.save_to_clipboard = true; diff --git a/home/desktop/avizo/default.nix b/home/desktop/avizo/default.nix new file mode 100644 index 00000000..b2b29f7c --- /dev/null +++ b/home/desktop/avizo/default.nix @@ -0,0 +1,19 @@ +{ + config, + accentColourName, + ... +}: { + services.avizo = { + enable = true; + settings.default = let + sc = config.scheme; + rgba = colourName: "${sc."${colourName}-rgb-r"}, ${sc."${colourName}-rgb-g"}, ${sc."${colourName}-rgb-b"}"; + in { + background = "rgba(${rgba "base00"}, 0.9)"; + bar-bg-color = "rgba(${rgba "base00"}, 0.9)"; + bar-fg-color = "rgba(${rgba "base05"}, 1.0)"; + border-color = "rgba(${rgba accentColourName}, 1.0)"; + image-opacity = "1.0"; + }; + }; +} diff --git a/home/desktop/default.nix b/home/desktop/default.nix index 9a3a387d..27393770 100644 --- a/home/desktop/default.nix +++ b/home/desktop/default.nix @@ -1,18 +1,98 @@ { config, + lib, pkgs, ... }: { - imports = [./plasma/default.nix]; + imports = [ + ./sway/default.nix + ./foot/default.nix + ./alacritty/default.nix + ./avizo/default.nix + ./fuzzel/default.nix + ./swaylock/default.nix + ./swayidle/default.nix + ./swaync/default.nix + ./waybar/default.nix + ./wlogout/default.nix + ]; home.packages = with pkgs; [ + pinentry + ffmpeg + evince libreoffice-fresh inkscape webcord teams-for-linux - kdePackages.krdc + swayimg + swaybg + (writeShellScriptBin "set-background" '' + ${swaybg}/bin/swaybg -m fill -i ${./wallpapers/landscapes/tropic_island_day.jpg} + '') + (writeShellScriptBin "protonmail-setup-bridge" '' + pkill -9 -f protonmail-bridge + ${protonmail-bridge}/bin/protonmail-bridge -c + swaymsg exec "${protonmail-bridge}/bin/protonmail-bridge -n" + '') + (writeShellScriptBin "davmail-setup" '' + systemctl --user restart davmail # Ensure config file is present + systemctl --user stop davmail + ${davmail}/bin/davmail -n ~/.davmail.properties + systemctl --user restart davmail + '') ]; - services.syncthing.enable = true; + services = { + avizo.enable = true; + gpg-agent.pinentryPackage = pkgs.pinentry-gtk2; + remmina.enable = true; + syncthing.enable = true; + kdeconnect = { + enable = true; + indicator = true; + }; + udiskie = { + enable = true; + notify = true; + automount = true; + tray = "never"; + }; + }; programs.mpv.enable = true; + gtk = { + enable = true; + iconTheme = { + package = pkgs.papirus-icon-theme.override {color = "violet";}; + name = + if config.scheme.variant == "light" + then "Papirus-Light" + else "Papirus-Dark"; + }; + cursorTheme = { + package = pkgs.volantes-cursors; + name = + if config.scheme.variant == "light" + then "volantes_cursors" + else "volantes_light_cursors"; + size = 32; + }; + theme = { + package = pkgs.gnome.gnome-themes-extra; + name = + if config.scheme.variant == "light" + then "Adwaita" + else "Adwaita-dark"; + }; + }; + qt = { + enable = true; + style = { + package = pkgs.adwaita-qt; + name = + if config.scheme.variant == "light" + then "adwaita" + else "adwaita-dark"; + }; + }; xdg = { mime.enable = true; mimeApps = let @@ -20,7 +100,12 @@ in { enable = true; inherit defaultApplications; - associations.added = defaultApplications; + associations = { + added = defaultApplications; + removed = { + "x-scheme-handler/zoomus" = config.xdg.mimeApps.defaultApplications."x-scheme-handler/http"; + }; + }; }; userDirs = { enable = true; @@ -33,9 +118,30 @@ awayOnSystemIdle = true; closeAppOnCross = true; followSystemTheme = true; + electronCLIFlags = lib.mkIf config.wayland.windowManager.sway.enable [["ozone-platform" "wayland"]]; notificationMethod = "electron"; optInTeamsV2 = true; spellCheckerLanguages = ["en_GB"]; }; }; + xresources.properties = with config.scheme.withHashtag; { + "*background" = base00; + "*foreground" = base05; + "*color0" = base00; + "*color1" = red; + "*color2" = green; + "*color3" = yellow; + "*color4" = blue; + "*color5" = magenta; + "*color6" = cyan; + "*color7" = base04; + "*color8" = base01; + "*color9" = red; + "*color10" = green; + "*color11" = yellow; + "*color12" = blue; + "*color13" = magenta; + "*color14" = cyan; + "*color15" = base05; + }; } diff --git a/home/desktop/foot/default.nix b/home/desktop/foot/default.nix new file mode 100644 index 00000000..34e36ba4 --- /dev/null +++ b/home/desktop/foot/default.nix @@ -0,0 +1,47 @@ +{ + config, + fonts, + ... +}: { + programs.foot = { + enable = true; + server.enable = true; + settings = { + main = { + term = "xterm-256color"; + locked-title = false; + font = "${fonts.monospace.name}:size=${toString fonts.sizes.applications}"; + dpi-aware = false; + pad = "10x10"; + }; + bell = { + urgent = false; + notify = false; + visual = false; + }; + cursor = {blink = true;}; + mouse = {hide-when-typing = true;}; + colors = with config.scheme; rec { + alpha = 0.85; + background = base00; + foreground = base05; + regular0 = base02; + regular1 = red; + regular2 = green; + regular3 = yellow; + regular4 = blue; + regular5 = magenta; + regular6 = cyan; + regular7 = base05; + bright0 = base04; + bright1 = regular1; + bright2 = regular2; + bright3 = regular3; + bright4 = regular4; + bright5 = regular5; + bright6 = regular6; + bright7 = base05; + }; + }; + }; +} diff --git a/home/desktop/fuzzel/default.nix b/home/desktop/fuzzel/default.nix new file mode 100644 index 00000000..ebbd5975 --- /dev/null +++ b/home/desktop/fuzzel/default.nix @@ -0,0 +1,46 @@ +{ + config, + pkgs, + fonts, + accentColourName, + ... +}: { + programs.fuzzel = { + enable = true; + settings = { + main = { + dpi-aware = false; + font = "${fonts.monospace.name}:size=${toString fonts.sizes.popups}"; + icon-theme = config.gtk.iconTheme.name; + icons-enabled = true; + fields = "filename,name,generic,categories"; + fuzzy = true; + filter-desktop = true; + terminal = with config.programs; "${ + if alacritty.enable + then alacritty.package + else pkgs.alacritty + }/bin/alacritty -e"; + lines = 24; + width = 80; + tabs = 4; + layer = "overlay"; + }; + colors = let + sc = config.scheme; + in { + background = "${sc.base00}cc"; # 80% Opacity + text = "${sc.base05}ff"; + match = "${sc.red}ff"; + selection = "${sc.base01}ff"; + selection-text = "${sc.base05}ff"; + selection-match = "${sc.red}ff"; + border = "${sc.${accentColourName}}ff"; + }; + border = { + width = 1; + radius = 10; + }; + }; + }; +} diff --git a/home/desktop/mako/default.nix b/home/desktop/mako/default.nix new file mode 100644 index 00000000..1161bb88 --- /dev/null +++ b/home/desktop/mako/default.nix @@ -0,0 +1,26 @@ +{ + config, + fonts, + accentColourName, + ... +}: { + services.mako = let + sc = config.scheme.withHashtag; + in { + enable = true; + anchor = "top-right"; + font = "${fonts.monospace.name} ${toString fonts.sizes.popups}"; + layer = "top"; + markup = true; + maxVisible = 10; + icons = true; + iconPath = with config.gtk.iconTheme; "${package}/share/icons/${name}"; + textColor = "${sc.base05}ff"; + progressColor = "over ${sc.red}ff"; + backgroundColor = "${sc.base00}cc"; + borderColor = "${sc.${accentColourName}}ff"; + borderRadius = 10; + borderSize = 1; + defaultTimeout = 0; + }; +} diff --git a/home/desktop/rofi/default.nix b/home/desktop/rofi/default.nix new file mode 100644 index 00000000..fc1174fd --- /dev/null +++ b/home/desktop/rofi/default.nix @@ -0,0 +1,139 @@ +{ + config, + pkgs, + fonts, + accentColourName, + ... +}: { + programs.rofi = { + enable = true; + package = pkgs.rofi-wayland; + terminal = with config.programs; "${ + if alacritty.enable + then alacritty.package + else pkgs.alacritty + }/bin/alacritty"; + font = fonts.monospace.name; + location = "center"; + plugins = with pkgs; [rofi-emoji]; + extraConfig = { + modi = "run,drun,ssh,window,emoji,combi"; + combi-modi = "drun,ssh,window,emoji"; + sidebar-mode = true; + sort = true; + sorting-method = "fzf"; + matching = "fuzzy"; + icon-theme = config.gtk.iconTheme.name; + show-icons = true; + application-fallback-icon = "application-x-addon"; + drun-display-format = "{icon} {name} ({categories})"; + disable-history = false; + hide-scrollbar = true; + display-run = " 󰅴 Run "; + display-drun = " 󱓞 Apps "; + display-ssh = " 󰢹 SSH "; + display-window = " 󰧨 Move "; + display-emoji = " 󰞅 Emoji "; + display-combi = " 󰛡 Combi "; + }; + theme = with builtins; let + inherit (config.lib.formats.rasi) mkLiteral; + sc = config.scheme; + bg = mkLiteral "rgba (${sc.base00-rgb-r}, ${sc.base00-rgb-g}, ${sc.base00-rgb-b}, 80%)"; + bg2 = mkLiteral "rgba (${sc.base01-rgb-r}, ${sc.base01-rgb-g}, ${sc.base01-rgb-b}, 100%)"; + fg = mkLiteral sc.withHashtag.base05; + fg2 = mkLiteral sc.withHashtag.base04; + border = mkLiteral sc.withHashtag.${accentColour}; + blue = mkLiteral sc.withHashtag.blue; + in { + "*" = { + background-color = mkLiteral "transparent"; + text-color = fg; + font = with fonts; "${monospace.name} ${toString sizes.popups}"; + }; + + window = { + height = mkLiteral "75%"; + width = mkLiteral "75%"; + border = mkLiteral "1px"; + border-color = border; + border-radius = mkLiteral "10px"; + background-color = bg; + }; + + inputbar = { + children = map mkLiteral ["prompt" "entry"]; + padding = mkLiteral "2px"; + }; + + prompt = { + background-color = bg2; + padding = mkLiteral "6px"; + text-color = blue; + border-radius = mkLiteral "10px"; + margin = mkLiteral "20px 0px 0px 20px"; + }; + + textbox-prompt-colon = { + expand = false; + str = "="; + }; + + entry = { + padding = mkLiteral "6px"; + margin = mkLiteral "20px 0px 0px 10px"; + }; + + listview = { + border = mkLiteral "0px 0px 0px"; + padding = mkLiteral "6px 0px 0px"; + margin = mkLiteral "10px 0px 0px 20px"; + columns = 2; + lines = 5; + }; + + element = { + padding = mkLiteral "5px"; + }; + + "element-icon" = { + size = mkLiteral "25px"; + }; + + "element selected" = { + background-color = bg2; + text-color = blue; + border-radius = mkLiteral "10px"; + }; + + mode-switcher = { + spacing = 0; + }; + + button = { + padding = mkLiteral "10px"; + text-color = fg2; + border-radius = mkLiteral "10px"; + vertical-align = mkLiteral "0.5"; + horizontal-align = mkLiteral "0.5"; + }; + + "button selected" = { + background-color = bg2; + text-color = blue; + }; + + message = { + margin = mkLiteral "2px"; + padding = mkLiteral "2px"; + border-radius = mkLiteral "5px"; + }; + + textbox = { + padding = mkLiteral "6px"; + margin = mkLiteral "20px 0px 0px 20px"; + text-color = blue; + }; + }; + }; +} diff --git a/home/desktop/sway/default.nix b/home/desktop/sway/default.nix new file mode 100644 index 00000000..535a0404 --- /dev/null +++ b/home/desktop/sway/default.nix @@ -0,0 +1,182 @@ +{ + config, + lib, + pkgs, + fonts, + accentColourName, + ... +}: { + programs.waybar.systemd.target = "sway-session.target"; + services.kanshi.systemdTarget = "sway-session.target"; + wayland.windowManager.sway = { + enable = true; + package = + pkgs.swayfx.overrideAttrs + (old: {passthru.providedSessions = ["sway"];}); + swaynag.enable = true; + systemd.enable = true; + xwayland = true; + checkConfig = false; + config = { + input = { + "*" = { + xkb_layout = "gb"; + xkb_options = "ctrl:nocaps"; + }; + "type:touchpad" = { + tap = "enabled"; + natural_scroll = "enabled"; + }; + }; + seat = { + "seat0" = { + xcursor_theme = with config.gtk.cursorTheme; "${name} ${toString size}"; + }; + }; + modifier = "Mod4"; + terminal = "${config.programs.alacritty.package}/bin/alacritty"; + menu = "${config.programs.fuzzel.package}/bin/fuzzel"; + workspaceAutoBackAndForth = true; + bars = []; + gaps = { + inner = 5; + outer = 0; + }; + fonts = { + names = [fonts.monospace.name]; + style = "regular"; + size = fonts.sizes.desktop * 1.0; + }; + colors = let + sc = config.scheme.withHashtag; + text = toString sc.base05; + indicator = toString sc.${accentColourName}; + background = toString sc.base00; + in { + inherit background; + focused = let + border = toString sc.${accentColourName}; + in { + inherit background text indicator border; + childBorder = border; + }; + focusedInactive = let + border = toString sc.base04; + in { + inherit background text indicator border; + childBorder = border; + }; + unfocused = let + border = toString sc.base03; + in { + inherit background text indicator border; + childBorder = border; + }; + urgent = let + border = toString sc.red; + in { + inherit background text indicator border; + childBorder = border; + }; + }; + startup = [ + {command = "${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1";} + {command = "${pkgs.protonmail-bridge}/bin/protonmail-bridge -n";} + {command = "set-background";} + ]; + window = { + border = 1; + titlebar = false; + commands = [ + { + criteria.window_role = "(?:pop-up|bubble|dialog)"; + command = "floating enable"; + } + { + criteria.app_id = "(?:org\.kde\.polkit-kde-authentication-agent-1|Pinentry|pavucontrol|\.blueman-manager-wrapped|nm-connection-editor)"; + command = "floating enable"; + } + { + criteria.class = "(?:[Mm]atplotlib|.*\.py|Idl)"; + command = "floating enable"; + } + { + # Catch-all for file dialog windows + criteria.title = "(?:Open|Save) (?:File|Folder|As)"; + command = "floating enable, resize set width 1030 height 710"; + } + { + # Inhibit idle when watching vidoes + criteria.app_id = "(?:firefox|mpv)"; + command = "inhibit_idle fullscreen"; + } + { + # Window rules for game sessions. + # Note: controllers don't reset idle timer + criteria.class = "(?:steam_app|Minecraft).*"; + command = "floating enable, fullscreen enable, inhibit_idle focus"; + } + ]; + }; + floating.border = 1; + keybindings = with config; let + modifier = wayland.windowManager.sway.config.modifier; + in + lib.mkOptionDefault { + # Movement + "${modifier}+comma" = "workspace prev"; + "${modifier}+period" = "workspace next"; + "${modifier}+shift+comma" = "move workspace prev"; + "${modifier}+shift+period" = "move workspace next"; + "${modifier}+bracketleft" = "move workspace to output left"; + "${modifier}+bracketright" = "move workspace to output right"; + + # Function keys + ## Sound + "XF86AudioMute" = "exec ${services.avizo.package}/bin/volumectl %"; + "XF86AudioMicMute" = "exec ${services.avizo.package}/bin/volumectl -m %"; + "XF86AudioRaiseVolume" = "exec ${services.avizo.package}/bin/volumectl -u + 5"; + "XF86AudioLowerVolume" = "exec ${services.avizo.package}/bin/volumectl -u - 5"; + + ## Playback + "XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause"; + "XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl play-pause"; + "XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous"; + "XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next"; + + ## Brightness + "XF86MonBrightnessUp" = "exec ${services.avizo.package}/bin/lightctl + 5"; + "XF86MonBrightnessDown" = "exec ${services.avizo.package}/bin/lightctl - 5"; + + # System utilities + "Mod4+Mod1+l" = "exec swaylockfx"; + "${modifier}+z" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw"; + "${modifier}+Shift+z" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client -d -sw"; + "${modifier}+Shift+p" = "exec ${programs.wlogout.package}/bin/wlogout"; + "${modifier}+Shift+Return" = "exec ${programs.emacs.finalPackage}/bin/emacsclient -c"; + }; + }; + extraConfig = '' + bindgesture swipe:right workspace prev + bindgesture swipe:left workspace next + corner_radius 10 + blur enable + blur_xray disable + blur_passes 3 + blur_radius 5 + corner_radius 10 + shadows disable + shadow_blur_radius 0 + layer_effects "system-menu" blur enable; shadows disable + layer_effects "gtk-layer-shell" blur enable; shadows disable + layer_effects "notifications" blur enable; shadows disable + layer_effects "launcher" blur enable; shadows disable + layer_effects "logout_dialog" blur enable; shadows disable + layer_effects "waybar" blur enable; shadows disable + layer_effects "avizo" blur enable; shadows disable + layer_effects "swaync-notification-window" blur enable; shadows disable + layer_effects "swaync-control-center" blur enable; shadows disable + titlebar_separator enable + ''; + }; +} diff --git a/home/desktop/swayidle/default.nix b/home/desktop/swayidle/default.nix new file mode 100644 index 00000000..469e6572 --- /dev/null +++ b/home/desktop/swayidle/default.nix @@ -0,0 +1,20 @@ +{ + config, + pkgs, + ... +}: { + imports = [../swaylock/default.nix]; + services.swayidle = let + swaylockfx = + pkgs.callPackage ../swaylock/swaylockfx.nix + {swaylock-effects = config.programs.swaylock.package;}; + in { + enable = true; + timeouts = [ + { + timeout = 60 * 15; # 15 minutes + command = "${swaylockfx}/bin/swaylockfx"; + } + ]; + }; +} diff --git a/home/desktop/swaylock/default.nix b/home/desktop/swaylock/default.nix new file mode 100644 index 00000000..af8dfded --- /dev/null +++ b/home/desktop/swaylock/default.nix @@ -0,0 +1,48 @@ +{ + config, + pkgs, + accentColourName, + ... +}: { + home.packages = with pkgs; [ + (callPackage ./swaylockfx.nix + {swaylock-effects = config.programs.swaylock.package;}) + ]; + programs.swaylock = { + enable = true; + package = pkgs.swaylock-effects; + # Settings are specifically for swaylock-effects + settings = let + sc = config.scheme; + in { + indicator-radius = 100; + indicator-thickness = 10; + indicator-caps-lock = true; + ignore-empty-password = true; + show-failed-attempts = true; + effect-blur = "5x3"; + effect-vignette = "0.5:0.5"; + grace = 2; + fade-in = 0.2; + bs-hl-color = sc.base06; + caps-lock-bs-hl-color = sc.base06; + caps-lock-key-hl-color = sc.green; + inside-color = "${sc.base00}cc"; + key-hl-color = sc.green; + layout-bg-color = "${sc.base00}cc"; + layout-border-color = sc.${accentColourName}; + layout-text-color = sc.base05; + ring-color = sc.${accentColourName}; + ring-clear-color = sc.base06; + ring-caps-lock-color = sc.base09; + ring-ver-color = sc.blue; + ring-wrong-color = sc.red; + separator-color = sc.base01; + text-color = sc.base05; + text-clear-color = sc.base06; + text-caps-lock-color = sc.base09; + text-ver-color = sc.blue; + text-wrong-color = sc.red; + }; + }; +} diff --git a/home/desktop/swaylock/swaylockfx.nix b/home/desktop/swaylock/swaylockfx.nix new file mode 100644 index 00000000..0a4353ba --- /dev/null +++ b/home/desktop/swaylock/swaylockfx.nix @@ -0,0 +1,6 @@ +{ + writeShellScriptBin, + swaylock-effects, + ... +}: +writeShellScriptBin "swaylockfx" "${swaylock-effects}/bin/swaylock --screenshots --clock --indicator --grace-no-mouse" diff --git a/home/desktop/swaync/default.nix b/home/desktop/swaync/default.nix new file mode 100644 index 00000000..102a9836 --- /dev/null +++ b/home/desktop/swaync/default.nix @@ -0,0 +1,360 @@ +{ + config, + pkgs, + fonts, + accentColourName, + ... +}: { + home.packages = [pkgs.swaynotificationcenter]; + xdg.configFile."swaync/style.css".text = let + sc = config.scheme.withHashtag; + alpha = "0.85"; + alpha-background = "rgba(${config.scheme.base00-rgb-r}, ${config.scheme.base00-rgb-g}, ${config.scheme.base00-rgb-b}, ${alpha})"; + in '' + * { + all: unset; + font-size: 1.2rem; + font-family: "${fonts.monospace.name}"; + transition: 200ms; + box-shadow: none; + } + + .floating-notifications.background .notification-row .notification-background { + border-radius: 10px; + border: 1px solid ${sc.${accentColourName}}; + margin: 18px; + background-color: ${alpha-background}; + color: ${sc.base05}; + padding: 0; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification { + padding: 7px; + border-radius: 10px; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification + .notification-content { + margin: 7px; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification + .notification-content + .summary { + color: ${sc.base05}; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification + .notification-content + .time { + color: ${sc.base04}; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification + .notification-content + .body { + color: ${sc.base05}; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification + > *:last-child + > * { + min-height: 3.4em; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action { + border-radius: 10px; + background-color: ${sc.base01}; + color: ${sc.base05}; + margin: 7px; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action:hover { + background-color: ${sc.base01}; + color: ${sc.base05}; + } + + .floating-notifications.background + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action:active { + background-color: ${sc.blue}; + color: ${sc.base00}; + } + + .floating-notifications.background + .notification-row + .notification-background + .close-button { + margin: 7px; + padding: 2px; + border-radius: 10px; + background-color: ${sc.red}; + color: ${sc.base00}; + } + + .floating-notifications.background + .notification-row + .notification-background + .close-button:hover { + background-color: ${sc.red}; + color: ${sc.base00}; + } + + .floating-notifications.background + .notification-row + .notification-background + .close-button:active { + background-color: ${sc.red}; + color: ${sc.base00}; + } + + .control-center { + border-radius: 10px; + border: 1px solid ${sc.${accentColourName}}; + margin: 18px; + background-color: ${alpha-background}; + color: ${sc.base05}; + padding: 14px; + } + + .control-center .widget-title { + color: ${sc.base05}; + font-size: 1.3em; + } + + .control-center .widget-title button { + border-radius: 7px; + background-color: ${sc.base01}; + color: ${sc.base05}; + padding: 8px; + } + + .control-center .widget-title button:hover { + background-color: ${sc.base02}; + color: ${sc.base05}; + } + + .control-center .widget-title button:active { + background-color: ${sc.base03}; + color: ${sc.base05}; + } + + .control-center .notification-row .notification-background { + border-radius: 10px; + background-color: ${sc.base01}; + color: ${sc.base05}; + margin-top: 14px; + } + + .control-center .notification-row .notification-background .notification { + padding: 7px; + border-radius: 7px; + } + + .control-center + .notification-row + .notification-background + .notification + .notification-content { + margin: 7px; + } + + .control-center + .notification-row + .notification-background + .notification + .notification-content + .summary { + color: ${sc.base05}; + } + + .control-center + .notification-row + .notification-background + .notification + .notification-content + .time { + color: ${sc.base04}; + } + + .control-center + .notification-row + .notification-background + .notification + .notification-content + .body { + color: ${sc.base05}; + } + + .control-center + .notification-row + .notification-background + .notification + > *:last-child + > * { + min-height: 3.4em; + } + + .control-center + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action { + border-radius: 7px; + background-color: ${sc.base00}; + color: ${sc.base05}; + margin: 7px; + } + + .control-center + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action:hover { + background-color: ${sc.base01};; + color: ${sc.base05}; + } + + .control-center + .notification-row + .notification-background + .notification + > *:last-child + > * + .notification-action:active { + background-color: ${sc.blue}; + color: ${sc.base05}; + } + + .control-center .notification-row .notification-background .close-button { + margin: 7px; + padding: 2px; + border-radius: 6.3px; + background-color: ${sc.red}; + color: ${sc.base00}; + } + + .control-center .notification-row .notification-background .close-button:hover { + background-color: ${sc.red}; + color: ${sc.base00}; + } + + .control-center + .notification-row + .notification-background + .close-button:active { + background-color: ${sc.red}; + color: ${sc.base00}; + } + + .control-center .notification-row .notification-background:hover { + background-color: ${sc.base00}; + color: ${sc.base05}; + } + + .control-center .notification-row .notification-background:active { + background-color: ${sc.blue}; + color: ${sc.base05}; + } + + progressbar, + progress, + trough { + border-radius: 12.6px; + } + + .notification.critical progress { + background-color: ${sc.red}; + } + + .notification.low progress, + .notification.normal progress { + background-color: ${sc.blue}; + } + + trough { + background-color: ${sc.base00}; + } + + .control-center trough { + background-color: ${sc.base03}; + } + + .control-center-dnd { + margin-top: 5px; + border-radius: 8px; + background: ${sc.base00}; + border: 1px solid ${sc.base03}; + } + + .control-center-dnd:checked { + background: ${sc.base00}; + } + + .control-center-dnd slider { + background: ${sc.base03}; + border-radius: 8px; + } + + .widget-dnd { + margin: 0px; + font-size: 1.1rem; + } + + .widget-dnd > switch { + font-size: initial; + border-radius: 8px; + background: ${sc.base00}; + border: 1px solid ${sc.base03}; + } + + .widget-dnd > switch:checked { + background: ${sc.base00}; + } + + .widget-dnd > switch slider { + background: ${sc.base01}; + border-radius: 8px; + border: 1px solid ${sc.${accentColourName}}; + } + + ''; +} diff --git a/home/desktop/waybar/default.nix b/home/desktop/waybar/default.nix new file mode 100644 index 00000000..907a39c6 --- /dev/null +++ b/home/desktop/waybar/default.nix @@ -0,0 +1,345 @@ +{ + config, + pkgs, + fonts, + accentColourName, + ... +}: { + systemd.user.targets.tray.Unit = { + Description = "Home Manager System Tray"; + Requires = ["graphical-session.target"]; + }; + programs.waybar = { + enable = true; + systemd.enable = true; + settings.main = { + name = "main"; + layer = "top"; + position = "bottom"; + # Layout + "modules-left" = [ + "sway/workspaces" + "sway/window" + ]; + "modules-center" = []; + "modules-right" = [ + "mpris" + "custom/notification" + "pulseaudio" + "network" + "bluetooth" + "clock#calendar" + "clock" + "backlight" + "battery" + "custom/weather" + "tray" + ]; + # Module config + "sway/workspaces" = { + format = "{icon}"; + format-icons = { + "1" = "󰫃 "; + "2" = "󰫄 "; + "3" = "󰫅 "; + "4" = "󰫆 "; + "5" = "󰫇 "; + "6" = "󰫈 "; + default = "󰋙 "; + urgent = "󰁡 "; + }; + all-outputs = false; + persistent-workspaces = { + "1" = []; + "2" = []; + "3" = []; + "4" = []; + "5" = []; + "6" = []; + }; + }; + "sway/window" = { + "format" = "{title}"; + "max-length" = 50; + "rewrite" = { + "(.*) - GNU Emacs at (.*)" = " $1 [$2]"; + "(alacritty.*)" = " $1"; + "(foot.*)" = " $1"; + "(.*) - mpv" = "󰦟 $1"; + "swayimg: (.*)" = "󰋩 $1"; + "(btm)" = " Resource Usage [$1]"; + "(cava)" = "󰝚 Music Visualiser [$1]"; + "(.*) - Thunar" = "󰝰 $1"; + "Mozilla Firefox" = "󰈹 $1"; + "(.*) — Mozilla Firefox" = "󰈹 $1"; + "Nyxt - (.*)" = "󰀹 $1"; + "(.*) - Chromium" = "󰊯 $1"; + "(Signal.*)" = "󰭹 $1"; + "((?:.*)WebCord.*)" = "󰙯 $1"; + "(Cartridges.*)" = "󰊗 $1"; + "([Ss]team.*)" = "󰓓 $1"; + "(Prism Launcher.*)" = "󰍳 Minecraft ($1)"; + "(X2Go Client)" = "󰢹 $1"; + "(NoMachine|Nxplayer.bin) (.*)" = "󰢹 $1 $2"; + }; + }; + mpris = { + "format" = "{status_icon} {player_icon} {artist} - {title}"; + "tooltip-format" = "{player_icon} ({player}) {dynamic}"; + "title-len" = 64; + "interval" = 1; + "dynamic-order" = [ + "album" + "artist" + "title" + "position" + "length" + ]; + "player-icons" = { + "default" = "󰲸 "; + "emms" = " "; + "firefox" = "󰈹 "; + "mpv" = "󰦟 "; + }; + "status-icons" = { + "playing" = "󰐊"; + "paused" = "󰏤"; + "stopped" = "󰓛"; + }; + "ignored-players" = []; + }; + pulseaudio = { + scroll-step = 5; + format = "{format_source}{icon}{volume}%"; + format-muted = "{format_source} 󰝟 "; + format-source = "󰍬 "; + format-source-muted = "󰍭 "; + format-icons = { + car = "󰄍 "; + default = ["󰕿 " "󰖀 " "󰕾 "]; + hands-free = "󰥰 "; + headset = "󰋎 "; + phone = "󰏲 "; + portable = "󰏳 "; + headphone = "󰋋 "; + }; + on-click = "${pkgs.pavucontrol}/bin/pavucontrol"; + on-click-right = "${pkgs.pamixer}/bin/pamixer -t"; + on-scroll-up = "${pkgs.pamixer}/bin/pamixer -i 5"; + on-scroll-down = "${pkgs.pamixer}/bin/pamixer -d 5"; + }; + disk = { + format = "󰋊 {percentage_used}%"; + path = config.home.homeDirectory; + }; + cpu = { + format = "󰻠 {usage}%"; + tooltip = false; + }; + memory = {format = "󰍛 {}%";}; + temperature = { + critical-threshold = 80; + format = "{icon} {temperatureC}°C"; + format-icons = ["󱃃" "󰔏" "󱃂"]; + }; + network = { + format-icons = ["󰤟 " "󰤢 " "󰤥 " "󰤨 "]; + format-wifi = "{icon}"; + format-ethernet = "󰈁 "; + tooltip-format = "{essid} ({signalStrength}%)"; + format-linked = "󰈂 "; + format-disconnected = "󰈂 "; + }; + bluetooth = { + format = "󰂯"; + format-disabled = "󰂲"; + format-off = "󰂲"; + format-on = "󰂯"; + format-connected = "󰂱"; + tooltip-format = "{status} | {device_alias}"; + on-click = "${pkgs.bluez}/bin/bluetoothctl power on"; + on-click-right = "${pkgs.bluez}/bin/bluetoothctl power off"; + }; + "clock#calendar" = { + # format = "{:󰃭 %Y-%m-%d}"; + format = "{:%Y-%m-%d}"; # TEMP, see https://github.com/Alexays/Waybar/issues/3021 + tooltip-format = "{calendar}"; + calendar = { + mode = "month"; + mode-mon-col = 3; + weeks-pos = "left"; + on-scroll = 1; + on-click-right = "mode"; + format = { + months = "{}"; + days = "{}"; + weeks = "W{}"; + weekdays = "{}"; + today = "{}"; + }; + }; + actions = { + on-click-right = "mode"; + on-scroll-up = "shift_up"; + on-scroll-down = "shift_down"; + }; + }; + clock = { + # format = "{:󰥔 %R}"; + format = "{:%R}"; # TEMP, see https://github.com/Alexays/Waybar/issues/3021 + }; + backlight = { + format = "{icon}"; + tooltip-format = "{percent}%"; + format-icons = [" " " " " " " " " " " " " " " " " "]; + }; + battery = { + states = { + warning = 30; + critical = 20; + }; + format = "{icon}"; + format-charging = "󰂄 "; + format-plugged = "󰚥 "; + tooltip-format = "{capacity}% {time}"; + format-icons = ["󱃍 " "󰁺 " "󰁻 " "󰁼 " "󰁽 " "󰁾 " "󰁿 " "󰂀 " "󰂁 " "󰂂 " "󰁹 "]; + }; + "custom/notification" = let + swaync = pkgs.swaynotificationcenter; + in { + "tooltip" = false; + "format" = "{icon}{}"; + "format-icons" = { + "notification" = "󱅫 "; + "none" = "󰂚 "; + "dnd-notification" = "󰅸 "; + "dnd-none" = "󰂜 "; + "inhibited-notification" = "󰅸 "; + "inhibited-none" = "󰂜 "; + "dnd-inhibited-notification" = "󰅸 "; + "dnd-inhibited-none" = "󰂜 "; + }; + "return-type" = "json"; + "exec-if" = "which ${swaync}/bin/swaync-client"; + "exec" = "${swaync}/bin/swaync-client -swb"; + "on-click" = "${swaync}/bin/swaync-client -t -sw"; + "on-click-right" = "${swaync}/bin/swaync-client -d -sw"; + "escape" = true; + }; + "custom/weather" = let + date-format = "%Y-%m-%d"; + custom-indicator = "{ICON}{temp_C}({FeelsLikeC})"; + in { + format = "{}°"; + tooltip = true; + interval = 900; # Every 15 minutes + exec = ''${pkgs.wttrbar}/bin/wttrbar --location Didcot --date-format "${date-format}" --custom-indicator "${custom-indicator}"''; + return-type = "json"; + }; + tray = { + icon-size = builtins.floor fonts.sizes.popups; + show-passive-items = true; + spacing = 5; + }; + }; + style = let + sc = config.scheme.withHashtag; + alpha = "0.85"; + in '' + * { + all: unset; + font-size: ${toString (builtins.floor (builtins.div fonts.sizes.popups 10))}em; + font-family: ${fonts.monospace.name}; + } + + window { + background: transparent; + box-shadow: none; + } + + window > box { + color: ${sc.base05}; + background: alpha(${sc.base00}, ${alpha}); + margin: 0px 5px 5px; + padding: 0px; + border-top: 1px solid ${sc.base04}; + border-radius: 10px; + } + + tooltip { + background: ${sc.base00}; + border: 1px solid ${sc.${accentColourName}}; + border-radius: 10px; + box-shadow: none; + } + + tooltip label { + color: ${sc.base05}; + border: none; + padding: 5px; + margin: 0px; + } + + #workspaces, + #window, + #mpris, + #pulseaudio, + #network, + #bluetooth, + #backlight, + #battery, + #clock, + #custom-notification, + #custom-weather, + #tray { + margin: 0px; + padding: 1px 5px; + } + + #workspaces, + #window, + #mpris, + #tray, + #backlight, + #battery, + #custom-weather { + color: ${sc.base05}; + } + + #workspaces button { + background: transparent; + color: ${sc.base05}; + margin: 0px; + padding: 0px 5px; + } + #workspaces button.persistent { + color: ${sc.base03}; + } + #workspaces button.focused { + color: ${sc.${accentColourName}}; + } + #workspaces button.urgent { + color: ${sc.base09}; + } + + #custom-notification { + color: ${sc.base08}; + } + #pulseaudio { + color: ${sc.base09}; + } + #network { + color: ${sc.base0A}; + } + #bluetooth { + color: ${sc.base0B}; + } + #clock.calendar { + color: ${sc.base0C}; + } + #clock { + color: ${sc.base0D}; + } + ''; + }; +} diff --git a/home/desktop/wlogout/default.nix b/home/desktop/wlogout/default.nix new file mode 100644 index 00000000..730d0025 --- /dev/null +++ b/home/desktop/wlogout/default.nix @@ -0,0 +1,77 @@ +{ + config, + fonts, + ... +}: { + programs.wlogout = { + enable = true; + layout = [ + { + label = "reboot"; + action = "systemctl reboot"; + text = "Reboot"; + keybind = "r"; + } + { + label = "shutdown"; + action = "systemctl poweroff"; + text = "Shutdown"; + keybind = "s"; + } + { + label = "logout"; + action = "swaymsg exit"; + text = "Logout"; + keybind = "l"; + } + ]; + style = let + sc = config.scheme.withHashtag; + shutdownIcon = ./icons/shutdown.png; + rebootIcon = ./icons/reboot.png; + logoutIcon = ./icons/logout.png; + in '' + * { + font-size: ${toString fonts.sizes.popups}px; + font-family: "${fonts.sansSerif.name}"; + } + + window { + border: none; + background-color: transparent; + } + + button { + background-color: ${sc.base00}; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; + box-shadow: none; + margin: 5px; + color: ${sc.base05}; + } + + button:hover { + background-color: ${sc.base01}; + color: ${sc.base05}; + } + + button:focus { + background-color: ${sc.base02}; + color: ${sc.base05}; + } + + #shutdown { + background-image: url("${shutdownIcon}"); + } + + #reboot { + background-image: url("${rebootIcon}"); + } + + #logout { + background-image: url("${logoutIcon}"); + } + ''; + }; +} diff --git a/home/desktop/wlogout/icons/hibernate.png b/home/desktop/wlogout/icons/hibernate.png new file mode 100644 index 0000000000000000000000000000000000000000..a6322aa2ccd9ed61f8defad1c5c6d3d58fe962ce GIT binary patch literal 17963 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 RE%^Knn64XK%GLxP`X9s7Az=Uj literal 0 HcmV?d00001 diff --git a/home/desktop/wlogout/icons/logout.png b/home/desktop/wlogout/icons/logout.png new file mode 100644 index 0000000000000000000000000000000000000000..345a8aa82689ce6b120f7d81a3f600b520ac6e4b GIT binary patch literal 6329 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 literal 0 HcmV?d00001 diff --git a/home/desktop/wlogout/icons/reboot.png b/home/desktop/wlogout/icons/reboot.png new file mode 100644 index 0000000000000000000000000000000000000000..29cfa2ff671d6b1577fdb72221285363664d38c2 GIT binary patch literal 16483 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 literal 0 HcmV?d00001 diff --git a/home/desktop/wlogout/icons/shutdown.png b/home/desktop/wlogout/icons/shutdown.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7d49956c0f70b8897452f865f4c73b34fcb004 GIT binary patch literal 15698 zcmdVB`6HD57e9Q>j4`qdvS*o^?i5)X6iq@IQIS0%OLj@7TVu&Kle@?kEw&O_BU>Rt zTW+WRK@epXYgg`9A-^(=XzBU+?9--{-tv=XGA!6^moWLj0Tf5d;xB zY(ld_5G?!`i}3NnkGYUH%kYCI@Zez^KKK{T=Mjq_n~}q`12!SIzr7ExRy4|b{^L8( zj)xv1Jcsajm1}iJ`ZaR+cGQt`bIN%rF}5vy)5`pcsFBSsa_k0iOFN^Z37ajIY-r-R z%@;q~pu1L#wZjPM^zT`>zx*SbrMOs=qJHch zK3(2HzCk2Jx>Bx^OjoDxq|4H`&KR@#*}`bWP?Q>Ze?E3|pSmWi2or{wAEpFQ-{Y3p z(|9$coA(&5TmJAtQKgIgOcVW5;l_=F+O4axYRA~o4RSg%i#&9HsY#KPAC?%A;$dF& z7Bkwavm;^rAHBK;mO5_TXtv#erVPDX6@6j`;{uLQ)ICLWRI$bwVzl7-Ze?Wh-fO>#7fX1tl=;pP!?7T+@P1 zW8N~=3(~Vs$$MCa)4ee($bh4_Xo?Z^sWdi(E?9TovL|E+l19G!Dp;?+r^d&s+=gYm zn?UqUC;>k59?IeLsJlv-H11n??pp)PsJc}r$AOSRB#qdjL8wbvRcyPV@5UUHjN=6v zU+q4%l5)D%nzhE_W5o~Q4f1t~I$K*CuP~Cgy^Rze%U`-f%ipYwkUuS1#D#`&MDnh= zjbe2As4=m+$uP2g5YE|OJ{MPko3AErA&Y5ku*jDaCa9TFD%|Ar1@!7Mw-oTP;s;?c!F`DOLn4KD1!MjQUcbPz*(z?l?%^9X6=!-lB0HW;9QHKy+pMgGnzRyNb}x_+N8dD`W7%n2D?o z?t3@ky)#0m{u_Jx)m`4equmC6{pK%^_QsdtVg)n!nX&TOZlmqge{KfFk0+LK-+;em zWtHN@4Wf9-hoJq}uRiiQ$g-vgB^SHdZSqP#hCc_-q9xozVh2xb8bqly%mi}OK1M`_ zEP;s1UNxokJS3h{ZPk^P*di(hliV|Lg0Q1~D|f&Y=sfWzbWV$sB=d47qY@yWvw7zU z!vFoYG9otTy~WJ{Z}9K)GaLl}$`Sd~jz;4(!5h$M9!z-Y|F^&RJYpcCq8X1onK8A^ zY6ELk4NTeLihYTHAI5W+^-^1Q2EESQj=hBhT6GG$yovf4y+WY-t}xW-k~2ML^Ny(g zX;w|H6sX)@c{Fb6l=XgtxKMvrf3`28R~L%5qS~w;Y?QpcLva#6Q+M#87D@U(widha z$YmXw-qX2FL;M!50^@w!&H3!P^`AER>E4JV#&L-~YNko1%gv~|j_&B$_Q@I}T`q(6 zqkFzpIAX3Iqf}JpL_K~ISSPtCJLAX3vcuVA*J&MW{M<-0=DRsX-(PO~QA!U_5O2_Y zi<4kujF*Rjk?Up~5#pi}5R3sDjKCVFmYWcVDg>a55K z{T?F3Q6alOqRjjj53C7(r8M!2MZyK#4ei`<(;9PcOfGZs%8DZ)BSCyNNvlVKYRq3B+bLAsp@CF+XThs|X> ztusp0H{<5`*k6Md%cO>a6PqvU>E^q5VMzf}Z>OG!&&v9w@>B#}8y6`?-nfUcFAm*V zFh3L*>dlVm-%C66SprT#nPGzU%JPrBs5@Bg<2~ff2P2!+#;9wfrkcf;`9U4MD$)CO zlqTAcNlb&IcS@@@X2-B8`=0ph3#AFq(r4$3vwCLiwMYhEf+65LaYT+=b?)r@ivP*W zQF-X2jC^w7)!E&;D#_VA4mSa^pFg=?RY=ZF{;5M;=<&FvJgxgtL^lOmq7Cx0TDhy_ zRG2-1Lf>W4N}VDL%*b)}>m2DTUt98bHR7oJw1DnH#b@G!S{qvqQ+lv^u33g2na*eB zbF{wwHI|Kuj!>~umS8?SV_0Q9nB)DbFg+M|hubEu9~1P5XqhWMJAs535T7F$h8;7Zs0YaBZ&pY8;kwbl*RQz1 z(J0Z{cX8S`%g6>fGNYVX5Rt`5zLuY!R%pL&kk1Pc!Xf6~fff4&PgfF0#jptL%1IWV zJy%mPHFkGD;1Scl+v2ld`nQ};adYO^k=g%6vq0c#q6}(m-I@8V$!8c7;r!cT+1;9h z)W8}|C?vBUZByk8esr-b=iOhl`yQ%?_T4?wfjcTx9n`8-kbV_Ode}{&DI?>%#dIjG z;gyW!INebyv;D6#uJSov-{OkeUXN^kk$w+J=uu&7DtW1jYwUh9{M+J!uP2P*7m#3s zeQttx)lJ1V-EfO6W+d}Zy(@WRfOq8?Du~v=#8#O}a34Md6e=gaIDReJZZ zAF~W6`7~R{21_l%_LkYBhoS2W6tizMgR-O@1s%`;ob||@PEMdQ@;+lj_@36rT1K)$ z@5)=N`i4^6oY{&FJFkE5vMD}C7T`}o`a%`4Ppn=bx$iyf=v8o7!rCy^*rgar7!_o@ zD^2_^i=Jyg$wA2RKY}?(#7(!z?eu$$Bt0vP^pmZ_hgCGF3-$yN`viS^!so|Zedf(l zMB!0c?IQt)b|0qzxY8+WXXJBwtU5J)oQ1=$FjDm_G16ISh{JHyzu|P5#WV&nrM2!~ zs=-*zt-=W2ka9+9lLbaPaT3Ws>sXS|{}$Edh>+vYB??cg_itG)k5F9{cXi~bMC4#A zKVrKM>Q})G-$($$P@IzEAco0q&csE<%Darzp<+ZOLzNW($K(OA&s_@c@QnPbGMu1M zT&NH`id9ou^~MzMy4;WHhCt>apFi1MOWdq+xM+nv_wq|RKtrK$*%K|)qh&Toq4zd+ z14ORUXhAge&sZc>z06SXa9pS#+osy3z4{(v`rZn)1MufanA!*64>2pfmU;WMysM8@ zX9Jd0-EFy5f?2#zv9+;^5zAUkWgsa^%NOCA;D{JrcZ=LguVf?*K`&jyLrx_gy4}?< z7o%Ei_9G(2qOGs-=C5*Vpg(9hr_GzLrx8%<^#{t1;quG*v#{jz95%eYWawpR7Y z8Ei44`z8~$gXKCBWMIViXa_SaAul#zh{SS=px4?HWMKZ|y+eWm`PdnQDwef%=haH0 zhCvLr`2lfDU&<_NzYX?Ge!2@H=aH4CrHlxlr^VUtJe-&zJpI?)X!YEfFe|4GV5@{sWg`Ck1D=af4)m1;(dTAY8Fk_ZhW4 zd6BJ_A8KaYQTQ_XB(H7@VF9jv!`EsX&tGIDS=~dlR!p)1-n{?QvKx1Ycf>Wz=wGx9 zjSr_+ylKLWgKcGXP^$3;8-$&uG_l?Bk7(#k~-Qc8$vc+9{E5d{yBc(?)=kzA99C zav^wn1w$d_>Bxr0Q9>;MmgAgV;69_9bULXq1zV(;SBugIs)!UGy}D+sIi^~zzCAZf z@XU1dzBX#Rf!vYVcUmTfsz}%)u><+;dUXLfM{M)MZnD*toxaWzx_t!g9;#_}SFH=G z+;6WU_yEzBd&1kdmo##cG_ud9->&Wz^{R>I^xen%-ajK0X?s%Nl&@Z>W)KAoRgmp) zSgVMyy!GlhEN`4KQXegv(WJ@TzRbSHNY*<_Y33PxO>L_aDnsO8!f&ax>?L+L;SLf$ zMvXTyKZ!ZRiC(E^B;VPWFTTs6T1n_I$n2-5FEou*E>RK79V^DLkkuljXPRb zUjyja0jU(_0$$bm3bd{r~K7JJzOId1IO74(!4EHA>e2KXV^`B-Zf zTm8>WY|T|H_Yxr*?m$R~DHXo*xdB7pOl$FxaLak*tO=f(j9!5ZPhlwAt9a3w6NU*< zuB>3hHu>5q4YRz09>xwn-Z1!%u&|r6Iil~ZP!yJ3T6Mm-2k$DA8NB9wf-ogU8cFlL z{JWy6n@mPLTuG!6@6zbG!*NRwP{-0hZc{c~l6j?ubB9+l$Ml%<>QYJ_Pf(0r-2vSO zg}h)y);{L*5f=e;8Fef(oP$6S!rtxUsh?uig(LoGkv}b;4_RwRuP*=RPbPmuyEga@ zUJ)RT#4zpd#y6V?CC#<`y72kJZO9gRFFX!CNfJOce|4{aUSucbPxiFXE_^oBtFt@( z7EM_asl3RDwd6QrPVg?0z^Wgj!?e4SJjhnr=17I@h7*4SL}%67PfFJ`NiYYB(zUCJ zuLyc|!I*XbEJIpq`#Dq=Ci(9zRvUz{0zC=l?$4(TWov_+*0nL;Yrq6s&m{;?cL4@S zb92s|urvsmD@No}-6GQ&u?ivk9H{pB0eWAft&3d_Dowm+c{@%@-)s_RCbFVSAxsg1 z1!piEIdb2X;3akv98DaF*9#o;5;PGmOizPQp-CDkMsGn*Yf|JqP(Gpb`i9%6v`#Oz zZO7bQspy7Ys!5qur{AmSUzVrUk)Fd8{TEbPSvcJeX~5Ll1C8*YUShC|u%OM^ zED@$zd500Z%`y;^j%jTBUo%_}QqHx3VmT)0N6Y&&^7)4VNct+^ZSGHCEA8S!k8(tI z|7>}GAaHWs8z$%W#mdzMJe9Ng<^`F`D~#Bwk{YD*VDS3uJ~e@QeR>KoB}z{-w4S}w zFjAVZM?duMExg~4tqfREzHIuQz_Kngj5V=Lns3SSkk7U1A?&FoQsj3_GVQhQzkMNI zQ?WADbBreWaWiQo6s&UH?atwXt$pxZDnC7}X3I03MRqxlGtX!H>{yj{CsaYN&aX83 z4a8f*42>gaZR?0hXYE)TYqtocGetTNJj~!0EFCX>YJ3>Wm-X2GS%qan0^0|uN z@|)AJFMxxw`Os#wcH!0~@mV!=4@@`r5q5^iK_o7a=$Q;Y(c+hI`;Ao*E$^00oOo-4 zKtfeMEfc?ubdqM~Oe>t$bJYiGrvHF)m8?bA4u%;%XPJ@K_JR<+zmhb>Hl`I$Qng5~ zM*!w94NC(}kE`NQoOvzLGJgK?I)*va5UX+}8!@(zxz{Pc5-Kw^J*0|f>koTvyB?@A zV+H`HPavkI;quGBs_*00iWo^R?%hR7g@6*tmDH;n!^SuO+cjDj*%0V@keZ>S=`c({w>Pq#NlZ0iOT$Qb%h;yT0WOo z$xB$bmD=|7#z_Pys2pCsI(_7i!}5;nu@TbAM?|YD1CE3f=~e>h7j(AF@J6}Q%%p)9 z$A$KsBh1AEHg3VLNsL&$QVsHTtm)8}`1!q=H|uG%=ii<{XMir8;zAWGn;A)Xr3XkS zLIh8wl19wXVerIu*Y_J5`>C{T&cx0~#2>EPB$-8j7{6R>3}(O~MkM9HN|NxgjwE%+ z&*U?+u<=%Im_=a@QZU=%#4i^BfrTgJx+2f9Bj>gb7f3K~GNWKiSp#{&YexBkQP`vh z@SC^QpaQBoLu>^@A%z*@|mdOnlE` zMm^x%C`w*)xs8{k^PuIkA|rRAM`e?zM}pU+fELDMpy{sh+GQO>pH$LaYP9j&gTY8 zOJ%ONtbkQwO)mxsoP>yUM5_aLYi9uh$1I0V!e~7^PCGpV(Z{}j3%}jJ?#zw+s0th3 zzvalM=mrJ<`YmKeXa$4$bpLg)*ZZuui8G4|(gz^JtIYFtejqAZ-1<(hE*mxkc#u7n zaE9S^=YGtQw|XlB*P6*zd0T;2>kjV-<6w6Qgp{AVd@X{%u7x{gt?&Uta1$f;;(m$o zHl!c#+6D*jxlG)friF@MHAeYfq)MVi$vg!ORM9*kh0Jkj*`sn)f{q%VHW1(Y59XR51yuv z(G4S1+7&KzZa9%O_7M3z9rYpUA#pQVgB~+b{n@uiDQ7rS3-r&r5N)_0Z@1 z`5Ld#d)}BT)njLD5e3W{uk+J=5hGM)Yx_NcVq1igcy?966#0K z1vV~)=qv7uvFf~qy(+g5s>+WZQ<{(v>~^evB*S^DFFI9KvB+Kn@LNI9(g(Qq#SKtijv1!k&OL*J~{^yE}9Q@4DM{ zmXck?TZF*L5)qY&ZbtMgiI$n-v!~J2aox!}0o2;6vtL%^rpfhnnukdf@s? zttXzX3;!40AXwK6v7=o&;x!@oJ|hl3l@jVP2hV7)WrKJ98k2CskqK#dCY4 z-;5HV`+WB8e}0fl(FA>b*@VLsb%Ji>$w^sn%%E?=WXZt>qlpTx!K4>cgr`Zcj_Tia z$F#b!yB-CUkTeNZwnU>!& zb?q>%*t?_^b~(7zHSyU@^zyjQKpj822d*x6D!hs9tO8=&%}0%X877|SDeig_@7h4g zDpD+hxfm{VviF$eV&Bqw-iur%~bC7MYWT7+tze1l|BF`U{SOT{} zqbc4)bZsWLPQojj*0RkTmd9NF4EFKme3d0UoJ*cwGomRR$xal0vqVGBi8ITd(~~kk z$DE{nygT=9(co&{cowEX4Uq*1%~_Ot3qhLzmnNBvkNf7GKeH}|Aq{`pTd#&(2(VA!H)>3IkC}QoA5_wu-p9_3;~c)Q>wUMVKx@ zO0(RY%k$g^KJ#-BtJ{wMs|fsbZLT3&#EH+Ex*n5igH~sHU!C*&WeiQ^RQY!wh?4y2 z3JK+0tQv917W4V9Gp%aCD6~F?TxjtM^IJAcvHfNA?*mc#3OOa%%45cDWl6$nxTxCh zEv=7bofdN*uM9XMKV4-K1-k;?s}V~?nbW^Fr2EMqjLUz&0e08j5^RnrbAvMSa98uM7AG(H zr*Xp5wJ51H(B#3I2Ux{cf>}eQo=tq?=4p8hsx?0CV+~xJ|MS*Ya!|HdjUVkp50Z_&jh1|M$h zU~tGoA8klE;R;HAdnf{h4%-d;OP+Kr0rjIa8diprhEf&N=D^l_V#i6pFt$iN12;5p zEBRfHG;$S~(skJD0HY1jzBk6xt^?L9V2J>RV>d=r8CgcR6t@N#a8P3FZ^jkFN+Zq%lcCw!N zTbp=l#hiZHK32}jMM``B*NgQzff+0?4E+ZVbrFJvXWZDwIVx5XzzB3)U1mCoGgD$p z)A^aEZ!4I!koKUCz5nWGP~q{`=Euh|pHm}4JgItLqE}!hmOok|E>FB`Znt?4wW`gw z;>dn%Iz5Jg6!+-@3>xw6KahGuc-oXLp*40L8hJsZ3p^GXqx(BQvc*9cAQeu+*P6>F5PRyzA5UiUFqtB$zMZ zMl-lDiFE}i5f)CLz{7=5Bs{$zO+_opW=+0#f)6F9TrCf_MCSNhFOFi9)kY3i3hq_)2=>8+eA@i_ZM8yx!Q8r<%wXQKEE_fPl1f6j(Es{xW})X zqaX~kdN3sH+M7?0X<(MI_Vu%V8(nLmRy$7L&_!Jdm}&VY)W|mo1dY2mAz(pq5kps= zF{{4QoX``YSGQu->6CDMpfC=bvL15)%CG|*2XmZu9yv?Tvft_7I9^N4w^uY22?@GuZysM z-0PKa1$Q7t@CUokUjaDeC2v^%AOQ@_+cKQ^#|cYPWjvN{2%f|(-qH%qq02Scp%Uc$ zQT;}4KRvzR1CN3%kwc?a%7w=NUwy+OPG572l&;KW5Jgjt?0*Wew;a5GH@5f5FD`nq z@mUhD8pWntv~FeI3a1C|(>YrPby^Y8;$EoKiWkNiBMTU927ScA-<5kA9SkhR-2k3N z_GT#$9|Q`0sP(24-vVg6IjggbQ-b)A+5hb2UcSm&ZQMIR8QBCz7Ui~j?LGO=vGQUk z38o)663!W_kTn>YJUSn~{0ZcB5A(+Ref(YVT*P@Zv>L+6>XZ2BAX{Xu@71~ckiKHh zoaWwpWKL1K9U$W5X2v-S3FZ%|Los7bj3E29kd|P^ac?tI?rmmkiS{>yydg04gP4O8mN9R^DT$~5-k$yaY# zw#akiJg{$kEilna91(o+L*(SU4-fpRFL5`RA3z_gLo!s;>Ju$ff_MQ9kLk zXiDoacXVhJ^?7FSEih5>^LPX;Hni%nrEQ6Cc$8a<4A zSbrfE^25!<5MXx;;HqCUAC(Wc<)OssT%F`X}2-irKu#roQ_(#|>)vFlvssBVh+HRHxZPYCV*s0aY#j83RXz za{{oeQhO#k4mhpwbwiZ2Ip*`~t$ScB-c4UNie`*e{aRZ$oXbU4F9=TF>(b=lhEGVRj!Ng{1CS6as zkF1_Hoh*ht)E#x46cMG&{VP6u2v9GO{)l=dtkKOU01{JRZwR-wlL8ar1t5F|C|UOv zmp^d9@D)9r)W?nN)N{9eZVRZdp66odxFw3#PF!59U{?~*XJCWRU(aQk;L$q@xY%}) zZ{Qpj`Z5Do0FghRH?y6%gbH$(>aHaV^eW9aoIWc(-t|*Q0R0|8UzZzSDoJ*W6tAq| zdMssVZ);;Apk*iCgm2Wn0L%NmtTTRd?U(S11*l~AqsjGMqgZ4n50U^$b>8EZ0I@ZA zg$Y45M9X_s&qE)clVXw*mcnhJ_!6s#i)-H{cf-y3<)3i_WoFHOLdx+8Qv9n+w`+Qn z(_`n}tFR%R7XPBlzI^TueFTrNV|XW3oZ~`eU5|1BuKW;GDp-uzgAq|9+pBjV?h(%| zGtwL(WK8w$1ORvD>(zEMeuI@#Lxs~WuJ+uO%BSOWVWn3fFFIA}S8jw^lyV=Mx(A7Y zt&b${M$xHT(bk=k1GhJY3)gv%Y_D0)K3DiE)Nkf^wMI_tT*ncg#VE_}N}XbUgHu+W zvbdgy+|=qI;eSyecRpotL8aT@7P;n3IGL}_or#Pnp>dQ-Yl%EI>l6M}CA%%WZDz#i zC`Df)q>*b@(U5b%M1UV_%8J&iAY;39gN3yCH{h<0^uDqtI%@~*4Yn&hR24+R$vL5&W8TY3Dz)c zUgDSIEB*8Grl4b#06+O$dbAp%57~mx?Yk#{%3v9ClP}X}VGve33BeS4h9@rvOBZ$! zb3I4o?XThPCcejCTj%~3l)GAX=Sf#leF^&JlmOlAIOGODA9(*aE;NLj+cWh0=wOj zz|`PJ#CM5XvC=SCxkEqXQ}u>FYFsvwMw4{2Kfj=Ecj0_=Eqd zyaoxCsH-DXqD5{l-exeDZXQRD0ihHipLBdF@1pU#EQT}-@Q&Ekq zp=QoYgbY7={@1)%X`qTpF`g}}S9c%SZjiju|A-YlcFE0bFk8JwgYPB`%zyG@Ayn6R5?1U(3Bm(HfpFx?A zl*k&V1I#G;EmWE+Y%$h_lJvl&K#JMH)P$*$TN}0L8eNZWlgW8ML#pMMY$DRV^c)`? zQAZHcL!!lX@!3MHXUE`ar7rzQSoD_bz;d$q=N}c{MOH@$3vm8!h6+{Qhb^1BlsCNh zkVa@578sBdw?TBNWvHZa_}j|kY)n7YwaB)^TU$%91o5=mOlRr&W<)j4`asHtrp645@xp+g|CN;O z|0)XzJy&?z97t*qAn?<@EeTz$s zgNo!X>fgWRP?`C4WU_V}Ju)sdm66;83>`6qO0NOy+24y`_V@*6zw#Z(ct=e4&hmV- ztOI7IbbSfZAS+FnF-bU%tTAY2_wg;}s;%XXN8b`?Oj3ZD(F`X)dH!)?g2_q{YR*c8 zLP$HVk$3SQNkiGk?#x+`dlgh%MWz=T#b*bgOb8l-O__%eaqB|#khrB?P;Y$QWI4ea z_P>6<=)3<9Ez-yoh)qDVKxa##YH+@J&+MT$s;y=1O;>PPy}P~@LH=I>Z9q7Ep-*ss zWFIxY9W6Dfs?RaiMdUwRj&*H#nz zjK3XkzJ(pI_nvYXBVk6q^N>b_VTQJGOANG_DJd^H)h~(etzQiO@=K8YpYSso3=$$Z z<5!mOHY*5IIEm4QQ!sUR61%-9J*}45X9v|Cq`_fQI_+)(f~;Z|17K|sN;K$dm5&*c zDGC`FIqdDi_^9A;dhP2@-%SZy5)niNe>=@>^eNQ@>gdx5k>}V0sN+Ar$+`~G75hJO z77ok3EHL49FF%5g`=oB@&toPnvGwqcl6AvSOuw|J@G)oXU#iL25<3#BE0OM(<$3!u zXyhW(u-`!^%%e0B?Xzd&g*uqQ%ddukdAadXZ2-EkE0oH3eZea5$v1?B2vCIdPAi6B zDxW|*eighNC=`u)R@x>E*cJU-R0N?0iJOO;)KA`nZ|Ej2N>GmI6LTm9e+vg-nFD%< zOTyDM*UFAo;d4ZEH3-v`<)*Nl{cNz>(QjJdStJ$7)br;eCf2k!?O zZ$z0Z5mJjc7_nPGhK@UFGTUk9@mYcQHmH?h)5l+{xv#nLhW{XNO+`2fl7m5Nd+#E< ziN6sGGKTnA781S%B!-~#7>^Dk(Eni&{gjc!GN06elS9z5+VO0Y_~I4+jVTZ8c|(L} zCd6lZjZd|my;rfS8XLK|Nec75nn-+GyMryJGKz!~m?{N=SfT_TCSHgL66UONwjR&tM`7g3TuRy$gHmg8<`9OG% zEz_ldTmI4T0Ct5H&AJb+k${$?KmI3X0@2HFbhs?=1`W@?y9XCpY@~ArhRc12eB#Mu z$kI+%NzSxD9v(vJKTB9Q)tXyJF7W=cNJ9u9_<>vRrP72s*88<-pLlVr6)MXb)m*o;bvY{Atf1XH z)c%{of)z8Ud0H6ro$&CST*{I^pBw<&4r;9FOp81cK14Mxwm~HQRWs!uS6diEH6!iy z*UyW#92Jd_j@JpM@|jQ#J>_w*L4IjxY2XdecKvvSk1RF1_;NgYU%c1v%YmS_Wb0&V z+m7Dhic1r8AqMNZ8f#hAnJ6RIXJ3lXwv`#SUtD50;Tr`OAtp^dDPX2yzW4b>ctWHj z=(1R6f9#Whw!vrOmH^Cpv+P;z$i~6pUzwAQBYAAdfBs$ zzokC1s+@n@^1WA_HJdnY5|N6XM~HAl{pAlyf|>VZeoFPc293`Ov85c;>Yz}bjWfoM z0a|HwRM0^}tm8r>IJ-3V>eZRQUX8l01mxHqGiElxj|W8Z^~vZ4KAlW2%PnR6inETm zkli!fau3Y?XE;4&;_>?Xe*4pT*j*9kyiG;HQJnGU6&zh~#)vIBuH)vXnJK@+CDYBh zpPFC_;dG-bVQwMB!3Ig~97WTrpLk~tc^+&wvgVCED`)(?4byY?-R!vU@`~ej(#URf z&u2!n?`z?;Yhht=OMvt|UVvx{(Zk=yj(Eu#*FO-g)US++3uVCEfuGyQL{?u?k9OH0 zhsGDhXIr@Kxjqq^I5YeC8%ys5F+{D4=Rr=x?_~&IcbB4;oj58ruU#&`O2^y=XC0%) zCM1D;5Y_g5iC%hs&f}-os}cDooF z4D6WM6?2SNO*?6;@NTg|;-J9b_SVMB@XCXryV=o9v9hYUOZ=#hDn8ulK7QVAWy{>o z%oNu5zOVYbdbHlqRSCNIL5V?4xJHI``nHiq{FvjVfpb^*(a)-8RUR`ST{Kw;r?2yL z^LF!eBWE9)y$QRDy)zp5?V6i&i_X;q*6}6IWqt$gRIVI)^aZTLeBa(FZ>_C3eO@)} zbWP_Q+)msus5|bIC5BvXBP=*)zSr~o*9NJt(w%8mnvgGzj!m4mEr|Cy($X{R5}+ky z+r;ouTijROeD9behQrHgDm-p1}flF##go|#?IAbTUv56N_XB*)ePEo+={w6Oa=}XOFjR(-PxX_iZlM zO4xmxIC#VBos)TB%a}@QW0J43QmXKDJbIM1Qd%_!y1(5=3>eMX(V zJU<{il~kzUk~Ry0F+$`LP4D{V&gC_FTL<9Mz=NB`4{lSY6IrI6Q+_Pu$Vtj6iM0QXV)JtMz3b1Zt3G=CO$@4dUaR1ojmAmk_U8+eipHB4@%z^&EysX(FrG#uX0h_Pu2@RbY|DGzuR`H%)Q;X_Bne^| zgoE+;423Stz2PzD_7!$g4H)1VB%I_wYU2^e1sKFaXkGjoicb>XN1ja!#-W=Eh= zxWL5mcD`a{&JNMbc606lo4o=3&$dd^jOOrPeRwnM*9yKf6VdzLai4%M+PdyM|Kq!A zA|m+A87%^Zz9TH>VU5^tXQ9s%cPHWN6L%atAHI5kP0lw3d1;^N+{$&hbbunR?BpHg zk%LXoOXQG5=%sDD<#(0D2+MQiK=rVU2 zTn4~bZM6tKO$$>-G@3uLpa#^he3AV7L-Z|U%{S{_?BnA)R(ukOeeyS-J(5F1uvirt z&~c%DEVy1x>}?Q_Q(nC)m`!PIoR||aqB12xl7sD1My~4Uw3c2fa)GDca>+ zr-tQCh zl<^i-I<)Wp`fJpf*(}|b!m_}K2;6^t=J4|Wu4o#>?Q)zRF z80_T1V!QksYYpwS21eJg6rvhIBu;bw|AIHG|I z;hj0{YWHOC=7`>7U-xBsJs!=LZWCRKQbw#w7|dvA7nXp+b92B&{YXFBn@0HxOf4SoY)#cjuA zW7j<7j6JMuko-fSyuqpC?%V|8cTbWa44}q#)VehrE}ZVS$;2ZLngreNy}|m;)f)ZM zRL$~@S&Z5cF0n|y5bUB{D13D4x-m|jcm4<^jI*ncq*ph~sz6+@Yk)aC{(_e)6gB`4 zB6uc1{?HeIFREQxYcJ4G@FC|RnA~Od1N4s8RsKit$%j_=Ryj?Ug$%h1wXtk4qr zs}HtOCi5+`sP6`A5>#Vew~Yk>b?|iOKK`7I8S%Jf;t>w#r`-$Z2s3=oEYqU)2I$p2 zMq9O{epfN8UNtOhz{fLWv3}&vu`0PApxZH)olM!rWkgq#CJshPc9HkjcSs$;8+cgu z%JJe>M8S6Hubdy`H~ezB%|>re0R4Gal{Q50(q3Ebw;o5 z7HgK7jgzWw9(CPxB!44}^;%nOkS9d9(sQK-R9F(PZT5q7i?=RzLS_wS6|UN_Q^O3J zE?U zldpe>ZpiYASY2r@$E+Qy3ZEXESb5UlD+PDiW~(#_KxALO4U}l%KdfD=6s**$3}5-K zP8iXzpV^i9kW%&g_wQ-mvjI_2gyi9|v4d65-s>tlXEj`!_%9-2g(D=q4CR~S|L0f8 e@R$0TsFMt~*e)ZrPWVU~Ic#){R({a+;{OF?#yvd% literal 0 HcmV?d00001 diff --git a/home/desktop/wlogout/icons/suspend.png b/home/desktop/wlogout/icons/suspend.png new file mode 100644 index 0000000000000000000000000000000000000000..647bd663db44379ae18acb879ad50d8e7ae930b0 GIT binary patch literal 17256 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 Je9-Ok{{r_JM^gX* literal 0 HcmV?d00001 diff --git a/home/emacs/default.nix b/home/emacs/default.nix index ae79ee96..c8d73125 100644 --- a/home/emacs/default.nix +++ b/home/emacs/default.nix @@ -27,6 +27,7 @@ fixed-font-family = "${fonts.monospace.name}"; variable-font-family = "${fonts.sansSerif.name}"; font-height = builtins.toString (builtins.floor (builtins.mul fonts.sizes.applications 10)); + alpha = "85"; custom-theme-name = "nix"; custom-theme = pkgs.writeTextFile { name = "custom-emacs-theme"; @@ -51,6 +52,8 @@ }; custom-theme-hash = builtins.hashFile "sha256" "${custom-theme}/${custom-theme-name}-theme.el"; in '' + (add-to-list 'initial-frame-alist '(alpha-background . ${alpha})) + (add-to-list 'default-frame-alist '(alpha-background . ${alpha})) (add-to-list 'custom-theme-load-path "${custom-theme}") (add-to-list 'custom-safe-themes "${custom-theme-hash}") (load-theme '${custom-theme-name}) diff --git a/system/desktop.nix b/system/desktop.nix index 16b4139a..344a5ff8 100644 --- a/system/desktop.nix +++ b/system/desktop.nix @@ -9,27 +9,71 @@ system.autoUpgrade.operation = "boot"; hardware.bluetooth.enable = true; environment = { - plasma6 = - lib.mkIf config.services.desktopManager.plasma6.enable - {excludePackages = with pkgs.kdePackages; [plasma-browser-integration];}; + sessionVariables = { + NIXOS_OZONE_WL = "1"; + GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim"; + }; systemPackages = with pkgs; [ xdg-utils + wtype + wl-clipboard + libnotify + libcamera + glib + gsettings-desktop-schemas hunspell hunspellDicts.en_GB-large + pamixer + pavucontrol + playerctl + brightnessctl ]; }; + security = { + polkit.enable = true; + pam.services.swaylock = {}; + }; programs = { dconf.enable = true; + light.enable = true; noisetorch.enable = true; kdeconnect.enable = true; + file-roller.enable = true; + thunar = { + enable = true; + plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman]; + }; + sway = { + enable = true; + package = + pkgs.swayfx.overrideAttrs + (old: {passthru.providedSessions = ["sway"];}); + wrapperFeatures.gtk = true; + }; gamescope = { enable = true; capSysNice = true; }; + xwayland.enable = true; + }; + gtk.iconCache.enable = true; + qt = { + enable = true; + platformTheme = "gnome"; + style = "adwaita"; }; services = { + dbus.packages = with pkgs; [gcr]; flatpak.enable = true; + blueman.enable = true; printing.enable = true; + accounts-daemon.enable = true; + tumbler.enable = true; + udisks2.enable = true; + gvfs = { + enable = true; + package = lib.mkForce pkgs.gnome3.gvfs; + }; pipewire = { enable = true; pulse.enable = true; @@ -38,21 +82,27 @@ support32Bit = true; }; }; - xserver = { + greetd = { enable = true; + settings = let + command = "sway"; + in { + initial_session = {inherit command;}; + default_session = {inherit command;}; + }; + }; + xserver = { + enable = false; xkb = { layout = "gb"; variant = ""; options = "ctrl:nocaps"; }; }; - displayManager.sddm = { - enable = true; - wayland.enable = true; - }; - desktopManager.plasma6 = { - enable = true; - enableQt5Integration = true; - }; + }; + xdg.portal = { + enable = true; + config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes + extraPortals = [pkgs.xdg-desktop-portal-gtk]; }; }