Added: yabai, skhd, openscad-nvim, some programs, sketchybar; WIP: Sketchybar, needs widgets

This commit is contained in:
2025-12-29 23:56:45 +01:00
parent 4421aa7335
commit de5c0feaa3
13 changed files with 272 additions and 122 deletions

105
darwin/yabai.nix Normal file
View File

@@ -0,0 +1,105 @@
{ pkgs, ... }: {
services = {
yabai = {
enable = true;
config = {
external_bar = "main:40:0";
menubar_opacity = 1.0;
mouse_follows_focus = "on";
focus_follows_mouse = "on";
display_arrangement_order = "default";
window_origin_display = "default";
window_placement = "second_child";
window_insertion_point = "focused";
window_zoom_persist = "on";
window_shadow = "off";
window_animation_duration = 0.0;
window_animation_easing = "ease_out_circ";
window_opacity_duration = 0.0;
active_window_opacity = 1.0;
normal_window_opacity = 0.9;
window_opacity = "off";
insert_feedback_color = "0xffd75f5f";
split_ratio = 0.5;
split_type = "auto";
auto_balance = "off";
top_padding = 2;
bottom_padding = 2;
left_padding = 2;
right_padding = 2;
window_gap = 2;
layout = "bsp";
mouse_modifier = "fn";
mouse_action1 = "move";
mouse_action2 = "resize";
mouse_drop_action = "swap";
};
};
skhd = {
enable = true;
skhdConfig = ''
# Application Bindings
cmd - q : open -a kitty
cmd - e : ${pkgs.kitty}/bin/kitty yazi
cmd - o : open -a "Obsidian"
cmd - i : open -a "Floorp"
cmd - g : open -a "Mail"
# Window Management (using yabai if installed, otherwise basic macOS)
cmd + shift - c : yabai -m window --close || osascript -e 'tell application "System Events" to keystroke "w" using command down'
cmd + shift - v : yabai -m window --toggle float
# Focus windows (vim-like)
cmd - left : yabai -m window --focus west
cmd - right : yabai -m window --focus east
cmd - up : yabai -m window --focus north
cmd - down : yabai -m window --focus south
# Move windows to spaces (workspaces)
cmd + shift - 1 : yabai -m window --space 1
cmd + shift - 2 : yabai -m window --space 2
cmd + shift - 3 : yabai -m window --space 3
cmd + shift - 4 : yabai -m window --space 4
cmd + shift - 5 : yabai -m window --space 5
cmd + shift - 6 : yabai -m window --space 6
cmd + shift - 7 : yabai -m window --space 7
cmd + shift - 8 : yabai -m window --space 8
cmd + shift - 9 : yabai -m window --space 9
cmd + shift - 0 : yabai -m window --space 10
# Switch to spaces (workspaces)
cmd - 1 : yabai -m space --focus 1
cmd - 2 : yabai -m space --focus 2
cmd - 3 : yabai -m space --focus 3
cmd - 4 : yabai -m space --focus 4
cmd - 5 : yabai -m space --focus 5
cmd - 6 : yabai -m space --focus 6
cmd - 7 : yabai -m space --focus 7
cmd - 8 : yabai -m space --focus 8
cmd - 9 : yabai -m space --focus 9
cmd - 0 : yabai -m space --focus 10
# Screenshot (macOS native)
cmd - z : screencapture -i ~/Pictures/Screenshots/$(date +%s).png
cmd - u : screencapture ~/Pictures/Screenshots/$(date +%s).png
# Launcher (using Raycast or Spotlight as Rofi alternative)
cmd - r : open -a "Raycast" || osascript -e 'tell application "System Events" to keystroke space using command down'
# Lock screen
cmd - m : pmset displaysleepnow
# Toggle layout (if using yabai)
cmd - j : yabai -m space --layout $(yabai -m query --spaces --space | jq -r 'if .type == "bsp" then "float" else "bsp" end')
cmd - p : yabai -m window --toggle split
# Reload skhd config
cmd + shift - r : skhd --reload
'';
};
};
}