Skip to content

TheGoldenPatrik1/sketchybar-config

Repository files navigation

SketchyBar Config

This repository is my personal configuration for SketchyBar, a macOS plugin to customize the top menu bar. My configuration is largely derived from and built upon this repository.

SketchyBar Config Appearance

Notable Enhancements

In addition to possessing all the features of the aforementioned configuration, this also offers the following improvements:

  • Battery Health information, displayed when the Battery Widget is clicked.
  • Redesigned Calendar Widget that takes up less space and opens Calendar when clicked.
  • Clipboard Widget that displays up to five of your last copied items. Clicking an item re-copies it.
  • Support for a JSON Configuration File to customize various aspects of the bar.
  • Improved Media Widget, with superior play/pause functionality.
  • Restart Widget to refresh SketchyBar; useful for development.
  • RAM Widget that displays the current RAM utilization, along with a graph.
  • Stock Widget that displays current stock trends, with 1D, 5D, and 1M data.
  • VPN Icon that displays on the Wifi Widget, when a connected to a VPN.
  • Weather Widget that displays current temperature and conditions, with a pop-up menu displaying semi-hourly forecast for the next two days.

Installation

  1. Install Homebrew.

  2. Install Luarocks:

brew install luarocks
  1. Install Lunajson:
sudo luarocks install lunajson
  1. Install yfinance.

  2. Run the following script, sourced from this repository:

sudo curl -L https://raw.githubusercontent.com/FelixKratz/dotfiles/master/install_sketchybar.sh | sh
  1. Run the following command to clone this repository and have it overwrite the SketchyBar configuration:
git clone https://github.com/TheGoldenPatrik1/sketchybar-config $HOME/.config/sketchybar
  1. Restart SketchyBar:
brew services restart sketchybar
  1. Go to "Settings" -> "Control Center" -> "Automatically hide and show the menu bar" and change its value to "Always."

Configuration

The default configuration values are defined in full here. You may overwrite any or all of them by creating a config.json file in the root directory of the project.

A note about the weather: The Weather Widget draws from wttr.in, which automatically determines your location based on IP address. However, their IP-to-location mapping mechanism is unreliable, especially when using a VPN. To recieve accurate location-based weather data, it may be advisable to configure one of the weather-related options below.

Name Type Default Description
calendar.click_script string open -a Calendar Script to run when the Calendar Widget gets clicked.
clipboard.max_items integer 5 Number of items to save in the Clipboard Widget.
font object helpers/default_font.lua Font configuration.
group_paddings integer 5 Padding used to separate groups in the bar.
hide_widgets array [] List of widget names that you want hidden from the bar.
icons string sf-symbols Icon library to use; other option is NerdFont.
paddings integer 3 Padding used throughout the bar.
python_command string python Command to use to run Python. The shell environment that SketchyBar uses to execute commands is a bit minimal, so you may need to specify an absolute path to your Python version of choice.
stocks.default_symbol object { "symbol": "^GSPC", "name": "S&P 500" } The default stock symbol to track and show on the Stock Widget.
stocks.symbols array [ {"symbol": "^DJI", "name": "Dow"}, {"symbol": "^IXIC", "name": "Nasdaq"}, {"symbol": "^RUT", "name": "Russell 2K"} ] Stock symbols to track and show on the Stock Widget's popup menu. For each item, you must provide a symbol but you do not have to provide a name.
weather.location string N/A Default location used to pass to wttr.in. You can use any data that wttr.in accepts, but, in the United States, best results are usually achieved with City+State where State is the full name of the state and not an abbrevation (e.g., Chicago+Illinois).
weather.use_shortcut boolean false Whether to try to run this simple shortcut find your location to pass to wttr.in. You must install the shortcut first.

About

My personal configuration for SketchyBar

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published