Compare commits

..

No commits in common. "main" and "master" have entirely different histories.

32 changed files with 469 additions and 697 deletions

View file

@ -7,10 +7,7 @@ after-login-command = []
# 'after-startup-command' is run after 'after-login-command' # 'after-startup-command' is run after 'after-login-command'
# Available commands : https://nikitabobko.github.io/AeroSpace/commands # Available commands : https://nikitabobko.github.io/AeroSpace/commands
after-startup-command = [ after-startup-command = [
# 0xff = fully opaque 'exec-and-forget borders order=above active_color=0xff483D8B inactive_color=0xffCDCDCD width=8.0 style=square blacklist="firefox" ax_focus=true',
# 0x00 = fully transparent
# 'exec-and-forget borders order=above active_color=0xff483D8B inactive_color=0xffCDCDCD width=8.0 style=square blacklist="firefox"',
'exec-and-forget borders order=above active_color=0xbbeec400 inactive_color=0x0005a3ad width=8.0 style=square blacklist="firefox"',
] ]
start-at-login = true start-at-login = true
@ -57,12 +54,12 @@ preset = 'qwerty'
# Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'. # Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'.
# See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors # See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors
[gaps] [gaps]
inner.horizontal = 10 inner.horizontal = 0
inner.vertical = 10 inner.vertical = 0
outer.left = 14 outer.left = 0
outer.bottom = 14 outer.bottom = 0
outer.top = 14 outer.top = 0
outer.right = 14 outer.right = 0
# 'main' binding mode declaration # 'main' binding mode declaration
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes # See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
@ -124,8 +121,7 @@ ctrl-shift-alt-6 = 'workspace 6'
# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace # See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
cmd-1 = 'move-node-to-workspace 1' cmd-1 = 'move-node-to-workspace 1'
# I often want to see documentation along a terminal window cmd-2 = 'move-node-to-workspace 2'
cmd-2 = 'move-node-to-workspace 2 --focus-follows-window'
cmd-3 = 'move-node-to-workspace 3' cmd-3 = 'move-node-to-workspace 3'
cmd-4 = 'move-node-to-workspace 4' cmd-4 = 'move-node-to-workspace 4'
cmd-5 = 'move-node-to-workspace 5' cmd-5 = 'move-node-to-workspace 5'
@ -136,11 +132,6 @@ alt-shift-j = ['join-with down', 'mode main']
alt-shift-k = ['join-with up', 'mode main'] alt-shift-k = ['join-with up', 'mode main']
alt-shift-l = ['join-with right', 'mode main'] alt-shift-l = ['join-with right', 'mode main']
# Scroll through workspaces
# https://nikitabobko.github.io/AeroSpace/commands#workspace
ctrl-shift-alt-n = 'workspace next'
ctrl-shift-alt-p = 'workspace prev'
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth # See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth
alt-tab = 'workspace-back-and-forth' alt-tab = 'workspace-back-and-forth'
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor # See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
@ -187,6 +178,11 @@ if.app-id = 'com.mitchellh.ghostty'
if.during-aerospace-startup = true if.during-aerospace-startup = true
run = 'move-node-to-workspace 2' run = 'move-node-to-workspace 2'
[[on-window-detected]]
if.app-id = 'org.alacritty'
if.during-aerospace-startup = true
run = 'move-node-to-workspace 2'
# Orga # Orga
[[on-window-detected]] [[on-window-detected]]
if.app-id = 'com.culturedcode.ThingsMac' if.app-id = 'com.culturedcode.ThingsMac'
@ -207,13 +203,12 @@ run = 'move-node-to-workspace 3'
[[on-window-detected]] [[on-window-detected]]
if.app-id = 'com.microsoft.teams2' if.app-id = 'com.microsoft.teams2'
if.during-aerospace-startup = true if.during-aerospace-startup = true
check-further-callbacks = true run = 'move-node-to-workspace 4'
run = 'move-node-to-workspace 5'
[[on-window-detected]] [[on-window-detected]]
if.app-id = 'com.tinyspeck.slackmacgap' if.app-id = 'com.tinyspeck.slackmacgap'
if.during-aerospace-startup = true if.during-aerospace-startup = true
run = 'move-node-to-workspace 5' run = 'move-node-to-workspace 4'
[[on-window-detected]] [[on-window-detected]]
if.app-id = 'com.apple.MobileSMS' if.app-id = 'com.apple.MobileSMS'

View file

@ -1,4 +1,26 @@
# Alacritty config # Alacritty Windows config
Delete the `alacrity-<systemdescr>.toml` files you will not need. Those contain ```
OS/system-dependant preferences like font size etc. import = [
"C:/Users/foobar/AppData/Roaming/alacritty/tokyonight_moon.toml"
]
[font]
normal = { family = "JetBrainsMono Nerd Font", style = "Regular" }
size = 16
[window]
decorations = "Full"
padding = { x = 5, y = 5 }
dynamic_padding = true
[bell]
duration = 10
color = "#3a3a3a"
[cursor]
style = { shape = "Block", blinking = "Always" }
[keyboard]
bindings = [{ key = "T", mods = "Control", action = "CreateNewWindow" }]
```

View file

@ -1,6 +0,0 @@
[font]
size = 18
[window]
opacity = 0.85
blur = true

View file

@ -1,9 +0,0 @@
[font]
size = 14
[window]
opacity = 0.9
blur = false # does not work in Sway
[general]
import = ["~/.config/alacritty/rose-pine-moon.toml"]

View file

@ -1,40 +1,36 @@
[font] [font]
normal = { family = "BerkeleyMono Nerd Font Mono", style = "Regular" } normal = { family = "JetBrainsMono Nerd Font", style = "Thin" }
# NOTE: if font seems to bold, disable font smoothing for Alacritty
# defaults write org.alacritty AppleFontSmoothing -int 0
bold = { style = "Bold" } bold = { style = "Bold" }
italic = { style = "Oblique" } italic = { style = "Italic" }
bold_italic = { style = "Bold Oblique" } bold_italic = { style = "Bold Italic" }
#offset = { x = 0, y = 0 } size = 17
[window] [window]
# option_as_alt = "Both" option_as_alt = "Both"
option_as_alt = "None"
decorations = "None" decorations = "None"
padding = { x = 12, y = 5 } padding = { x = 12, y = 5 }
dynamic_padding = true dynamic_padding = true
# opacity = 0.8
# blur = true # blur = true
[bell] [bell]
duration = 0 duration = 10
color = "#3a3a3a" color = "#3a3a3a"
[cursor] [cursor]
style = { shape = "Block", blinking = "Always" } style = { shape = "Block", blinking = "Always" }
[colors.search] [colors.search]
matches = { foreground = "#007a61", background = "#dedede" } matches = { foreground = "#f4d03f", background = "#273746" }
focused_match = { foreground = "#dedede", background = "#007a61" } focused_match = { foreground = "#273746", background = "#f4d03f" }
[colors.footer_bar] [colors.footer_bar]
background = "#007a61" background = "#f4d03f"
foreground = "#00dcaf" foreground = "#273746"
[colors.vi_mode_cursor]
text = "#dedede"
cursor = "#007a61"
[keyboard] [keyboard]
bindings = [ bindings = [
# Required to make Ctrl+/ work on macOS (used in Telescope) # Required to make Ctrl+/ work on macOS (used in Telescope)
{ chars = "\u001F", key = "Slash", mods = "Control" }, { chars = "\u001F", key = "Slash", mods = "Control" },
@ -46,8 +42,6 @@ bindings = [
{ key = "PageDown", mods = "Shift", action = "ScrollPageDown" }, { key = "PageDown", mods = "Shift", action = "ScrollPageDown" },
# Disable Cmd+w to avoid accidental closing. Disabling Cmd+q needs more work # Disable Cmd+w to avoid accidental closing. Disabling Cmd+q needs more work
{ key = "w", mods = "Command", action = "None" }, { key = "w", mods = "Command", action = "None" },
{ key = "v", mods = "Alt", action="ToggleViMode" },
{ key = "f", mods = "Control", action = "SearchForward" },
] ]
[general] [general]
@ -65,11 +59,7 @@ bindings = [
# selection (Ctrl v). You can also toggle between them while the selection is # selection (Ctrl v). You can also toggle between them while the selection is
# still active. # still active.
import = [ import = ["~/.config/alacritty/rose-pine-dawn.toml"]
"~/.config/alacritty/rose-pine-moon.toml",
"~/.config/alacritty/alacritty-macos.toml",
"~/.config/alacritty/alacritty-minix.toml"
]
#[mouse] #[mouse]
#hide_when_typing = true #hide_when_typing = true

View file

@ -1,6 +1,12 @@
# theme = light:Rose Pine Dawn,dark:Rose Pine Moon theme = light:rose-pine-dawn,dark:rose-pine-moon
theme = light:Rose Pine,dark:Rose Pine
# FIXME: https://github.com/mbadolato/iTerm2-Color-Schemes/issues/442 # FIXME: https://github.com/mbadolato/iTerm2-Color-Schemes/issues/442
# green
palette = 2=#286983
palette = 10=#286983
# blue
palette = 4=#56949f
palette = 12=#56949f
selection-background = #dfdad9
shell-integration-features = no-cursor shell-integration-features = no-cursor
@ -8,12 +14,8 @@ cursor-style = "block"
cursor-style-blink = true cursor-style-blink = true
cursor-color = #b4637a cursor-color = #b4637a
cursor-opacity = 0.6 cursor-opacity = 0.6
# cursor-invert-fg-bg = true
cursor-invert-fg-bg = false
# background-opacity = 0.9 font-family = "JetBrainsMono Nerd Font"
font-family = "BerkeleyMono Nerd Font Mono"
# font-style depends on the font's features # font-style depends on the font's features
font-style = "Regular" font-style = "Regular"
font-style-bold = "Bold" font-style-bold = "Bold"
@ -24,7 +26,7 @@ font-feature = "-calt"
font-size = 17 font-size = 17
# Reduce letter spacing # Reduce letter spacing
adjust-cell-width = -8% adjust-cell-width = -8%
#adjust-cell-height = -1 adjust-cell-height = -1
window-padding-x = 8 window-padding-x = 8
window-padding-y = 4 window-padding-y = 4
@ -37,11 +39,8 @@ window-colorspace = display-p3
auto-update = off auto-update = off
# keybind = super+f=write_screen_file:open keybind = super+f=write_screen_file:open
keybind = global:ctrl+grave_accent=toggle_quick_terminal keybind = global:ctrl+grave_accent=toggle_quick_terminal
keybind = page_up=scroll_page_up keybind = page_up=scroll_page_up
keybind = page_down=scroll_page_down keybind = page_down=scroll_page_down
quick-terminal-animation-duration = 0 quick-terminal-animation-duration = 0
# Disable secure input to not interfere with skhd
macos-auto-secure-input = false

@ -1 +1 @@
Subproject commit 3f458157b0d7b9e70eeb19bd27102dc9f8dae80c Subproject commit fd31bd4211784f1e199091bccd080092ae27cf35

View file

@ -1,7 +1,5 @@
[core] [core]
editor = nvim editor = nvim
# Only page if more than one screen
pager = "less -FX"
[color] [color]
branch = auto branch = auto
@ -10,12 +8,10 @@
status = auto status = auto
[credential] [credential]
helper = cache --timeout=604800 helper = cache --timeout 43200
[diff] [diff]
tool = nvimdiff tool = vimdiff
[difftool "nvimdiff"]
cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""
[http] [http]
postBuffer = 524288000 postBuffer = 524288000
@ -27,16 +23,8 @@
[init] [init]
defaultBranch = main defaultBranch = main
[merge] [merge]
tool = "nvim"
conflictstyle = diff3 conflictstyle = diff3
[mergetool]
keepBackup = false
prompt = true
[mergetool "nvim"]
cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\""
# Set a correct user.name and user.email for work projects # Set a correct user.name and user.email for work projects
[includeIf "gitdir:~/git/work/"] [includeIf "gitdir:~/git/work/"]
path = ~/git/work/gitconfig path = ~/git/work/gitconfig

View file

@ -1,20 +0,0 @@
# Git instructions
- Adhere to https://www.conventionalcommits.org for commit messages
- Maintain a `CHANGELOG.md` file adhering to https://keepachangelog.com and try
to map the conventional commit messages to the respective sections of keep a
changelog
- When creating branches, prefix them with "pi-"
# Test instructions
- Write tests in the natural tooling for the used programming language
- When doing HTTP tests, use Cypress
# Style instructions
- Avoid emojis in code outputs unless it adds significant visual help
- Use `NOTE:`, `FIXME:`, `XXX:` markers in comments where beneficial
- Never use emojis in Markdown files
- Keep line length to 80 characters in Markdown files, but do not split URLs or
code fragments (variable/function names etc.).

View file

@ -1,4 +0,0 @@
Additional preferences:
- If something is potentially dangerous, mention it by prefixing it with "[DANGER] [DANGER] [DANGER] "
- When doing Node code, use pnpm instead of npm

View file

@ -1,4 +0,0 @@
defaults:
theme: catppuccin-mocha
# validate_overflows: always

View file

@ -4,70 +4,39 @@
# the Ctrl+Shift+Alt key combo which helps here to have unique skhd shortcuts # the Ctrl+Shift+Alt key combo which helps here to have unique skhd shortcuts
# that don't clash with macOS/Neovim/... # that don't clash with macOS/Neovim/...
# meh = shift + alt + ctrl
# hyper = cmd + shift + alt + ctrl
# Focus a window # Focus a window
alt - h : yabai -m window --focus west alt - h : yabai -m window --focus west
alt - j : yabai -m window --focus south alt - j : yabai -m window --focus south
alt - k : yabai -m window --focus north alt - k : yabai -m window --focus north
alt - l : yabai -m window --focus east alt - l : yabai -m window --focus east
# Focus a space # Zoom a window
meh - 1 : index=1; eval "$(yabai -m query --spaces | jq --argjson index "${index}" -r '(.[] | select(.index == $index).windows[0]) as $wid | if $wid then "yabai -m window --focus \"" + ($wid | tostring) + "\"" else "skhd --key \"ctrl - " + (map(select(."is-native-fullscreen" == false)) | index(map(select(.index == $index))) + 1 % 10 | tostring) + "\"" end')" ctrl + shift + alt - f : yabai -m window --toggle zoom-fullscreen
meh - 2 : index=2; eval "$(yabai -m query --spaces | jq --argjson index "${index}" -r '(.[] | select(.index == $index).windows[0]) as $wid | if $wid then "yabai -m window --focus \"" + ($wid | tostring) + "\"" else "skhd --key \"ctrl - " + (map(select(."is-native-fullscreen" == false)) | index(map(select(.index == $index))) + 1 % 10 | tostring) + "\"" end')"
meh - 3 : index=3; eval "$(yabai -m query --spaces | jq --argjson index "${index}" -r '(.[] | select(.index == $index).windows[0]) as $wid | if $wid then "yabai -m window --focus \"" + ($wid | tostring) + "\"" else "skhd --key \"ctrl - " + (map(select(."is-native-fullscreen" == false)) | index(map(select(.index == $index))) + 1 % 10 | tostring) + "\"" end')"
meh - 4 : index=4; eval "$(yabai -m query --spaces | jq --argjson index "${index}" -r '(.[] | select(.index == $index).windows[0]) as $wid | if $wid then "yabai -m window --focus \"" + ($wid | tostring) + "\"" else "skhd --key \"ctrl - " + (map(select(."is-native-fullscreen" == false)) | index(map(select(.index == $index))) + 1 % 10 | tostring) + "\"" end')"
meh - 5 : index=5; eval "$(yabai -m query --spaces | jq --argjson index "${index}" -r '(.[] | select(.index == $index).windows[0]) as $wid | if $wid then "yabai -m window --focus \"" + ($wid | tostring) + "\"" else "skhd --key \"ctrl - " + (map(select(."is-native-fullscreen" == false)) | index(map(select(.index == $index))) + 1 % 10 | tostring) + "\"" end')"
# Zoom a window. `--toggle float` would be nicer, but results # Swap windows
# in the window brought back to the wrong place after toggling ctrl + shift + alt - h : yabai -m window --swap west
meh - f : yabai -m window --toggle zoom-fullscreen ctrl + shift + alt - j : yabai -m window --swap south
ctrl + shift + alt - k : yabai -m window --swap north
ctrl + shift + alt - l : yabai -m window --swap east
# Move/swap windows # split
meh - h : yabai -m window --swap west ctrl + shift + alt + cmd - h : yabai -m window --warp west
meh - j : yabai -m window --swap south ctrl + shift + alt + cmd - j : yabai -m window --warp south
meh - k : yabai -m window --swap north ctrl + shift + alt + cmd - k : yabai -m window --warp north
meh - l : yabai -m window --swap east ctrl + shift + alt + cmd - l : yabai -m window --warp east
# Split
hyper - h : yabai -m window --warp west
hyper - j : yabai -m window --warp south
hyper - k : yabai -m window --warp north
hyper - l : yabai -m window --warp east
# toggle split
meh - t : yabai -m window --toggle split
# split vertically
meh - v : yabai -m window --insert east
# split horizontally
meh - x : yabai -m window --insert south
# Resize window
# NOTE: Custom keys can be checked with `skhd --observe`
meh - a : yabai -m window --resize left:-50:0; yabai -m window --resize right:-50:0
meh - s : yabai -m window --resize bottom:0:50; yabai -m window --resize top:0:50
meh - w: yabai -m window --resize top:0:-50; yabai -m window --resize bottom:0:-50
meh - d : yabai -m window --resize right:50:0; yabai -m window --resize left:50:0
# Move window to other desktop and focus desktop # Move window to other desktop and focus desktop
# FIXME: does not work with SIP enabled since macOS 15.? ctrl + shift + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1
hyper - 1 : yabai -m window --space 1 ctrl + shift + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2
hyper - 2 : yabai -m window --space 2 ctrl + shift + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3
hyper - 3 : yabai -m window --space 3 ctrl + shift + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4
hyper - 4 : yabai -m window --space 4
hyper - 5 : yabai -m window --space 5
# Move window to display left and right # Move window to display left and right
meh - r : yabai -m window --display west; yabai -m display --focus west ctrl + shift + alt - r : yabai -m window --display west; yabai -m display --focus west;
meh - u : yabai -m window --display east; yabai -m display --focus east ctrl + shift + alt - u : yabai -m window --display east; yabai -m display --focus east;
# Revert resized windows to default # Revert resized windows to default
meh - 0 : yabai -m space --balance ctrl + shift + alt - 0 : yabai -m space --balance
# Rotate windows clockwise # Rotate windows clockwise
meh - y : yabai -m space --rotate 270 ctrl + shift + alt - y : yabai -m space --rotate 270
# Indicate focus
# NOTE: Needs scripting/protection off
#hyper - o: yabai -m window --opacity 0.1 && sleep $(yabai -m config window_opacity_duration) && yabai -m window --opacity 0.0

View file

@ -4,23 +4,18 @@
# /tmp/yabai_$USER.err.log # /tmp/yabai_$USER.err.log
# /tmp/yabai_$USER.out.log # /tmp/yabai_$USER.out.log
yabai -m window --opacity 0.1 && sleep $(yabai -m config window_opacity_duration) && yabai -m window --opacity 0.0
yabai -m config layout bsp yabai -m config layout bsp
yabai -m config window_placement second_child
# Global # Global
yabai -m config focus_follows_mouse autofocus yabai -m config focus_follows_mouse off
yabai -m config mouse_follows_focus on yabai -m config mouse_follows_focus off
yabai -m config layout bsp yabai -m config layout bsp
#yabai -m config auto_balance on yabai -m config top_padding 0
yabai -m config split_ratio 0.4 yabai -m config bottom_padding 0
yabai -m config top_padding 8 yabai -m config left_padding 0
yabai -m config bottom_padding 8 yabai -m config right_padding 0
yabai -m config left_padding 8 yabai -m config window_gap 0
yabai -m config right_padding 8
yabai -m config window_gap 12
yabai -m config mouse_action1 move yabai -m config mouse_action1 move
yabai -m config mouse_action2 resize yabai -m config mouse_action2 resize
@ -30,16 +25,15 @@ yabai -m config mouse_modifier ctrl
#yabai -m config --space 2 window_gap #yabai -m config --space 2 window_gap
# Floating (unmanaged) apps # Floating (unmanaged) apps
#yabai -m rule --add app=".*" sub-layer=normal yabai -m rule --add app=Finder manage=off
yabai -m rule --add app="^Calculator$" manage=off yabai -m rule --add app=Calculator manage=off
yabai -m rule --add app="^VLC$" manage=off yabai -m rule --add app=VLC manage=off
yabai -m rule --add app="^System Settings$" manage=off
# yabai -m rule --add app="^Firefox$" space=1 # Launch borders
yabai -m rule --add app="^Ghostty$" space=2 # https://github.com/FelixKratz/JankyBorders/issues/37#issuecomment-1871262622
yabai -m rule --add app="^Things$" space=3 #borders order=above active_color=0xff007777 inactive_color=0xff004444 width=8.0 style=square &
yabai -m rule --add app="^Calendar$" space=3 #borders order=above active_color=0xffffd700 inactive_color=0xff004444 width=8.0 style=square &
yabai -m rule --add app="^Microsoft Teams$" space=5 #borders order=above active_color=0xffffd700 inactive_color=0xff897400 width=8.0 style=square &
yabai -m rule --add app="^Slack$" space=5 borders order=above active_color=0xffffd700 background_color=0xee897400 width=8.0 style=square blacklist="firefox" ax_focus=true &
yabai -m rule --add app="^Signal$" space=5
echo "$(date) yabai config $0 loaded" echo "$(date) yabai config $0 loaded"

1
.gitignore vendored
View file

@ -1,4 +1,3 @@
# vim # vim
.vim/.netrwhist .vim/.netrwhist
.DS_Store .DS_Store
.config/ghostty/shaders/ghostty-shaders

View file

@ -1,4 +0,0 @@
\set PROMPT1 '%[%033[1;33;40m%]%n@%/%R%[%033[0m%]%# '
\x auto
\set COMP_KEYWORD_CASE upper
\timing

View file

@ -0,0 +1,21 @@
// Place your settings in this file to overwrite the default settings
{
"window.zoomLevel": 1,
"editor.renderWhitespace": "none",
"editor.renderControlCharacters": true,
"editor.minimap.enabled": false,
"workbench.startupEditor": "none",
"workbench.editor.enablePreview": false,
"workbench.colorTheme": "Soup (rainglow)",
"files.trimTrailingWhitespace": true,
"files.trimFinalNewlines": true,
"files.insertFinalNewline": true,
"editor.rulers": [
80
120
],
"workbench.iconTheme": "material-icon-theme",
"editor.scrollBeyondLastLine": false,
"workbench.statusBar.feedback.visible": false,
"python.pythonPath": "/Users/oliver.ladner/envs/ansible2-latest/bin/python"
}

View file

@ -1,17 +0,0 @@
{
"workbench.colorTheme": "Rosé Pine",
"editor.minimap.enabled": false,
"editor.fontSize": 16,
"editor.fontFamily": "JetBrainsMono Nerd Font",
"editor.autoClosingBrackets": "never",
"editor.folding": false,
"workbench.preferredDarkColorTheme": "Rosé Pine Moon",
"workbench.preferredLightColorTheme": "Rosé Pine Dawn",
"window.autoDetectColorScheme": true,
"extensions.experimental.affinity": {
"asvetliakov.vscode-neovim": 1
},
"editor.lineNumbers": "relative",
"editor.accessibilitySupport": "off",
"editor.cursorSurroundingLines": 5
}

View file

@ -12,7 +12,18 @@ This `README` also kind of documents my macOS "setup".
## Essential macOS software ## Essential macOS software
See [this blog post](https://lugh.ch/good-software.html) - Package management: [Homebrew](http://brew.sh)
- Mouseless navigation: [Shortcat](https://shortcat.app)
- OpenVPN: [Tunnelblick](https://tunnelblick.net)
- Terminal: [Alacritty](https://alacritty.org)
- Terminal: [cool-retro-term](https://github.com/Swordfish90/cool-retro-term)
- Clipboard manager: [Maccy](https://maccy.app)
- Tasks: [Things](https://culturedcode.com/things/)
- Fonts with glyphs: [Nerd Fonts](https://www.nerdfonts.com)
- Screen arrangement: [displayplacer](https://github.com/jakehilborn/displayplacer)
- Note-taking: [heynote](https://heynote.com)
- Tiling window manager: [AeroSpace](https://github.com/nikitabobko/AeroSpace) ~[yabai](https://github.com/koekeishiya/yabai)~
- ~Custom hotkeys: [skhd](https://github.com/koekeishiya/skhd)~
### Work related software ### Work related software

View file

@ -1,5 +0,0 @@
#!/usr/bin/env bash
#
# Rebot into Asahi on next boot
sudo bless -mount /Volumes/asahi --setBoot --nextonly && reboot

177
brew.txt
View file

@ -1,59 +1,32 @@
abseil
angle-grinder angle-grinder
ansible ansible
aom aom
apache-arrow
aribb24 aribb24
asdf
assimp assimp
assimp@5
aws-c-auth
aws-c-cal
aws-c-common
aws-c-compression
aws-c-event-stream
aws-c-http
aws-c-io
aws-c-mqtt
aws-c-s3
aws-c-sdkutils
aws-checksums
aws-crt-cpp
aws-elasticbeanstalk aws-elasticbeanstalk
aws-sdk-cpp
awscli awscli
azure-cli azure-cli
bash
bicep bicep
bind bind
boost borders
brotli brotli
btop
c-ares c-ares
ca-certificates ca-certificates
cairo cairo
ceres-solver
certifi certifi
cffi cffi
cgns
checkov
cjson cjson
cloc
cmake cmake
cryptography cryptography
datasette
dav1d dav1d
dbus dbus
deno
diff-pdf
diffutils diffutils
dive dive
dos2unix dos2unix
dotnet
dotnet@8 dotnet@8
double-conversion double-conversion
dust
dvdrtools dvdrtools
eigen
elixir elixir
erlang erlang
fd fd
@ -63,25 +36,18 @@ findutils
flac flac
flyctl flyctl
fontconfig fontconfig
fortune
freetype freetype
freeze
frei0r frei0r
fribidi fribidi
fx
fzf
gcc
gd gd
gdbm gdbm
gdk-pixbuf gdk-pixbuf
geoip geoip
gettext gettext
gflags ghostscript
giflib giflib
git git
glew
glib glib
glog
glow glow
gmp gmp
gnupg gnupg
@ -89,49 +55,34 @@ gnuplot
gnutls gnutls
go go
gpgme gpgme
gpgmepp
graphicsmagick graphicsmagick
graphite2 graphite2
graphviz graphviz
grpc
gts gts
gum gum
gumbo-parser
harfbuzz harfbuzz
harlequin
hcledit
hdf5
highway highway
htop htop
httrack
hunspell hunspell
hurl
hwloc
icu4c@76 icu4c@76
icu4c@77
icu4c@78
imagemagick imagemagick
imath imath
infracost
ipcalc ipcalc
iperf3
isl
jasper jasper
jbig2dec
jemalloc jemalloc
jpeg
jpeg-turbo jpeg-turbo
jpeg-xl jpeg-xl
jq jq
json-c json-c
jsoncpp
k9s k9s
kind
krb5 krb5
kubectx kubectx
kubernetes-cli kubernetes-cli
lame lame
lazygit lazygit
leptonica leptonica
libaec
libarchive libarchive
libass libass
libassuan libassuan
@ -143,30 +94,24 @@ libcerf
libde265 libde265
libdeflate libdeflate
libdicom libdicom
libedit
libevent libevent
libexif libexif
libfido2 libfido2
libgcrypt libgcrypt
libgit2 libgit2
libgpg-error libgpg-error
libharu
libheif libheif
libidn
libidn2 libidn2
libksba libksba
liblinear liblinear
liblqr liblqr
libmaxminddb
libmicrohttpd libmicrohttpd
libmng libmng
libmpc
libnghttp2 libnghttp2
libnghttp3
libngtcp2
libogg libogg
libomp libomp
libpng libpng
libpq
libraw libraw
librist librist
librsvg librsvg
@ -180,8 +125,6 @@ libssh2
libtasn1 libtasn1
libtiff libtiff
libtool libtool
libudfread
libultrahdr
libunibreak libunibreak
libunistring libunistring
libusb libusb
@ -190,6 +133,7 @@ libvidstab
libvmaf libvmaf
libvorbis libvorbis
libvpx libvpx
libvterm
libwebsockets libwebsockets
libx11 libx11
libxau libxau
@ -199,177 +143,100 @@ libxext
libxml2 libxml2
libxrender libxrender
libyaml libyaml
libzip
litehtml
little-cms2 little-cms2
llvm llvm
lolcat lolcat
lpeg lpeg
lua lua
luajit luajit
luarocks
luv luv
lz4 lz4
lzo lzo
m1ddc
m4 m4
macism macism
marksman marksman
mbedtls mbedtls
mbedtls@3
md4c md4c
md5sha1sum md5sha1sum
metis
midnight-commander midnight-commander
minicom minicom
mmdbinspect
mpdecimal mpdecimal
mpfr
mpg123 mpg123
msgpack
mysql-client mysql-client
mysql-client@8.0 mysql-client@8.0
ncdu ncdu
ncurses ncurses
neovide neovide
neovim neovim
netcdf
netpbm netpbm
nettle nettle
nlohmann-json
nmap nmap
node node
npth npth
nspr nspr
nss nss
numpy
oh-my-posh
oniguruma oniguruma
onnx
openblas
opencore-amr opencore-amr
opencv
openexr openexr
openjdk openjdk
openjpeg openjpeg
openjph
openslide openslide
openssl@1.1 openssl@1.1
openssl@3 openssl@3
openstackclient openstackclient
opentofu opentofu
openvino
opus opus
osv-scanner
p11-kit p11-kit
p7zip
packer packer
pandoc pandoc
pango pango
parallel
pcre2 pcre2
pinentry pinentry
pixman pixman
pkgconf pkgconf
pnpm
podman
poppler poppler
posting postgresql@14
presenterm
prettyping prettyping
proj
proselint
protobuf
pssh
pugixml
pwgen pwgen
pycparser pycparser
pydantic
python-certifi python-certifi
python-cryptography python-cryptography
python-packaging python-packaging
python-setuptools
python-typing-extensions python-typing-extensions
python@3.10 python@3.10
python@3.11 python@3.11
python@3.12 python@3.12
python@3.13 python@3.13
python@3.14
qt qt
qt3d
qt5compat
qtbase
qtcharts
qtconnectivity
qtdatavis3d
qtdeclarative
qtgraphs
qtgrpc
qthttpserver
qtimageformats
qtlanguageserver
qtlocation
qtlottie
qtmultimedia
qtnetworkauth
qtpositioning
qtquick3d
qtquick3dphysics
qtquickeffectmaker
qtquicktimeline
qtremoteobjects
qtscxml
qtsensors
qtserialbus
qtserialport
qtshadertools
qtspeech
qtsvg
qttools
qttranslations
qtvirtualkeyboard
qtwebchannel
qtwebengine
qtwebsockets
qtwebview
rav1e rav1e
re2
readline readline
ripgrep ripgrep
rpds-py
rpm2cpio rpm2cpio
rubberband rubberband
rust rust
s-lang s-lang
sdl2 sdl2
shared-mime-info shared-mime-info
simdjson skhd
skhd-zig
snappy snappy
speedtest-cli speedtest-cli
speex speex
sqlite sqlite
sqlite-utils
srt srt
sslyze sslyze
stress-ng stress-ng
suite-sparse
svt-av1 svt-av1
swaks swaks
switchaudio-osx switchaudio-osx
task task
taskwarrior-tui taskwarrior-tui
tbb
telnet telnet
termshot termshot
terraform terraform
terraform-docs
terrascan
tesseract tesseract
tflint tflint
tfsec
tfupdate
theora theora
thrift
tig tig
timg timg
tmux tmux
@ -377,64 +244,50 @@ tmux-mem-cpu-load
tokei tokei
tree tree
tree-sitter tree-sitter
trivy
ttyd ttyd
unbound unbound
unibilium unibilium
unixodbc unixodbc
userspace-rcu userspace-rcu
utf8cpp
utf8proc utf8proc
uthash uthash
uv
uvwasi
vhs vhs
vtk
watch watch
wdc
webp webp
wget wget
wireguard-go wxwidgets
wireguard-tools
wxwidgets@3.2
x264 x264
x265 x265
xan
xorgproto xorgproto
xvid xvid
xz xz
yabai yabai
yt-dlp
z3 z3
zeromq zeromq
zimg zimg
zlib zlib
zsh-autosuggestions zsh-autosuggestions
zsh-completions zsh-completions
zsh-syntax-highlighting
zstd zstd
aerospace aerospace
alacritty alacritty
basictex basictex
betterdisplay betterdisplay
bruno
cool-retro-term cool-retro-term
cyberduck cyberduck
db-browser-for-sqlite
disk-inventory-x disk-inventory-x
forklift forklift
ghostty ghostty
gramps
hot hot
karabiner-elements kitty
krita krita
librewolf
maccy maccy
marta
microsoft-auto-update microsoft-auto-update
microsoft-teams microsoft-teams
mqtt-explorer mqtt-explorer
mysqlworkbench mysqlworkbench
openscad openscad
pixelorama
powershell powershell
vscodium skype-for-business
wezterm