Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image
SketchyBar Configuration
part of my dotfiles

Installation

curl -fsSL https://raw.githubusercontent.com/phucisstupid/sketchybar-config/main/install.sh | sh -s

Configuration

The default configuration is located in init.lua. To override or disable specific options, create a settings.lua file in the same directory. It will be automatically loaded after the defaults and merged.

Every configuration with their default value:
return {
  -- Global bar configuration
  window_manager = "macos_native", -- Options: "macos_native" or "aerospace"
  bar_preset = "default", -- Options: "default" (larger with border) or "compact" (minimal)

  -- Font configuration
  fonts = {
    icon = "Maple Mono NF",
    label = "Maple Mono NF",
    style_map = {
      ["Regular"] = "Regular",
      ["Semibold"] = "Medium",
      ["Bold"] = "Bold",
      ["Black"] = "ExtraBold",
    },
  },

  -- Spacing configuration
  spacing = {
    item_padding = 3,
    group_padding = 5,
    menu_padding = 6,
    workspace_padding = 10,
  },

  -- Module configuration
  modules = {
    -- Left side modules
    logo = { enabled = true },
    spaces = { enabled = true },
    menus = { enabled = true },
    front_app = { enabled = true },

    -- Right side modules
    calendar = { enabled = true },
    brew = { enabled = true },
    battery = { enabled = true, style = "both" }, -- Options: "icon", "text", or "both"
    wifi = { enabled = true, style = "both" }, -- Options: "icon", "text", or "both"
    bluetooth = { enabled = true, style = "icon" }, -- Options: "icon", "text", or "both" (only shows when Bluetooth is on)
    network = { enabled = true },
    volume = { enabled = true, style = "both" }, -- Options: "icon", "text", or "both"
    toggle_stats = { enabled = true },
    cpu = { enabled = true },
    memory = { enabled = true },
    music = { enabled = true },
  },

  -- Module-specific settings
  workspace = {
    label_style = "greek_uppercase", -- Options: "greek_uppercase", "greek_lowercase", or nil for numbers
  },

  music = {
    title_max_length = 15,
    default_artist = "Various Artists",
    default_album = "No Album",
  },

  network = {
    proxy_app = "FlClash", -- VPN/Proxy app name to detect
  },
}

Example

To change defaults, create ~/.config/sketchybar/settings.lua:

-- example settings.lua
return {
  bar_preset = "compact",
  window_manager = "aerospace",

  modules = {
    logo = { enabled = false },
    brew = { enabled = false },
    battery = {
      style = "text",
    },
  },
}

That's it — no need to modify init.lua. Your custom settings will be merged on load.


Structure

Left Items

Items Details
logo same as clicking the Apple icon
menus open macOS app menu
workspaces switch to that space
front app show app titles

Supported Window Managers:

  • macOS Native (default)
  • Aerospace

Right Items

Items Details
music show music controller (play/pause, next, previous, repeat/random.)
toggle stats show/hide system monitor (network, cpu, memory)
volume show volume slider and output device selector
wifi show wifi, IP and VPN status
battery show remaining time and percentage
homebrew stats show outdated packages
cal & time open Calendar.app

About

best sketchybar config you'll ever need

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages