diff options
Diffstat (limited to 'accounts')
| -rw-r--r-- | accounts/gkleen@sif/default.nix | 56 | ||||
| -rw-r--r-- | accounts/gkleen@sif/hyprland.nix | 1 | ||||
| -rw-r--r-- | accounts/gkleen@sif/systemd.nix | 5 |
3 files changed, 58 insertions, 4 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index a0ffc581..7ff0afc6 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
| @@ -94,6 +94,53 @@ let | |||
| 94 | export __VK_LAYER_NV_optimus=NVIDIA_only | 94 | export __VK_LAYER_NV_optimus=NVIDIA_only |
| 95 | exec -a "$1" "$@" | 95 | exec -a "$1" "$@" |
| 96 | ''; | 96 | ''; |
| 97 | |||
| 98 | lockCommand = pkgs.writeShellScript "gtklock" '' | ||
| 99 | set -x | ||
| 100 | |||
| 101 | export PATH="${lib.makeBinPath [cfg.programs.wpaperd.package pkgs.jq pkgs.coreutils pkgs.gtklock pkgs.imagemagick pkgs.findutils]}:$PATH" | ||
| 102 | |||
| 103 | tmpDir=$(mktemp -d --tmpdir="$RUNTIME_DIRECTORY" "gtklock.$(date -uIs).XXXXXXXX") | ||
| 104 | |||
| 105 | args=() | ||
| 106 | |||
| 107 | cp --no-preserve=mode ${pkgs.writeText "gtklock.css" '' | ||
| 108 | #window-box { | ||
| 109 | padding: 64px; | ||
| 110 | /* border: 1px solid black; */ | ||
| 111 | border-radius: 4px; | ||
| 112 | box-shadow: rgba(0, 0, 0, 0.8) 0px 4px 12px; | ||
| 113 | /* background-color: white; */ | ||
| 114 | background-color: rgba(0, 0, 0, 0.5); | ||
| 115 | } | ||
| 116 | ''} "$tmpDir"/style.css | ||
| 117 | |||
| 118 | monitors=() | ||
| 119 | while IFS= read -r entry; do | ||
| 120 | path=$(jq -r ".path" <<<"$entry") | ||
| 121 | [[ -z "$path" || ! -f "$path" ]] && continue | ||
| 122 | display=$(jq -r ".display" <<<"$entry") | ||
| 123 | monitors+=("$display") | ||
| 124 | # ln -s "$path" "$tmpDir"/"$display"."''${path##*.}" | ||
| 125 | magick "$path" -filter Gaussian -resize 6.25% -define filter:sigma=2.5 -resize 1600% "$tmpDir"/"$display"."''${path##*.}" & | ||
| 126 | done < <(wpaperctl all-wallpapers -j | jq -c ".[]") | ||
| 127 | wait | ||
| 128 | for monitor in "''${monitors[@]}"; do | ||
| 129 | path=$(find "$tmpDir" -name "$monitor"'.*') | ||
| 130 | cat >>"$tmpDir"/style.css <<EOF | ||
| 131 | window#''${monitor} { | ||
| 132 | background-image: url("''${path}"); | ||
| 133 | background-repeat: no-repeat; | ||
| 134 | background-size: 100% 100%; | ||
| 135 | background-origin: content-box; | ||
| 136 | } | ||
| 137 | EOF | ||
| 138 | done | ||
| 139 | args+=("-s" "$tmpDir"/style.css) | ||
| 140 | |||
| 141 | args+=("$@") | ||
| 142 | exec gtklock "''${args[@]}" | ||
| 143 | ''; | ||
| 97 | in { | 144 | in { |
| 98 | imports = with flake.nixosModules.userProfiles.${userName}; [ | 145 | imports = with flake.nixosModules.userProfiles.${userName}; [ |
| 99 | mpv yt-dlp (args: import ./xcompose.nix (inputs // args)) | 146 | mpv yt-dlp (args: import ./xcompose.nix (inputs // args)) |
| @@ -696,16 +743,16 @@ in { | |||
| 696 | swayidle = { | 743 | swayidle = { |
| 697 | enable = true; | 744 | enable = true; |
| 698 | events = [ | 745 | events = [ |
| 699 | { event = "before-sleep"; command = "${lib.getExe pkgs.gtklock} -d"; } | 746 | { event = "before-sleep"; command = "${lockCommand} -d"; } |
| 700 | { event = "after-resume"; command = "${cfg.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on"; } | 747 | { event = "after-resume"; command = "${cfg.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on"; } |
| 701 | { event = "lock"; command = "${lib.getExe pkgs.gtklock} -d"; } | 748 | { event = "lock"; command = "${lockCommand} -d"; } |
| 702 | ]; | 749 | ]; |
| 703 | timeouts = [ | 750 | timeouts = [ |
| 704 | { timeout = 300; | 751 | { timeout = 300; |
| 705 | command = "${cfg.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms off"; | 752 | command = "${cfg.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms off"; |
| 706 | resumeCommand = "${cfg.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on"; | 753 | resumeCommand = "${cfg.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on"; |
| 707 | } | 754 | } |
| 708 | { timeout = 330; command = "${lib.getExe pkgs.gtklock} -d"; } | 755 | { timeout = 330; command = "${lockCommand} -d"; } |
| 709 | ]; | 756 | ]; |
| 710 | extraArgs = [ | 757 | extraArgs = [ |
| 711 | "idlehint" "30" | 758 | "idlehint" "30" |
| @@ -821,6 +868,9 @@ in { | |||
| 821 | }; | 868 | }; |
| 822 | "gtklock/config.ini" = { | 869 | "gtklock/config.ini" = { |
| 823 | source = (pkgs.formats.ini {}).generate "config.ini" { | 870 | source = (pkgs.formats.ini {}).generate "config.ini" { |
| 871 | main = { | ||
| 872 | |||
| 873 | }; | ||
| 824 | }; | 874 | }; |
| 825 | }; | 875 | }; |
| 826 | }; | 876 | }; |
diff --git a/accounts/gkleen@sif/hyprland.nix b/accounts/gkleen@sif/hyprland.nix index 03afb319..6bdc8358 100644 --- a/accounts/gkleen@sif/hyprland.nix +++ b/accounts/gkleen@sif/hyprland.nix | |||
| @@ -134,7 +134,6 @@ | |||
| 134 | # "$mainMod, J, togglesplit," | 134 | # "$mainMod, J, togglesplit," |
| 135 | 135 | ||
| 136 | "$mainMod SHIFT, L, exec, loginctl lock-session" | 136 | "$mainMod SHIFT, L, exec, loginctl lock-session" |
| 137 | # "$mainMod SHIFT, L, exec, gtklock -d" | ||
| 138 | "$mainMod SHIFT, S, exec, systemctl suspend" | 137 | "$mainMod SHIFT, S, exec, systemctl suspend" |
| 139 | "$mainMod SHIFT, E, exit" | 138 | "$mainMod SHIFT, E, exit" |
| 140 | 139 | ||
diff --git a/accounts/gkleen@sif/systemd.nix b/accounts/gkleen@sif/systemd.nix index 20f10cb1..e5d1681c 100644 --- a/accounts/gkleen@sif/systemd.nix +++ b/accounts/gkleen@sif/systemd.nix | |||
| @@ -200,6 +200,11 @@ in { | |||
| 200 | StopWhenUnneeded = true; | 200 | StopWhenUnneeded = true; |
| 201 | }; | 201 | }; |
| 202 | }; | 202 | }; |
| 203 | swayidle = { | ||
| 204 | Service = { | ||
| 205 | RuntimeDirectory = "swayidle"; | ||
| 206 | }; | ||
| 207 | }; | ||
| 203 | } // listToAttrs (map ({host, port}: nameValuePair "proxy-to-autossh-socks@${toString port}" { | 208 | } // listToAttrs (map ({host, port}: nameValuePair "proxy-to-autossh-socks@${toString port}" { |
| 204 | Unit = { | 209 | Unit = { |
| 205 | Requires = ["autossh-socks@${host}:${toString (port + 1)}.service" "proxy-to-autossh-socks@${toString port}.socket"]; | 210 | Requires = ["autossh-socks@${host}:${toString (port + 1)}.service" "proxy-to-autossh-socks@${toString port}.socket"]; |
