Compare commits

...
Sign in to create a new pull request.

38 commits

Author SHA1 Message Date
d157b2b25a feat: add Asahi reboot script 2026-02-01 11:46:50 +01:00
8c180d126c feat(brew) update package list 2026-01-30 07:36:05 +01:00
195d89db1f feat: add pi 2026-01-29 16:28:09 +01:00
d887d06089 feat: add presenterm 2026-01-29 16:22:31 +01:00
2cc7a82586 feat(gitconfig): nvdimdiff > vimdiff 2026-01-20 13:54:37 +01:00
b7d0087156 feat(yabai): autofocus and smaller gaps 2026-01-20 13:53:28 +01:00
90966e9faa fix(ghostty): use Berkeley font, fix theme name 2025-11-04 09:19:10 +01:00
7563030c06 fix(alacritty): disable blur as not working on Sway 2025-10-17 08:56:37 +02:00
877c629fbc style(alacritty): properly align imports so macOS toggle script works 2025-10-17 08:52:39 +02:00
d04a6f767e fix(alacritty): import syntax 2025-10-17 08:47:34 +02:00
43b1430606 refactor(alacritty): import OS/system-specific configs, archive unused themes 2025-10-17 08:45:01 +02:00
5d193545de feat(git): extend credential cache helper timeout 2025-10-17 07:47:23 +02:00
f797ec1b46 fix(alacritty): add keybind for search on Linux 2025-10-05 13:38:04 +02:00
62cade5ce5 feat(alacritty): reintroduce Vi mode, set custom colors for it 2025-08-25 15:05:03 +02:00
2ab264b228 feat(alacritty): green it is now 2025-08-25 12:30:26 +02:00
d3f7170b1d feat(alacritty): switch to Berkeley Mono 2025-08-25 11:49:26 +02:00
80e0763379 feat(alacritty): custom config for TODO.md 2025-08-13 10:00:16 +02:00
cc21cdf45e feat(yabai): add keymaps to toggle splits and force splits
vertically/horizontally
2025-07-10 13:34:35 +02:00
358c24a3da refactor(yabai,skhd): remove clutter, use meh/hyper shortcuts for definitions 2025-07-10 12:55:04 +02:00
2273a2adc9 feat(git): only use pager if output is more than one screen 2025-07-03 10:31:34 +02:00
973ae4b49b feat: VSCodium>VSCode 2025-07-02 10:16:59 +02:00
45b0d86ff7 fix: update yabai/ghostty config 2025-06-03 09:41:35 +02:00
65cbb16299 fix: ghostty color scheme changes 2025-05-27 09:02:14 +02:00
0dd91c70a1 fix: ghostty color scheme changes 2025-05-27 08:11:41 +02:00
295ece76e8 fix(skhd): fix resize keymaps 2025-05-08 10:16:25 +02:00
e45aafb455 fix(skhd): re-enable split 2025-05-08 09:55:52 +02:00
692cd90af0 fix(yabai): disable auto_balance again, make newer windows bigger 2025-05-08 09:55:16 +02:00
660f539026 feat: use yabai and skhd again 2025-05-06 14:48:59 +02:00
0605282dd4 feat: try fancier gaps 2025-03-27 08:03:01 +01:00
902c4b8c2d feat: try transparency 2025-03-27 08:02:08 +01:00
874b1dba2d feat: brew (almost) spring cleaning 2025-02-24 14:48:38 +01:00
c6df537dfd feat: add .psqlrc 2025-02-20 11:08:39 +01:00
14bd1bf475 feat: ghostty shaders to gitignore 2025-02-17 10:24:32 +01:00
2721ed0302 feat(aerospace): workspace next/prev shortcuts 2025-02-17 10:04:38 +01:00
febb6f5a78 feat(brew) update package list 2025-02-05 13:59:34 +01:00
bc1ab2b67c docs: link to "good software" blog post 2025-02-05 09:03:26 +01:00
8755c4f079 feat: move to workspace 2 if moving a window there 2025-01-21 09:42:12 +01:00
0c98d68d86 refactor(aerospace): remove obsolete borders parameter 2025-01-14 09:15:29 +01:00
32 changed files with 697 additions and 469 deletions

View file

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

View file

@ -1,26 +1,4 @@
# Alacritty Windows config
# Alacritty config
```
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" }]
```
Delete the `alacrity-<systemdescr>.toml` files you will not need. Those contain
OS/system-dependant preferences like font size etc.

View file

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

View file

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

View file

@ -1,12 +1,6 @@
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
# green
palette = 2=#286983
palette = 10=#286983
# blue
palette = 4=#56949f
palette = 12=#56949f
selection-background = #dfdad9
shell-integration-features = no-cursor
@ -14,8 +8,12 @@ cursor-style = "block"
cursor-style-blink = true
cursor-color = #b4637a
cursor-opacity = 0.6
# cursor-invert-fg-bg = true
cursor-invert-fg-bg = false
font-family = "JetBrainsMono Nerd Font"
# background-opacity = 0.9
font-family = "BerkeleyMono Nerd Font Mono"
# font-style depends on the font's features
font-style = "Regular"
font-style-bold = "Bold"
@ -26,7 +24,7 @@ font-feature = "-calt"
font-size = 17
# Reduce letter spacing
adjust-cell-width = -8%
adjust-cell-height = -1
#adjust-cell-height = -1
window-padding-x = 8
window-padding-y = 4
@ -39,8 +37,11 @@ window-colorspace = display-p3
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 = page_up=scroll_page_up
keybind = page_down=scroll_page_down
quick-terminal-animation-duration = 0
# Disable secure input to not interfere with skhd
macos-auto-secure-input = false

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

View file

@ -1,5 +1,7 @@
[core]
editor = nvim
editor = nvim
# Only page if more than one screen
pager = "less -FX"
[color]
branch = auto
@ -8,10 +10,12 @@
status = auto
[credential]
helper = cache --timeout 43200
helper = cache --timeout=604800
[diff]
tool = vimdiff
tool = nvimdiff
[difftool "nvimdiff"]
cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""
[http]
postBuffer = 524288000
@ -23,8 +27,16 @@
[init]
defaultBranch = main
[merge]
tool = "nvim"
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
[includeIf "gitdir:~/git/work/"]
path = ~/git/work/gitconfig

View file

@ -0,0 +1,20 @@
# 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

@ -0,0 +1,4 @@
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

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

View file

@ -4,39 +4,70 @@
# the Ctrl+Shift+Alt key combo which helps here to have unique skhd shortcuts
# that don't clash with macOS/Neovim/...
# meh = shift + alt + ctrl
# hyper = cmd + shift + alt + ctrl
# Focus a window
alt - h : yabai -m window --focus west
alt - j : yabai -m window --focus south
alt - k : yabai -m window --focus north
alt - l : yabai -m window --focus east
# Zoom a window
ctrl + shift + alt - f : yabai -m window --toggle zoom-fullscreen
# Focus a space
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')"
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')"
# Swap windows
ctrl + shift + alt - h : yabai -m window --swap west
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
# Zoom a window. `--toggle float` would be nicer, but results
# in the window brought back to the wrong place after toggling
meh - f : yabai -m window --toggle zoom-fullscreen
# split
ctrl + shift + alt + cmd - h : yabai -m window --warp west
ctrl + shift + alt + cmd - j : yabai -m window --warp south
ctrl + shift + alt + cmd - k : yabai -m window --warp north
ctrl + shift + alt + cmd - l : yabai -m window --warp east
# Move/swap windows
meh - h : yabai -m window --swap west
meh - j : yabai -m window --swap south
meh - k : yabai -m window --swap north
meh - l : yabai -m window --swap 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
ctrl + shift + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1
ctrl + shift + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2
ctrl + shift + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3
ctrl + shift + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4
# FIXME: does not work with SIP enabled since macOS 15.?
hyper - 1 : yabai -m window --space 1
hyper - 2 : yabai -m window --space 2
hyper - 3 : yabai -m window --space 3
hyper - 4 : yabai -m window --space 4
hyper - 5 : yabai -m window --space 5
# Move window to display left and right
ctrl + shift + alt - r : yabai -m window --display west; yabai -m display --focus west;
ctrl + shift + alt - u : yabai -m window --display east; yabai -m display --focus east;
meh - r : yabai -m window --display west; yabai -m display --focus west
meh - u : yabai -m window --display east; yabai -m display --focus east
# Revert resized windows to default
ctrl + shift + alt - 0 : yabai -m space --balance
meh - 0 : yabai -m space --balance
# Rotate windows clockwise
ctrl + shift + alt - y : yabai -m space --rotate 270
meh - 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,18 +4,23 @@
# /tmp/yabai_$USER.err.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 window_placement second_child
# Global
yabai -m config focus_follows_mouse off
yabai -m config mouse_follows_focus off
yabai -m config focus_follows_mouse autofocus
yabai -m config mouse_follows_focus on
yabai -m config layout bsp
yabai -m config top_padding 0
yabai -m config bottom_padding 0
yabai -m config left_padding 0
yabai -m config right_padding 0
yabai -m config window_gap 0
#yabai -m config auto_balance on
yabai -m config split_ratio 0.4
yabai -m config top_padding 8
yabai -m config bottom_padding 8
yabai -m config left_padding 8
yabai -m config right_padding 8
yabai -m config window_gap 12
yabai -m config mouse_action1 move
yabai -m config mouse_action2 resize
@ -25,15 +30,16 @@ yabai -m config mouse_modifier ctrl
#yabai -m config --space 2 window_gap
# Floating (unmanaged) apps
yabai -m rule --add app=Finder manage=off
yabai -m rule --add app=Calculator manage=off
yabai -m rule --add app=VLC manage=off
# Launch borders
# https://github.com/FelixKratz/JankyBorders/issues/37#issuecomment-1871262622
#borders order=above active_color=0xff007777 inactive_color=0xff004444 width=8.0 style=square &
#borders order=above active_color=0xffffd700 inactive_color=0xff004444 width=8.0 style=square &
#borders order=above active_color=0xffffd700 inactive_color=0xff897400 width=8.0 style=square &
borders order=above active_color=0xffffd700 background_color=0xee897400 width=8.0 style=square blacklist="firefox" ax_focus=true &
#yabai -m rule --add app=".*" sub-layer=normal
yabai -m rule --add app="^Calculator$" 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
yabai -m rule --add app="^Ghostty$" space=2
yabai -m rule --add app="^Things$" space=3
yabai -m rule --add app="^Calendar$" space=3
yabai -m rule --add app="^Microsoft Teams$" space=5
yabai -m rule --add app="^Slack$" space=5
yabai -m rule --add app="^Signal$" space=5
echo "$(date) yabai config $0 loaded"

1
.gitignore vendored
View file

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

4
.psqlrc Normal file
View file

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

View file

@ -1,21 +0,0 @@
// 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

@ -0,0 +1,17 @@
{
"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,18 +12,7 @@ This `README` also kind of documents my macOS "setup".
## Essential macOS software
- 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)~
See [this blog post](https://lugh.ch/good-software.html)
### Work related software

5
bin/bootasahi.sh Executable file
View file

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

177
brew.txt
View file

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