added mac and nvim config, i should probs add screenshots at some point

main
gallant 3 months ago
parent 0a71517682
commit 1b9762ff5e

@ -0,0 +1 @@
This requires nvchad to be install and be dropped in for nvchad install, see here: PLACEHOLDER

@ -0,0 +1,32 @@
-- Just an example, supposed to be placed in /lua/custom/
local M = {}
-- make sure you maintain the structure of `core/default_config.lua` here,
-- example of changing theme:
M.ui = {
theme = "rxyhn",
}
M.plugins = {
["glepnir/dashboard-nvim"] = {
disable = false,
config = function()
require "custom.dash"
end
},
['folke/which-key.nvim'] = {disable = false},
['goolord/alpha-nvim'] = {disable = true},
['kylechui/nvim-surround'] = {
tag = "*",
config = function()
require("nvim-surround").setup({
})
end
},
}
return M

@ -0,0 +1,51 @@
local present, db = pcall(require, "dashboard")
local home = os.getenv('HOME')
if present then
db.custom_header = {
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⠁⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠚⠁⠀⠀⠈⠉⠙⠒⠢⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⡿⢻⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣆⠀⠀⠀⠀⢀⣀⣤⣶⣿⣿⣿⠿⠛⣡⠶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡳⣤⣴⣾⣿⣿⣿⠿⠟⠋⢀⡤⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⡀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣠⣤⣴⣾⣿⣿⣮⢻⡟⠋⠉⠀⠀⢀⣴⣋⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⢿⣿⡟⠀⠀⠸⣆⠀⣠⣦⣄⢀⠰⡱⢸⢼⣿⣿⠿⠿⠛⠋⠉⠀⠘⣏⠀⢀⠴⠊⠼⠿⠿⠿⠿⢻⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⠀⢀⡀⣸⣾⣟⣝⠻⣷⣕⠈⠁⠈⠀⢠⣤⣤⣤⣤⣤⣤⣤⣬⣷⡅⠀⠀⠀⠀⠀⠀⢠⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⣿⣄⠲⠿⠏⢾⡿⠋⠻⣇⠀⠙⢿⣦⡀⠀⠀⠈⠛⠛⠛⣋⡭⠉⠛⠛⠛⠛⡆⠀⠀⠀⢀⣴⡟⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⡿⠋⠀⠈⠻⣷⣄⠀⠀⠁⠀⠀⠑⢅⠀⠀⠹⣿⠆⠀⠀⢀⠴⠚⠁⠀⠀⠀⠀⠀⠀⢸⣀⣤⣶⠿⠋⠀⠈⢻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀",
"⠀⠀⠀⠀⠀⡀⠄⠒⠀⠛⠁⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠢⣄⠀⠀⢀⠤⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⠋⠁⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠠⠀⠁⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠶⢊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⠚⠁⠀⠈⠱⣄⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠖⠉⠀⠀⠀⠀⠀⠀⠈⠲⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠢⡀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠐⠐⠦⢤⣤⣀⣀⡤⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
}
db.custom_center = {
{icon = '',
desc = 'Recently opened files NOTWORKING ',
action = 'DashboardFindHistory',
shortcut = 'SPC f h'},
{icon = '',
desc = 'Find File ',
action = 'Telescope find_files find_command=rg,--hidden,--files',
shortcut = 'SPC f f'},
{icon = '',
desc = 'File Browser NOTWORKING ',
action = 'Telescope file_browser',
shortcut = 'SPC f b'},
{icon = '',
desc = 'Find word ',
action = 'Telescope live_grep',
shortcut = 'SPC f w'},
{icon = '',
desc = 'Open Personal dotfiles ',
action = 'Telescope fd search_dirs=' .. home ..'/.config',
shortcut = 'SPC f d'},
}
end

@ -0,0 +1,124 @@
local colorList = {
"#DF5B61",
"#78B892",
"#DE8F78",
"#6791C9",
"#BC83E3",
"#67AFC1",
"#F16269",
"#8CD7AA",
"#E9967E",
"#79AAEB",
"#C488EC",
"#7ACFE4",
}
local num = math.random(0,12)
val = {
" * ",
" &*/ ",
" % %*** ",
" * ( & ***** ",
" / ( * ******/ ",
" # * /******** ",
" & & ******** ** ",
" % *********/ ** ",
" & /******/**/ %*( ",
" ********* & ** %**********/ **%********* ",
" *** *********/ *********,** **/ ",
" ***********/ # *** (*# ****( ",
" #***/ *** %& *** %*/ /*** *** ",
" // %& ** ",
"/ / /*/ % & & ",
" #*( /*/ ",
" & ** % ",
" % */ # & % ",
" *# ",
" /& & ",
" ## ",
" / ",
},
' ⠀⠀⠀⠀⠀⠀⠀⡴⠞⠉⢉⣭⣿⣿⠿⣳⣤⠴⠖⠛⣛⣿⣿⡷⠖⣶⣤⡀⠀⠀⠀ ',
' ⠀⠀⠀⠀⠀⠀⠀⣼⠁⢀⣶⢻⡟⠿⠋⣴⠿⢻⣧⡴⠟⠋⠿⠛⠠⠾⢛⣵⣿⠀⠀⠀⠀ ',
' ⣼⣿⡿⢶⣄⠀⢀⡇⢀⡿⠁⠈⠀⠀⣀⣉⣀⠘⣿⠀⠀⣀⣀⠀⠀⠀⠛⡹⠋⠀⠀⠀⠀ ',
' ⣭⣤⡈⢑⣼⣻⣿⣧⡌⠁⠀⢀⣴⠟⠋⠉⠉⠛⣿⣴⠟⠋⠙⠻⣦⡰⣞⠁⢀⣤⣦⣤⠀ ',
' ⠀⠀⣰⢫⣾⠋⣽⠟⠑⠛⢠⡟⠁⠀⠀⠀⠀⠀⠈⢻⡄⠀⠀⠀⠘⣷⡈⠻⣍⠤⢤⣌⣀ ',
' ⢀⡞⣡⡌⠁⠀⠀⠀⠀⢀⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⢿⡀⠀⠀⠀⠸⣇⠀⢾⣷⢤⣬⣉ ',
' ⡞⣼⣿⣤⣄⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⣿⠀⠸⣿⣇⠈⠻ ',
' ⢰⣿⡿⢹⠃⠀⣠⠤⠶⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⠀⠀⠀⠀⣿⠀⠀⣿⠛⡄⠀ ',
' ⠈⠉⠁⠀⠀⠀⡟⡀⠀⠈⡗⠲⠶⠦⢤⣤⣤⣄⣀⣀⣸⣧⣤⣤⠤⠤⣿⣀⡀⠉⣼⡇⠀ ',
' ⣿⣴⣴⡆⠀⠀⠻⣄⠀⠀⠡⠀⠀⠀⠈⠛⠋⠀⠀⠀⡈⠀⠻⠟⠀⢀⠋⠉⠙⢷⡿⡇⠀ ',
' ⣻⡿⠏⠁⠀⠀⢠⡟⠀⠀⠀⠣⡀⠀⠀⠀⠀⠀⢀⣄⠀⠀⠀⠀⢀⠈⠀⢀⣀⡾⣴⠃⠀ ',
' ⢿⠛⠀⠀⠀⠀⢸⠁⠀⠀⠀⠀⠈⠢⠄⣀⠠⠼⣁⠀⡱⠤⠤⠐⠁⠀⠀⣸⠋⢻⡟⠀⠀ ',
' ⠈⢧⣀⣤⣶⡄⠘⣆⠀⠀⠀⠀⠀⠀⠀⢀⣤⠖⠛⠻⣄⠀⠀⠀⢀⣠⡾⠋⢀⡞⠀⠀⠀ ',
' ⠀⠀⠻⣿⣿⡇⠀⠈⠓⢦⣤⣤⣤⡤⠞⠉⠀⠀⠀⠀⠈⠛⠒⠚⢩⡅⣠⡴⠋⠀⠀⠀⠀ ',
' ⠀⠀⠀⠈⠻⢧⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣻⠿⠋⠀⠀⠀⠀⠀⠀ ',
' ⠀⠀⠀⠀⠀⠀⠉⠓⠶⣤⣄⣀⡀⠀⠀⠀⠀⠀⢀⣀⣠⡴⠖⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ',
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⠁⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠚⠁⠀⠀⠈⠉⠙⠒⠢⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⡿⢻⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣆⠀⠀⠀⠀⢀⣀⣤⣶⣿⣿⣿⠿⠛⣡⠶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡳⣤⣴⣾⣿⣿⣿⠿⠟⠋⢀⡤⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⡀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣠⣤⣴⣾⣿⣿⣮⢻⡟⠋⠉⠀⠀⢀⣴⣋⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⢿⣿⡟⠀⠀⠸⣆⠀⣠⣦⣄⢀⠰⡱⢸⢼⣿⣿⠿⠿⠛⠋⠉⠀⠘⣏⠀⢀⠴⠊⠼⠿⠿⠿⠿⢻⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⠀⢀⡀⣸⣾⣟⣝⠻⣷⣕⠈⠁⠈⠀⢠⣤⣤⣤⣤⣤⣤⣤⣬⣷⡅⠀⠀⠀⠀⠀⠀⢠⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⣿⣄⠲⠿⠏⢾⡿⠋⠻⣇⠀⠙⢿⣦⡀⠀⠀⠈⠛⠛⠛⣋⡭⠉⠛⠛⠛⠛⡆⠀⠀⠀⢀⣴⡟⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⡿⠋⠀⠈⠻⣷⣄⠀⠀⠁⠀⠀⠑⢅⠀⠀⠹⣿⠆⠀⠀⢀⠴⠚⠁⠀⠀⠀⠀⠀⠀⢸⣀⣤⣶⠿⠋⠀⠈⢻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀",
"⠀⠀⠀⠀⠀⡀⠄⠒⠀⠛⠁⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠢⣄⠀⠀⢀⠤⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⠋⠁⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠠⠀⠁⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠶⢊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⠚⠁⠀⠈⠱⣄⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠖⠉⠀⠀⠀⠀⠀⠀⠈⠲⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠢⡀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠐⠐⠦⢤⣤⣀⣀⡤⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
"⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⠁⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⡀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⡿⠋⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠚⠁⠀⠀⠈⠉⠙⠒⠢⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⡿⢻⠿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣆⠀⠀⠀⠀⢀⣀⣤⣶⣿⣿⣿⠿⠛⣡⠶⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡳⣤⣴⣾⣿⣿⣿⠿⠟⠋⢀⡤⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⡀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢀⣠⣤⣴⣾⣿⣿⣮⢻⡟⠋⠉⠀⠀⢀⣴⣋⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⠿⠿⠿⢿⣿⡟⠀⠀⠸⣆⠀⣠⣦⣄⢀⠰⡱⢸⢼⣿⣿⠿⠿⠛⠋⠉⠀⠘⣏⠀⢀⠴⠊⠼⠿⠿⠿⠿⢻⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⠏⠀⠀⢀⡀⣸⣾⣟⣝⠻⣷⣕⠈⠁⠈⠀⢠⣤⣤⣤⣤⣤⣤⣤⣬⣷⡅⠀⠀⠀⠀⠀⠀⢠⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡿⣿⣄⠲⠿⠏⢾⡿⠋⠻⣇⠀⠙⢿⣦⡀⠀⠀⠈⠛⠛⠛⣋⡭⠉⠛⠛⠛⠛⡆⠀⠀⠀⢀⣴⡟⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⡿⠋⠀⠈⠻⣷⣄⠀⠀⠁⠀⠀⠑⢅⠀⠀⠹⣿⠆⠀⠀⢀⠴⠚⠁⠀⠀⠀⠀⠀⠀⢸⣀⣤⣶⠿⠋⠀⠈⢻⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀
⠀⠀⠀⠀⠀⡀⠄⠒⠀⠛⠁⠀⠀⠀⠀⠀⠘⠁⠀⠀⠀⠀⠀⠀⠀⠢⣄⠀⠀⢀⠤⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⠋⠁⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠠⠀⠁⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⠶⢊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⠚⠁⠀⠈⠱⣄⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠖⠉⠀⠀⠀⠀⠀⠀⠈⠲⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠢⡀⠀⠀⠀⠀⠀⠀⠀⢀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠖⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠐⠐⠦⢤⣤⣀⣀⡤⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⡿⣫⣾⠏⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⢀⣀⣀⣀⣀⠄⠄⠄⠄⠄⠄⠀
⣿⡇⠱⠉⠁⠄⠄⠄⠄⠄⠄⢀⣀⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣦⠄⠄⠄⠄⠄⠀
⣿⡇⠄⠄⠄⠄⠄⢀⣠⣛⡩⣩⣭⡹⣿⣿⣿⣿⠞⣛⣛⣛⡲⣿⡇⠄⠄⠄⠄⠀
⣿⡇⠄⠄⠄⡾⣡⣾⣿⣷⣹⣿⣿⡿⣪⡻⠟⣱⣿⣿⣿⣿⣿⣷⡹⠄⠄⠄⠄⠀
⣿⡇⠄⠄⣼⡇⣿⣻⣿⠟⡛⢿⣿⣾⣿⡇⢰⣍⢻⡿⠛⢿⣿⡭⣿⣷⠄⠄⠄⠀
⣿⣧⣄⡀⣿⡇⣮⣽⣿⣮⣉⣾⣿⣿⣿⣇⡸⣿⣿⣆⠛⣰⣿⣾⡿⣿⠄⠄⠄⠀
⣿⣇⡼⣄⣿⣿⡄⠙⢿⣏⣿⣿⡮⠁⣉⣾⣷⡈⠃⢿⣿⣬⡭⠝⣀⣿⠄⠄⠐⠀
⡆⡇⣹⣿⣿⣿⣿⡿⠓⠛⣉⣉⣉⣉⣙⣛⠓⠾⣟⢿⣿⣿⣿⣿⣿⣿⣿⠇⠄⠙
⠁⡇⣞⣿⡿⠋⠁⠄⠄⠈⠉⠙⠛⠛⠻⠿⠿⠿⣶⣌⠻⣿⣿⣿⣿⣿⢗⢴⣆⢣
⠸⣇⡻⠈⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⢻⣷⡌⢿⣿⣿⣿⢸⠼⣣⣾
⣦⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⢀⠄⠄⠄⠄⠄⠄⠄⠄⠙⠛⠈⣿⡫⡼⢠⣾⣿⣿
⣿⣇⠄⣀⣠⡀⠄⠄⠴⠾⠿⠿⠶⠶⣦⣤⡀⠄⠄⠄⠄⠄⠄⢨⠯⢁⣿⣿⣿⣿
⣿⣿⣦⢒⠤⣅⡶⣶⣶⣾⣿⣿⣿⣷⣶⣮⣍⠢⠄⠄⠄⠄⠄⠐⢠⣾⣿⣿⣿⣿
⣿⣿⣿⣧⡐⠫⣉⡿⣬⡞⢿⣿⢯⠽⣶⡽⢟⣛⢖⣨⣛⠛⢃⣴⣿⣿⣿⣿⣿⣿

@ -0,0 +1,57 @@
#!/usr/bin/env sh
# the scripting-addition must be loaded manually if
# you are running yabai on macOS Big Sur. Uncomment
# the following line to have the injection performed
# when the config is executed during startup.
#
# for this to work you must configure sudo such that
# it will be able to run the command without password
#
# see this wiki page for information:
# - https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)
#
sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
# global settings
yabai -m config mouse_follows_focus off
yabai -m config focus_follows_mouse autoraise
yabai -m config window_origin_display default
yabai -m config window_placement second_child
yabai -m config window_topmost off
yabai -m config window_shadow on
yabai -m config window_opacity off
yabai -m config window_opacity_duration 0.0
yabai -m config active_window_opacity 1.0
yabai -m config normal_window_opacity 0.90
yabai -m config window_border off
yabai -m config window_border_width 6
yabai -m config active_window_border_color 0xff775759
yabai -m config normal_window_border_color 0xff555555
yabai -m config insert_feedback_color 0xffd75f5f
yabai -m config split_ratio 0.50
yabai -m config auto_balance off
yabai -m config mouse_modifier fn
yabai -m config mouse_action1 move
yabai -m config mouse_action2 resize
yabai -m config mouse_drop_action swap
# general space settings
yabai -m config layout bsp
yabai -m config top_padding 12
yabai -m config bottom_padding 12
yabai -m config left_padding 12
yabai -m config right_padding 12
yabai -m config window_gap 06
yabai -m config external_bar all:42:0
yabai -m signal --add event=space_changed \
action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"yabar-workspace-jsx\"'"
yabai -m signal --add event=display_changed \
action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"yabar-workspace-jsx\"'"
yabai -m signal --add event=application_front_switched \
action="osascript -e 'tell application \"Übersicht\" to refresh widget id \"yabar-workspace-jsx\"'"
echo "yabai configuration loaded.."
yabai -m rule --add title="^quake$" manage=off

@ -0,0 +1,115 @@
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH:$HOME/.yarn/bin/:$HOME/.local/bin:$HOME/.emacs.d/bin:$HOME/.cargo/bin
export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/library
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="robbyrussell"
ZSH_DISABLE_COMPFIX="true"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup
# plugins=(git zsh-autosuggestions)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
plugins=(zsh_codex)
zle -N create_completion
bindkey '^X' create_completion
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
export EDITOR='emacs -nw'
#alias discord='discord --no-sandbox'
#alias em='emacs -nw'
#alias ssh="kitty +kitten ssh"
#alias icat="kitty +kitten icat"
alias cat="bat"
alias ls='lsd -A'
alias uploadsc='(cd ~/Pictures/ScreenshotsSHORTCUT && exec pb $(ls -Art | tail -n 1))'
alias connectssh='shuttle -HN --dns -r gallant@35.188.39.50'
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh

@ -0,0 +1,3 @@
gonna be honest here, i just copy and pasted here, if it doesn't work then make a issue please
for ease of access, i just decided to put my `ls /fontfolder/` here to make searching for the fonts easier

@ -0,0 +1,231 @@
all-the-icons.ttf
azuki.ttf
azukiB.ttf
azukiP.ttf
Blex Mono Bold Italic Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Bold Italic Nerd Font Complete Mono.ttf
Blex Mono Bold Italic Nerd Font Complete Windows Compatible.ttf
Blex Mono Bold Italic Nerd Font Complete.ttf
Blex Mono Bold Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Bold Nerd Font Complete Mono.ttf
Blex Mono Bold Nerd Font Complete Windows Compatible.ttf
Blex Mono Bold Nerd Font Complete.ttf
Blex Mono ExtraLight Italic Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono ExtraLight Italic Nerd Font Complete Mono.ttf
Blex Mono ExtraLight Italic Nerd Font Complete Windows Compatible.ttf
Blex Mono ExtraLight Italic Nerd Font Complete.ttf
Blex Mono ExtraLight Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono ExtraLight Nerd Font Complete Mono.ttf
Blex Mono ExtraLight Nerd Font Complete Windows Compatible.ttf
Blex Mono ExtraLight Nerd Font Complete.ttf
Blex Mono Italic Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Italic Nerd Font Complete Mono.ttf
Blex Mono Italic Nerd Font Complete Windows Compatible.ttf
Blex Mono Italic Nerd Font Complete.ttf
Blex Mono Light Italic Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Light Italic Nerd Font Complete Mono.ttf
Blex Mono Light Italic Nerd Font Complete Windows Compatible.ttf
Blex Mono Light Italic Nerd Font Complete.ttf
Blex Mono Light Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Light Nerd Font Complete Mono.ttf
Blex Mono Light Nerd Font Complete Windows Compatible.ttf
Blex Mono Light Nerd Font Complete.ttf
Blex Mono Medium Italic Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Medium Italic Nerd Font Complete Mono.ttf
Blex Mono Medium Italic Nerd Font Complete Windows Compatible.ttf
Blex Mono Medium Italic Nerd Font Complete.ttf
Blex Mono Medium Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Medium Nerd Font Complete Mono.ttf
Blex Mono Medium Nerd Font Complete Windows Compatible.ttf
Blex Mono Medium Nerd Font Complete.ttf
Blex Mono Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Nerd Font Complete Mono.ttf
Blex Mono Nerd Font Complete Windows Compatible.ttf
Blex Mono Nerd Font Complete.ttf
Blex Mono SemiBold Italic Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono SemiBold Italic Nerd Font Complete Mono.ttf
Blex Mono SemiBold Italic Nerd Font Complete Windows Compatible.ttf
Blex Mono SemiBold Italic Nerd Font Complete.ttf
Blex Mono SemiBold Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono SemiBold Nerd Font Complete Mono.ttf
Blex Mono SemiBold Nerd Font Complete Windows Compatible.ttf
Blex Mono SemiBold Nerd Font Complete.ttf
Blex Mono Text Italic Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Text Italic Nerd Font Complete Mono.ttf
Blex Mono Text Italic Nerd Font Complete Windows Compatible.ttf
Blex Mono Text Italic Nerd Font Complete.ttf
Blex Mono Text Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Text Nerd Font Complete Mono.ttf
Blex Mono Text Nerd Font Complete Windows Compatible.ttf
Blex Mono Text Nerd Font Complete.ttf
Blex Mono Thin Italic Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Thin Italic Nerd Font Complete Mono.ttf
Blex Mono Thin Italic Nerd Font Complete Windows Compatible.ttf
Blex Mono Thin Italic Nerd Font Complete.ttf
Blex Mono Thin Nerd Font Complete Mono Windows Compatible.ttf
Blex Mono Thin Nerd Font Complete Mono.ttf
Blex Mono Thin Nerd Font Complete Windows Compatible.ttf
Blex Mono Thin Nerd Font Complete.ttf
encodings.dir
file-icons.ttf
Fira Code Bold Nerd Font Complete Mono Windows Compatible.ttf
Fira Code Bold Nerd Font Complete Mono.ttf
Fira Code Bold Nerd Font Complete Windows Compatible.ttf
Fira Code Bold Nerd Font Complete.ttf
Fira Code Light Nerd Font Complete Mono Windows Compatible.ttf
Fira Code Light Nerd Font Complete Mono.ttf
Fira Code Light Nerd Font Complete Windows Compatible.ttf
Fira Code Light Nerd Font Complete.ttf
Fira Code Medium Nerd Font Complete Mono Windows Compatible.ttf
Fira Code Medium Nerd Font Complete Mono.ttf
Fira Code Medium Nerd Font Complete Windows Compatible.ttf
Fira Code Medium Nerd Font Complete.ttf
Fira Code Regular Nerd Font Complete Mono Windows Compatible.ttf
Fira Code Regular Nerd Font Complete Mono.ttf
Fira Code Regular Nerd Font Complete Windows Compatible.ttf
Fira Code Regular Nerd Font Complete.ttf
Fira Code Retina Nerd Font Complete Mono Windows Compatible.ttf
Fira Code Retina Nerd Font Complete Mono.ttf
Fira Code Retina Nerd Font Complete Windows Compatible.ttf
Fira Code Retina Nerd Font Complete.ttf
Fira Code SemiBold Nerd Font Complete Mono Windows Compatible.ttf
Fira Code SemiBold Nerd Font Complete Mono.ttf
Fira Code SemiBold Nerd Font Complete Windows Compatible.ttf
Fira Code SemiBold Nerd Font Complete.ttf
Font Awesome 6 Brands-Regular-400.otf
Font Awesome 6 Duotone-Solid-900.otf
Font Awesome 6 Free-Regular-400.otf
Font Awesome 6 Free-Solid-900.otf
Font Awesome 6 Pro-Light-300.otf
Font Awesome 6 Pro-Regular-400.otf
Font Awesome 6 Pro-Solid-900.otf
Font Awesome 6 Pro-Thin-100.otf
fontawesome.ttf
fonts.dir
fonts.list
fonts.scale
Hack Bold Italic Nerd Font Complete Mono.ttf
Hack Bold Italic Nerd Font Complete.ttf
Hack Bold Nerd Font Complete Mono.ttf
Hack Bold Nerd Font Complete.ttf
Hack Italic Nerd Font Complete Mono.ttf
Hack Italic Nerd Font Complete.ttf
Hack Regular Nerd Font Complete Mono.ttf
Hack Regular Nerd Font Complete.ttf
icomoon-feather.ttf
icomoon_Regular.ttf
iconic.ttf
Iosevka Bold Italic Nerd Font Complete Mono.ttf
Iosevka Bold Italic Nerd Font Complete.ttf
Iosevka Bold Nerd Font Complete Mono.ttf
Iosevka Bold Nerd Font Complete.ttf
Iosevka Bold Oblique Nerd Font Complete Mono.ttf
Iosevka Bold Oblique Nerd Font Complete.ttf
Iosevka Extralight Italic Nerd Font Complete Mono.ttf
Iosevka Extralight Italic Nerd Font Complete.ttf
Iosevka Extralight Nerd Font Complete Mono.ttf
Iosevka Extralight Nerd Font Complete.ttf
Iosevka Extralight Oblique Nerd Font Complete Mono.ttf
Iosevka Extralight Oblique Nerd Font Complete.ttf
Iosevka Heavy Italic Nerd Font Complete Mono.ttf
Iosevka Heavy Italic Nerd Font Complete.ttf
Iosevka Heavy Nerd Font Complete Mono.ttf
Iosevka Heavy Nerd Font Complete.ttf
Iosevka Heavy Oblique Nerd Font Complete Mono.ttf
Iosevka Heavy Oblique Nerd Font Complete.ttf
Iosevka Italic Nerd Font Complete Mono.ttf
Iosevka Italic Nerd Font Complete.ttf
Iosevka Light Italic Nerd Font Complete Mono.ttf
Iosevka Light Italic Nerd Font Complete.ttf
Iosevka Light Nerd Font Complete Mono.ttf
Iosevka Light Nerd Font Complete.ttf
Iosevka Light Oblique Nerd Font Complete Mono.ttf
Iosevka Light Oblique Nerd Font Complete.ttf
Iosevka Medium Italic Nerd Font Complete Mono.ttf
Iosevka Medium Italic Nerd Font Complete.ttf
Iosevka Medium Nerd Font Complete Mono.ttf
Iosevka Medium Nerd Font Complete.ttf
Iosevka Medium Oblique Nerd Font Complete Mono.ttf
Iosevka Medium Oblique Nerd Font Complete.ttf
Iosevka Nerd Font Complete Mono.ttf
Iosevka Nerd Font Complete.ttf
Iosevka Oblique Nerd Font Complete Mono.ttf
Iosevka Oblique Nerd Font Complete.ttf
Iosevka Term Bold Italic Nerd Font Complete Mono.ttf
Iosevka Term Bold Italic Nerd Font Complete.ttf
Iosevka Term Bold Nerd Font Complete Mono.ttf
Iosevka Term Bold Nerd Font Complete.ttf
Iosevka Term Bold Oblique Nerd Font Complete Mono.ttf
Iosevka Term Bold Oblique Nerd Font Complete.ttf
Iosevka Term Extralight Italic Nerd Font Complete Mono.ttf
Iosevka Term Extralight Italic Nerd Font Complete.ttf
Iosevka Term Extralight Nerd Font Complete Mono.ttf
Iosevka Term Extralight Nerd Font Complete.ttf
Iosevka Term Extralight Oblique Nerd Font Complete Mono.ttf
Iosevka Term Extralight Oblique Nerd Font Complete.ttf
Iosevka Term Heavy Italic Nerd Font Complete Mono.ttf
Iosevka Term Heavy Italic Nerd Font Complete.ttf
Iosevka Term Heavy Nerd Font Complete Mono.ttf
Iosevka Term Heavy Nerd Font Complete.ttf
Iosevka Term Heavy Oblique Nerd Font Complete Mono.ttf
Iosevka Term Heavy Oblique Nerd Font Complete.ttf
Iosevka Term Italic Nerd Font Complete Mono.ttf
Iosevka Term Italic Nerd Font Complete.ttf
Iosevka Term Light Italic Nerd Font Complete Mono.ttf
Iosevka Term Light Italic Nerd Font Complete.ttf
Iosevka Term Light Nerd Font Complete Mono.ttf
Iosevka Term Light Nerd Font Complete.ttf
Iosevka Term Light Oblique Nerd Font Complete Mono.ttf
Iosevka Term Light Oblique Nerd Font Complete.ttf
Iosevka Term Medium Italic Nerd Font Complete Mono.ttf
Iosevka Term Medium Italic Nerd Font Complete.ttf
Iosevka Term Medium Nerd Font Complete Mono.ttf
Iosevka Term Medium Nerd Font Complete.ttf
Iosevka Term Medium Oblique Nerd Font Complete Mono.ttf
Iosevka Term Medium Oblique Nerd Font Complete.ttf
Iosevka Term Nerd Font Complete Mono.ttf
Iosevka Term Nerd Font Complete.ttf
Iosevka Term Oblique Nerd Font Complete Mono.ttf
Iosevka Term Oblique Nerd Font Complete.ttf
Iosevka Term Thin Italic Nerd Font Complete Mono.ttf
Iosevka Term Thin Italic Nerd Font Complete.ttf
Iosevka Term Thin Nerd Font Complete Mono.ttf
Iosevka Term Thin Nerd Font Complete.ttf
Iosevka Term Thin Oblique Nerd Font Complete Mono.ttf
Iosevka Term Thin Oblique Nerd Font Complete.ttf
Iosevka Thin Italic Nerd Font Complete Mono.ttf
Iosevka Thin Italic Nerd Font Complete.ttf
Iosevka Thin Nerd Font Complete Mono.ttf
Iosevka Thin Nerd Font Complete.ttf
Iosevka Thin Oblique Nerd Font Complete Mono.ttf
Iosevka Thin Oblique Nerd Font Complete.ttf
iosevka-bold.ttc
iosevka-extrabold.ttc
iosevka-extralight.ttc
iosevka-heavy.ttc
iosevka-light.ttc
iosevka-medium.ttc
iosevka-regular.ttc
iosevka-semibold.ttc
iosevka-thin.ttc
material-design-icons.ttf
MaterialIcons-Regular.ttf
MaterialIconsOutlined-Regular.otf
MaterialIconsRound-Regular.otf
MaterialIconsSharp-Regular.otf
MaterialIconsTwoTone-Regular.otf
octicons.ttf
remix.ttf
Roboto-Black.ttf
Roboto-BlackItalic.ttf
Roboto-Bold.ttf
Roboto-BoldItalic.ttf
Roboto-Italic.ttf
Roboto-Light.ttf
Roboto-LightItalic.ttf
Roboto-Medium.ttf
Roboto-MediumItalic.ttf
Roboto-Regular.ttf
Roboto-Thin.ttf
Roboto-ThinItalic.ttf
weathericons.ttf

Binary file not shown.

@ -0,0 +1,29 @@
#!/usr/bin/env sh
# Color Palette
export BLACK=0xff181926
export WHITE=0xffD9D7D6
export RED=0xffed8796
export GREEN=0xffcad3f5
export BLUE=0xff8aadf4
export YELLOW=0xffeed49f
export ORANGE=0xfff5a97f
export MAGENTA=0xffc6a0f6
export GREY=0xff939ab7
export TRANSPARENT=0x00000000
# General bar colors
#export BAR_COLOR=0xcc24273a
#131e22
#export BAR_COLOR=0xff2a2f38 #grey
export BAR_COLOR=0xff131E22
export ICON_COLOR=$WHITE # Color of all icons
export LABEL_COLOR=$WHITE # Color of all labels
export SPACE_BACKGROUND=0xFF242831
export OPEN_APPS_BACKGROUND=0xff494d64
export CALENDAR_BACKGROUND=0xFF242831
export POPUP_BACKGROUND_COLOR=$BLACK
export POPUP_BORDER_COLOR=$WHITE
export SHADOW_COLOR=$BLACK

@ -0,0 +1,23 @@
#include <stdio.h>
#include <time.h>
struct clock {
char command[128];
};
static inline void clock_init(struct clock* clock) {
snprintf(clock->command, 128, "");
}
static inline void clock_update(struct clock* clock) {
time_t t = time(NULL);
struct tm* tm = localtime(&t);
char time[8];
strftime(time, 8, "%H:%M", tm);
char date[16];
strftime(date, 16, "%a %d. %b", tm);
snprintf(clock->command, 128, "--set calendar icon=\"%s\" label=\"%s\"", date, time);
}

@ -0,0 +1,118 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <mach/mach.h>
#include <stdbool.h>
#include <time.h>
static const char TOPPROC[32] = { "/bin/ps -Aceo pid,pcpu,comm -r" };
static const char FILTER_PATTERN[16] = { "com.apple." };
struct cpu {
host_t host;
mach_msg_type_number_t count;
host_cpu_load_info_data_t load;
host_cpu_load_info_data_t prev_load;
bool has_prev_load;
char command[256];
};
static inline void cpu_init(struct cpu* cpu) {
cpu->host = mach_host_self();
cpu->count = HOST_CPU_LOAD_INFO_COUNT;
cpu->has_prev_load = false;
snprintf(cpu->command, 100, "");
}
static inline void cpu_update(struct cpu* cpu) {
kern_return_t error = host_statistics(cpu->host,
HOST_CPU_LOAD_INFO,
(host_info_t)&cpu->load,
&cpu->count );
if (error != KERN_SUCCESS) {
printf("Error: Could not read cpu host statistics.\n");
return;
}
if (cpu->has_prev_load) {
uint32_t delta_user = cpu->load.cpu_ticks[CPU_STATE_USER]
- cpu->prev_load.cpu_ticks[CPU_STATE_USER];
uint32_t delta_system = cpu->load.cpu_ticks[CPU_STATE_SYSTEM]
- cpu->prev_load.cpu_ticks[CPU_STATE_SYSTEM];
uint32_t delta_idle = cpu->load.cpu_ticks[CPU_STATE_IDLE]
- cpu->prev_load.cpu_ticks[CPU_STATE_IDLE];
double user_perc = (double)delta_user / (double)(delta_system
+ delta_user
+ delta_idle);
double sys_perc = (double)delta_system / (double)(delta_system
+ delta_user
+ delta_idle);
double total_perc = user_perc + sys_perc;
FILE* file;
char line[1024];
file = popen(TOPPROC, "r");
if (!file) {
printf("Error: TOPPROC command errored out...\n" );
return;
}
fgets(line, sizeof(line), file);
fgets(line, sizeof(line), file);
char* start = strstr(line, FILTER_PATTERN);
char topproc[32];
uint32_t caret = 0;
for (int i = 0; i < sizeof(line); i++) {
if (start && i == start - line) {
i+=9;
continue;
}
if (i > 29) break;
if (i > 27) {
topproc[caret++] = '.';
continue;
}
topproc[caret++] = line[i];
if (line[i] == '\0') break;
}
pclose(file);
char color[16];
if (total_perc >= .7) {
snprintf(color, 16, "%s", getenv("RED"));
} else if (total_perc >= .3) {
snprintf(color, 16, "%s", getenv("ORANGE"));
} else if (total_perc >= .1) {
snprintf(color, 16, "%s", getenv("YELLOW"));
} else {
snprintf(color, 16, "%s", getenv("LABEL_COLOR"));
}
snprintf(cpu->command, 256, "--push cpu.sys %.2f "
"--push cpu.user %.2f "
"--set cpu.percent label=%.0f%% label.color=%s "
"--set cpu.top label=\"%s\"",
sys_perc,
user_perc,
total_perc*100.,
color,
topproc );
}
else {
snprintf(cpu->command, 256, "");
}
cpu->prev_load = cpu->load;
cpu->has_prev_load = true;
}

@ -0,0 +1,59 @@
#include "cpu.h"
#include "clock.h"
#include "sketchybar.h"
struct cpu g_cpu;
struct clock g_clock;
void handler(env env) {
// Environment variables passed from sketchybar can be accessed as seen below
char* name = env_get_value_for_key(env, "NAME");
char* sender = env_get_value_for_key(env, "SENDER");
char* info = env_get_value_for_key(env, "INFO");
char* selected = env_get_value_for_key(env, "SELECTED");
if (selected && strlen(selected) > 0) {
// Space items
char* width;
if (strcmp(selected, "true") == 0) {
width = "0";
} else {
width = "dynamic";
}
char command[256];
snprintf(command, 256, "--animate tanh 20 --set %s icon.highlight=%s label.width=%s", name, selected, width);
sketchybar(command);
}
else if (strcmp(sender, "front_app_switched") == 0) {
// front_app item
char command[256];
snprintf(command, 256, "--set %s label=\"%s\"", name, info);
sketchybar(command);
}
else if ((strcmp(sender, "routine") == 0)
|| (strcmp(sender, "forced") == 0)) {
// CPU and Clock routine updates
cpu_update(&g_cpu);
clock_update(&g_clock);
if (strlen(g_cpu.command) > 0 && strlen(g_clock.command) > 0) {
char command[512];
snprintf(command, 512, "%s %s", g_cpu.command, g_clock.command);
sketchybar(command);
}
}
}
int main (int argc, char** argv) {
cpu_init(&g_cpu);
clock_init(&g_clock);
if (argc < 2) {
printf("Usage: provider \"<bootstrap name>\"\n");
exit(1);
}
event_server_begin(handler, argv[1]);
return 0;
}

@ -0,0 +1,3 @@
helper: helper.c cpu.h clock.h sketchybar.h
clang -std=c17 -O3 helper.c -o helper

@ -0,0 +1,227 @@
#pragma once
#include <mach/mach.h>
#include <mach/message.h>
#include <bootstrap.h>
#include <stdlib.h>
#include <pthread.h>
#include <stdio.h>
typedef char* env;
#define MACH_HANDLER(name) void name(env env)
typedef MACH_HANDLER(mach_handler);
struct mach_message {
mach_msg_header_t header;
mach_msg_size_t msgh_descriptor_count;
mach_msg_ool_descriptor_t descriptor;
};
struct mach_buffer {
struct mach_message message;
mach_msg_trailer_t trailer;
};
struct mach_server {
bool is_running;
mach_port_name_t task;
mach_port_t port;
mach_port_t bs_port;
pthread_t thread;
mach_handler* handler;
};
static struct mach_server g_mach_server;
static mach_port_t g_mach_port = 0;
static inline char* env_get_value_for_key(env env, char* key) {
uint32_t caret = 0;
for(;;) {
if (!env[caret]) break;
if (strcmp(&env[caret], key) == 0)
return &env[caret + strlen(&env[caret]) + 1];
caret += strlen(&env[caret])
+ strlen(&env[caret + strlen(&env[caret]) + 1])
+ 2;
}
return (char*)"";
}
static inline mach_port_t mach_get_bs_port() {
mach_port_name_t task = mach_task_self();
mach_port_t bs_port;
if (task_get_special_port(task,
TASK_BOOTSTRAP_PORT,
&bs_port ) != KERN_SUCCESS) {
return 0;
}
mach_port_t port;
if (bootstrap_look_up(bs_port,
"git.felix.sketchybar",
&port ) != KERN_SUCCESS) {
return 0;
}
return port;
}
static inline void mach_receive_message(mach_port_t port, struct mach_buffer* buffer, bool timeout) {
*buffer = (struct mach_buffer) { 0 };
mach_msg_return_t msg_return;
if (timeout)
msg_return = mach_msg(&buffer->message.header,
MACH_RCV_MSG | MACH_RCV_TIMEOUT,
0,
sizeof(struct mach_buffer),
port,
100,
MACH_PORT_NULL );
else
msg_return = mach_msg(&buffer->message.header,
MACH_RCV_MSG,
0,
sizeof(struct mach_buffer),
port,
MACH_MSG_TIMEOUT_NONE,
MACH_PORT_NULL );
if (msg_return != MACH_MSG_SUCCESS) {
buffer->message.descriptor.address = NULL;
}
}
static inline char* mach_send_message(mach_port_t port, char* message, uint32_t len) {
if (!message || !port) {
return NULL;
}
mach_port_t response_port;
mach_port_name_t task = mach_task_self();
if (mach_port_allocate(task, MACH_PORT_RIGHT_RECEIVE,
&response_port ) != KERN_SUCCESS) {
return NULL;
}
if (mach_port_insert_right(task, response_port,
response_port,
MACH_MSG_TYPE_MAKE_SEND)!= KERN_SUCCESS) {
return NULL;
}
struct mach_message msg = { 0 };
msg.header.msgh_remote_port = port;
msg.header.msgh_local_port = response_port;
msg.header.msgh_id = response_port;
msg.header.msgh_bits = MACH_MSGH_BITS_SET(MACH_MSG_TYPE_COPY_SEND,
MACH_MSG_TYPE_MAKE_SEND,
0,
MACH_MSGH_BITS_COMPLEX );
msg.header.msgh_size = sizeof(struct mach_message);
msg.msgh_descriptor_count = 1;
msg.descriptor.address = message;
msg.descriptor.size = len * sizeof(char);
msg.descriptor.copy = MACH_MSG_VIRTUAL_COPY;
msg.descriptor.deallocate = false;
msg.descriptor.type = MACH_MSG_OOL_DESCRIPTOR;
mach_msg(&msg.header,
MACH_SEND_MSG,
sizeof(struct mach_message),
0,
MACH_PORT_NULL,
MACH_MSG_TIMEOUT_NONE,
MACH_PORT_NULL );
struct mach_buffer buffer = { 0 };
mach_receive_message(response_port, &buffer, true);
if (buffer.message.descriptor.address)
return (char*)buffer.message.descriptor.address;
mach_msg_destroy(&buffer.message.header);
return NULL;
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
static inline bool mach_server_begin(struct mach_server* mach_server, mach_handler handler, char* bootstrap_name) {
mach_server->task = mach_task_self();
if (mach_port_allocate(mach_server->task,
MACH_PORT_RIGHT_RECEIVE,
&mach_server->port ) != KERN_SUCCESS) {
return false;
}
if (mach_port_insert_right(mach_server->task,
mach_server->port,
mach_server->port,
MACH_MSG_TYPE_MAKE_SEND) != KERN_SUCCESS) {
return false;
}
if (task_get_special_port(mach_server->task,
TASK_BOOTSTRAP_PORT,
&mach_server->bs_port) != KERN_SUCCESS) {
return false;
}
if (bootstrap_register(mach_server->bs_port,
bootstrap_name,
mach_server->port ) != KERN_SUCCESS) {
return false;
}
mach_server->handler = handler;
mach_server->is_running = true;
while (mach_server->is_running) {
struct mach_buffer* buffer = (struct mach_buffer*)malloc(sizeof(struct mach_buffer));
mach_receive_message(mach_server->port, buffer, false);
mach_server->handler((env)buffer->message.descriptor.address);
mach_msg_destroy(&buffer->message.header);
}
return true;
}
#pragma clang diagnostic pop
static inline char* sketchybar(char* message) {
uint32_t message_length = strlen(message) + 1;
char formatted_message[message_length + 1];
char quote = '\0';
uint32_t caret = 0;
for (int i = 0; i < message_length; ++i) {
if (message[i] == '"' || message[i] == '\'') {
if (quote == message[i]) quote = '\0';
else quote = message[i];
continue;
}
formatted_message[caret] = message[i];
if (message[i] == ' ' && !quote) formatted_message[caret] = '\0';
caret++;
}
if (caret > 0 && formatted_message[caret] == '\0'
&& formatted_message[caret - 1] == '\0') {
caret--;
}
formatted_message[caret] = '\0';
if (!g_mach_port) g_mach_port = mach_get_bs_port();
char* response = mach_send_message(g_mach_port,
formatted_message,
caret + 1 );
if (response) return response;
else return (char*)"";
}
static inline void event_server_begin(mach_handler event_handler, char* bootstrap_name) {
mach_server_begin(&g_mach_server, event_handler, bootstrap_name);
}

@ -0,0 +1,31 @@
#!/usr/bin/env sh
# General Icons
LOADING=􀖇
APPLE=􀣺
PREFERENCES=􀺽
ACTIVITY=􀒓
LOCK=􀒳
BELL=􀋚
BELL_DOT=􀝗
# Git Icons
GIT_ISSUE=􀍷
GIT_DISCUSSION=􀒤
GIT_PULL_REQUEST=􀙡
GIT_COMMIT=􀡚
GIT_INDICATOR=􀂓
# Spotify Icons
SPOTIFY_BACK=􀊎
SPOTIFY_PLAY_PAUSE=􀊈
SPOTIFY_NEXT=􀊐
SPOTIFY_SHUFFLE=􀊝
SPOTIFY_REPEAT=􀊞
# Yabai Icons
YABAI_STACK=􀏭
YABAI_FULLSCREEN_ZOOM=􀏜
YABAI_PARENT_ZOOM=􀥃
YABAI_FLOAT=􀢌
YABAI_GRID=􀧍

@ -0,0 +1,32 @@
#!/usr/bin/env sh
POPUP_OFF="sketchybar --set apple.logo popup.drawing=off"
POPUP_CLICK_SCRIPT="sketchybar --set \$NAME popup.drawing=toggle"
sketchybar --add item apple.logo left \
\
--set apple.logo icon=\
icon.font="Font Awesome 6 Pro:Regular:16.0" \
icon.color=$GREEN \
background.padding_left=-8 \
background.padding_right=25 \
label.drawing=off \
click_script="$POPUP_CLICK_SCRIPT" \
\
--add item apple.prefs popup.apple.logo \
--set apple.prefs icon=$PREFERENCES \
label="Preferences" \
click_script="open -a 'System Preferences';
$POPUP_OFF" \
\
--add item apple.activity popup.apple.logo \
--set apple.activity icon=$ACTIVITY \
label="Activity" \
click_script="open -a 'Activity Monitor';
$POPUP_OFF"\
\
--add item apple.lock popup.apple.logo \
--set apple.lock icon=$LOCK \
label="Lock Screen" \
click_script="pmset displaysleepnow;
$POPUP_OFF"

@ -0,0 +1,16 @@
#!/usr/bin/env sh
sketchybar --add item calendar right \
--set calendar icon=cal \
icon.color=$WHITE \
icon.font="$FONT:Black:12.0" \
icon.padding_left=5 \
icon.padding_right=5 \
label.color=$WHITE \
label.padding_left=5 \
label.padding_right=5 \
width=140 \
align=center \
background.color=$CALENDAR_BACKGROUND \
background.height=26 \
background.corner_radius=11

@ -0,0 +1,41 @@
#!/usr/bin/env sh
sketchybar --add item cpu.top right \
--set cpu.top label.font="$FONT:Semibold:7" \
label=CPU \
icon.drawing=off \
width=0 \
y_offset=6 \
background.padding_right=23 \
\
--add item cpu.percent right \
--set cpu.percent label.font="$FONT:Heavy:12" \
label=CPU \
y_offset=-4 \
width=40 \
icon.drawing=off \
update_freq=2 \
mach_helper="$HELPER" \
background.padding_right=20 \
\
--add graph cpu.sys right 100 \
--set cpu.sys width=0 \
graph.color=$RED \
graph.fill_color=$RED \
label.drawing=off \
icon.drawing=off \
background.padding_right=20 \
background.padding_left=10 \
background.height=30 \
background.drawing=on \
background.color=$TRANSPARENT \
\
--add graph cpu.user right 100 \
--set cpu.user graph.color=$BLUE \
label.drawing=off \
icon.drawing=off \
background.padding_right=20 \
background.padding_left=10 \
background.height=30 \
background.drawing=on \
background.color=$TRANSPARENT

@ -0,0 +1,27 @@
#!/usr/bin/env sh
sketchybar --add event window_focus \
--add event windows_on_spaces \
--add item system.yabai left \
--set system.yabai script="$PLUGIN_DIR/yabai.sh" \
icon.font="$FONT:Bold:16.0" \
label.drawing=off \
icon.width=30 \
icon=$YABAI_GRID \
icon.color=$GREEN \
updates=on \
associated_display=active \
--subscribe system.yabai window_focus \
windows_on_spaces \
mouse.clicked \
\
--add item front_app left \
--set front_app mach_helper="$HELPER" \
icon.drawing=off \
background.padding_left=0 \
background.padding_right=10 \
label.color=$WHITE \
label.font="$FONT:Black:12.0" \
associated_display=active \
--subscribe front_app front_app_switched

@ -0,0 +1,26 @@
#!/usr/bin/env sh
sketchybar --add item github.bell right \
--set github.bell update_freq=180 \
icon.font="$FONT:Bold:15.0" \
icon=$BELL \
icon.color=$BLUE \
label=$LOADING \
label.highlight_color=$BLUE \
background.padding_left=10 \
popup.align=right \
script="$PLUGIN_DIR/github.sh" \
click_script="$POPUP_CLICK_SCRIPT" \
--subscribe github.bell mouse.entered \
mouse.exited \
mouse.exited.global \
\
--add item github.template popup.github.bell \
--set github.template drawing=off \
background.corner_radius=12 \
background.padding_left=7 \
background.padding_right=7 \
background.color=$BLACK \
background.drawing=off \
icon.background.height=2 \
icon.background.y_offset=-12

@ -0,0 +1,40 @@
#!/usr/bin/env sh
SPACE_ICONS=("" "" "" "" "" "" "" "")
sid=0
for i in "${!SPACE_ICONS[@]}"
do
sid=$(($i+1))
sketchybar --add space space.$sid left \
--set space.$sid associated_space=$sid \
icon=${SPACE_ICONS[i]} \
icon.padding_left=22 \
icon.padding_right=22 \
label.padding_right=33 \
icon.highlight_color=$RED \
background.padding_left=-8 \
background.padding_right=-8 \
background.height=26 \
background.corner_radius=9 \
background.color=$SPACE_BACKGROUND \
background.drawing=on \
icon.font="Font Awesome 6 Pro:Regular:16.0" \
label.background.height=26 \
label.background.drawing=on \
label.background.color=$OPEN_APPS_BACKGROUND \
label.background.corner_radius=9 \
label.drawing=off \
script="" \
mach_helper="$HELPER" \
click_script="$SPACE_CLICK_SCRIPT"
done
sketchybar --add item separator left \
--set separator icon=\
icon.font="Hack Nerd Font:Regular:16.0" \
background.padding_left=26 \
background.padding_right=15 \
label.drawing=off \
associated_display=active \
icon.color=$WHITE

@ -0,0 +1,131 @@
SPOTIFY_EVENT="com.spotify.client.PlaybackStateChanged"
POPUP_SCRIPT="sketchybar -m --set spotify.anchor popup.drawing=toggle"
sketchybar --add event spotify_change $SPOTIFY_EVENT \
--add item spotify.anchor center \
--set spotify.anchor script="$PLUGIN_DIR/spotify.sh" \
click_script="$POPUP_SCRIPT" \
width=170 \
align=left \
icon.background.drawing=on \
icon.background.color=$GREEN \
icon.background.height=3 \
icon.background.corner_radius=2 \
background.padding_left=1 \
background.drawing=on \
popup.horizontal=on \
popup.align=center \
popup.height=120 \
label=􁁒 \
label.font="$FONT:Regular:19.0" \
label.drawing=off \
drawing=off \
--subscribe spotify.anchor mouse.entered mouse.exited \
mouse.exited.global \
\
--add item spotify.cover popup.spotify.anchor \
--set spotify.cover script="$PLUGIN_DIR/spotify.sh" \
label.drawing=off \
icon.drawing=off \
background.padding_left=12 \
background.padding_right=10 \
background.image.scale=0.15 \
background.image.drawing=on \
background.drawing=on \
\
--add item spotify.title popup.spotify.anchor \
--set spotify.title icon.drawing=off \
background.padding_left=0 \
background.padding_right=0 \
width=0 \
label.font="$FONT:Heavy:14.0" \
y_offset=40 \
\
--add item spotify.artist popup.spotify.anchor \
--set spotify.artist icon.drawing=off \
y_offset=20 \
background.padding_left=0 \
background.padding_right=0 \
width=0 \
\
--add item spotify.album popup.spotify.anchor \
--set spotify.album icon.drawing=off \
background.padding_left=0 \
background.padding_right=0 \
y_offset=3 \
width=0 \
\
--add item spotify.shuffle popup.spotify.anchor \
--set spotify.shuffle icon=􀊝 \
icon.padding_left=5 \
icon.padding_right=5 \
icon.color=$BLACK \
icon.highlight_color=$MAGENTA \
label.drawing=off \
script="$PLUGIN_DIR/spotify.sh" \
y_offset=-30 \
--subscribe spotify.shuffle mouse.clicked \
\
--add item spotify.back popup.spotify.anchor \
--set spotify.back icon=􀊎 \
icon.padding_left=5 \
icon.padding_right=5 \
icon.color=$BLACK \
script="$PLUGIN_DIR/spotify.sh" \
label.drawing=off \
y_offset=-30 \
--subscribe spotify.back mouse.clicked \
\
--add item spotify.play popup.spotify.anchor \
--set spotify.play icon=􀊔 \
background.height=40 \
background.corner_radius=20 \
width=40 \
align=center \
background.color=$BLACK \
background.border_color=$WHITE \
background.border_width=0 \
background.drawing=on \
icon.padding_left=4 \
icon.padding_right=5 \
icon.color=$WHITE \
updates=on \
label.drawing=off \
script="$PLUGIN_DIR/spotify.sh" \
y_offset=-30 \
--subscribe spotify.play mouse.clicked spotify_change \
\
--add item spotify.next popup.spotify.anchor \
--set spotify.next icon=􀊐 \
icon.padding_left=5 \
icon.padding_right=10 \
icon.color=$BLACK \
label.drawing=off \
script="$PLUGIN_DIR/spotify.sh" \
y_offset=-30 \
--subscribe spotify.next mouse.clicked \
\
--add item spotify.repeat popup.spotify.anchor \
--set spotify.repeat icon=􀊞 \
icon.highlight_color=$MAGENTA \
icon.padding_left=5 \
icon.padding_right=10 \
icon.color=$BLACK \
label.drawing=off \
script="$PLUGIN_DIR/spotify.sh" \
y_offset=-30 \
--subscribe spotify.repeat mouse.clicked \
\
--add item spotify.spacer popup.spotify.anchor \
--set spotify.spacer width=5 \
\
--add bracket spotify spotify.shuffle \
spotify.back \
spotify.play \
spotify.next \
spotify.repeat \
--set spotify background.color=$GREEN \
background.corner_radius=11 \
background.drawing=on \
y_offset=-30 \
drawing=off

@ -0,0 +1,21 @@
sketchybar --add item volume right \
--set volume script="$PLUGIN_DIR/volume.sh" \
updates=on \
icon.background.drawing=on \
icon.background.color=$BLUE \
icon.background.height=8 \
icon.background.corner_radius=3 \
icon.width=0 \
icon.align=right \
label.drawing=off \
<