diff --git a/flake.nix b/flake.nix index 902a5a3..b1dc6ae 100755 --- a/flake.nix +++ b/flake.nix @@ -107,10 +107,10 @@ formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.nixfmt; # Build darwin flake using: # $ darwin-rebuild build --flake .#Youwens-MacBook-Pro - darwinConfigurations."Youwens-MacBook-Pro" = nix-darwin.lib.darwinSystem { + darwinConfigurations.phobos = nix-darwin.lib.darwinSystem { specialArgs = { inherit inputs; }; modules = [ - ./modules/darwin/darwin-configuration.nix + ./hosts/phobos home-manager.darwinModules.home-manager { home-manager.useGlobalPkgs = true; @@ -127,6 +127,7 @@ nix-homebrew.darwinModules.nix-homebrew ./modules/darwin/homebrew.nix ./modules/darwin/yabai.nix + ./modules/darwin/skhd.nix ]; }; }; diff --git a/modules/darwin/darwin-configuration.nix b/hosts/phobos/default.nix similarity index 100% rename from modules/darwin/darwin-configuration.nix rename to hosts/phobos/default.nix diff --git a/modules/darwin/skhd.nix b/modules/darwin/skhd.nix new file mode 100644 index 0000000..9cf1077 --- /dev/null +++ b/modules/darwin/skhd.nix @@ -0,0 +1,69 @@ +{ + services.skhd = { + enable = true; + skhdConfig = '' + # opens iTerm2 + alt - return : kitty + + # Navigation + alt - y : yabai -m window --focus west + alt - u : yabai -m window --focus south + alt - i : yabai -m window --focus north + alt - o : yabai -m window --focus east + + # Moving windows + shift + alt - y : yabai -m window --warp west + shift + alt - u : yabai -m window --warp south + shift + alt - i : yabai -m window --warp north + shift + alt - o : yabai -m window --warp east + + # Move focus container to workspace + shift + alt - m : yabai -m window --space last; yabai -m space --focus last + shift + alt - p : yabai -m window --space prev; yabai -m space --focus prev + shift + alt - n : yabai -m window --space next; yabai -m space --focus next + 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 + + # Resize windows + lctrl + alt - y : yabai -m window --resize left:-50:0; \ + yabai -m window --resize right:-50:0 + lctrl + alt - u : yabai -m window --resize bottom:0:50; \ + yabai -m window --resize top:0:50 + lctrl + alt - i : yabai -m window --resize top:0:-50; \ + yabai -m window --resize bottom:0:-50 + lctrl + alt - o : yabai -m window --resize right:50:0; \ + yabai -m window --resize left:50:0 + + # Equalize size of windows + lctrl + alt - e : yabai -m space --balance + + # Enable / Disable gaps in current workspace + lctrl + alt - g : yabai -m space --toggle padding; yabai -m space --toggle gap + + # Rotate windows clockwise and anticlockwise + alt - r : yabai -m space --rotate 270 + shift + alt - r : yabai -m space --rotate 90 + + # Rotate on X and Y Axis + shift + alt - x : yabai -m space --mirror x-axis + shift + alt - y : yabai -m space --mirror y-axis + + # Set insertion point for focused container + shift + lctrl + alt - h : yabai -m window --insert west + shift + lctrl + alt - j : yabai -m window --insert south + shift + lctrl + alt - k : yabai -m window --insert north + shift + lctrl + alt - l : yabai -m window --insert east + + # Float / Unfloat window + shift + alt - space : \ + yabai -m window --toggle float; \ + yabai -m window --toggle border + + # Make window native fullscreen + alt - f : yabai -m window --toggle zoom-fullscreen + shift + alt - f : yabai -m window --toggle native-fullscreen + ''; + }; +} diff --git a/modules/darwin/yabai.nix b/modules/darwin/yabai.nix index dae736f..d4dcbaf 100755 --- a/modules/darwin/yabai.nix +++ b/modules/darwin/yabai.nix @@ -21,10 +21,11 @@ mouse_drop_action = "swap"; }; }; - services.skhd = { enable = true; }; services.jankyborders = { enable = true; hidpi = true; + inactive_color = "gradient(top_right=0x9992B3F5,bottom_left=0x9992B3F5)"; + blur_radius = 5.0; }; } diff --git a/users/youwen/darwin/darwin-home.nix b/users/youwen/darwin/darwin-home.nix index e5dd989..d364e04 100755 --- a/users/youwen/darwin/darwin-home.nix +++ b/users/youwen/darwin/darwin-home.nix @@ -53,6 +53,22 @@ programs.bash.enable = true; programs.zsh.enable = true; + programs.kitty = { + enable = true; + theme = "Tokyo Night"; + font.name = "CaskaydiaCove Nerd Font"; + settings = { + font_size = 13; + window_padding_width = "8 8 0"; + confirm_os_window_close = -1; + shell_integration = "enabled"; + enable_audio_bell = "no"; + background_opacity = "0.8"; + hide_window_decorations = "titlebar-only"; + background_blur = 32; + }; + }; + # This value determines the home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new home Manager release introduces backwards diff --git a/users/youwen/linux/hyprland/laptop/default.nix b/users/youwen/linux/hyprland/laptop/default.nix index ca15dae..61765f7 100644 --- a/users/youwen/linux/hyprland/laptop/default.nix +++ b/users/youwen/linux/hyprland/laptop/default.nix @@ -1,6 +1,5 @@ -{ lib, ... }: -{ - imports = [ ../common.nix ]; +{ lib, ... }: { + imports = [ ../common.nix ]; wayland.windowManager.hyprland.settings.input.touchpad = { natural_scroll = true; disable_while_typing = true; diff --git a/users/youwen/linux/laptop/default.nix b/users/youwen/linux/laptop/default.nix index a1c714c..6becfb1 100644 --- a/users/youwen/linux/laptop/default.nix +++ b/users/youwen/linux/laptop/default.nix @@ -1,12 +1,6 @@ -{ pkgs, ... }: -{ - imports = [ - ../theming - ../home.nix - ../programs - ../hyprland/laptop - ../waybar/laptop - ]; +{ pkgs, ... }: { + imports = + [ ../theming ../home.nix ../programs ../hyprland/laptop ../waybar/laptop ]; # some overrides for laptop specifically programs.kitty.settings.font_size = pkgs.lib.mkForce 11;