dotfiles/etc/configs/i3.nix

138 lines
4.6 KiB
Nix
Raw Normal View History

{ pkgs, lib, ... }:
let
scripts = "~/.config/scripts";
in
{
2024-05-18 01:10:04 +02:00
environment.systemPackages = with pkgs; [
# for replay
xdotool
jq
];
2024-04-28 11:35:35 +02:00
home-manager.users.grape.xsession.windowManager.i3 = {
enable = true;
config = {
# disable i3 bar
bars = [ ];
# Starting compositor and adding background to xroot via nitrogen
startup = [
{
command = "nitrogen --set-zoom-fill /home/grape/Pictures/bg.jpg";
}
{
command = "picom -b --experimental-backends";
}
{
command = "polybar default";
}
{
command = "polybar bottom";
2024-04-28 11:35:35 +02:00
}
];
# defining alt as modifier
modifier = "Mod1";
gaps.inner = 12;
# TODO add colors from variables
# colors for focused windows
colors.focused = {
background = "#FAD000";
border = "#FAD000";
childBorder = "#FFF";
indicator = "#FAD000";
text = "#FAD000";
};
colors.focusedInactive = {
background = "#FAD000";
border = "#FAD000";
childBorder = "#FFF";
indicator = "#FAD000";
text = "#FAD000";
};
keybindings =
lib.mkOptionDefault
{
# application keybinds
"mod4+d" = "exec rofi -show drun";
"mod4+e" = "exec rofi -show calc";
"mod4+f" = "exec rofi -show emoji";
2024-04-28 11:35:35 +02:00
"mod4+t" = "exec alacritty";
"mod4+r" = "exec firefox";
2024-04-28 11:35:35 +02:00
# power off
"mod4+Shift+Delete" = "exec shutdown now";
# language settings
"mod4+1" = "exec setxkbmap us";
"mod4+2" = "exec setxkbmap hu";
2024-05-18 01:10:04 +02:00
# replay
"mod4+s" = "exec ${scripts}/replay_application_name.sh";
"mod4+w" = "exec ${scripts}/save_replay.sh";
"mod4+a" = "exec ${scripts}/start_replay.sh";
"mod4+x" = "exec ${scripts}/stop_replay.sh";
# timewarrior
"mod4+h" = "exec ${scripts}/timew_start.sh";
"mod4+j" = "exec timew stop";
"mod4+k" = "exec timew cancel";
"mod4+g" = "exec timew continue";
2024-05-28 18:01:55 +02:00
# picom
"mod4+o" = "exec ${scripts}/picom_opacity_toggle.sh"; # toggle opacity (some games have it by default due to incorrect configuration i cannot find )
2024-05-18 01:10:04 +02:00
2024-04-28 11:35:35 +02:00
# screenshot
# shit needs work
"Print" = "exec scrot '%Y-%m-%d_%H-%M-%S.png' -e 'mv $f ~/Pictures/screenshots && xclip -selection clipboard -t image/png -i ~/Pictures/screenshots/$f'";
"mod4+Print" = "exec scrot '%Y-%m-%d_%H-%M-%S.png' -e -u 'mv $f ~/Pictures/screenshots && xclip -selection clipboard -t image/png -i ~/Pictures/screenshots/$f'";
# select window to screenshot then saves it to /home/pictures/screenshots/date+random.png and copies to clipboard
"Shift+Print" = ''exec "NUM=$(echo $RANDOM) maim -s $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png ; cat $HOME/Pictures/screenshots/$(date +%Y%m%d_%H%M)$NUM.png | xclip -selection clipboard -t image/png"'';
# sticky window
"Mod1+Shift+s" = "sticky toggle";
2024-04-28 11:35:35 +02:00
# Volume adjustment for current player
"shift+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl volume 0.1+";
"shift+XF86AudioLowerVolume" = "exec --no-startup-id playerctl volume 0.1-";
# seeking for current player
"Control+XF86AudioRaiseVolume" = "exec --no-startup-id playerctl position 10+";
"Control+XF86AudioLowerVolume" = "exec --no-startup-id playerctl position 10-";
# track skipping n stuff
"XF86AudioNext" = "exec --no-startup-id playerctl next";
"XF86AudioPlay" = "exec --no-startup-id playerctl play-pause";
"XF86AudioPrev" = "exec --no-startup-id playerctl previous";
# adjusting system mvolume
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% ";
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
};
};
# disable stupid and ugly title bars
# and for some reason client.active doesnt change the colors...
extraConfig = ''
default_border pixel 4
default_floating_border pixel 1
client.focused #FAD000 #285577 #ffffff #FAD000 #FAD000
client.focused_inactive #063340 #141414 #000000 #121212 #063340
'';
2024-04-28 11:35:35 +02:00
};
}