1
0

Add kitty, skhd, and yabai configurations

This commit is contained in:
Jip J. Dekker 2023-12-11 22:53:45 +11:00
parent 81bb8b446a
commit 742b25a0af
10 changed files with 175 additions and 9 deletions

View File

@ -4,7 +4,6 @@
# Development Tools
"docker"
"fleet"
"kitty"
"minizincide"
"sublime-merge"
"vscodium"
@ -21,11 +20,9 @@
"alfred"
"mactex-no-gui"
"notion"
"skim"
# Browsers
"chromium"
"firefox"
# Fonts
"font-atkinson-hyperlegible"

49
darwin/config/skhdrc Normal file
View File

@ -0,0 +1,49 @@
# Open applications
alt - return : /Applications/kitty.app/Contents/MacOS/kitty --single-instance -d ~
# Focus display
alt - tab : yabai -m display --focus recent
# Focus window
alt - h : yabai -m window --focus west
alt - j : yabai -m window --focus south
alt - k : yabai -m window --focus north
alt - l : yabai -m window --focus east
alt - left : yabai -m window --focus west
alt - down : yabai -m window --focus south
alt - up : yabai -m window --focus north
alt - right : yabai -m window --focus east
# Swap window
shift + alt - h : yabai -m window --swap west
shift + alt - j : yabai -m window --swap south
shift + alt - k : yabai -m window --swap north
shift + alt - l : yabai -m window --swap east
shift + alt - left : yabai -m window --swap west
shift + alt - down : yabai -m window --swap south
shift + alt - up : yabai -m window --swap north
shift + alt - right : yabai -m window --swap east
# Move focus container to workspace
shift + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1
shift + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2
shift + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3
shift + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4
shift + alt - 5 : yabai -m window --space 5; yabai -m space --focus 5
shift + alt - 6 : yabai -m window --space 6; yabai -m space --focus 6
shift + alt - 7 : yabai -m window --space 7; yabai -m space --focus 7
shift + alt - 8 : yabai -m window --space 8; yabai -m space --focus 8
shift + alt - 9 : yabai -m window --space 9; yabai -m space --focus 9
shift + alt - 0 : yabai -m window --space 0; yabai -m space --focus 0
# Enable / Disable gaps in current workspace
lctrl + alt - g : yabai -m space --toggle padding; yabai -m space --toggle gap
# Float / Unfloat window
shift + alt - space : yabai -m window --toggle float;
# Make window native fullscreen
alt - f : yabai -m window --toggle zoom-fullscreen
shift + alt - f : yabai -m window --toggle native-fullscreen

20
darwin/config/yabairc Normal file
View File

@ -0,0 +1,20 @@
yabai -m config layout bsp
yabai -m config top_padding 4
yabai -m config bottom_padding 4
yabai -m config left_padding 4
yabai -m config right_padding 4
yabai -m config window_gap 4
yabai -m rule --add label="About This Mac" app="System Information" title="About This Mac" manage=off
yabai -m rule --add label="Activity Monitor" app="^Activity Monitor$" manage=off
yabai -m rule --add label="App Store" app="^App Store$" manage=off
yabai -m rule --add label="Calculator" app="^Calculator$" manage=off
yabai -m rule --add label="Dictionary" app="^Dictionary$" manage=off
yabai -m rule --add label="Digital Colour Meter" app="^Digital Colou?r Meter$" sticky=on
yabai -m rule --add label="Finder" app="^Finder$" title="(Co(py|nnect)|Move|Info|Pref)" manage=off
yabai -m rule --add label="Fork" app="^Fork$" manage=off sticky=on
yabai -m rule --add label="Safari" app="^Safari$" title="^(General|(Tab|Password|Website|Extension)s|AutoFill|Se(arch|curity)|Privacy|Advance)$" manage=off
yabai -m rule --add label="Software Update" title="Software Update" manage=off
yabai -m rule --add label="Sublime Merge" app="^Sublime Merge$" manage=off sticky=on
yabai -m rule --add label="System Preferences" app="^System Preferences$" title=".*" manage=off
yabai -m rule --add label="Tweetbot" app="^Tweetbot$" title=".*" manage=off

View File

@ -5,4 +5,12 @@ let
xdg_dataHome = "${config.users.users.${user}.home}/.local/share";
xdg_stateHome = "${config.users.users.${user}.home}/.local/state";
in
{ }
{
".config/skhd/skhdrc" = {
text = builtins.readFile ../darwin/config/skhdrc;
};
".config/yabai/yabairc" = {
text = builtins.readFile ../darwin/config/yabairc;
executable = true;
};
}

View File

@ -59,7 +59,9 @@ in
additionalFiles
];
home.stateVersion = "21.11";
programs = { } // import ../shared/home-manager.nix { inherit config pkgs lib; };
programs = {
skim.enable = true;
} // import ../shared/home-manager.nix { inherit config pkgs lib; };
};
};
}

View File

@ -11,11 +11,16 @@ in
enableNixpkgsReleaseCheck = false;
username = "${user}";
homeDirectory = "/home/${user}";
packages = pkgs.callPackage ./packages.nix { };
packages = // pkgs.callPackage ./packages.nix { };
file = shared-files // import ./files.nix { inherit user; };
stateVersion = "21.05";
};
programs = shared-programs // { };
programs = {
firefox = {
enable = true;
package = pkgs.firefox-bin;
};
} // shared-programs;
}

View File

@ -0,0 +1,46 @@
# vim:ft=kitty
## name: Night Owl
## author: Luke Glazebrook <lukeglazebrook@hey.com>
## license: MIT
foreground #d6deeb
background #011627
selection_foreground none
selection_background #1d3b53
#: Cursor colors
cursor #80a4c2
cursor_text_color background
#: The basic 16 colors
#: black
color0 #011627
color8 #575656
#: red
color1 #ef5350
color9 #ef5350
#: green
color2 #22da6e
color10 #22da6e
#: yellow
color3 #addb67
color11 #ffeb95
#: blue
color4 #82aaff
color12 #82aaff
#: magenta
color5 #c792ea
color13 #c792ea
#: cyan
color6 #21c7a8
color14 #7fdbca
#: white
color7 #ffffff
color15 #ffffff

View File

@ -1,3 +1,9 @@
{ pkgs, config, ... }:
{ }
{
".config/kitty/themes/night-owl.conf" = {
text = builtins.readFile ../shared/config/kitty/night-owl.conf;
};
}

View File

@ -7,6 +7,21 @@ let
in
{
bat.enable = true;
direnv = {
enable = true;
enableNushellIntegration = true;
nix-direnv.enable = true;
};
gh = {
enable = true;
settings = {
git_protocol = "ssh";
};
};
git = {
enable = true;
aliases = {
@ -49,6 +64,20 @@ in
};
};
kitty = {
enable = true;
font = {
name = "Iosevka Term";
size = 14;
};
settings = {
cursor_shape = "underline";
confirm_os_window_close = 0;
shell = "nu";
};
theme = "Night Owl";
};
# Shared shell configuration
nushell = {
enable = true;
@ -132,4 +161,9 @@ in
enable = true;
enableNushellIntegration = true;
};
vscode = {
enable = false;
package = pkgs.vscodium;
};
}

View File

@ -16,7 +16,6 @@ with pkgs; [
gnupg
# Text and terminal utilities
bat
neovim
zoxide