From 1ca50f486fae97ba502c7085c14ae6d2226c8176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Wed, 3 Sep 2025 00:35:02 -0300 Subject: [PATCH 1/5] sway: add scratchpad binds --- user/sway/sway-binds.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/user/sway/sway-binds.nix b/user/sway/sway-binds.nix index 27a27b4..af11268 100644 --- a/user/sway/sway-binds.nix +++ b/user/sway/sway-binds.nix @@ -125,9 +125,8 @@ let "${mod}+v" = "splitv"; "${mod}+a" = "focus parent"; - ## TODO: - # "${mod}+Shift+minus" = "move scratchpad"; - # "${mod}+minus" = "scratchpad show"; + "${mod}+Shift+z" = "move scratchpad"; + "${mod}+z" = "scratchpad show"; }; audio_binds = { From 437da46c4e9a1e4eb3733e0c75c66156cdc27e9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Wed, 3 Sep 2025 00:35:21 -0300 Subject: [PATCH 2/5] greetd: fix gtkgreet slow startup --- system/greetd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/greetd.nix b/system/greetd.nix index 2b5f22f..3e8eed0 100644 --- a/system/greetd.nix +++ b/system/greetd.nix @@ -74,7 +74,7 @@ in user = "lelgenio"; }; default_session = { - command = "${pkgs.sway}/bin/sway --config ${swayConfig}"; + command = "dbus-run-session -- ${pkgs.sway}/bin/sway --config ${swayConfig}"; }; }; }; From e72e9a26884f4dfecd681eec9285874156477028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Wed, 3 Sep 2025 00:35:43 -0300 Subject: [PATCH 3/5] sway: add multimonitor settings --- system/greetd.nix | 2 -- user/sway/default.nix | 11 ++++++++++- user/sway/kanshi.nix | 18 ++++++++++++++++++ user/sway/sway-binds.nix | 2 ++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/system/greetd.nix b/system/greetd.nix index 3e8eed0..73ea5c3 100644 --- a/system/greetd.nix +++ b/system/greetd.nix @@ -37,8 +37,6 @@ in xdg.portal = { enable = true; wlr.enable = true; - # Always pick the first monitor, this is fine since I only ever use a single monitor - wlr.settings.screencast.chooser_type = "none"; # gtk portal needed to make gtk apps happy extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; diff --git a/user/sway/default.nix b/user/sway/default.nix index bc53b36..dfe7de9 100644 --- a/user/sway/default.nix +++ b/user/sway/default.nix @@ -76,10 +76,19 @@ in }; output = { "*" = { - adaptive_sync = "on"; bg = "${theme.background} fill"; + }; + "AOC 24G2W1G4 ATNM6XA004804" = { + position = "0,0"; + adaptive_sync = "on"; mode = "1920x1080@144.000Hz"; }; + "LG Electronics 25UM58G 0x01010101" = { + position = "1920,215"; + adaptive_sync = "on"; + scale = "1.2"; + mode = "2560x1080@74.991Hz"; + }; }; fonts = { names = [ font.interface ]; diff --git a/user/sway/kanshi.nix b/user/sway/kanshi.nix index 486a209..ea42826 100644 --- a/user/sway/kanshi.nix +++ b/user/sway/kanshi.nix @@ -8,6 +8,24 @@ in config.services.kanshi = lib.mkIf cfg.enable { enable = true; settings = [ + { + profile = { + name = "home"; + outputs = [ + { + criteria = "AOC 24G2W1G4 ATNM6XA004804"; + position = "0,0"; + } + { + criteria = "LG Electronics 25UM58G 0x01010101"; + position = "1920,215"; + scale = 1.2; + mode = "2560x1080@74.991Hz"; + } + ]; + exec = [ "xrdb .Xresources" ]; + }; + } { profile = { name = "sedetary"; diff --git a/user/sway/sway-binds.nix b/user/sway/sway-binds.nix index af11268..74cd842 100644 --- a/user/sway/sway-binds.nix +++ b/user/sway/sway-binds.nix @@ -110,6 +110,8 @@ let "${mod}+Control+${keyBind}" = "resize ${resize_cmd}"; # focus output "${mod}+mod1+${keyBind}" = "focus output ${direction}"; + # Move window to output + "${mod}+mod1+Control+${keyBind}" = "move window output ${direction}; focus output ${direction}"; # Move workspace to output "${mod}+mod1+Shift+${keyBind}" = "move workspace output ${direction}"; } From 2f7572839f748a2e70937b252ef1ed5b5220b34d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Thu, 4 Sep 2025 00:28:29 -0300 Subject: [PATCH 4/5] sway: only open current monitor for satty screenshot editor --- scripts/screenshotsh | 9 +++++++++ user/sway/sway-binds.nix | 4 +--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/scripts/screenshotsh b/scripts/screenshotsh index 98aa17e..439d132 100755 --- a/scripts/screenshotsh +++ b/scripts/screenshotsh @@ -46,4 +46,13 @@ case $1 in $screenshot -o "$cur_output" - | $copy || $screenshot - | $copy ;; + edit) + # Focused monitor to clipboard + cur_output=$(swaymsg -t get_outputs | + jq -r '.[] | select(.focused) | .name') + + test -n "$cur_output" && + $screenshot -o "$cur_output" - | satty --filename - --output-filename "$DESTFILE" || + $screenshot - | satty --filename - --output-filename "$DESTFILE" + ;; esac diff --git a/user/sway/sway-binds.nix b/user/sway/sway-binds.nix index 74cd842..a68a31b 100644 --- a/user/sway/sway-binds.nix +++ b/user/sway/sway-binds.nix @@ -173,9 +173,7 @@ let "${mod}+c" = "exec ${pkgs.color_picker}/bin/color_picker"; "${mod}+Return" = "exec ${terminal}"; "${mod}+Ctrl+Return" = "exec thunar"; - "${mod}+Shift+s" = '' - exec grim - | satty --filename - --output-filename "$(xdg-user-dir PICTURES)"/Screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png - ''; + "${mod}+Shift+s" = "exec ${pkgs.screenshotsh}/bin/screenshotsh edit"; "${mod}+Ctrl+v" = "exec wl-paste | tesseract -l por - - | wl-copy"; "${mod}+k" = "exec showkeys"; "${mod}+Alt+x" = "exec pkill wl-crosshair || exec wl-crosshair"; From 74de7c937f678daa2aec82048fdc2bc5eef39f2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Fri, 5 Sep 2025 19:18:35 -0300 Subject: [PATCH 5/5] monolith: update gitlab concurrent runners --- system/monolith-gitlab-runner.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/monolith-gitlab-runner.nix b/system/monolith-gitlab-runner.nix index dc50068..8aff086 100644 --- a/system/monolith-gitlab-runner.nix +++ b/system/monolith-gitlab-runner.nix @@ -11,7 +11,7 @@ in virtualisation.docker.enable = true; services.gitlab-runner = { enable = true; - settings.concurrent = 4; + settings.concurrent = 8; services = { # runner for building in docker via host's nix-daemon # nix store will be readable in runner, might be insecure