add waybar config

This commit is contained in:
Astreaprtcl 2025-12-23 15:43:07 +01:00
parent 012bbb717c
commit f31c27bfe7
6 changed files with 338 additions and 35 deletions

View file

@ -5,20 +5,10 @@
...
}:
let
inherit (lib)
concatMapStringsSep
getExe
getExe'
mkOption
types
;
in
{
options.custom.screenShotDir = mkOption {
options.custom.screenShotDir = lib.mkOption {
default = config.home.homeDirectory + "/Pictures/Screenshots";
type = with types; uniq str;
type = with lib.types; uniq str;
description = "Folder for all screenshots";
};
@ -40,7 +30,10 @@ in
shadows enable
shadow_blur_radius 16
layer_effects "waybar" blur enable
layer_effects "waybar" {
blur enable
blur_ignore_transparent enabled
}
layer_effects "launcher" blur enable
layer_effects "notifications" blur enable
@ -48,9 +41,15 @@ in
bindgesture swipe:left workspace next
'';
config = rec {
bars = [
{
command = "''";
mode = "hide";
}
];
modifier = "Mod1";
terminal = getExe pkgs.kitty;
menu = getExe pkgs.fuzzel;
terminal = lib.getExe pkgs.kitty;
menu = lib.getExe pkgs.fuzzel;
input = {
"type:touchpad" = {
@ -70,7 +69,7 @@ in
seat = {
"*".hide_cursor = "when-typing enable";
seat0.fallback = "true";
seat1."\r" = concatMapStringsSep "\n " (s: " attach ${s}") [
seat1."\r" = lib.concatMapStringsSep "\n " (s: " attach ${s}") [
"9390:4610:Rapoo_Rapoo_Gaming_Device"
"9390:4610:Rapoo_Rapoo_Gaming_Device_Keyboard"
];
@ -80,7 +79,7 @@ in
# Computer Control
"${modifier}+Escape" = "exit";
"${modifier}+Shift+Escape" =
"exec ${getExe' pkgs.coreutils "printf"} 'poweroff\\nreboot\\nhibernate\\n' | ${menu} -d | ${getExe' pkgs.findutils "xargs"} ${getExe' pkgs.systemd "systemctl"}";
"exec ${lib.getExe' pkgs.coreutils "printf"} 'poweroff\\nreboot\\nhibernate\\n' | ${menu} -d | ${lib.getExe' pkgs.findutils "xargs"} ${lib.getExe' pkgs.systemd "systemctl"}";
# Focus
"${modifier}+Down" = "focus down";
@ -131,44 +130,44 @@ in
"${modifier}+Tab" = "scratchpad show";
# Programs
"${modifier}+a" = "exec ${getExe pkgs.nemo}";
"${modifier}+a" = "exec ${lib.getExe pkgs.nemo}";
"${modifier}+Return" = "exec ${terminal}";
# dmenu
"${modifier}+d" = "exec ${menu}";
"${modifier}+s" =
"exec ${getExe pkgs.bash} -c \"${terminal} ssh $(grep -P '^Host (?!\\*)' ${config.home.homeDirectory}/.ssh/config | ${getExe' pkgs.coreutils "cut"} -d ' ' -f2 | ${menu} -d)\"";
"exec ${lib.getExe pkgs.bash} -c \"${terminal} ssh $(grep -P '^Host (?!\\*)' ${config.home.homeDirectory}/.ssh/config | ${lib.getExe' pkgs.coreutils "cut"} -d ' ' -f2 | ${menu} -d)\"";
"${modifier}+e" =
"exec ${getExe pkgs.bash} -c \"${getExe pkgs.uni} emoji all -f '%(emoji h) %(cldr_full h Q:[:])' | ${getExe pkgs.gnused} '/^$/d' | ${menu} -d | ${getExe' pkgs.coreutils "cut"} -d ' ' -f1 | ${getExe' pkgs.coreutils "tr"} -d '\\n' | ${getExe' pkgs.wl-clipboard-rs "wl-copy"}\"";
"exec ${lib.getExe pkgs.bash} -c \"${lib.getExe pkgs.uni} emoji all -f '%(emoji h) %(cldr_full h Q:[:])' | ${lib.getExe pkgs.gnused} '/^$/d' | ${menu} -d | ${lib.getExe' pkgs.coreutils "cut"} -d ' ' -f1 | ${lib.getExe' pkgs.coreutils "tr"} -d '\\n' | ${lib.getExe' pkgs.wl-clipboard-rs "wl-copy"}\"";
# Wallpaper
"${modifier}+b" = "exec ${getExe' pkgs.systemd "systemctl"} --user start swww-randomize";
"${modifier}+b" = "exec ${lib.getExe' pkgs.systemd "systemctl"} --user start swww-randomize";
# Notifications
"${modifier}+n" = "exec ${getExe' pkgs.dunst "dunstctl"} history-pop";
"${modifier}+n" = "exec ${lib.getExe' pkgs.dunst "dunstctl"} history-pop";
# Screenshot
"${modifier}+Shift+s" =
"exec ${getExe pkgs.bash} -c \"${getExe' pkgs.coreutils "mkdir"} -p ${config.custom.screenShotDir}; ${getExe pkgs.wayfreeze} --hide-cursor --after-freeze-cmd '${getExe pkgs.sway-contrib.grimshot} savecopy area ${config.custom.screenShotDir}/$(${getExe' pkgs.coreutils "date"} -Iseconds).png; ${getExe pkgs.killall} wayfreeze'\"";
"exec ${lib.getExe pkgs.bash} -c \"${lib.getExe' pkgs.coreutils "mkdir"} -p ${config.custom.screenShotDir}; ${lib.getExe pkgs.wayfreeze} --hide-cursor --after-freeze-cmd '${lib.getExe pkgs.sway-contrib.grimshot} savecopy area ${config.custom.screenShotDir}/$(${lib.getExe' pkgs.coreutils "date"} -Iseconds).png; ${lib.getExe pkgs.killall} wayfreeze'\"";
# Screenlock
"${modifier}+l" = "exec --no-startup-id ${getExe pkgs.swaylock}";
"${modifier}+l" = "exec --no-startup-id ${lib.getExe pkgs.swaylock}";
# Audio
"--locked XF86AudioLowerVolume" =
"exec ${getExe pkgs.pulsemixer} --change-volume -5 --max-volume 100";
"exec ${lib.getExe pkgs.pulsemixer} --change-volume -5 --max-volume 100";
"--locked XF86AudioRaiseVolume" =
"exec ${getExe pkgs.pulsemixer} --change-volume +5 --max-volume 100";
"--locked XF86AudioNext" = "exec ${getExe pkgs.playerctl} next";
"--locked XF86AudioPrev" = "exec ${getExe pkgs.playerctl} previous";
"--locked XF86AudioPause" = "exec ${getExe pkgs.playerctl} play-pause";
"--locked XF86AudioPlay" = "exec ${getExe pkgs.playerctl} play-pause";
"--locked XF86AudioMute" = "exec ${getExe pkgs.pulsemixer} --toggle-mute";
"exec ${lib.getExe pkgs.pulsemixer} --change-volume +5 --max-volume 100";
"--locked XF86AudioNext" = "exec ${lib.getExe pkgs.playerctl} next";
"--locked XF86AudioPrev" = "exec ${lib.getExe pkgs.playerctl} previous";
"--locked XF86AudioPause" = "exec ${lib.getExe pkgs.playerctl} play-pause";
"--locked XF86AudioPlay" = "exec ${lib.getExe pkgs.playerctl} play-pause";
"--locked XF86AudioMute" = "exec ${lib.getExe pkgs.pulsemixer} --toggle-mute";
"--locked XF86AudioMicMute" =
"exec ${getExe pkgs.pulsemixer} --toggle-mute --id $(${getExe pkgs.pulsemixer} --list-sources | grep -Po 'source-\\d{2}(?=.*Default$)')";
"exec ${lib.getExe pkgs.pulsemixer} --toggle-mute --id $(${lib.getExe pkgs.pulsemixer} --list-sources | grep -Po 'source-\\d{2}(?=.*Default$)')";
# Brightness
"--locked XF86MonBrightnessDown" = "exec ${getExe pkgs.brightnessctl} set 5%-";
"--locked XF86MonBrightnessUp" = "exec ${getExe pkgs.brightnessctl} set 5%+";
"--locked XF86MonBrightnessDown" = "exec ${lib.getExe pkgs.brightnessctl} set 5%-";
"--locked XF86MonBrightnessUp" = "exec ${lib.getExe pkgs.brightnessctl} set 5%+";
};
colors = {