nix/lib/modules/laptop.nix

46 lines
1 KiB
Nix

{ user }: { lib, pkgs, config, ... }:
with lib;
let
cfg = config.roles.laptop;
in
{
options.roles = {
laptop = {
enable = mkEnableOption "is a laptop";
displays = mkEnableOption "laptop display defaults";
};
};
config = mkIf cfg.enable {
displays = mkIf cfg.displays {
enable = true;
displays = [{
name = "eDP-1";
scaling = 1.2;
}];
};
keyboard.dvorak.enable = true;
home-manager.users.${user}.imports = [{
wayland.windowManager.hyprland = {
extraConfig = ''
# === LAPTOP MODULE ===
general {
gaps_out = 10
border_size = 3
}
# so hard to reach X on a laptop
bind = SUPER_SHIFT, Q, killactive,
# toggle built in keyboard layout
device:at-translated-set-2-keyboard {
kb_variant = dvorak,
kb_layout = gb,gb
kb_options = grp:alt_shift_toggle,caps:escape
}
'';
};
}];
};
}