aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosa <rosaontheweb@proton.me>2026-04-26 19:37:43 -0400
committerRosa <rosaontheweb@proton.me>2026-04-26 19:37:43 -0400
commitea83f8248f2cad2a361e028fc06a55ffee44f756 (patch)
tree1db0dfa8b9a1685646f29028c9d132f188e88014
parent0821741ad0b19df2778dcba43d0328c4fa2d1a58 (diff)
new screenshot keybind
-rw-r--r--modules/user/default.nix3
-rw-r--r--modules/user/desktop/apps/default.nix1
-rw-r--r--modules/user/desktop/apps/waybar/default.nix26
-rw-r--r--modules/user/desktop/sessions/sway.nix18
4 files changed, 44 insertions, 4 deletions
diff --git a/modules/user/default.nix b/modules/user/default.nix
index 737f3ff..4dcf47f 100644
--- a/modules/user/default.nix
+++ b/modules/user/default.nix
@@ -10,7 +10,8 @@
fonts.fontconfig.enable = true;
home.packages = with pkgs; [
fira-code
- ipaexfont
+ ipaexfont # jp font
keepassxc
+ playerctl
];
}
diff --git a/modules/user/desktop/apps/default.nix b/modules/user/desktop/apps/default.nix
index 0e2847d..86b712d 100644
--- a/modules/user/desktop/apps/default.nix
+++ b/modules/user/desktop/apps/default.nix
@@ -4,5 +4,6 @@
./fuzzel.nix
./iamb.nix
./librewolf.nix
+ ./waybar
];
}
diff --git a/modules/user/desktop/apps/waybar/default.nix b/modules/user/desktop/apps/waybar/default.nix
new file mode 100644
index 0000000..1b2ee4d
--- /dev/null
+++ b/modules/user/desktop/apps/waybar/default.nix
@@ -0,0 +1,26 @@
+{ config, ... }:
+{
+ programs.waybar = {
+ settings.main = {
+ layer = "bottom";
+ position = "top";
+ modules-left = [ "sway/workspaces" ];
+ modules-center = [ "clock" ];
+ modules-right = [
+ "sway/language"
+ ];
+
+ "sway/language" = {
+ on-click = "swaymsg input type:keyboard xkb_switch_layout next";
+ tooltip-format = "{long}";
+ };
+
+ "sway/workspaces" = {
+ all-outputs = true;
+ disable-auto-back-and-forth = true;
+ format = "{icon}";
+ format-icons.default = "•";
+ };
+ };
+ };
+}
diff --git a/modules/user/desktop/sessions/sway.nix b/modules/user/desktop/sessions/sway.nix
index a1e11f6..3cb679b 100644
--- a/modules/user/desktop/sessions/sway.nix
+++ b/modules/user/desktop/sessions/sway.nix
@@ -50,6 +50,8 @@
text-wrong-color = "1e1e2e";
};
};
+
+ waybar.enable = lib.mkDefault config.desktop.sessions.sway.enable;
};
wayland.windowManager.sway = {
@@ -147,15 +149,23 @@
keybindings =
let
+ grim = "${pkgs.grim}/bin/grim";
+ launcher = "${pkgs.fuzzel}/bin/fuzzel";
mod = config.wayland.windowManager.sway.config.modifier;
+ screenshotDir = "~/Pictures/Screenshots";
terminal = "${pkgs.foot}/bin/foot";
in
{
"${mod}+Return" = "exec ${terminal}";
- "${mod}+R" = "exec ${pkgs.fuzzel}/bin/fuzzel";
+ "${mod}+R" = "exec ${launcher}";
"${mod}+B" = "exec ${pkgs.librewolf}/bin/librewolf";
- "${mod}+Shift+S" =
- "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" ~/Pictures/screenshot.png";
+ "${mod}+Shift+S" = "exec ${(pkgs.writeShellScript "screenshot" ''
+ screenshot_type=$(printf 'monitor\nregion' | ${launcher} --prompt='What would you like to screenshot? ' --dmenu --minimal-lines --width=34)
+ case $screenshot_type in
+ 'monitor') ${grim} -o $(${pkgs.sway}/bin/swaymsg -rt get_workspaces | ${pkgs.jq}/bin/jq -r '.[] | select(.focused) | .output') ${screenshotDir}/$(date +'%F_%H.%M.%S.png') ;;
+ 'region') ${grim} -g \"$(${pkgs.slurp}/bin/slurp)\" ${screenshotDir}/$(date +'%F_%H.%M.%S.png') ;;
+ esac
+ '')}";
"${mod}+Alt+L" = "exec ${pkgs.swaylock}/bin/swaylock";
"${mod}+Alt+K" = "input type:keyboard xkb_switch_layout next";
"${mod}+Alt+Q" = "exit";
@@ -244,6 +254,8 @@
}
];
};
+
+ extraConfig = "exec waybar";
};
xdg.dataFile."wallpaper.png".enable = config.desktop.sessions.sway.enable;