46 lines
1 KiB
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
|
|
}
|
|
'';
|
|
};
|
|
}];
|
|
};
|
|
}
|