modularise home conf
This commit is contained in:
parent
b07d950147
commit
4477d0d4a2
23 changed files with 1152 additions and 855 deletions
157
home/programs/sway.nix
Normal file
157
home/programs/sway.nix
Normal file
|
@ -0,0 +1,157 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config.wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
package = pkgs.sway;
|
||||
config = with pkgs.rice; {
|
||||
bars = [];
|
||||
# reintroduces flicker
|
||||
# output = {
|
||||
# "*" = {
|
||||
# adaptive_sync = "on";
|
||||
# };
|
||||
# };
|
||||
focus = {
|
||||
mouseWarping = "container";
|
||||
wrapping = "no";
|
||||
};
|
||||
fonts = with fonts; {
|
||||
names = [sans.name emoji.name];
|
||||
size = 10.0;
|
||||
};
|
||||
gaps = {
|
||||
inner = borders.gaps_in;
|
||||
outer = borders.gaps_out;
|
||||
smartGaps = true;
|
||||
smartBorders = "no_gaps";
|
||||
};
|
||||
window = {
|
||||
border = borders.thickness;
|
||||
hideEdgeBorders = "smart";
|
||||
titlebar = false;
|
||||
commands = [
|
||||
{
|
||||
command = "move scratchpad";
|
||||
criteria = {
|
||||
app_id = "org.keepassxc.KeePassXC";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
workspaceAutoBackAndForth = false;
|
||||
input = {
|
||||
"*" = {
|
||||
accel_profile = "flat";
|
||||
pointer_accel = "0.0";
|
||||
xkb_options = "caps:escape";
|
||||
};
|
||||
};
|
||||
startup = with pkgs; [
|
||||
{command = "${lib.getExe' keepassxc "keepassxc"}";}
|
||||
{command = "${lib.getExe' ckb-next "ckb-next"} -c -b";}
|
||||
{command = "${lib.getExe' mullvad "mullvad"} connect";}
|
||||
{command = "${lib.getExe' xorg.xrdb "xrdb"} -l ~/.Xresources";}
|
||||
{command = "${lib.getExe' flashfocus "flashfocus"} -o 0.95 -t 175 -n 30 --no-flash-fullscreen -l on_open_close";}
|
||||
{command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface gtk-theme '${rice.gtk-theme.name}'";}
|
||||
{command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface font-name '${rice.fonts.sans.name}'";}
|
||||
{command = "${lib.getExe' glib.bin "gsettings"} set org.gnome.desktop.interface icon-theme '${rice.icons.name}'";}
|
||||
];
|
||||
terminal = "kitty";
|
||||
modifier = "Mod4";
|
||||
keybindings = {
|
||||
"Mod4+Return" = "exec kitty";
|
||||
"Mod4+d" = "exec fuzzel";
|
||||
"Mod4+e" = "exec thunar";
|
||||
"Mod4+f" = "exec firefox";
|
||||
"Mod4+Shift+e" = "exec wlogout";
|
||||
"Mod4+Shift+s" = "exec grim -g \"$(slurp)\" -t png -o \"${config.home.homeDirectory}/Pictures/$(date +%F_%H-%m-%S).png\" && notify-send \"Screenshot taken.\"";
|
||||
"Mod4+Shift+Ctrl+s" = "exec kooha";
|
||||
"Mod4+n" = "exec swaync-client -t";
|
||||
"Mod4+Space" = "floating toggle; move absolute position center";
|
||||
"Mod4+c" = "focus floating; move absolute position center";
|
||||
"Mod4+Shift+Space" = "fullscreen toggle";
|
||||
"Mod4+a" = "focus parent";
|
||||
"Mod4+Shift+a" = "focus child";
|
||||
"Mod4+h" = "focus left";
|
||||
"Mod4+j" = "focus down";
|
||||
"Mod4+k" = "focus up";
|
||||
"Mod4+l" = "focus right";
|
||||
"Mod4+Shift+h" = "move left";
|
||||
"Mod4+Shift+j" = "move down";
|
||||
"Mod4+Shift+k" = "move up";
|
||||
"Mod4+Shift+l" = "move right";
|
||||
"Mod4+1" = "workspace 1";
|
||||
"Mod4+Shift+1" = "move container to workspace 1";
|
||||
"Mod4+2" = "workspace 2";
|
||||
"Mod4+Shift+2" = "move container to workspace 2";
|
||||
"Mod4+3" = "workspace 3";
|
||||
"Mod4+Shift+3" = "move container to workspace 3";
|
||||
"Mod4+4" = "workspace 4";
|
||||
"Mod4+Shift+4" = "move container to workspace 4";
|
||||
"Mod4+r" = "mode resize";
|
||||
"Mod4+Shift+minus" = "move scratchpad";
|
||||
"Mod4+minus" = "scratchpad show";
|
||||
"Mod4+Shift+q" = "kill";
|
||||
"Mod4+v" = "split toggle";
|
||||
"XF86AudioMute" = "exec swayosd --output-volume mute-toggle";
|
||||
"XF86AudioRaiseVolume" = "exec swayosd --output-volume raise";
|
||||
"XF86AudioLowerVolume" = "exec swayosd --output-volume lower";
|
||||
"XF86AudioStop" = "exec playerctl stop";
|
||||
"XF86AudioPlay" = "exec playerctl play-pause";
|
||||
"XF86AudioPrev" = "exec playerctl previous";
|
||||
"XF86AudioNext" = "exec playerctl next";
|
||||
"XF86MonBrightnessUp" = "exec swayosd --brightness raise";
|
||||
"XF86MonBrightnessDown" = "exec swayosd --brightness lower";
|
||||
};
|
||||
menu = "fuzzel";
|
||||
colors = with palette-hex; {
|
||||
background = util.bg;
|
||||
focused = {
|
||||
background = util.bg;
|
||||
border = bright.yellow;
|
||||
childBorder = bright.yellow;
|
||||
indicator = bright.yellow;
|
||||
text = util.fg;
|
||||
};
|
||||
focusedInactive = {
|
||||
background = normal.black;
|
||||
border = util.bg;
|
||||
childBorder = util.bg;
|
||||
indicator = util.bg;
|
||||
text = normal.white;
|
||||
};
|
||||
placeholder = {
|
||||
background = util.bg;
|
||||
border = bright.green;
|
||||
childBorder = bright.green;
|
||||
indicator = bright.green;
|
||||
text = util.fg;
|
||||
};
|
||||
unfocused = {
|
||||
background = normal.black;
|
||||
border = util.bg;
|
||||
childBorder = util.bg;
|
||||
indicator = util.bg;
|
||||
text = normal.white;
|
||||
};
|
||||
urgent = {
|
||||
background = normal.red;
|
||||
border = normal.red;
|
||||
childBorder = normal.red;
|
||||
indicator = normal.red;
|
||||
text = normal.blue;
|
||||
};
|
||||
};
|
||||
};
|
||||
systemd.enable = true;
|
||||
wrapperFeatures = {
|
||||
base = true;
|
||||
gtk = true;
|
||||
};
|
||||
xwayland = true;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue