Feat/t400 and macpro31 hosts #17

Merged
lyrathorpe merged 21 commits from feat/t400-and-macpro31-hosts into main 2026-06-09 21:35:09 +01:00
Showing only changes of commit 77e14968ee - Show all commits
+30 -23
View File
@@ -120,27 +120,29 @@ in
} }
]; ];
keybindings = lib.mkMerge [ # NB: this whole set is wrapped in mkOptionDefault so it MERGES with the
# Bind the launcher to Mod+Space. This deliberately replaces the default # home-manager module's default keybindings (same priority) rather than
# Mod+Space (focus mode_toggle); a bare attrset (normal priority) wins # replacing them. Do not wrap it in mkMerge with a normal-priority attr --
# over the module default, whereas the mkOptionDefault block below would # that makes the normal-priority def win and silently drops every default
# only tie with it. Mod+d still runs the launcher too (module default). # bind (terminal, movement, workspaces, ...).
{ "${modifier}+space" = "exec ${menu}"; } keybindings = lib.mkOptionDefault (
(lib.mkOptionDefault ( {
{ # Launcher on Mod+Space. mkForce overrides the module's own default
"${modifier}+l" = "exec ${pkgs.swaylock}/bin/swaylock -f"; # Mod+Space (focus mode_toggle); a plain value would conflict with it
"Print" = "exec ${pkgs.grim}/bin/grim ~/screenshot-$(date +%F-%H%M%S).png"; # at equal priority. Mod+d also still runs the launcher (module default).
"XF86AudioRaiseVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"; "${modifier}+space" = lib.mkForce "exec ${menu}";
"XF86AudioLowerVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"; "${modifier}+l" = "exec ${pkgs.swaylock}/bin/swaylock -f";
"XF86AudioMute" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; "Print" = "exec ${pkgs.grim}/bin/grim ~/screenshot-$(date +%F-%H%M%S).png";
} "XF86AudioRaiseVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+";
# Screen backlight: laptops only (no internal backlight on a desktop). "XF86AudioLowerVolume" = "exec ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
// lib.optionalAttrs portable { "XF86AudioMute" = "exec ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%+"; }
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-"; # Screen backlight: laptops only (no internal backlight on a desktop).
} // lib.optionalAttrs portable {
)) "XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%+";
]; "XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
}
);
}; };
}; };
@@ -148,8 +150,13 @@ in
# `terminal` above still launches the same binary, now themed. # `terminal` above still launches the same binary, now themed.
programs.foot = { programs.foot = {
enable = true; enable = true;
# foot 1.27: the bare [colors] section is deprecated in favour of
# [colors-dark] (the default theme), and the cursor colour moved out of
# [cursor] (where `color` is now rejected) into a `cursor` key here, written
# "<text> <cursor>" (man foot.ini(5): "ff0000 00ff00" => green cursor, red
# text). Only colors-dark is needed; we never set initial-color-theme=light.
settings = { settings = {
colors = { "colors-dark" = {
background = ctp.base; background = ctp.base;
foreground = ctp.text; foreground = ctp.text;
regular0 = ctp.surface1; regular0 = ctp.surface1;
@@ -170,8 +177,8 @@ in
bright7 = ctp.subtext0; bright7 = ctp.subtext0;
"selection-foreground" = ctp.base; "selection-foreground" = ctp.base;
"selection-background" = ctp.rosewater; "selection-background" = ctp.rosewater;
cursor = "${ctp.base} ${ctp.rosewater}";
}; };
cursor.color = "${ctp.base} ${ctp.rosewater}";
}; };
}; };