sketchybar stuff

This commit is contained in:
Natalie 2025-05-07 08:20:01 -07:00
parent fbad532ae9
commit 474cf9441e
No known key found for this signature in database
GPG key ID: 61F4EAEB0C9C3D5F
10 changed files with 169 additions and 106 deletions

2
.gitignore vendored
View file

@ -1 +1,3 @@
flake.lock
.DS_STORE
**/.DS_STORE

0
files/sketchybar/executable_colors.sh Normal file → Executable file
View file

View file

@ -1,76 +0,0 @@
#!/bin/sh
window_state() {
source "$HOME/.config/sketchybar/colors.sh"
source "$HOME/.config/sketchybar/icons.sh"
WINDOW=$(yabai -m query --windows --window)
CURRENT=$(echo "$WINDOW" | jq '.["stack-index"]')
args=()
if [[ $CURRENT -gt 0 ]]; then
LAST=$(yabai -m query --windows --window stack.last | jq '.["stack-index"]')
args+=(--set $NAME icon=$YABAI_STACK icon.color=$RED label.drawing=on label=$(printf "[%s/%s]" "$CURRENT" "$LAST"))
yabai -m config active_window_border_color $RED > /dev/null 2>&1 &
else
args+=(--set $NAME label.drawing=off)
case "$(echo "$WINDOW" | jq '.["is-floating"]')" in
"false")
if [ "$(echo "$WINDOW" | jq '.["has-fullscreen-zoom"]')" = "true" ]; then
args+=(--set $NAME icon=$YABAI_FULLSCREEN_ZOOM icon.color=$GREEN)
yabai -m config active_window_border_color $GREEN > /dev/null 2>&1 &
elif [ "$(echo "$WINDOW" | jq '.["has-parent-zoom"]')" = "true" ]; then
args+=(--set $NAME icon=$YABAI_PARENT_ZOOM icon.color=$BLUE)
yabai -m config active_window_border_color $BLUE > /dev/null 2>&1 &
else
args+=(--set $NAME icon=$YABAI_GRID icon.color=$ORANGE)
yabai -m config active_window_border_color $WHITE > /dev/null 2>&1 &
fi
;;
"true")
args+=(--set $NAME icon=$YABAI_FLOAT icon.color=$MAGENTA)
yabai -m config active_window_border_color $MAGENTA > /dev/null 2>&1 &
;;
esac
fi
sketchybar -m "${args[@]}"
}
windows_on_spaces () {
CURRENT_SPACES="$(yabai -m query --displays | jq -r '.[].spaces | @sh')"
args=()
while read -r line
do
for space in $line
do
icon_strip=" "
apps=$(yabai -m query --windows --space $space | jq -r ".[].app")
for app in $apps
do
icon_strip+=" $($HOME/.config/sketchybar/plugins/icon_map.sh "$app")"
done
args+=(--set space.$space label="$icon_strip" label.drawing=on)
done
done <<< "$CURRENT_SPACES"
sketchybar -m "${args[@]}"
}
mouse_clicked() {
yabai -m window --toggle float
update
}
case "$SENDER" in
"mouse.clicked") mouse_clicked
;;
"forced") exit 0
;;
"window_focus") window_state
;;
"windows_on_spaces") windows_on_spaces
;;
esac

View file

@ -1,5 +1,33 @@
{
"nodes": {
"apple-fonts": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"ny": "ny",
"sf-arabic": "sf-arabic",
"sf-armenian": "sf-armenian",
"sf-compact": "sf-compact",
"sf-georgian": "sf-georgian",
"sf-hebrew": "sf-hebrew",
"sf-mono": "sf-mono",
"sf-pro": "sf-pro"
},
"locked": {
"lastModified": 1740961576,
"narHash": "sha256-9L6d3owtajM72YvUOpK1zYle2nM0BpsuopbF9lm9lJs=",
"owner": "Lyndeno",
"repo": "apple-fonts.nix",
"rev": "4df58996ed654f6ce9b71b41c1826484c6870739",
"type": "github"
},
"original": {
"owner": "Lyndeno",
"repo": "apple-fonts.nix",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
@ -805,8 +833,21 @@
"type": "github"
}
},
"ny": {
"flake": false,
"locked": {
"narHash": "sha256-3257NAH4qlan2YHVLpNRy7x8IJqR2pal3OzFo/ykqXs=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
}
},
"root": {
"inputs": {
"apple-fonts": "apple-fonts",
"darwin": "darwin",
"home-manager": "home-manager",
"moonlight": "moonlight",
@ -864,6 +905,90 @@
"type": "github"
}
},
"sf-arabic": {
"flake": false,
"locked": {
"narHash": "sha256-/0gjRimqvZyE60xYxxPdlU+7Q2LJnnvtbmwOP0YmS9U=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
}
},
"sf-armenian": {
"flake": false,
"locked": {
"narHash": "sha256-rRoDkbNMYkzOHZmQm96Zv80TZvRlAeoxkv4pMHP5nUg=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Armenian.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Armenian.dmg"
}
},
"sf-compact": {
"flake": false,
"locked": {
"narHash": "sha256-J72Lyt2wy83E46wN8w6/Rih9kilM9wEjtY6KnbF0DsA=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
}
},
"sf-georgian": {
"flake": false,
"locked": {
"narHash": "sha256-IevVNOC28IiR45YfI3PsZzXLMRxuB5u7UiE53Zn6tRU=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Georgian.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Georgian.dmg"
}
},
"sf-hebrew": {
"flake": false,
"locked": {
"narHash": "sha256-Dw84kYwMpCtKKKqm8cZcQ9TZ7GayU5MO7W0LJw0Rcwk=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Hebrew.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Hebrew.dmg"
}
},
"sf-mono": {
"flake": false,
"locked": {
"narHash": "sha256-ICdHRFdNL7PM/fXJUzS7LgZxZiqcyIuCMHLze4En4vg=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
}
},
"sf-pro": {
"flake": false,
"locked": {
"narHash": "sha256-Q/pOQ4MGhW/ZtLka+UUQcwSoZFDWW34XvutxL4GvzUY=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
}
},
"stylix": {
"inputs": {
"base16": "base16",

View file

@ -13,6 +13,11 @@
inputs.nixpkgs.follows = "nixpkgs";
};
apple-fonts = {
url = "github:Lyndeno/apple-fonts.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";

View file

@ -22,6 +22,7 @@ _: {
"zulip"
"zen-browser"
"supertuxkart"
"sf-symbols"
"mediosz/tap/swipeaerospace"
];

View file

@ -110,7 +110,10 @@
up = "volume up";
shift-down = ["volume set 0" "mode main"];
};
after-startup-command = ["exec-and-forget sketchybar"];
after-startup-command = [
"exec-and-forget sketchybar"
"exec-and-forget open /Applications/SwipeAeroSpace.app"
];
exec-on-workspace-change = [
"/bin/bash"
"-c"

View file

@ -1,5 +1,11 @@
{pkgs, ...}: let
folder = "../../../files/sketchybar/";
{
pkgs,
config,
...
}: let
# folder = "${config.home.homeDirectory}.dotfiles/files/sketchybar";
# folder = "~/.dotfiles/files/sketchybar";
folder = ../../../files/sketchybar;
in {
home.file = {
sketchybarrc = {
@ -27,16 +33,16 @@ in {
# launchctl unload -F /System/Library/LaunchAgents/com.apple.OSDUIHelper.plist > /dev/null 2>&1 &
# Setting up the general bar appearance and default values
${pkgs.sketchybar}/bin/sketchybar --bar height=50 \
${pkgs.sketchybar}/bin/sketchybar --bar height=40 \
color=$BAR_COLOR \
shadow=off \
position=top \
sticky=on \
padding_right=7 \
padding_left=7 \
padding_right=0 \
padding_left=0 \
corner_radius=12 \
y_offset=20 \
margin=40 \
y_offset=0 \
margin=2 \
blur_radius=0 \
notch_width=0 \
--default updates=when_shown \
@ -83,7 +89,7 @@ in {
icons = {
executable = true;
target = ".config/sketchybar/icons.sh";
text = builtins.readFile "${folder}/executable_icons.sh";
source = folder + /icons.sh;
};
colors = {
executable = true;
@ -120,12 +126,12 @@ in {
items_apple = {
executable = true;
target = ".config/sketchybar/items/apple.sh";
text = builtins.readFile "${folder}/items/executable_apple.sh";
source = folder + /items/executable_apple.sh;
};
items_brew = {
executable = true;
target = ".config/sketchybar/items/brew.sh";
text = builtins.readFile "${folder}/items/executable_brew.sh";
source = folder + /items/executable_brew.sh;
};
items_calendar = {
executable = true;
@ -149,12 +155,12 @@ in {
items_cpu = {
executable = true;
target = ".config/sketchybar/items/cpu.sh";
text = builtins.readFile "${folder}/items/executable_cpu.sh";
source = folder + /items/executable_cpu.sh;
};
items_divider = {
executable = true;
target = ".config/sketchybar/items/divider.sh";
text = builtins.readFile "${folder}/items/executable_divider.sh";
source = folder + /items/executable_divider.sh;
};
items_front_app = {
executable = true;
@ -165,7 +171,7 @@ in {
sketchybar --add event window_focus \
--add event windows_on_spaces \
--add item system.aerospace left \
--set system.aerospace script="$PLUGIN_DIR/yabai.sh" \
--set system.aerospace script="$PLUGIN_DIR/aerospace.sh" \
icon.font="$FONT:Bold:16.0" \
label.drawing=off \
icon.width=30 \
@ -190,7 +196,7 @@ in {
items_github = {
executable = true;
target = ".config/sketchybar/items/github.sh";
text = builtins.readFile "${folder}/items/executable_github.sh";
source = folder + /items/executable_github.sh;
};
items_spaces = {
executable = true;
@ -216,7 +222,7 @@ in {
background.drawing=on \
script="$PLUGIN_DIR/aerospace.sh $sid" \
click_script="aerospace workspace $sid" \
label.font="JetBrainsMono Nerd Font:Regular:16.0" \
label.font="Iosevka Nerd Font:Regular:16.0" \
label.padding_right=33 \
label.background.height=26 \
label.background.drawing=on \
@ -225,7 +231,7 @@ in {
done
${pkgs.sketchybar}/bin/sketchybar --add item separator left \
--set separator icon= \
icon.font="JetBrainsMono Nerd Font:Regular:16.0" \
icon.font="Iosevka Nerd Font:Regular:16.0" \
background.padding_left=26 \
background.padding_right=15 \
label.drawing=off \
@ -236,7 +242,7 @@ in {
items_spotify = {
executable = true;
target = ".config/sketchybar/items/spotify.sh";
text = builtins.readFile "${folder}/items/executable_spotify.sh";
source = folder + /items/executable_spotify.sh;
};
items_volume = {
executable = true;
@ -277,32 +283,32 @@ in {
plugins_brew = {
executable = true;
target = ".config/sketchybar/plugins/brew.sh";
text = builtins.readFile "${folder}/plugins/executable_brew.sh";
source = folder + /plugins/executable_brew.sh;
};
plugins_calendar = {
executable = true;
target = ".config/sketchybar/plugins/calendar.sh";
text = builtins.readFile "${folder}/plugins/executable_calendar.sh";
source = folder + /plugins/executable_calendar.sh;
};
plugins_github = {
executable = true;
target = ".config/sketchybar/plugins/github.sh";
text = builtins.readFile "${folder}/plugins/executable_github.sh";
source = folder + /plugins/executable_github.sh;
};
plugins_icon_map = {
executable = true;
target = ".config/sketchybar/plugins/icon_map.sh";
text = builtins.readFile "${folder}/plugins/executable_icon_map.sh";
source = folder + /plugins/executable_icon_map.sh;
};
plugins_space = {
executable = true;
target = ".config/sketchybar/plugins/space.sh";
text = builtins.readFile "${folder}/plugins/executable_space.sh";
source = folder + /plugins/executable_space.sh;
};
plugins_spotify = {
executable = true;
target = ".config/sketchybar/plugins/spotify.sh";
text = builtins.readFile "${folder}/plugins/executable_spotify.sh";
source = folder + /plugins/executable_spotify.sh;
};
plugins_volume = {
executable = true;
@ -347,15 +353,10 @@ in {
fi
'';
};
plugins_yabai = {
executable = true;
target = ".config/sketchybar/plugins/yabai.sh";
text = builtins.readFile "${folder}/plugins/executable_yabai.sh";
};
plugins_zen = {
executable = true;
target = ".config/sketchybar/plugins/zen.sh";
text = builtins.readFile "${folder}/plugins/executable_zen.sh";
source = folder + /plugins/executable_zen.sh;
};
plugins_aerospace = {
executable = true;

View file

@ -1,4 +1,5 @@
{
inputs,
pkgs,
userSettings,
...
@ -13,6 +14,7 @@
iosevka
nerd-fonts.symbols-only
nerd-fonts.iosevka
inputs.apple-fonts.packages.${pkgs.system}.sf-pro
];
# Set your time zone.