The sketchybar configuration. Can be specified as:
- A string containing the configuration content directly
- An attribute set with 'source' pointing to a directory containing the full configuration, and optionally 'recursive = true' to recursively copy all files
- An attribute set with 'text' containing inline configuration
When using a string or 'text', the appropriate shebang will be automatically added based on configType (bash or lua).
When using a directory source, it should contain a file named "sketchybarrc" which serves as the main entry point.
Declarations
Type
null or strings concatenated with "\n" or (submodule)Default
nullExample
# String example - inline configuration
''
# Define colors
export COLOR_BLACK="0xff181926"
export COLOR_WHITE="0xffcad3f5"
# Configure bar
sketchybar --bar height=32 \
position=top \
padding_left=10 \
padding_right=10 \
color=$COLOR_BLACK
# Configure default values
sketchybar --default icon.font="SF Pro:Bold:14.0" \
icon.color=$COLOR_WHITE \
label.font="SF Pro:Bold:14.0" \
label.color=$COLOR_WHITE
# Add items to the bar
sketchybar --add item clock right \
--set clock script="date '+%H:%M'" \
update_freq=10
# Update the bar
sketchybar --update
''
# Or directory example - for complex configurations
# {
# source = ./path/to/sketchybar-config;
# recursive = true;
# }