241 lines
6.9 KiB
Nix
241 lines
6.9 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
mod = "Mod4";
|
|
hyper = "Control+Shift+Mod1";
|
|
in {
|
|
home.file = {
|
|
"bin/scripts/goup" = {
|
|
source = ./goup;
|
|
executable = true;
|
|
};
|
|
"bin/scripts/godown" = {
|
|
source = ./godown;
|
|
executable = true;
|
|
};
|
|
"bin/scripts/flower" = {
|
|
source = ./flower;
|
|
executable = true;
|
|
};
|
|
};
|
|
xsession = {
|
|
enable = true;
|
|
|
|
windowManager.i3 = {
|
|
enable = true;
|
|
package = pkgs.i3-gaps;
|
|
config = {
|
|
bars = [
|
|
{
|
|
colors = {
|
|
background = "#282A36";
|
|
statusline = "#F8F8F2";
|
|
separator = "#44475A";
|
|
|
|
activeWorkspace = {
|
|
border = "#282A36";
|
|
background = "#44475A";
|
|
text = "#F8F8F2";
|
|
};
|
|
focusedWorkspace = {
|
|
border = "#44475A";
|
|
background = "#44475A";
|
|
text = "#F8F8F2";
|
|
};
|
|
inactiveWorkspace = {
|
|
border = "#282A36";
|
|
background = "#282A36";
|
|
text = "#BFBFBF";
|
|
};
|
|
urgentWorkspace = {
|
|
border = "#FF5555";
|
|
background = "#FF5555";
|
|
text = "#F8F8F2";
|
|
};
|
|
bindingMode = {
|
|
border = "#FF5555";
|
|
background = "#FF5555";
|
|
text = "#F8F8F2";
|
|
};
|
|
};
|
|
fonts = {
|
|
size = 11.0;
|
|
};
|
|
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs /home/daniel/.config/i3status-rust/config-main.toml";
|
|
position = "top";
|
|
}
|
|
];
|
|
colors = {
|
|
focused = {
|
|
border = "#6272A4";
|
|
background = "#6272A4";
|
|
text = "#F8F8F2";
|
|
indicator = "#6272A4";
|
|
childBorder = "#6272A4";
|
|
};
|
|
focusedInactive = {
|
|
border = "#44475A";
|
|
background = "#44475A";
|
|
text = "#F8F8F2";
|
|
indicator = "#44475A";
|
|
childBorder = "#44475A";
|
|
};
|
|
unfocused = {
|
|
border = "#282A36";
|
|
background = "#282A36";
|
|
text = "#BFBFBF";
|
|
indicator = "#282A36";
|
|
childBorder = "#282A36";
|
|
};
|
|
urgent = {
|
|
border = "#44475A";
|
|
background = "#FF5555";
|
|
text = "#F8F8F2";
|
|
indicator = "#FF5555";
|
|
childBorder = "#FF5555";
|
|
};
|
|
placeholder = {
|
|
border = "#282A36";
|
|
background = "#282A36";
|
|
text = "#F8F8F2";
|
|
indicator = "#282A36";
|
|
childBorder = "#282A36";
|
|
};
|
|
background = "#F8F8F2";
|
|
};
|
|
|
|
defaultWorkspace = "workspace number 1";
|
|
|
|
floating = {
|
|
modifier = mod;
|
|
criteria = [
|
|
{instance = "pavucontrol";}
|
|
];
|
|
};
|
|
|
|
focus = {
|
|
followMouse = false;
|
|
};
|
|
|
|
fonts = {
|
|
names = ["pango:monospace 8"];
|
|
style = "monospace";
|
|
size = 8.0;
|
|
};
|
|
|
|
gaps = {
|
|
outer = lib.mkDefault 10;
|
|
inner = lib.mkDefault 5;
|
|
smartBorders = "on";
|
|
};
|
|
|
|
keybindings = lib.mkOptionDefault {
|
|
"${hyper}+Return" = "exec kitty";
|
|
"${mod}+q" = "kill";
|
|
"${mod}+d" = "exec rofi -show drun";
|
|
"${hyper}+q" = "kill";
|
|
"${hyper}+d" = "exec rofi -show drun";
|
|
|
|
"${mod}+h" = "focus left";
|
|
"${mod}+j" = "focus down";
|
|
"${mod}+k" = "focus up";
|
|
"${mod}+l" = "focus right";
|
|
"${hyper}+h" = "focus left";
|
|
"${hyper}+j" = "focus down";
|
|
"${hyper}+k" = "focus up";
|
|
"${hyper}+l" = "focus right";
|
|
|
|
"${mod}+Shift+h" = "move left";
|
|
"${mod}+Shift+l" = "move right";
|
|
|
|
"${hyper}+y" = "move left";
|
|
"${hyper}+o" = "move right";
|
|
|
|
"${mod}+Tab" = "workspace back_and_forth";
|
|
"${hyper}+Tab" = "workspace back_and_forth";
|
|
|
|
"${mod}+b" = "split h";
|
|
"${mod}+v" = "split v";
|
|
|
|
"${hyper}+b" = "split h";
|
|
"${hyper}+v" = "split v";
|
|
|
|
"${mod}+Control+Return" = "exec --no-startup-id i3utils workspace new";
|
|
"${mod}+Control+Shift+Return" = "exec --no-startup-id i3utils workspace new -b";
|
|
"${mod}+Shift+Return" = "exec --no-startup-id i3utils workspace new -n, move next";
|
|
|
|
"${mod}+Control+j" = "exec --no-startup-id $HOME/bin/scripts/godown";
|
|
"${mod}+Control+k" = "exec --no-startup-id $HOME/bin/scripts/goup";
|
|
"${mod}+Control+u" = "exec --no-startup-id $HOME/bin/scripts/godown";
|
|
"${mod}+Control+i" = "exec --no-startup-id $HOME/bin/scripts/goup";
|
|
"${mod}+Control+h" = "exec --no-startup-id i3utils workspace new -b";
|
|
|
|
"${hyper}+u" = "exec --no-startup-id $HOME/bin/scripts/godown";
|
|
"${hyper}+i" = "exec --no-startup-id $HOME/bin/scripts/goup";
|
|
|
|
"${mod}+Shift+k" = "exec --no-startup-id i3utils window move prev";
|
|
"${mod}+Shift+j" = "exec --no-startup-id i3utils window move next";
|
|
|
|
"${hyper}+comma" = "exec --no-startup-id i3utils window move prev";
|
|
"${hyper}+m" = "exec --no-startup-id i3utils window move next";
|
|
|
|
"${mod}+p" = "scratchpad show, resize set 80 ppt 80ppt, move position center";
|
|
"${hyper}+p" = "scratchpad show, resize set 80 ppt 80ppt, move position center";
|
|
|
|
"${mod}+Escape" = "exec loginctl lock-session";
|
|
"${hyper}+Escape" = "exec loginctl lock-session";
|
|
|
|
"${hyper}+f" = "fullscreen toggle";
|
|
|
|
"XF86MonBrightnessUp" = "exec xbacklight -inc 10";
|
|
"XF86MonBrightnessDown" = "exec xbacklight -dec 10";
|
|
"XF86AudioMute" = "exec pamixer -t";
|
|
"XF86AudioLowerVolume" = "exec pamixer -d 5";
|
|
"XF86AudioRaiseVolume" = "exec pamixer -i 5";
|
|
"XF86AudioPrev" = "exec playerctl previous";
|
|
"XF86AudioPlay" = "exec playerctl play-pause";
|
|
"XF86AudioNext" = "exec playerctl next";
|
|
|
|
"Mod1+Shift+4" = "exec flameshot gui -s -p ~/Pictures/screenshots";
|
|
};
|
|
|
|
modifier = mod;
|
|
|
|
startup = [
|
|
{
|
|
command = "$HOME/bin/scripts/flower";
|
|
always = true;
|
|
}
|
|
{
|
|
command = "feh --bg-fill $HOME/wallpapers/wallpaper.jpg";
|
|
always = false;
|
|
}
|
|
];
|
|
|
|
terminal = "kitty";
|
|
|
|
window = {
|
|
border = lib.mkDefault 2;
|
|
titlebar = false;
|
|
commands = [
|
|
{
|
|
command = "move position center #2116 46";
|
|
criteria = {class = "jetbrains-toolbox";};
|
|
}
|
|
{
|
|
command = "move scratchpad";
|
|
criteria = {
|
|
instance = "spotify";
|
|
window_type = "normal";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|