From ab8c5263f258f6542d9968627aa76b73f78e1850 Mon Sep 17 00:00:00 2001 From: Dylan Pinn Date: Thu, 19 Dec 2024 15:47:36 +1100 Subject: [PATCH] chore: update config --- Makefile | 5 -- git/config.m4 | 5 ++ homebrew/work.Brewfile | 87 +++++++++++++++++++++----- nvim/after/ftplugin/typescript.vim | 4 ++ nvim/after/plugin/conform.lua | 2 +- nvim/after/plugin/lint.lua | 1 + nvim/after/plugin/lsp.lua | 2 +- nvim/pack/bundle/start/conform.nvim | 2 +- nvim/pack/bundle/start/copilot.vim | 2 +- nvim/pack/bundle/start/dispatch | 2 +- nvim/pack/bundle/start/nvim-lint | 2 +- nvim/pack/bundle/start/nvim-lspconfig | 2 +- nvim/pack/bundle/start/nvim-treesitter | 2 +- nvim/pack/bundle/start/projectionist | 2 +- 14 files changed, 92 insertions(+), 28 deletions(-) diff --git a/Makefile b/Makefile index 99aab756e..c2d3e6dec 100644 --- a/Makefile +++ b/Makefile @@ -68,7 +68,6 @@ dump-brew: install: install-bash \ install-bin \ - install-espanso \ install-git \ install-mise \ install-npm \ @@ -87,10 +86,6 @@ install-bin: mkdir -p $(HOME)/.local/bin cp -p -- $(BINS) $(HOME)/.local/bin/ -install-espanso: - mkdir -p "$(HOME)/Library/Application Support/espanso" - cp -pR -- espanso/* "$(HOME)/Library/Application Support/espanso/" - install-git: git/config mkdir -p -- $(XDG_CONFIG_HOME)/git cp -p -- git/config $(XDG_CONFIG_HOME)/git/config diff --git a/git/config.m4 b/git/config.m4 index 6ba1646c0..0e36fc04f 100644 --- a/git/config.m4 +++ b/git/config.m4 @@ -15,6 +15,11 @@ di = diff dc = diff --cached + # Difftastic aliases, so `git dlog` is `git log` with difftastic and so on. + dlog = -c diff.external=difft log --ext-diff + dshow = -c diff.external=difft show --ext-diff + ddiff = -c diff.external=difft diff + # Log changelog = log --reverse origin..HEAD --format='* %s%n%w(,4,4)%+b' glg = log --oneline --decorate --all --graph --abbrev-commit diff --git a/homebrew/work.Brewfile b/homebrew/work.Brewfile index 4cf1971f2..e1d852dac 100644 --- a/homebrew/work.Brewfile +++ b/homebrew/work.Brewfile @@ -3,6 +3,16 @@ tap "espanso/espanso" tap "homebrew/bundle" tap "homebrew/cask-fonts" tap "reainternal/stable", "git@git.realestate.com.au:cowbell/homebrew-stuff" +# Macro processing language +brew "m4", link: true +# Automatic configure script builder +brew "autoconf" +# Cryptography and SSL/TLS Toolkit +brew "openssl@3" +# YAML Parser +brew "libyaml" +# Library for command-line editing +brew "readline" # CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM brew "aws-sam-cli" # Official Amazon AWS command-line interface @@ -15,12 +25,24 @@ brew "bash-completion@2" brew "cheat" # Statistics utility to count lines of code brew "cloc" +# Diff that understands syntax +brew "difftastic" # Docker Credential Helper for Amazon ECR brew "docker-credential-helper-ecr" +# Pluggable and configurable code formatting platform written in Rust +brew "dprint" +# Simple, fast and user-friendly alternative to find +brew "fd" +# Command-line fuzzy finder written in Go +brew "fzf" # GitHub command-line tool brew "gh" # Distributed revision control system brew "git" +# GNU multiple precision arithmetic library +brew "gmp" +# GNU Pretty Good Privacy (PGP) package +brew "gnupg" # Smarter Dockerfile linter to validate best practices brew "hadolint" # Post-modern modal text editor @@ -31,22 +53,26 @@ brew "htop" brew "hyperfine" # Lightweight and flexible command-line JSON processor brew "jq" +# Simple terminal UI for git commands +brew "lazygit" # Postgres C API library brew "libpq", link: true # Language Server for the Lua language brew "lua-language-server" # Tool for linting and static analysis of Lua code brew "luacheck" -# Macro processing language -brew "m4", link: true +# Package manager for the Lua programming language +brew "luarocks" # Mac App Store command-line interface brew "mas" # Polyglot runtime manager (asdf rust clone) brew "mise" # Ambitious Vim-fork focused on extensibility and agility -brew "neovim", args: ["HEAD"] +brew "neovim" # Search tool like grep and The Silver Searcher brew "ripgrep" +# Safe, concurrent, practical language +brew "rust" # Static analysis and lint tool, for (ba)sh scripts brew "shellcheck" # Autoformat shell script source code @@ -61,6 +87,8 @@ brew "tldr" brew "tmux" # Display directories as trees (with optional color/HTML output) brew "tree" +# Syntax-aware linter for prose +brew "vale" # Vi 'workalike' with many additional features brew "vim" # Vim script Language Lint @@ -69,8 +97,6 @@ brew "vint" brew "yt-dlp" # Login to REA AWS console by switching roles brew "reainternal/stable/aws-switch" -# Authenticate to REA AWS accounts -brew "reainternal/stable/rea-as" # Password manager that keeps all passwords secure behind one password cask "1password" # Professional graphic design software @@ -79,6 +105,8 @@ cask "affinity-designer" cask "affinity-photo" # Professional desktop publishing software cask "affinity-publisher" +# GPU-accelerated terminal emulator +cask "alacritty" # Application launcher and productivity software cask "alfred" # Application uninstaller @@ -93,18 +121,18 @@ cask "bbedit" cask "betterdisplay" # Record and process your ideas cask "bike" +# Opensource IDE for exploring and testing api's +cask "bruno" # Free and open-source web browser cask "chromium" # Screen capturing tool cask "cleanshot" -# The Ultimate Homebrew Companion +# GUI companion app for Homebrew cask "cork" # API documentation browser and code snippet manager cask "dash" # App to build and share containerised applications and microservices cask "docker" -# Cross-platform Text Expander written in Rust -cask "espanso" # Web browser cask "firefox" cask "font-fira-mono" @@ -114,6 +142,7 @@ cask "font-ibm-plex-mono" cask "font-input" cask "font-intel-one-mono" cask "font-jetbrains-mono" +cask "font-jetbrains-mono-nerd-font" cask "font-monaspace" cask "font-roboto-mono" cask "font-source-code-pro" @@ -127,20 +156,30 @@ cask "ia-presenter" cask "iina" # Tool to optimise images to a smaller size cask "imageoptim" +# System monitoring app +cask "istat-menus" +# Terminal emulator as alternative to Apple's Terminal app +cask "iterm2" # JetBrains tools manager cask "jetbrains-toolbox" # Menu bar manager cask "jordanbaird-ice" +# Spot and merge differences in text and image files or folders +cask "kaleidoscope@2" # Automation software cask "keyboard-maestro" +# GPU-based terminal emulator +cask "kitty" # Software for Logitech devices -cask "logi-options-plus" +cask "logi-options+" # Optimise your webcam, headset, and Logi Dock for video meetings cask "logitune" -# Web browser +# Multi-platform web browser cask "microsoft-edge" # Tool to create text-based art cask "monodraw" +# Utility to move and zoom windows—on one display +cask "moom" # Native code editor cask "nova" # WebKit based web browser @@ -151,33 +190,53 @@ cask "pastebot" cask "postico" # HTTP client that helps testing and describing APIs cask "rapidapi" -# Move and resize windows using keyboard shortcuts or snap areas -cask "rectangle" +# Drag-and-drop Git history editor +cask "retcon" # Sound and audio controller cask "soundsource" +# Window and tab manager +cask "tabtab" +# Tool to automate the insertion of frequently used text and graphics +cask "typinator" # Open-source code editor cask "visual-studio-code" +# GPU-accelerated cross-platform terminal emulator and multiplexer +cask "wezterm" +# REST, GraphQL and gRPC client +cask "yaak" # Application for configuring any YubiKey cask "yubico-yubikey-manager" # Multiplayer code editor cask "zed" mas "1Password for Safari", id: 1569813296 +mas "Actions", id: 1586435171 +mas "Aiko", id: 1672085276 mas "Bear", id: 1091189122 mas "Boop", id: 1518425043 +mas "Color Picker", id: 1545870783 mas "com.kagimacOS.Kagi-Search", id: 1622835804 mas "Dato", id: 1470584107 +mas "GoodLinks", id: 1474335294 +mas "Hand Mirror", id: 1502839586 +mas "HEIC Converter", id: 1294126402 mas "Hush", id: 1544743900 mas "iA Writer", id: 775737590 mas "Microsoft To Do", id: 1274495053 mas "NepTunes", id: 1006739057 +mas "NotePlan", id: 1505432629 +mas "One Thing", id: 1604176982 +mas "Online Check", id: 6504709660 mas "Pixelmator Pro", id: 1289583905 mas "Play", id: 1596506190 -mas "Save to Reader", id: 1640236961 +mas "Shareful", id: 1522267256 +mas "Shortery", id: 1594183810 +mas "Sofa", id: 1276554886 +mas "Speediness", id: 1596706466 mas "TestFlight", id: 899247664 mas "Things", id: 904280696 mas "Trello", id: 1278508951 mas "Velja", id: 1607635845 -mas "Wipr", id: 1320666476 +mas "Wipr", id: 1662217862 mas "Xcode", id: 497799835 vscode "github.copilot" vscode "github.copilot-chat" diff --git a/nvim/after/ftplugin/typescript.vim b/nvim/after/ftplugin/typescript.vim index 189b1a64d..58228c833 100644 --- a/nvim/after/ftplugin/typescript.vim +++ b/nvim/after/ftplugin/typescript.vim @@ -3,3 +3,7 @@ " seems the best solution that doesn't involve a new plugin. " nnoremap f :silent %!npx prettier --stdin-filepath % + +" Use treesitter for folding. +setlocal foldmethod=expr +setlocal foldexpr=v:lua.vim.treesitter.foldexpr() diff --git a/nvim/after/plugin/conform.lua b/nvim/after/plugin/conform.lua index 6193fb232..bd4a122bf 100644 --- a/nvim/after/plugin/conform.lua +++ b/nvim/after/plugin/conform.lua @@ -1,7 +1,7 @@ local options = { formatters_by_ft = { lua = { "stylua" }, - typescript = { { "prettierd", "prettier" }, "eslint_d" }, + typescript = { { "prettierd", "prettier", stop_after_first = true }, "eslint_d" }, }, } diff --git a/nvim/after/plugin/lint.lua b/nvim/after/plugin/lint.lua index fd71b4c04..3b9c1aeff 100644 --- a/nvim/after/plugin/lint.lua +++ b/nvim/after/plugin/lint.lua @@ -1,4 +1,5 @@ require("lint").linters_by_ft = { + dockerfile = { "hadolint" }, lua = { "luacheck" }, typescript = { "eslint" }, } diff --git a/nvim/after/plugin/lsp.lua b/nvim/after/plugin/lsp.lua index a7570f065..82382257e 100644 --- a/nvim/after/plugin/lsp.lua +++ b/nvim/after/plugin/lsp.lua @@ -31,7 +31,7 @@ lspconfig.lua_ls.setup({ Lua = {}, }, }) -lspconfig.tsserver.setup({}) +lspconfig.ts_ls.setup({}) -- Global mappings. -- See `:help vim.diagnostic.*` for documentation on any of the below functions diff --git a/nvim/pack/bundle/start/conform.nvim b/nvim/pack/bundle/start/conform.nvim index cd75be867..a203480a3 160000 --- a/nvim/pack/bundle/start/conform.nvim +++ b/nvim/pack/bundle/start/conform.nvim @@ -1 +1 @@ -Subproject commit cd75be867f2331b22905f47d28c0c270a69466aa +Subproject commit a203480a350b03092e473bf3001733d547160a73 diff --git a/nvim/pack/bundle/start/copilot.vim b/nvim/pack/bundle/start/copilot.vim index 0668308e6..870381238 160000 --- a/nvim/pack/bundle/start/copilot.vim +++ b/nvim/pack/bundle/start/copilot.vim @@ -1 +1 @@ -Subproject commit 0668308e68b0ac28b332b204b469fbe04601536a +Subproject commit 87038123804796ca7af20d1b71c3428d858a9124 diff --git a/nvim/pack/bundle/start/dispatch b/nvim/pack/bundle/start/dispatch index 4c695bc05..a2ff28abd 160000 --- a/nvim/pack/bundle/start/dispatch +++ b/nvim/pack/bundle/start/dispatch @@ -1 +1 @@ -Subproject commit 4c695bc052cad2ae6b980aebbe48d046466e27ae +Subproject commit a2ff28abdb2d89725192db5b8562977d392a4d3f diff --git a/nvim/pack/bundle/start/nvim-lint b/nvim/pack/bundle/start/nvim-lint index efc6fc83f..6b46370d0 160000 --- a/nvim/pack/bundle/start/nvim-lint +++ b/nvim/pack/bundle/start/nvim-lint @@ -1 +1 @@ -Subproject commit efc6fc83f0772283e064c53a8f9fb5645bde0bc0 +Subproject commit 6b46370d02cd001509a765591a3ffc481b538794 diff --git a/nvim/pack/bundle/start/nvim-lspconfig b/nvim/pack/bundle/start/nvim-lspconfig index cf97d2485..270085195 160000 --- a/nvim/pack/bundle/start/nvim-lspconfig +++ b/nvim/pack/bundle/start/nvim-lspconfig @@ -1 +1 @@ -Subproject commit cf97d2485fc3f6d4df1b79a3ea183e24c272215e +Subproject commit 27008519562f16453813c19dcc6ee97f505e0b1c diff --git a/nvim/pack/bundle/start/nvim-treesitter b/nvim/pack/bundle/start/nvim-treesitter index fa611f612..d14bc4bd1 160000 --- a/nvim/pack/bundle/start/nvim-treesitter +++ b/nvim/pack/bundle/start/nvim-treesitter @@ -1 +1 @@ -Subproject commit fa611f612a7b04c239d07f61ba80e09cb95c5af4 +Subproject commit d14bc4bd15a7b9b5a9e7977c6a28f2cab6c4ad4a diff --git a/nvim/pack/bundle/start/projectionist b/nvim/pack/bundle/start/projectionist index 3736bd4a5..104394c31 160000 --- a/nvim/pack/bundle/start/projectionist +++ b/nvim/pack/bundle/start/projectionist @@ -1 +1 @@ -Subproject commit 3736bd4a5f23b30821cbb892385bb1f1b0088cfc +Subproject commit 104394c31ead4b09fbf0e16f9d367e3e179ee50a