dotfiles.nix/hm-configs/i3.nix

137 lines
4.0 KiB
Nix
Raw Normal View History

2021-01-11 03:59:20 +00:00
{ lib, statusCmd, ... }: {
2020-01-03 01:13:32 +00:00
enable = true;
config = rec {
2020-03-14 08:49:32 +00:00
fonts = [ "Aileron" "FontAwesome 14" ];
2020-01-03 01:13:32 +00:00
colors = {
2020-03-14 08:49:32 +00:00
background = "#CBBB9B";
2020-01-03 01:13:32 +00:00
focused = {
border = "#421B28";
2020-03-14 08:49:32 +00:00
background = "#3F71A8";
2020-01-03 01:13:32 +00:00
text = "#EAE1CE";
indicator = "#A04060";
2020-03-14 08:49:32 +00:00
childBorder = "#3F71A8";
2020-01-03 01:13:32 +00:00
};
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 = {
2020-05-28 17:29:19 +00:00
border = "#1086E0";
background = "#1086E0";
2020-01-03 01:13:32 +00:00
text = "#383632";
2020-05-28 17:29:19 +00:00
indicator = "#1086E0";
childBorder = "#1086E0";
2020-01-03 01:13:32 +00:00
};
};
bars = [{
fonts = [ "Fira Code" "FontAwesome 11" ];
2020-03-14 08:49:32 +00:00
statusCommand = statusCmd;
2020-01-03 01:13:32 +00:00
colors = {
2020-03-14 08:49:32 +00:00
background = "#000000";
2020-01-03 01:13:32 +00:00
statusline = "#EAE1CE";
separator = "#CDC5B4";
focusedWorkspace = {
2020-03-14 08:49:32 +00:00
border = "#3F71A8";
background = "#3F71A8";
2020-01-03 01:13:32 +00:00
text = "#EAE1CE";
};
activeWorkspace = {
border = "#CDC5B4";
background = "#222222";
text = "#EAE1CE";
};
inactiveWorkspace = {
border = "#222222";
background = "#222222";
text = "#CDC5B4";
};
urgentWorkspace = {
2020-05-28 17:29:19 +00:00
border = "#1086E0";
background = "#1086E0";
2020-01-03 01:13:32 +00:00
text = "#383632";
};
bindingMode = {
2020-05-28 17:29:19 +00:00
border = "#1086E0";
background = "#1086E0";
2020-01-03 01:13:32 +00:00
text = "#383632";
};
};
}];
modifier = "Mod4";
keybindings = lib.mkOptionDefault {
"${modifier}+c" = "exec CM_ONESHOT=1 clipmenud";
"${modifier}+v" = "exec clipmenu";
2020-05-28 17:29:19 +00:00
# "${modifier}+Escape" = "exec ${lockCmd}";
2020-01-03 01:13:32 +00:00
"${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";
2020-11-15 05:08:06 +00:00
# "${modifier}+Shift+Right" = "workspace next";
# "${modifier}+Shift+Left" = "workspace prev";
2020-01-03 01:13:32 +00:00
"${modifier}+d" = "exec --no-startup-id rofi -show run";
2021-01-11 03:59:20 +00:00
"${modifier}+g" = "exec --no-startup-id /home/mat/.bin/lagrange";
2020-01-03 01:13:32 +00:00
"XF86AudioRaiseVolume" = "exec --no-startup-id amixer sset Master 5%+";
"XF86AudioLowerVolume" = "exec --no-startup-id amixer sset Master 5%-";
2020-01-17 17:11:49 +00:00
"XF86MonBrightnessUp" = "exec --no-startup-id light -A 10";
"XF86MonBrightnessDown" = "exec --no-startup-id light -U 10";
2020-01-03 01:13:32 +00:00
};
workspaceLayout = "tabbed";
2020-01-17 17:11:49 +00:00
assigns = {
2021-01-11 03:59:20 +00:00
"1: web" = [
{ class = "Firefox"; }
{ class = "(?i)castor"; }
{ class = "(?i)lagrange"; }
2021-05-05 15:21:02 +00:00
{ title = "Enpass Assistant"; }
{ class = "(?i)Vivaldi"; }
2021-01-11 03:59:20 +00:00
];
2020-11-15 05:08:06 +00:00
"2: devel" = [
{ class = "(?i)kitty"; }
{ class = "(?i)(vsc|c)odium"; }
{ class = "(?i)thunar"; }
];
2020-03-14 08:49:32 +00:00
"3: social" = [
2020-05-28 17:29:19 +00:00
{ class = "(?i)nheko"; }
2020-03-14 08:49:32 +00:00
{ class = "Slack"; }
{ class = "discord"; }
2020-11-15 05:08:06 +00:00
{ class = "(?i)signal(-desktop)?"; }
{ class = "(?i)fractal"; }
2020-03-14 08:49:32 +00:00
];
2020-05-28 17:29:19 +00:00
"4: other" = [{ class = ".*"; }];
2020-01-17 17:11:49 +00:00
};
2020-01-03 01:13:32 +00:00
};
extraConfig = ''
2021-05-05 15:21:02 +00:00
exec --no-startup-id vivaldi
2020-03-14 08:49:32 +00:00
exec --no-startup-id kitty
2020-01-03 06:06:04 +00:00
exec --no-startup-id Enpass
2021-01-03 16:18:57 +00:00
exec --no-startup-id deluged
2021-05-05 15:21:02 +00:00
# exec --no-startup-id mullvad-vpn
2020-03-14 08:49:32 +00:00
# exec --no-startup-id slack
# exec --no-startup-id nheko
# exec --no-startup-id Discord
2021-05-05 15:21:02 +00:00
for_window [class="Vivaldi"] focus
2020-01-03 01:13:32 +00:00
'';
}