dotfiles.nix/i3.nix

110 lines
3.2 KiB
Nix

{ lib, lockCmd, ... }: {
enable = true;
config = rec {
assigns = {
"1: web" = [{ class = "Firefox"; }];
"2: devel" = [ { class = "Alacritty"; } { class = "Atom"; } ];
};
fonts = [ "Fira Code" "FontAwesome 12" ];
colors = {
background = "#fff5e0";
focused = {
border = "#421B28";
background = "#783048";
text = "#EAE1CE";
indicator = "#A04060";
childBorder = "#783048";
};
focusedInactive = {
border = "#7F6E73";
background = "#B59DA4";
text = "#383632";
indicator = "#484E50";
childBorder = "#5F676A";
};
unfocused = {
border = "#333333";
background = "#222222";
text = "#CDC5B4";
indicator = "#292D2E";
childBorder = "#222222";
};
placeholder = {
border = "#000000";
background = "#0C0C0C";
text = "#CDC5B4";
indicator = "#000000";
childBorder = "#0C0C0C";
};
urgent = {
border = "#D890A8";
background = "#D890A8";
text = "#383632";
indicator = "#D890A8";
childBorder = "#D890A8";
};
};
bars = [{
fonts = [ "Fira Code" "FontAwesome 11" ];
colors = {
background = "#180d10";
statusline = "#EAE1CE";
separator = "#CDC5B4";
focusedWorkspace = {
border = "#783048";
background = "#783048";
text = "#EAE1CE";
};
activeWorkspace = {
border = "#CDC5B4";
background = "#222222";
text = "#EAE1CE";
};
inactiveWorkspace = {
border = "#222222";
background = "#222222";
text = "#CDC5B4";
};
urgentWorkspace = {
border = "#D890A8";
background = "#D890A8";
text = "#383632";
};
bindingMode = {
border = "#D890A8";
background = "#D890A8";
text = "#383632";
};
};
}];
modifier = "Mod4";
keybindings = lib.mkOptionDefault {
"${modifier}+c" = "exec CM_ONESHOT=1 clipmenud";
"${modifier}+v" = "exec clipmenu";
"${modifier}+Escape" = "exec ${lockCmd}";
"${modifier}+0" = "workspace number 0";
"${modifier}+1" = "workspace number 1";
"${modifier}+2" = "workspace number 2";
"${modifier}+3" = "workspace number 3";
"${modifier}+4" = "workspace number 4";
"${modifier}+5" = "workspace number 5";
"${modifier}+6" = "workspace number 6";
"${modifier}+7" = "workspace number 7";
"${modifier}+8" = "workspace number 8";
"${modifier}+9" = "workspace number 9";
"${modifier}+d" = "exec --no-startup-id rofi -show run";
"XF86AudioRaiseVolume" = "exec --no-startup-id amixer sset Master 5%+";
"XF86AudioLowerVolume" = "exec --no-startup-id amixer sset Master 5%-";
"XF86MonBrightnessUp" = "exec light -A 20";
"XF86MonBrightnessDown" = "exec light -U 20";
};
workspaceLayout = "tabbed";
};
extraConfig = ''
exec --no-startup-id firefox
exec --no-startup-id atom
exec --no-startup-id alacritty
for_window [class="Firefox"] focus
'';
}