[i3+sway] Add optionality to configs
This commit is contained in:
@@ -1,27 +1,41 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
shared_config = {
|
cfg = config.home.i3_sway;
|
||||||
|
|
||||||
|
shared_config = recursiveUpdate {
|
||||||
modifier = "Mod4";
|
modifier = "Mod4";
|
||||||
terminal = "kitty";
|
terminal = "kitty";
|
||||||
defaultWorkspace = "workspace number 1";
|
defaultWorkspace = "workspace number 1";
|
||||||
};
|
} cfg.extraSharedConfig;
|
||||||
in {
|
in {
|
||||||
xsession.windowManager.i3 = {
|
options.home.i3_sway = {
|
||||||
enable = true;
|
extraSharedConfig = mkOption {};
|
||||||
config = shared_config;
|
extraI3Config = mkOption {};
|
||||||
|
extraSwayConfig = mkOption {};
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
config = {
|
||||||
|
xsession.windowManager.i3 = let
|
||||||
|
base_i3_config = recursiveUpdate shared_config {};
|
||||||
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = recursiveUpdate shared_config {
|
config = recursiveUpdate base_i3_config cfg.extraI3Config;
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.sway = let
|
||||||
|
base_sway_config = recursiveUpdate shared_config {
|
||||||
input = {
|
input = {
|
||||||
"type:keyboard" = {
|
"type:keyboard" = {
|
||||||
xkb_options = "caps:escape";
|
xkb_options = "caps:escape";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
config = recursiveUpdate base_sway_config cfg.extraSwayConfig;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user