diff --git a/.config/aerospace/aerospace.toml b/.config/aerospace/aerospace.toml index 7d1b9bc..63b606e 100644 --- a/.config/aerospace/aerospace.toml +++ b/.config/aerospace/aerospace.toml @@ -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' diff --git a/.config/alacritty/README.md b/.config/alacritty/README.md index 8eee598..ddc0acc 100644 --- a/.config/alacritty/README.md +++ b/.config/alacritty/README.md @@ -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-.toml` files you will not need. Those contain +OS/system-dependant preferences like font size etc. diff --git a/.config/alacritty/alacritty-macos.toml b/.config/alacritty/alacritty-macos.toml new file mode 100644 index 0000000..d217a6a --- /dev/null +++ b/.config/alacritty/alacritty-macos.toml @@ -0,0 +1,6 @@ +[font] +size = 18 + +[window] +opacity = 0.85 +blur = true diff --git a/.config/alacritty/alacritty-minix.toml b/.config/alacritty/alacritty-minix.toml new file mode 100644 index 0000000..26a2a8f --- /dev/null +++ b/.config/alacritty/alacritty-minix.toml @@ -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"] diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index 2a9496c..fd75251 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -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 diff --git a/.config/alacritty/catppuccin-latte.toml b/.config/alacritty/archive/catppuccin-latte.toml similarity index 100% rename from .config/alacritty/catppuccin-latte.toml rename to .config/alacritty/archive/catppuccin-latte.toml diff --git a/.config/alacritty/catppuccin-macchiato.toml b/.config/alacritty/archive/catppuccin-macchiato.toml similarity index 100% rename from .config/alacritty/catppuccin-macchiato.toml rename to .config/alacritty/archive/catppuccin-macchiato.toml diff --git a/.config/alacritty/tokyonight_day.toml b/.config/alacritty/archive/tokyonight_day.toml similarity index 100% rename from .config/alacritty/tokyonight_day.toml rename to .config/alacritty/archive/tokyonight_day.toml diff --git a/.config/alacritty/tokyonight_moon.toml b/.config/alacritty/archive/tokyonight_moon.toml similarity index 100% rename from .config/alacritty/tokyonight_moon.toml rename to .config/alacritty/archive/tokyonight_moon.toml diff --git a/.config/alacritty/tokyonight_night.toml b/.config/alacritty/archive/tokyonight_night.toml similarity index 100% rename from .config/alacritty/tokyonight_night.toml rename to .config/alacritty/archive/tokyonight_night.toml diff --git a/.config/alacritty/tokyonight_storm.toml b/.config/alacritty/archive/tokyonight_storm.toml similarity index 100% rename from .config/alacritty/tokyonight_storm.toml rename to .config/alacritty/archive/tokyonight_storm.toml diff --git a/.config/ghostty/config b/.config/ghostty/config index ff7165e..97f1a62 100644 --- a/.config/ghostty/config +++ b/.config/ghostty/config @@ -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 diff --git a/.config/ghostty/shaders/ghostty-shaders b/.config/ghostty/shaders/ghostty-shaders index fd31bd4..3f45815 160000 --- a/.config/ghostty/shaders/ghostty-shaders +++ b/.config/ghostty/shaders/ghostty-shaders @@ -1 +1 @@ -Subproject commit fd31bd4211784f1e199091bccd080092ae27cf35 +Subproject commit 3f458157b0d7b9e70eeb19bd27102dc9f8dae80c diff --git a/.config/git/config b/.config/git/config index cc68988..0cc0a01 100644 --- a/.config/git/config +++ b/.config/git/config @@ -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 diff --git a/.config/pi/agent/AGENTS.md b/.config/pi/agent/AGENTS.md new file mode 100644 index 0000000..78d6a1d --- /dev/null +++ b/.config/pi/agent/AGENTS.md @@ -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.). diff --git a/.config/pi/agent/APPEND_SYSTEM.md b/.config/pi/agent/APPEND_SYSTEM.md new file mode 100644 index 0000000..e81d63d --- /dev/null +++ b/.config/pi/agent/APPEND_SYSTEM.md @@ -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 diff --git a/.config/presenterm/config.yaml b/.config/presenterm/config.yaml new file mode 100644 index 0000000..6b1d2bf --- /dev/null +++ b/.config/presenterm/config.yaml @@ -0,0 +1,4 @@ +defaults: + theme: catppuccin-mocha + + # validate_overflows: always diff --git a/.config/skhd/skhdrc b/.config/skhd/skhdrc index e4b15ff..188e154 100755 --- a/.config/skhd/skhdrc +++ b/.config/skhd/skhdrc @@ -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 diff --git a/.config/yabai/yabairc b/.config/yabai/yabairc index 715468f..9717393 100755 --- a/.config/yabai/yabairc +++ b/.config/yabai/yabairc @@ -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" diff --git a/.gitignore b/.gitignore index 41fe2da..d93e80f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ # vim .vim/.netrwhist .DS_Store +.config/ghostty/shaders/ghostty-shaders diff --git a/.psqlrc b/.psqlrc new file mode 100644 index 0000000..e66ac5c --- /dev/null +++ b/.psqlrc @@ -0,0 +1,4 @@ +\set PROMPT1 '%[%033[1;33;40m%]%n@%/%R%[%033[0m%]%# ' +\x auto +\set COMP_KEYWORD_CASE upper +\timing diff --git a/Library/Application Support/Code/User/settings.json b/Library/Application Support/Code/User/settings.json deleted file mode 100644 index 094e140..0000000 --- a/Library/Application Support/Code/User/settings.json +++ /dev/null @@ -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" -} diff --git a/Library/Application Support/VSCodium/User/settings.json b/Library/Application Support/VSCodium/User/settings.json new file mode 100644 index 0000000..020c15c --- /dev/null +++ b/Library/Application Support/VSCodium/User/settings.json @@ -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 +} \ No newline at end of file diff --git a/README.md b/README.md index 4a30d7c..b1a1c99 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/bin/bootasahi.sh b/bin/bootasahi.sh new file mode 100755 index 0000000..5b9d429 --- /dev/null +++ b/bin/bootasahi.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# +# Rebot into Asahi on next boot + +sudo bless -mount /Volumes/asahi --setBoot --nextonly && reboot diff --git a/brew.txt b/brew.txt index c405d32..3c5bc00 100644 --- a/brew.txt +++ b/brew.txt @@ -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