stylix/modules/i3.nix
Roberto Abdelkader Martínez Pérez e43c98f9e7
Add an i3 module based on Sway module (#18)
2023-01-07 17:53:22 +00:00

93 lines
2.2 KiB
Nix

{ config, lib, ... }:
with config.lib.stylix.colors.withHashtag;
let
text = base05;
urgent = base08;
focused = base0A;
unfocused = base03;
fonts = {
names = [ config.stylix.fonts.sansSerif.name ];
};
in {
options.stylix.targets.i3.enable =
config.lib.stylix.mkEnableTarget "i3" true;
config = {
home-manager.sharedModules = lib.mkIf config.stylix.targets.i3.enable [{
xsession.windowManager.i3.config = {
inherit fonts;
colors = let
background = base00;
indicator = base0B;
in {
inherit background;
urgent = {
inherit background indicator text;
border = urgent;
childBorder = urgent;
};
focused = {
inherit background indicator text;
border = focused;
childBorder = focused;
};
focusedInactive = {
inherit background indicator text;
border = unfocused;
childBorder = unfocused;
};
unfocused = {
inherit background indicator text;
border = unfocused;
childBorder = unfocused;
};
placeholder = {
inherit background indicator text;
border = unfocused;
childBorder = unfocused;
};
};
# output."*".bg = "${config.stylix.image} fill";
};
}];
# Merge this with your bar configuration using //config.lib.stylix.i3.bar
lib.stylix.i3.bar = {
inherit fonts;
colors = let
background = base00;
border = background;
in {
inherit background;
statusline = text;
separator = base03;
focusedWorkspace = {
inherit text background;
border = focused;
};
activeWorkspace = {
inherit border background;
text = focused;
};
inactiveWorkspace = {
inherit text border background;
};
urgentWorkspace = {
inherit text background;
border = urgent;
};
bindingMode = {
inherit text border;
background = urgent;
};
};
};
};
}