diff --git a/Brewfile b/Brewfile index ba918aa..63aeb9d 100644 --- a/Brewfile +++ b/Brewfile @@ -1,65 +1,74 @@ tap "charmbracelet/tap" tap "dotenvx/brew" -tap "enigmaticdb/super-secret-tap" -tap "get-woke/tap" tap "ghall89/tap" tap "homebrew/bundle" tap "homebrew/cask" tap "homebrew/cask-fonts" tap "homebrew/core" +tap "homebrew/services" +tap "marsanne/cask" +tap "oven-sh/bun" brew "jq" brew "ansiweather" brew "atuin" brew "bchunk" +brew "btop" brew "cloc" +brew "csvkit" brew "exiv2" brew "eza" +brew "flyctl" brew "fzf" brew "gh" brew "git" brew "gleam" brew "glow" +brew "gnupg" brew "go" brew "gum" +brew "helix" brew "libheif" brew "imagemagick" brew "lazygit" +brew "loc" brew "lynx" brew "man2html" brew "mas" brew "micro" brew "mint" +brew "mods" brew "nvm" brew "oh-my-posh" brew "pandoc" brew "parallel" +brew "pnpm" brew "ripgrep" brew "sf-pwgen" brew "speedtest-cli" -brew "starship" brew "swift-format" brew "telnet" brew "thefuck" +brew "tmux" brew "toot" +brew "vapor" brew "wget" +brew "yarn" brew "yt-dlp" brew "zoxide" brew "dotenvx/brew/dotenvx" -brew "get-woke/tap/woke" +brew "oven-sh/bun/bun" cask "airbuddy" -cask "alfred" +cask "appflowy" cask "arc" cask "bbedit" +cask "cap" cask "carbon-copy-cloner" cask "contexts" cask "cork" cask "daisydisk" +cask "db-browser-for-sqlite" cask "discord" -cask "easyfind" cask "endless-sky" -cask "firefox" -cask "font-hasklig" -cask "font-montserrat" cask "fork" cask "gb-studio" cask "gog-galaxy" @@ -70,12 +79,9 @@ cask "iterm2" cask "jordanbaird-ice" cask "keyboardcleantool" cask "keystash" -cask "latest" -cask "llamachat" +cask "launchbar" cask "mac-mouse-fix" -cask "macwhisper" cask "nova" -cask "ollama" cask "onyx" cask "openemu" cask "paletro" @@ -83,7 +89,7 @@ cask "pictogram" cask "postgres-unofficial" cask "protonmail-bridge" cask "qlmarkdown" -cask "quitter" +cask "quicklook-json" cask "raycast" cask "rectangle-pro" cask "rocket" @@ -94,82 +100,8 @@ cask "steam" cask "swiftformat-for-xcode" cask "tableplus" cask "the-unarchiver" -cask "thunderbird" +cask "vivaldi" cask "xscope" cask "zed" -mas "1Blocker", id: 1365531024 -mas "Actions", id: 1586435171 -mas "Affinity Designer 2", id: 1616831348 -mas "Affinity Photo 2", id: 1616822987 -mas "Affinity Publisher 2", id: 1606941598 -mas "Anybox", id: 1593408455 -mas "Bakery", id: 1575220747 -mas "Baking Soda", id: 1601151613 -mas "Bear", id: 1091189122 -mas "Boop", id: 1518425043 -mas "Codye", id: 1516894961 -mas "Collections", id: 1568395334 -mas "Color Picker", id: 1545870783 -mas "DetailsPro", id: 1524366536 -mas "DevCleaner", id: 1388020431 -mas "Developer", id: 640199958 -mas "Dice", id: 1479250666 -mas "Divinity - Original Sin 2", id: 1441532941 -mas "Dropover", id: 1355679052 -mas "Fantastical", id: 975937182 -mas "Folder Peek", id: 1615988943 -mas "Folderizer", id: 6480047256 -mas "Front and Center", id: 1493996622 -mas "Gifski", id: 1351639930 -mas "HEIC Converter", id: 1294126402 -mas "HTTPBot", id: 1232603544 -mas "Hush", id: 1544743900 -mas "Interactful", id: 1528095640 -mas "Ivory", id: 6444602274 -mas "JapanRural", id: 1634749545 -mas "Jiffy", id: 1502527999 -mas "JSONPeep", id: 1458969831 -mas "Key Codes", id: 414568915 -mas "KeyLimePie", id: 1575163350 -mas "Keynote", id: 409183694 -mas "Lungo", id: 1263070803 -mas "Macarte", id: 1573769710 -mas "Mactracker", id: 430255202 -mas "Mini Metro+", id: 1550663539 -mas "Mini Motorways", id: 1456188526 -mas "Numbers", id: 409203825 -mas "Page Screenshot for Safari", id: 1472715727 -mas "Pages", id: 409201541 -mas "Pandan", id: 1569600264 -mas "Parcel", id: 639968404 -mas "Pastel", id: 413897608 -mas "Photomator", id: 1444636541 -mas "Pixelmator Pro", id: 1289583905 -mas "Pixen", id: 525180431 -mas "Plain Text Editor", id: 1572202501 -mas "Playgrounds", id: 1496833156 -mas "Pocket City", id: 1468908135 -mas "Pure Paste", id: 1611378436 -mas "Reeder", id: 1529448980 -mas "Refined GitHub", id: 1519867270 -mas "Screens", id: 1224268771 -mas "Secrets", id: 1591056366 -mas "Shareful", id: 1522267256 -mas "Shortery", id: 1594183810 -mas "Sleeve", id: 1606145041 -mas "Snippety", id: 1530751461 -mas "Soulver 3", id: 1508732804 -mas "Speediness", id: 1596706466 -mas "Swifter", id: 1621133381 -mas "TestFlight", id: 899247664 -mas "The Battle for Wesnoth", id: 1450738104 -mas "Tomito", id: 1526042938 -mas "Tot", id: 1491071483 -mas "Transporter", id: 1450874784 -mas "Userscripts-Mac-App", id: 1463298887 -mas "Velja", id: 1607635845 -mas "Vinegar", id: 1591303229 -mas "Wallaroo", id: 1630565980 -mas "WhatsApp", id: 1147396723 -mas "WorldWideWeb", id: 1621370168 -mas "Xcode", id: 497799835 +cask "zen-browser" +mas "Little Snitch Mini", id: 1629008763 diff --git a/micro_config/settings.json b/micro_config/settings.json index 5965fbd..5580c8d 100644 --- a/micro_config/settings.json +++ b/micro_config/settings.json @@ -1,11 +1,8 @@ { - "colorscheme": "atom-dark", - "lsp.autocompleteDetails": false, - "lsp.formatOnSave": true, + "colorscheme": "simple", "lsp.ignoreMessages": "LS message1 to ignore|LS message 2 to ignore|...", "lsp.ignoreTriggerCharacters": "completion,signature", "lsp.server": "go=gopls,typescript=typescript-language-server", - "lsp.tabcompletion": true, "softwrap": true, "tabsize": 2 } diff --git a/misc_config/alacritty.toml b/misc_config/alacritty.toml deleted file mode 100644 index a38dc7c..0000000 --- a/misc_config/alacritty.toml +++ /dev/null @@ -1,85 +0,0 @@ -[font] -normal = { family = "MesloLGS NF", style = "Regular" } -size = 14 - -[cursor] -style = { shape = "Underline", blinking = "On" } - -[window] -dimensions = { columns = 130, lines = 40 } - -[colors.primary] -background = "#303446" -foreground = "#c6d0f5" -dim_foreground = "#838ba7" -bright_foreground = "#c6d0f5" - -[colors.cursor] -text = "#303446" -cursor = "#f2d5cf" - -[colors.vi_mode_cursor] -text = "#303446" -cursor = "#babbf1" - -[colors.search.matches] -foreground = "#303446" -background = "#a5adce" - -[colors.search.focused_match] -foreground = "#303446" -background = "#a6d189" - -[colors.footer_bar] -foreground = "#303446" -background = "#a5adce" - -[colors.hints.start] -foreground = "#303446" -background = "#e5c890" - -[colors.hints.end] -foreground = "#303446" -background = "#a5adce" - -[colors.selection] -text = "#303446" -background = "#f2d5cf" - -[colors.normal] -black = "#51576d" -red = "#e78284" -green = "#a6d189" -yellow = "#e5c890" -blue = "#8caaee" -magenta = "#f4b8e4" -cyan = "#81c8be" -white = "#b5bfe2" - -[colors.bright] -black = "#626880" -red = "#e78284" -green = "#a6d189" -yellow = "#e5c890" -blue = "#8caaee" -magenta = "#f4b8e4" -cyan = "#81c8be" -white = "#a5adce" - -[colors.dim] -black = "#51576d" -red = "#e78284" -green = "#a6d189" -yellow = "#e5c890" -blue = "#8caaee" -magenta = "#f4b8e4" -cyan = "#81c8be" -white = "#b5bfe2" - -[[colors.indexed_colors]] -index = 16 -color = "#ef9f76" - -[[colors.indexed_colors]] -index = 17 -color = "#f2d5cf" diff --git a/misc_config/ghostty b/misc_config/ghostty new file mode 100644 index 0000000..9d5434a --- /dev/null +++ b/misc_config/ghostty @@ -0,0 +1,15 @@ +theme = dark:Bright Lights,light:AtomOneLight + +cursor-style = underline +shell-integration-features = no-cursor +adjust-cursor-thickness = 4 + +font-size = 15 +font-family = Rec Mono Linear +font-thicken = true + +window-height = 34 +window-width = 100 +window-padding-x = 5 +window-padding-y = 5 +window-padding-balance = true diff --git a/misc_config/ohmyposh.json b/misc_config/ohmyposh.json index b4b02ec..758c2de 100644 --- a/misc_config/ohmyposh.json +++ b/misc_config/ohmyposh.json @@ -1,119 +1,118 @@ { "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "transient_prompt": { + "template": "{{ .Shell }}> ", + "foreground": "#ffffff", + "background": "transparent" + }, "blocks": [ { + "type": "prompt", "alignment": "left", - "newline": true, "segments": [ { - "foreground": "#E5C07B", "properties": { + "cache_duration": "none", "time_format": "15:04" }, - "style": "plain", "template": "\uf017 {{ .CurrentDate | date .Format }}", - "type": "time" + "foreground": "#E5C07B", + "type": "time", + "style": "plain" }, { - "type": "shell", - "style": "plain", - "foreground": "#E06C75", "properties": { - "mapped_shell_names": { - "pwsh": "Shell", - "powershell": "Shell", - "cmd": "Cmd", - "bash": "Bash" - } + "branch_max_length": 25, + "cache_duration": "none", + "fetch_stash_count": true, + "fetch_status": true, + "fetch_upstream_icon": true }, - "template": " \ue795 {{ .Name }}" - }, - { + "template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ", "foreground": "#F3C267", + "type": "git", + "style": "plain", "foreground_templates": [ "{{ if or (.Working.Changed) (.Staging.Changed) }}#FF9248{{ end }}", "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#ff4500{{ end }}", "{{ if gt .Ahead 0 }}#B388FF{{ end }}", "{{ if gt .Behind 0 }}#B388FF{{ end }}" - ], - "properties": { - "branch_max_length": 25, - "fetch_stash_count": true, - "fetch_status": true, - "fetch_upstream_icon": true - }, - "style": "plain", - "template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ", - "type": "git" + ] } ], - "type": "prompt" + "newline": true }, { + "type": "prompt", "alignment": "right", "segments": [ { + "properties": { + "cache_duration": "none" + }, + "template": " x{{ reason .Code }}", + "foreground": "#b8ff75", "type": "status", "style": "plain", - "foreground": "#b8ff75", - "foreground_templates": ["{{ if gt .Code 0 }}#E06C75{{ end }}"], - "template": " x{{ reason .Code }}" + "foreground_templates": ["{{ if gt .Code 0 }}#E06C75{{ end }}"] }, { - "foreground": "#E5C07B", - "foreground_templates": ["{{ if gt .Code 0 }}#E06C75{{ end }}"], "properties": { - "style": "roundrock", - "always_enabled": true + "always_enabled": true, + "cache_duration": "none", + "style": "roundrock" }, - "style": "diamond", "template": " {{ .FormattedMs }} ", - "type": "executiontime" + "foreground": "#E5C07B", + "type": "executiontime", + "style": "diamond", + "foreground_templates": ["{{ if gt .Code 0 }}#E06C75{{ end }}"] } - ], - "type": "prompt" + ] }, { + "type": "prompt", "alignment": "left", - "newline": true, "segments": [ { - "foreground": "#61AFEF", "properties": { + "cache_duration": "none", "style": "full" }, - "style": "plain", "template": "\ue5ff {{ .Path }}", - "type": "path" + "foreground": "#61AFEF", + "type": "path", + "style": "plain" } ], - "type": "prompt" + "newline": true }, { + "type": "prompt", "alignment": "left", - "newline": true, "segments": [ { + "properties": { + "cache_duration": "none" + }, + "template": "!", "foreground": "#E06C75", - "style": "plain", - "template": "\u0021", - "type": "root" + "type": "root", + "style": "plain" }, { + "properties": { + "cache_duration": "none" + }, + "template": "❯", "foreground": "#E06C75", - "style": "plain", - "template": "\u276f", - "type": "text" + "type": "text", + "style": "plain" } ], - "type": "prompt" + "newline": true } ], - "transient_prompt": { - "background": "transparent", - "foreground": "#ffffff", - "template": "{{ .Shell }}> " - }, - "final_space": true, - "version": 2 + "version": 3, + "final_space": true } diff --git a/misc_config/ohmyposh.json.bak b/misc_config/ohmyposh.json.bak new file mode 100644 index 0000000..b4b02ec --- /dev/null +++ b/misc_config/ohmyposh.json.bak @@ -0,0 +1,119 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "blocks": [ + { + "alignment": "left", + "newline": true, + "segments": [ + { + "foreground": "#E5C07B", + "properties": { + "time_format": "15:04" + }, + "style": "plain", + "template": "\uf017 {{ .CurrentDate | date .Format }}", + "type": "time" + }, + { + "type": "shell", + "style": "plain", + "foreground": "#E06C75", + "properties": { + "mapped_shell_names": { + "pwsh": "Shell", + "powershell": "Shell", + "cmd": "Cmd", + "bash": "Bash" + } + }, + "template": " \ue795 {{ .Name }}" + }, + { + "foreground": "#F3C267", + "foreground_templates": [ + "{{ if or (.Working.Changed) (.Staging.Changed) }}#FF9248{{ end }}", + "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#ff4500{{ end }}", + "{{ if gt .Ahead 0 }}#B388FF{{ end }}", + "{{ if gt .Behind 0 }}#B388FF{{ end }}" + ], + "properties": { + "branch_max_length": 25, + "fetch_stash_count": true, + "fetch_status": true, + "fetch_upstream_icon": true + }, + "style": "plain", + "template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ", + "type": "git" + } + ], + "type": "prompt" + }, + { + "alignment": "right", + "segments": [ + { + "type": "status", + "style": "plain", + "foreground": "#b8ff75", + "foreground_templates": ["{{ if gt .Code 0 }}#E06C75{{ end }}"], + "template": " x{{ reason .Code }}" + }, + { + "foreground": "#E5C07B", + "foreground_templates": ["{{ if gt .Code 0 }}#E06C75{{ end }}"], + "properties": { + "style": "roundrock", + "always_enabled": true + }, + "style": "diamond", + "template": " {{ .FormattedMs }} ", + "type": "executiontime" + } + ], + "type": "prompt" + }, + { + "alignment": "left", + "newline": true, + "segments": [ + { + "foreground": "#61AFEF", + "properties": { + "style": "full" + }, + "style": "plain", + "template": "\ue5ff {{ .Path }}", + "type": "path" + } + ], + "type": "prompt" + }, + { + "alignment": "left", + "newline": true, + "segments": [ + { + "foreground": "#E06C75", + "style": "plain", + "template": "\u0021", + "type": "root" + }, + { + "foreground": "#E06C75", + "style": "plain", + "template": "\u276f", + "type": "text" + } + ], + "type": "prompt" + } + ], + "transient_prompt": { + "background": "transparent", + "foreground": "#ffffff", + "template": "{{ .Shell }}> " + }, + "final_space": true, + "version": 2 +} diff --git a/misc_config/starship.toml b/misc_config/starship.toml deleted file mode 100644 index a0c7152..0000000 --- a/misc_config/starship.toml +++ /dev/null @@ -1,56 +0,0 @@ -format = """\ -$username\ -$directory\ -$git_branch\ -$git_status -$sudo\ -$character""" - -right_format = '$nodejs$bun$golang' - -[aws] -disabled = true - -[directory] -format = '[ ](yellow)[$path](underline yellow) ' -read_only = '' -truncation_length = 10 -home_symbol = '~' -truncate_to_repo = false -truncation_symbol = '…/' - -[username] -format = '[ $user ](blue)' -show_always = true - -[character] -success_symbol = '[](bold green)' -error_symbol = '[✘](bold red)' - -[git_branch] -symbol = ' ' -format = '[$symbol$branch(:$remote_branch) ](purple)' - -[git_status] -format = '[$all_status$ahead_behind](green)' -modified = '!$count' -untracked = '?$count' -deleted = '-$count' -stashed = '󰆦 !' -ahead = '↑$count' -behind = '↓$count' -staged = '+$count' - -[nodejs] -detect_files = ['package.json', '.node-version', '!bun.lockb'] -format = '[node $version]($style)' - -[bun] -format = '[bun $version]($style)' - -[golang] -format = '[go $version]($style)' - -[swift] -format = '[swift $version]($style)' - diff --git a/scripts/run-lint.sh b/scripts/run-lint.sh index d3d371f..de1a6f6 100755 --- a/scripts/run-lint.sh +++ b/scripts/run-lint.sh @@ -6,6 +6,8 @@ elif [ -f "yarn.lock" ]; then yarn lint elif [ -f "pnpm-lock.yaml"] pnpm run lint +elif [ -f "bun.lockb" ]; then + bun run lint else - echo "Neither package-lock.json nor yarn.lock exists" + echo "No lockfile :(" fi diff --git a/symlink_dotfiles.zsh b/symlink_dotfiles.zsh index 59d5c8b..47edbe0 100644 --- a/symlink_dotfiles.zsh +++ b/symlink_dotfiles.zsh @@ -19,3 +19,6 @@ ln -s -f ~/dotfiles/misc_config/thefuck.py ~/.config/thefuck/settings.py # zed ln -s -f ~/dotfiles/zed_config/keymap.json ~/.config/zed/keymap.json ln -s -f ~/dotfiles/zed_config/settings.json ~/.config/zed/settings.json + +# ghostty +ln -s -f ~/dotfiles/misc_config/ghostty ~/Library/Application\ Support/com.mitchellh.ghostty/config diff --git a/zed_config/keymap.json b/zed_config/keymap.json index d1d2153..8e22b8d 100644 --- a/zed_config/keymap.json +++ b/zed_config/keymap.json @@ -42,6 +42,7 @@ { "context": "Editor", "bindings": { + "ctrl-shift-s": "editor::ToggleInlineCompletions", "escape": "editor::Cancel", "backspace": "editor::Backspace", "shift-backspace": "editor::Backspace", @@ -450,16 +451,14 @@ { "context": "Workspace", "bindings": { - // Change the default action on `menu::Confirm` by setting the parameter - // "alt-cmd-o": [ - // "projects::OpenRecent", - // { - // "create_new_window": true - // } - // ] + "alt-cmd-o": [ + "projects::OpenRecent", + { + "create_new_window": true + } + ], "cmd-shift-o": "file_finder::Toggle", "cmd-r": "task::Spawn", - "alt-cmd-o": "projects::OpenRecent", "alt-cmd-b": "branches::OpenRecent", "ctrl-~": "workspace::NewTerminal", "cmd-s": "workspace::Save", diff --git a/zed_config/settings.json b/zed_config/settings.json index 533f301..d6b3eb0 100644 --- a/zed_config/settings.json +++ b/zed_config/settings.json @@ -1,4 +1,6 @@ { + "show_user_picture": false, + "show_inline_completions": true, "base_keymap": "None", "outline_panel": { "dock": "right" @@ -13,10 +15,9 @@ "model": "claude-3-5-sonnet-20240620" }, "version": "2", - "enabled": true + "enabled": false }, "features": { - // "copilot": false, "inline_completion_provider": "none" }, "collaboration_panel": { @@ -28,7 +29,7 @@ "theme": { "mode": "system", "light": "One Light", - "dark": "Ayu Dark" + "dark": "Catppuccin Mocha" }, "scrollbar": { "show": "system" @@ -36,15 +37,15 @@ "cursor_shape": "underline", "scroll_beyond_last_line": "vertical_scroll_margin", "vertical_scroll_margin": 20, - "ui_font_family": "Rec Mono Linear", + "ui_font_family": "SF Mono", "ui_font_features": {}, "ui_font_size": 16, "buffer_font_family": "Rec Mono Linear", - "buffer_font_size": 14, + "buffer_font_size": 14.5, "terminal": { - "font_family": "FiraCode Nerd Font Mono" + "font_family": "Rec Mono Casual", + "font_fallbacks": ["FiraCode Nerd Font Mono"] }, - "relative_line_numbers": true, "soft_wrap": "editor_width", "tabs": { "close_position": "left", @@ -62,6 +63,12 @@ "coloring": "indent_aware" }, "languages": { + "JSONC": { + "show_inline_completions": false + }, + "Markdown": { + "show_inline_completions": false + }, "Go": { "tab_size": 2 }, @@ -74,7 +81,7 @@ "auto_fold_dirs": false }, "file_types": { - "HTML": ["hbs", "njk", "webc"] + "HTML": ["hbs", "njk", "webc", "leaf"] }, "experimental.theme_overrides": { "syntax": { diff --git a/zsh_config/zshrc b/zsh_config/zshrc index 8841143..233c2ce 100644 --- a/zsh_config/zshrc +++ b/zsh_config/zshrc @@ -20,3 +20,7 @@ eval "$(atuin init zsh)" # bun completions [ -s "/Users/ghall/.bun/_bun" ] && source "/Users/ghall/.bun/_bun" + + +# Load Angular CLI autocompletion. +source <(ng completion script)