diff --git a/machines/universedesktop/desktop/dwl.nix b/machines/universedesktop/desktop/dwl.nix index 821e8fd..b97626f 100644 --- a/machines/universedesktop/desktop/dwl.nix +++ b/machines/universedesktop/desktop/dwl.nix @@ -1,9 +1,4 @@ { config, pkgs, lib, ... }: let - dwl-startup = pkgs.writeScript "dwl-startup.sh" '' - #!${pkgs.bash}/bin/bash - exec <&- - ''; - launch_emacs = pkgs.writeScript "emacsclient-or-start" '' #!${pkgs.bash}/bin/bash emacsclient --create-frame --alternate-editor="" @@ -46,10 +41,17 @@ in { export editcmd=${launch_emacs} export menucmd=${pkgs.fuzzel}/bin/fuzzel export barcmd=${pkgs.waybar}/bin/waybar + export playcmd=${pkgs.writeScript "playerctl-play-pause" '' + #!${pkgs.bash}/bin/bash + ${pkgs.playerctl}/bin/playerctl play-pause + ''} + export scrncmd=${pkgs.writeScript "screenshot-region" '' + #!${pkgs.bash}/bin/bash + ${pkgs.slurp}/bin/slurp | ${pkgs.grim}/bin/grim -g - - | ${pkgs.wl-clipboard}/bin/wl-copy + ''} substituteAll ${./dwl/config.def.h} ./config.def.h ''; postInstall = '' - sed -i "s#Exec=dwl#Exec=dwl -s ${dwl-startup}#" $out/share/wayland-sessions/dwl.desktop chmod ugo+x $out/share/wayland-sessions/dwl.desktop ''; passthru.providedSessions = ["dwl"]; @@ -68,11 +70,13 @@ in { # Causes firefox & thunderbird to crash # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21646/diffs?commit_id=ee5d2250fd159689aae3f7d632a6226971bea85c MOZ_ENABLE_WAYLAND=0; + GTK_THEME="Adwaita-dark"; }; environment.systemPackages = with pkgs; [ dwl waybar foot + pwvucontrol ]; } diff --git a/machines/universedesktop/desktop/dwl/config.def.h b/machines/universedesktop/desktop/dwl/config.def.h index 1d37fba..3bf99bd 100644 --- a/machines/universedesktop/desktop/dwl/config.def.h +++ b/machines/universedesktop/desktop/dwl/config.def.h @@ -122,6 +122,8 @@ static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TA static const char *termcmd[] = { "@termcmd@", NULL }; static const char *editcmd[] = { "@editcmd@", NULL }; static const char *menucmd[] = { "@menucmd@", NULL }; +static const char *playcmd[] = { "@playcmd@", NULL }; +static const char *scrncmd[] = { "@scrncmd@", NULL }; static const Key keys[] = { /* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */ @@ -129,6 +131,8 @@ static const Key keys[] = { { MODKEY, XKB_KEY_r, spawn, {.v = menucmd} }, { MODKEY, XKB_KEY_Return, spawn, {.v = termcmd} }, { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = editcmd} }, + { 0, XKB_KEY_XF86AudioPlay, spawn, {.v = playcmd} }, + { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Print, spawn, {.v = scrncmd} }, { MODKEY, XKB_KEY_j, focusstack, {.i = +1} }, { MODKEY, XKB_KEY_k, focusstack, {.i = -1} }, { MODKEY, XKB_KEY_i, incnmaster, {.i = +1} },