Compare commits

...

10 Commits

Author SHA1 Message Date
graham 967565c80b 2026-02-11 2026-02-11 09:38:52 -05:00
graham 4361c5f17b 2026-02-04 2026-02-04 13:56:02 -05:00
graham d56aba7823 2026-02-04 2026-02-04 12:12:29 -05:00
graham 4956885496 2026-01-30 2026-01-30 10:28:02 -05:00
graham 223616e1ec 2025-12-26 2025-12-26 17:45:28 -05:00
graham eef10fc372 2025-12-26 2025-12-26 13:02:15 -05:00
graham c6364da38f 2025-12-26 2025-12-26 12:56:45 -05:00
graham d0275c334b 2025-12-15 2025-12-15 18:04:28 -05:00
graham ed1504aff0 2025-12-05 2025-12-05 16:23:16 -05:00
graham d171c94478 2025-10-14 2025-10-14 18:56:06 -04:00
15 changed files with 1069 additions and 110 deletions
+79 -35
View File
@@ -3,39 +3,53 @@ tap "dotenvx/brew"
tap "ghall89/tap"
tap "marsanne/cask"
tap "oven-sh/bun"
brew "jq"
brew "ansiweather"
tap "simonbs/wut", "https://github.com/simonbs/wut.git"
tap "tw93/tap"
brew "xz"
brew "atuin"
brew "autoconf"
brew "automake"
brew "bazel"
brew "bchunk"
brew "openssl@3"
brew "bento4"
brew "btop"
brew "coreutils"
brew "cask"
brew "cloc"
brew "libyaml"
brew "openssl@3"
brew "cocoapods"
brew "coreutils"
brew "create-dmg"
brew "csvkit"
brew "deno"
brew "eslint"
brew "exiv2"
brew "eza"
brew "fastfetch"
brew "fd"
brew "ffmpeg"
brew "flyctl"
brew "fresh-editor"
brew "fzf"
brew "gamdl"
brew "ggc"
brew "gh"
brew "git"
brew "git-extras"
brew "git-split-diffs"
brew "gitmoji"
brew "gitui"
brew "glow"
brew "gnupg"
brew "go"
brew "go-task"
brew "gum"
brew "helix"
brew "icu4c@76"
brew "libheif"
brew "imagemagick"
brew "jq"
brew "kew"
brew "lazygit"
brew "libffi"
brew "loc"
@@ -46,81 +60,98 @@ brew "micro"
brew "mint"
brew "nvm"
brew "oh-my-posh"
brew "ollama"
brew "openssl@1.1"
brew "pandoc"
brew "parallel"
brew "pkgconf"
brew "pnpm"
brew "ripgrep"
brew "rubyfmt"
brew "rust"
brew "rust-analyzer"
brew "sf-pwgen"
brew "speedtest-cli"
brew "superfile"
brew "swift-format"
brew "swiftformat"
brew "telnet"
brew "thefuck"
brew "toot"
brew "trash"
brew "typst"
brew "vapor"
brew "vlang"
brew "watchman"
brew "wget"
brew "yarn"
brew "yazi"
brew "yt-dlp"
brew "zig"
brew "zlib"
brew "zls"
brew "zoxide"
brew "dotenvx/brew/dotenvx"
brew "oven-sh/bun/bun"
brew "simonbs/wut/wut"
brew "tw93/tap/mole"
cask "affinity"
cask "airbuddy"
cask "alfred"
cask "appflowy"
cask "arq"
cask "autodock"
cask "ghall89/tap/autodock"
cask "bbedit"
cask "bettershot"
cask "coderabbit"
cask "cog-app"
cask "codex"
cask "contexts"
cask "cork"
cask "daisydisk"
cask "devcleaner"
cask "discord"
cask "doppler-app"
cask "ea"
cask "equinox"
cask "find-any-file"
cask "fork"
cask "forklift"
cask "freetube"
cask "gb-studio"
cask "ghostty"
cask "gog-galaxy"
cask "hazel"
cask "helium-browser"
cask "iina"
cask "imageoptim"
cask "istat-menus"
cask "jordanbaird-ice"
cask "keka"
cask "key-codes"
cask "keyboardcleantool"
cask "keystash"
cask "knockknock"
cask "lulu"
cask "ghall89/tap/keystash"
cask "mac-mouse-fix"
cask "mactracker"
cask "markedit"
cask "musicbrainz-picard"
cask "nova"
cask "onyx@beta"
cask "openemu"
cask "orion"
cask "paletro"
cask "pearcleaner"
cask "postgres-unofficial"
cask "qlmarkdown"
cask "quicklook-json"
cask "raycast"
cask "rapidapi"
cask "rectangle-pro"
cask "rocket"
cask "siphon"
cask "slack"
cask "spamsieve"
cask "steam"
cask "swift-shift"
cask "swiftformat-for-xcode"
cask "sync"
cask "tableplus"
cask "tic80"
cask "tuist"
cask "tunnelblick"
cask "vanilla"
cask "visual-studio-code"
cask "vivaldi"
cask "utm"
cask "vscodium"
cask "whatsapp"
cask "windowkeys"
cask "xscope"
cask "zed"
cask "yattee"
cask "zen"
cask "zoom"
mas "Actions", id: 1586435171
@@ -139,32 +170,32 @@ mas "DevCleaner", id: 1388020431
mas "Developer", id: 640199958
mas "Dice by PCalc", id: 1479250666
mas "Dropover", id: 1355679052
mas "Equinox", id: 1591510203
mas "Expenses", id: 1492055171
mas "Find Any File", id: 0
mas "Find Any File", id: 402569179
mas "Folder Quick Look", id: 6753110395
mas "Front and Center", id: 1493996622
mas "Gifski", id: 1351639930
mas "HEIC Converter", id: 1294126402
mas "HTTPBot", id: 1232603544
mas "Ice Cubes", id: 6444915884
mas "Interactful", id: 1528095640
mas "Ivory", id: 6444602274
mas "JSON Peep", id: 1458969831
mas "Key Codes", id: 414568915
mas "Keynote", id: 409183694
mas "Keynote", id: 361285480
mas "LiquidFetch", id: 6757637185
mas "Lungo", id: 1263070803
mas "Mactracker", id: 430255202
mas "Numbers", id: 409203825
mas "Mockup", id: 1527554407
mas "Numbers", id: 361304891
mas "Online Check", id: 6504709660
mas "Page Screenshot for Safari", id: 1472715727
mas "Pages", id: 409201541
mas "Pages", id: 361309726
mas "Parcel", id: 375589283
mas "Pastel", id: 413897608
mas "Pixelmator Pro", id: 1289583905
mas "Pixelmator Pro", id: 6746662575
mas "Pixen", id: 525180431
mas "Pocket City 2", id: 6742559886
mas "Pure Paste", id: 1611378436
mas "Raycast Companion", id: 6738274497
mas "Reeder", id: 6475002485
mas "Shareful", id: 1522267256
mas "Sleeve", id: 1606145041
@@ -179,26 +210,39 @@ mas "Velja", id: 1607635845
mas "Vinegar", id: 1591303229
mas "WhatsApp", id: 310633997
mas "WorldWideWeb", id: 1621370168
mas "Xcode", id: 497799835
vscode "akamud.vscode-theme-onelight"
vscode "astro-build.astro-vscode"
vscode "biomejs.biome"
vscode "bradlc.vscode-tailwindcss"
vscode "christian-kohler.npm-intellisense"
vscode "csstools.postcss"
vscode "dbaeumer.vscode-eslint"
vscode "dnicolson.binary-plist"
vscode "esbenp.prettier-vscode"
vscode "golang.go"
vscode "icrawl.discord-vscode"
vscode "littensy.charmed-icons"
vscode "lkytal.flatui"
vscode "llvm-vs-code-extensions.lldb-dap"
vscode "mechatroner.rainbow-csv"
vscode "ms-vscode.makefile-tools"
vscode "orta.vscode-jest"
vscode "oven.bun-vscode"
vscode "pollywoggames.pico8-ls"
vscode "prisma.prisma"
vscode "redhat.vscode-xml"
vscode "ripplejs.ripple-vscode-plugin"
vscode "rust-lang.rust-analyzer"
vscode "shopify.ruby-lsp"
vscode "svelte.svelte-vscode"
vscode "swiftlang.swift-vscode"
vscode "tamasfe.even-better-toml"
vscode "vue.volar"
vscode "task.vscode-task"
vscode "teabyii.ayu"
vscode "vknabel.vscode-swiftformat"
vscode "ziglang.vscode-zig"
go "github.com/go-delve/delve/cmd/dlv"
go "github.com/golangci/golangci-lint/cmd/golangci-lint"
go "golang.org/x/tools/gopls"
go "github.com/mgechev/revive"
go "honnef.co/go/tools/cmd/staticcheck"
View File
+2
View File
@@ -28,3 +28,5 @@
auto = true
[coderabbit]
machineId = cli/e407c8d66b9f497cb110e079e700f9e1
[pull]
rebase = true
+205
View File
@@ -0,0 +1,205 @@
## where to store your database, default is your system data directory
## linux/mac: ~/.local/share/atuin/history.db
## windows: %USERPROFILE%/.local/share/atuin/history.db
db_path = "~/Sync/Atuin/history.db"
## where to store your encryption key, default is your system data directory
## linux/mac: ~/.local/share/atuin/key
## windows: %USERPROFILE%/.local/share/atuin/key
key_path = "~/Sync/Atuin/key"
## where to store your auth session token, default is your system data directory
## linux/mac: ~/.local/share/atuin/session
## windows: %USERPROFILE%/.local/share/atuin/session
# session_path = "~/.session"
## date format used, either "us" or "uk"
# dialect = "us"
## default timezone to use when displaying time
## either "l", "local" to use the system's current local timezone, or an offset
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
# timezone = "local"
## enable or disable automatic sync
# auto_sync = true
## enable or disable automatic update checks
# update_check = true
## address of the sync server
# sync_address = "https://api.atuin.sh"
## how often to sync history. note that this is only triggered when a command
## is ran, so sync intervals may well be longer
## set it to 0 to sync after every command
# sync_frequency = "10m"
## which search mode to use
## possible values: prefix, fulltext, fuzzy, skim
# search_mode = "fuzzy"
## which filter mode to use
## possible values: global, host, session, directory
# filter_mode = "global"
## With workspace filtering enabled, Atuin will filter for commands executed
## in any directory within a git repository tree (default: false)
# workspaces = false
## which filter mode to use when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "filter_mode"
## leave unspecified to use same mode set in "filter_mode"
# filter_mode_shell_up_key_binding = "global"
## which search mode to use when atuin is invoked from a shell up-key binding
## the accepted values are identical to those of "search_mode"
## leave unspecified to use same mode set in "search_mode"
# search_mode_shell_up_key_binding = "fuzzy"
## which style to use
## possible values: auto, full, compact
style = "auto"
## the maximum number of lines the interface should take up
## set it to 0 to always go full screen
inline_height = 0
## Invert the UI - put the search bar at the top , Default to `false`
# invert = false
## enable or disable showing a preview of the selected command
## useful when the command is longer than the terminal width and is cut off
# show_preview = false
## what to do when the escape key is pressed when searching
## possible values: return-original, return-query
# exit_mode = "return-original"
## possible values: emacs, subl
# word_jump_mode = "emacs"
## characters that count as a part of a word
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
## number of context lines to show when scrolling by pages
# scroll_context_lines = 1
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
## alt-0 .. alt-9
# ctrl_n_shortcuts = false
## default history list format - can also be specified with the --format arg
# history_format = "{time}\t{command}\t{duration}"
## prevent commands matching any of these regexes from being written to history.
## Note that these regular expressions are unanchored, i.e. if they don't start
## with ^ or end with $, they'll match anywhere in the command.
## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax
# history_filter = [
# "^secret-cmd",
# "^innocuous-cmd .*--secret=.+",
# ]
## prevent commands run with cwd matching any of these regexes from being written
## to history. Note that these regular expressions are unanchored, i.e. if they don't
## start with ^ or end with $, they'll match anywhere in CWD.
## For details on the supported regular expression syntax, see
## https://docs.rs/regex/latest/regex/#syntax
# cwd_filter = [
# "^/very/secret/area",
# ]
## Configure the maximum height of the preview to show.
## Useful when you have long scripts in your history that you want to distinguish
## by more than the first few lines.
# max_preview_height = 4
## Configure whether or not to show the help row, which includes the current Atuin
## version (and whether an update is available), a keymap hint, and the total
## amount of commands in your history.
# show_help = true
## Configure whether or not to show tabs for search and inspect
# show_tabs = true
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
## 1. AWS key id
## 2. Github pat (old and new)
## 3. Slack oauth tokens (bot, user)
## 4. Slack webhooks
## 5. Stripe live/test keys
# secrets_filter = true
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
enter_accept = true
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
## search`. If this is set to "auto", the startup keymap mode in the Atuin
## search is automatically selected based on the shell's keymap where the
## keybinding is defined. If this is set to "emacs", "vim-insert", or
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
## the specified one.
# keymap_mode = "auto"
## Cursor style in each keymap mode. If specified, the cursor style is changed
## in entering the cursor shape. Available values are "default" and
## "{blink,steady}-{block,underline,bar}".
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
# network_connect_timeout = 5
# network_timeout = 5
## Timeout (in seconds) for acquiring a local database connection (sqlite)
# local_timeout = 5
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
## Alternatively, set env NO_MOTION=true
# prefers_reduced_motion = false
[stats]
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
# common_subcommands = [
# "apt",
# "cargo",
# "composer",
# "dnf",
# "docker",
# "git",
# "go",
# "ip",
# "kubectl",
# "nix",
# "nmcli",
# "npm",
# "pecl",
# "pnpm",
# "podman",
# "port",
# "systemctl",
# "tmux",
# "yarn",
# ]
## Set commands that should be totally stripped and ignored from stats
# common_prefix = ["sudo"]
## Set commands that will be completely ignored from stats
# ignored_commands = [
# "cd",
# "ls",
# "vi"
# ]
[keys]
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
# scroll_exits = false
[sync]
# Enable sync v2 by default
# This ensures that sync v2 is enabled for new installs only
# In a later release it will become the default across the board
records = true
+5 -3
View File
@@ -1,4 +1,4 @@
theme = dark: Afterglow,light: Adwaita
theme = dark: Andromeda,light: Alabaster
macos-secure-input-indication = true
cursor-style = underline
@@ -11,10 +11,12 @@ font-thicken = true
selection-invert-fg-bg = true
window-height = 34
window-width = 120
window-width = 110
window-padding-x = 5
window-padding-y = 5
window-padding-balance = true
background-opacity=0.95
background-opacity=0.93
background-blur=true
+594
View File
@@ -0,0 +1,594 @@
[
{
"emoji": "🎨",
"entity": "&#x1f3a8;",
"code": ":art:",
"description": "Improve structure / format of the code.",
"name": "art",
"semver": null
},
{
"emoji": "⚡️",
"entity": "&#x26a1;",
"code": ":zap:",
"description": "Improve performance.",
"name": "zap",
"semver": "patch"
},
{
"emoji": "🔥",
"entity": "&#x1f525;",
"code": ":fire:",
"description": "Remove code or files.",
"name": "fire",
"semver": null
},
{
"emoji": "🐛",
"entity": "&#x1f41b;",
"code": ":bug:",
"description": "Fix a bug.",
"name": "bug",
"semver": "patch"
},
{
"emoji": "🚑️",
"entity": "&#128657;",
"code": ":ambulance:",
"description": "Critical hotfix.",
"name": "ambulance",
"semver": "patch"
},
{
"emoji": "✨",
"entity": "&#x2728;",
"code": ":sparkles:",
"description": "Introduce new features.",
"name": "sparkles",
"semver": "minor"
},
{
"emoji": "📝",
"entity": "&#x1f4dd;",
"code": ":memo:",
"description": "Add or update documentation.",
"name": "memo",
"semver": null
},
{
"emoji": "🚀",
"entity": "&#x1f680;",
"code": ":rocket:",
"description": "Deploy stuff.",
"name": "rocket",
"semver": null
},
{
"emoji": "💄",
"entity": "&#ff99cc;",
"code": ":lipstick:",
"description": "Add or update the UI and style files.",
"name": "lipstick",
"semver": "patch"
},
{
"emoji": "🎉",
"entity": "&#127881;",
"code": ":tada:",
"description": "Begin a project.",
"name": "tada",
"semver": null
},
{
"emoji": "✅",
"entity": "&#x2705;",
"code": ":white_check_mark:",
"description": "Add, update, or pass tests.",
"name": "white-check-mark",
"semver": null
},
{
"emoji": "🔒️",
"entity": "&#x1f512;",
"code": ":lock:",
"description": "Fix security or privacy issues.",
"name": "lock",
"semver": "patch"
},
{
"emoji": "🔐",
"entity": "&#x1f510;",
"code": ":closed_lock_with_key:",
"description": "Add or update secrets.",
"name": "closed-lock-with-key",
"semver": null
},
{
"emoji": "🔖",
"entity": "&#x1f516;",
"code": ":bookmark:",
"description": "Release / Version tags.",
"name": "bookmark",
"semver": null
},
{
"emoji": "🚨",
"entity": "&#x1f6a8;",
"code": ":rotating_light:",
"description": "Fix compiler / linter warnings.",
"name": "rotating-light",
"semver": null
},
{
"emoji": "🚧",
"entity": "&#x1f6a7;",
"code": ":construction:",
"description": "Work in progress.",
"name": "construction",
"semver": null
},
{
"emoji": "💚",
"entity": "&#x1f49a;",
"code": ":green_heart:",
"description": "Fix CI Build.",
"name": "green-heart",
"semver": null
},
{
"emoji": "⬇️",
"entity": "⬇️",
"code": ":arrow_down:",
"description": "Downgrade dependencies.",
"name": "arrow-down",
"semver": "patch"
},
{
"emoji": "⬆️",
"entity": "⬆️",
"code": ":arrow_up:",
"description": "Upgrade dependencies.",
"name": "arrow-up",
"semver": "patch"
},
{
"emoji": "📌",
"entity": "&#x1F4CC;",
"code": ":pushpin:",
"description": "Pin dependencies to specific versions.",
"name": "pushpin",
"semver": "patch"
},
{
"emoji": "👷",
"entity": "&#x1f477;",
"code": ":construction_worker:",
"description": "Add or update CI build system.",
"name": "construction-worker",
"semver": null
},
{
"emoji": "📈",
"entity": "&#x1F4C8;",
"code": ":chart_with_upwards_trend:",
"description": "Add or update analytics or track code.",
"name": "chart-with-upwards-trend",
"semver": "patch"
},
{
"emoji": "♻️",
"entity": "&#x267b;",
"code": ":recycle:",
"description": "Refactor code.",
"name": "recycle",
"semver": null
},
{
"emoji": "",
"entity": "&#10133;",
"code": ":heavy_plus_sign:",
"description": "Add a dependency.",
"name": "heavy-plus-sign",
"semver": "patch"
},
{
"emoji": "",
"entity": "&#10134;",
"code": ":heavy_minus_sign:",
"description": "Remove a dependency.",
"name": "heavy-minus-sign",
"semver": "patch"
},
{
"emoji": "🔧",
"entity": "&#x1f527;",
"code": ":wrench:",
"description": "Add or update configuration files.",
"name": "wrench",
"semver": "patch"
},
{
"emoji": "🔨",
"entity": "&#128296;",
"code": ":hammer:",
"description": "Add or update development scripts.",
"name": "hammer",
"semver": null
},
{
"emoji": "🌐",
"entity": "&#127760;",
"code": ":globe_with_meridians:",
"description": "Internationalization and localization.",
"name": "globe-with-meridians",
"semver": "patch"
},
{
"emoji": "✏️",
"entity": "&#59161;",
"code": ":pencil2:",
"description": "Fix typos.",
"name": "pencil2",
"semver": "patch"
},
{
"emoji": "💩",
"entity": "&#58613;",
"code": ":poop:",
"description": "Write bad code that needs to be improved.",
"name": "poop",
"semver": null
},
{
"emoji": "⏪️",
"entity": "&#9194;",
"code": ":rewind:",
"description": "Revert changes.",
"name": "rewind",
"semver": "patch"
},
{
"emoji": "🔀",
"entity": "&#128256;",
"code": ":twisted_rightwards_arrows:",
"description": "Merge branches.",
"name": "twisted-rightwards-arrows",
"semver": null
},
{
"emoji": "📦️",
"entity": "&#1F4E6;",
"code": ":package:",
"description": "Add or update compiled files or packages.",
"name": "package",
"semver": "patch"
},
{
"emoji": "👽️",
"entity": "&#1F47D;",
"code": ":alien:",
"description": "Update code due to external API changes.",
"name": "alien",
"semver": "patch"
},
{
"emoji": "🚚",
"entity": "&#1F69A;",
"code": ":truck:",
"description": "Move or rename resources (e.g.: files, paths, routes).",
"name": "truck",
"semver": null
},
{
"emoji": "📄",
"entity": "&#1F4C4;",
"code": ":page_facing_up:",
"description": "Add or update license.",
"name": "page-facing-up",
"semver": null
},
{
"emoji": "💥",
"entity": "&#x1f4a5;",
"code": ":boom:",
"description": "Introduce breaking changes.",
"name": "boom",
"semver": "major"
},
{
"emoji": "🍱",
"entity": "&#1F371",
"code": ":bento:",
"description": "Add or update assets.",
"name": "bento",
"semver": "patch"
},
{
"emoji": "♿️",
"entity": "&#9855;",
"code": ":wheelchair:",
"description": "Improve accessibility.",
"name": "wheelchair",
"semver": "patch"
},
{
"emoji": "💡",
"entity": "&#128161;",
"code": ":bulb:",
"description": "Add or update comments in source code.",
"name": "bulb",
"semver": null
},
{
"emoji": "🍻",
"entity": "&#x1f37b;",
"code": ":beers:",
"description": "Write code drunkenly.",
"name": "beers",
"semver": null
},
{
"emoji": "💬",
"entity": "&#128172;",
"code": ":speech_balloon:",
"description": "Add or update text and literals.",
"name": "speech-balloon",
"semver": "patch"
},
{
"emoji": "🗃️",
"entity": "&#128451;",
"code": ":card_file_box:",
"description": "Perform database related changes.",
"name": "card-file-box",
"semver": "patch"
},
{
"emoji": "🔊",
"entity": "&#128266;",
"code": ":loud_sound:",
"description": "Add or update logs.",
"name": "loud-sound",
"semver": null
},
{
"emoji": "🔇",
"entity": "&#128263;",
"code": ":mute:",
"description": "Remove logs.",
"name": "mute",
"semver": null
},
{
"emoji": "👥",
"entity": "&#128101;",
"code": ":busts_in_silhouette:",
"description": "Add or update contributor(s).",
"name": "busts-in-silhouette",
"semver": null
},
{
"emoji": "🚸",
"entity": "&#128696;",
"code": ":children_crossing:",
"description": "Improve user experience / usability.",
"name": "children-crossing",
"semver": "patch"
},
{
"emoji": "🏗️",
"entity": "&#1f3d7;",
"code": ":building_construction:",
"description": "Make architectural changes.",
"name": "building-construction",
"semver": null
},
{
"emoji": "📱",
"entity": "&#128241;",
"code": ":iphone:",
"description": "Work on responsive design.",
"name": "iphone",
"semver": "patch"
},
{
"emoji": "🤡",
"entity": "&#129313;",
"code": ":clown_face:",
"description": "Mock things.",
"name": "clown-face",
"semver": null
},
{
"emoji": "🥚",
"entity": "&#129370;",
"code": ":egg:",
"description": "Add or update an easter egg.",
"name": "egg",
"semver": "patch"
},
{
"emoji": "🙈",
"entity": "&#8bdfe7;",
"code": ":see_no_evil:",
"description": "Add or update a .gitignore file.",
"name": "see-no-evil",
"semver": null
},
{
"emoji": "📸",
"entity": "&#128248;",
"code": ":camera_flash:",
"description": "Add or update snapshots.",
"name": "camera-flash",
"semver": null
},
{
"emoji": "⚗️",
"entity": "&#x2697;",
"code": ":alembic:",
"description": "Perform experiments.",
"name": "alembic",
"semver": "patch"
},
{
"emoji": "🔍️",
"entity": "&#128269;",
"code": ":mag:",
"description": "Improve SEO.",
"name": "mag",
"semver": "patch"
},
{
"emoji": "🏷️",
"entity": "&#127991;",
"code": ":label:",
"description": "Add or update types.",
"name": "label",
"semver": "patch"
},
{
"emoji": "🌱",
"entity": "&#127793;",
"code": ":seedling:",
"description": "Add or update seed files.",
"name": "seedling",
"semver": null
},
{
"emoji": "🚩",
"entity": "&#x1F6A9;",
"code": ":triangular_flag_on_post:",
"description": "Add, update, or remove feature flags.",
"name": "triangular-flag-on-post",
"semver": "patch"
},
{
"emoji": "🥅",
"entity": "&#x1F945;",
"code": ":goal_net:",
"description": "Catch errors.",
"name": "goal-net",
"semver": "patch"
},
{
"emoji": "💫",
"entity": "&#x1f4ab;",
"code": ":dizzy:",
"description": "Add or update animations and transitions.",
"name": "dizzy",
"semver": "patch"
},
{
"emoji": "🗑️",
"entity": "&#x1F5D1;",
"code": ":wastebasket:",
"description": "Deprecate code that needs to be cleaned up.",
"name": "wastebasket",
"semver": "patch"
},
{
"emoji": "🛂",
"entity": "&#x1F6C2;",
"code": ":passport_control:",
"description": "Work on code related to authorization, roles and permissions.",
"name": "passport-control",
"semver": "patch"
},
{
"emoji": "🩹",
"entity": "&#x1FA79;",
"code": ":adhesive_bandage:",
"description": "Simple fix for a non-critical issue.",
"name": "adhesive-bandage",
"semver": "patch"
},
{
"emoji": "🧐",
"entity": "&#x1F9D0;",
"code": ":monocle_face:",
"description": "Data exploration/inspection.",
"name": "monocle-face",
"semver": null
},
{
"emoji": "⚰️",
"entity": "&#x26B0;",
"code": ":coffin:",
"description": "Remove dead code.",
"name": "coffin",
"semver": null
},
{
"emoji": "🧪",
"entity": "&#x1F9EA;",
"code": ":test_tube:",
"description": "Add a failing test.",
"name": "test-tube",
"semver": null
},
{
"emoji": "👔",
"entity": "&#128084;",
"code": ":necktie:",
"description": "Add or update business logic.",
"name": "necktie",
"semver": "patch"
},
{
"emoji": "🩺",
"entity": "&#x1FA7A;",
"code": ":stethoscope:",
"description": "Add or update healthcheck.",
"name": "stethoscope",
"semver": null
},
{
"emoji": "🧱",
"entity": "&#x1f9f1;",
"code": ":bricks:",
"description": "Infrastructure related changes.",
"name": "bricks",
"semver": null
},
{
"emoji": "🧑‍💻",
"entity": "&#129489;&#8205;&#128187;",
"code": ":technologist:",
"description": "Improve developer experience.",
"name": "technologist",
"semver": null
},
{
"emoji": "💸",
"entity": "&#x1F4B8;",
"code": ":money_with_wings:",
"description": "Add sponsorships or money related infrastructure.",
"name": "money-with-wings",
"semver": null
},
{
"emoji": "🧵",
"entity": "&#x1F9F5;",
"code": ":thread:",
"description": "Add or update code related to multithreading or concurrency.",
"name": "thread",
"semver": null
},
{
"emoji": "🦺",
"entity": "&#x1F9BA;",
"code": ":safety_vest:",
"description": "Add or update code related to validation.",
"name": "safety-vest",
"semver": null
},
{
"emoji": "✈️",
"entity": "&#x2708;",
"code": ":airplane:",
"description": "Improve offline support.",
"name": "airplane",
"semver": null
}
]
+8 -15
View File
@@ -11,8 +11,7 @@
"alignment": "left",
"segments": [
{
"properties": {
"cache_duration": "none",
"options": {
"time_format": "15:04"
},
"template": "\uf017 {{ .CurrentDate | date .Format }}",
@@ -21,10 +20,7 @@
"style": "plain"
},
{
"properties": {
"branch_max_length": 25,
"cache_duration": "none",
"fetch_stash_count": true,
"options": {
"fetch_status": true,
"fetch_upstream_icon": true
},
@@ -47,9 +43,7 @@
"alignment": "right",
"segments": [
{
"properties": {
"cache_duration": "none"
},
"options": {},
"template": " x{{ reason .Code }}",
"foreground": "#b8ff75",
"type": "status",
@@ -57,9 +51,9 @@
"foreground_templates": ["{{ if gt .Code 0 }}#E06C75{{ end }}"]
},
{
"properties": {
"options": {
"always_enabled": true,
"cache_duration": "none",
"style": "roundrock"
},
"template": " {{ .FormattedMs }} ",
@@ -75,8 +69,7 @@
"alignment": "left",
"segments": [
{
"properties": {
"cache_duration": "none",
"options": {
"style": "full"
},
"template": "\ue5ff {{ .Path }}",
@@ -92,7 +85,7 @@
"alignment": "left",
"segments": [
{
"properties": {
"options": {
"cache_duration": "none"
},
"template": "!",
@@ -101,7 +94,7 @@
"style": "plain"
},
{
"properties": {
"options": {
"cache_duration": "none"
},
"template": "",
+64 -3
View File
@@ -1,7 +1,68 @@
#!/bin/bash
set -euo pipefail
git add -A
gitmoji commit
# Show modified + untracked files and let user pick (multi-select)
# Use NUL-safe listing then convert to newlines for gum
selected=$(git ls-files -m -o --exclude-standard -z | tr '\0' '\n' | gum choose --no-limit) || true
if [ -z "$selected" ]; then
echo "No files selected; aborting."
exit 0
fi
# Stage each selected file (handle spaces/newlines safely)
while IFS= read -r file; do
# skip empty lines (defensive)
[ -n "$file" ] || continue
git add -- "$file"
done <<< "$selected"
# Helper to unstage only the files we added
unstage_added() {
if [ "${#added[@]}" -gt 0 ]; then
git reset -- "${added[@]}"
fi
}
# If nothing is staged, abort (don't commit or push)
if ! git diff --cached --name-only | grep -q .; then
echo "No files staged after selection; aborting."
exit 0
fi
# Commit using gum for message/summary
# Prompt for a short summary (single-line)
SUMMARY="$(gum input --placeholder "Summary of this change" --value "")" || true
# If the user cancelled or left it empty, unstage and abort
if [ -z "$SUMMARY" ]; then
echo "No summary provided; aborting and unstaging changes."
unstage_added
exit 0
fi
# Prompt for a longer description (multi-line)
DESCRIPTION="$(gum write --placeholder "Details of this change (optional)")" || true
# Confirm before committing
if ! gum confirm "Commit with summary: \"$SUMMARY\"?"; then
echo "Commit cancelled; unstaging changes."
unstage_added
exit 0
fi
# Perform the commit (description as second -m if present)
if [ -n "$DESCRIPTION" ]; then
git commit -m "$SUMMARY" -m "$DESCRIPTION"
else
git commit -m "$SUMMARY"
fi
BRANCH=$(git name-rev --name-only HEAD)
gum confirm "Push?" && git push origin $BRANCH
# Only push if a remote named "origin" exists
if git config --get remote.origin.url >/dev/null 2>&1; then
git push origin "$BRANCH"
else
echo "No remote 'origin' found; skipping git push."
fi
+6
View File
@@ -29,3 +29,9 @@ ln -s -f ~/dotfiles/misc_config/ghostty ~/Library/Application\ Support/com.mitch
# fastfetch
ln -s -f ~/dotfiles/misc_config/fastfetch.jsonc ~/.config/fastfetch/config.jsonc
# gitmoji
ln -s -f ~/dotfiles/misc_config/gitmojis.json ~/.gitmoji/gitmojis.json
# atuin
ln -s -f ~/dotfiles/misc_config/atuin.toml ~/.config/atuin/config.toml
+19 -7
View File
@@ -2,18 +2,16 @@
"workbench.iconTheme": "charmed-icons",
"workbench.tips.enabled": false,
"workbench.tree.enableStickyScroll": false,
"workbench.tree.renderIndentGuides": "none",
"workbench.tree.indent": 10,
"window.systemColorTheme": "auto",
"window.autoDetectColorScheme": true,
"workbench.editor.tabActionLocation": "left",
"workbench.preferredDarkColorTheme": "FlatUI Dark",
"workbench.preferredDarkColorTheme": "Ayu Mirage Bordered",
"explorer.decorations.colors": false,
"editor.fontFamily": "'Maple Mono', monospace",
"editor.fontSize": 14,
"editor.fontLigatures": "'calt', 'ss01', 'ss02', 'ss03', 'ss06', 'ss07', 'ss08', 'ss09', 'liga'",
"editor.inlineSuggest.fontFamily": "'Maple Mono', monospace",
"workbench.navigationControl.enabled": false,
"editor.fontVariations": false,
"editor.wordWrap": "on",
"editor.cursorStyle": "underline",
@@ -22,14 +20,13 @@
"workbench.startupEditor": "none",
"editor.screenReaderAnnounceInlineSuggestion": false,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
"editor.defaultFormatter": "biomejs.biome"
},
"accessibility.signalOptions.volume": 0,
"breadcrumbs.icons": false,
"explorer.autoReveal": true,
"explorer.compactFolders": false,
"explorer.sortOrder": "type",
"window.commandCenter": false,
"window.title": "${rootName}",
"breadcrumbs.enabled": false,
"terminal.integrated.fontLigatures.enabled": true,
@@ -62,7 +59,7 @@
"[astro]": {
"editor.defaultFormatter": "astro-build.astro-vscode"
},
"workbench.preferredLightColorTheme": "FlatUI",
"workbench.preferredLightColorTheme": "FlatUI Immersed",
"discord.suppressNotifications": true,
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
@@ -75,7 +72,6 @@
"testing.automaticallyOpenPeekView": "failureAnywhere",
"workbench.statusBar.visible": false,
"ollama-autocoder.model": "qwen2.5-coder:7b",
"workbench.layoutControl.enabled": false,
"rust-analyzer.lens.run.enable": false,
"rust-analyzer.lens.debug.enable": false,
"rust-analyzer.lens.enable": false,
@@ -104,5 +100,21 @@
"prettier.documentSelectors": ["**/*.ripple"],
"[ripple]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"makefile.configureOnOpen": false,
"svelte.enable-ts-plugin": true,
"[svelte]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"workbench.navigationControl.enabled": false,
"workbench.layoutControl.enabled": false,
"indentRainbow.lightIndicatorStyleLineWidth": 0,
"workbench.tree.renderIndentGuides": "none",
"swift.disableSwiftPackageManagerIntegration": true,
"[swift]": {
"editor.defaultFormatter": "vknabel.vscode-swiftformat"
}
}
+6
View File
@@ -44,5 +44,11 @@
}
]
}
},
{
"context": "(Editor && !edit_prediction)",
"bindings": {
"alt": "editor::ShowEditPrediction"
}
}
]
+71 -42
View File
@@ -1,63 +1,76 @@
{
"git_panel": {
"dock": "left"
"sticky_scroll": {
"enabled": true,
},
"preview_tabs": {
"enable_preview_from_file_finder": true,
},
"disable_ai": true,
"icon_theme": "Soft Charmed Icons",
"show_edit_predictions": false,
"base_keymap": "VSCode",
"close_on_file_delete": true,
"outline_panel": {
"dock": "right"
"dock": "right",
},
"title_bar": {
"show_user_picture": false,
"show_sign_in": false,
"show_branch_icon": true,
},
"bottom_dock_layout": "full",
"telemetry": {
"diagnostics": true,
"metrics": false
"diagnostics": false,
"metrics": false,
},
"agent": {
"button": false,
"enabled": false,
"dock": "right"
"dock": "right",
},
"edit_predictions": {
"disabled_globs": [".md"],
"mode": "subtle"
"mode": "subtle",
},
"active_pane_modifiers": {
"inactive_opacity": 0.7
"border_size": 0.0,
"inactive_opacity": 0.7,
},
"features": {
"edit_prediction_provider": "zed"
"edit_prediction_provider": "none",
},
"collaboration_panel": {
"button": false
"button": false,
},
"toolbar": {
"breadcrumbs": false,
"quick_actions": false,
"selections_menu": false
"selections_menu": false,
},
"file_finder": {
"file_icons": true
"file_icons": true,
},
"seed_search_query_from_cursor": "selection",
"gutter": {
"runnables": false
"runnables": false,
},
"theme": {
"mode": "system",
"light": "Catppuccin Latte (Blur)",
"dark": "Catppuccin Macchiato (Blur) [Heavy]"
"light": "Fleet Light",
"dark": "Nightfox - opaque",
},
"scrollbar": {
"show": "system",
"axes": {
"horizontal": false,
"vertical": true
}
"vertical": true,
},
},
"status_bar": {
"active_language_button": false,
"cursor_position_button": false,
},
"cursor_shape": "underline",
"vertical_scroll_margin": 18,
"ui_font_family": "Input Mono",
"ui_font_family": ".SystemUIFont",
"ui_font_size": 15,
"buffer_font_family": "Maple Mono",
// "buffer_font_features": {
@@ -78,69 +91,85 @@
"dock": "bottom",
"font_family": "Maple Mono",
"font_fallbacks": ["FiraCode Nerd Font Mono"],
"toolbar": { "breadcrumbs": false }
"toolbar": { "breadcrumbs": false },
},
"soft_wrap": "editor_width",
"tabs": {
"show_close_button": "hover",
"close_position": "left",
"git_status": true,
"file_icons": true,
"show_diagnostics": "all"
"show_diagnostics": "all",
},
"notification_panel": {
"button": false
"button": false,
},
"tab_bar": {
"show_nav_history_buttons": false
"show": true,
"show_nav_history_buttons": false,
},
"git": {
"git_gutter": "tracked_files",
"hunk_style": "unstaged_hollow"
"hunk_style": "unstaged_hollow",
"inline_blame": {
"show_commit_summary": true,
},
},
"indent_guides": {
"enabled": true,
"coloring": "indent_aware"
"coloring": "indent_aware",
},
"languages": {
"JSONC": {
"show_edit_predictions": false
"show_edit_predictions": false,
},
"Markdown": {
"show_edit_predictions": false
"show_edit_predictions": false,
},
"Go": {
"tab_size": 2
"tab_size": 2,
},
"Astro": {
"tab_size": 2
}
"tab_size": 2,
},
"Swift": {
"tab_size": 2,
"format_on_save": "off",
},
},
"lsp": {
"biome": {
"settings": {
"require_config_file": true
}
}
"require_config_file": true,
},
},
},
"project_panel": {
"file_icons": true,
"folder_icons": true,
"dock": "left",
"indent_size": 10,
"indent_size": 14.0,
"auto_fold_dirs": false,
"show_diagnostics": "off",
"git_status": true,
"entry_spacing": "standard"
"entry_spacing": "standard",
"sticky_scroll": false,
"hide_root": true,
"indent_guides": {
"show": "never",
},
},
"file_types": {
"HTML": ["hbs", "njk", "webc", "leaf"]
"HTML": ["hbs", "njk", "webc", "leaf"],
},
"experimental.theme_overrides": {
"syntax": {
"comment": {
"font_style": "italic"
"font_style": "italic",
},
"keyword": {
"font_style": "italic"
}
}
}
"font_style": "italic",
},
},
},
}
+3 -2
View File
@@ -6,11 +6,12 @@ alias cd="z"
alias nv="open -a Nova"
# git
alias ptob="gh pr create -B beta"
alias pr="gh pr create -B"
alias prune-git="git remote prune origin"
# ssh
alias macmini="ssh admin@Memory-Alpha.local"
alias daweb="ssh ghall@95.111.207.194"
# shell scripts
alias dev="sh ~/dotfiles/scripts/run-dev.sh"
@@ -22,6 +23,6 @@ alias brewfile="brew bundle dump --file=~/dotfiles/Brewfile --force --"
alias installbrewfile="brew bundle install --file=~/dotfiles/Brewfile"
# dotfiles
alias config="zed ~/dotfiles"
alias config="bb ~/dotfiles"
alias linkdfs="sh ~/dotfiles/symlink_dotfiles.zsh"
alias cdot="sh ~/dotfiles/scripts/commit-dotfiles.sh"
+1 -1
View File
@@ -40,7 +40,7 @@ ZSH_THEME="robbyrussell"
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
+6 -2
View File
@@ -1,4 +1,8 @@
autoload -U +X bashcompinit && bashcompinit
autoload -U +X compinit && compinit
eval "$(oh-my-posh init zsh --config ~/dotfiles/misc_config/ohmyposh.json)"
eval "$(wut init)"
source $(brew --prefix nvm)/nvm.sh
source <(fzf --zsh)
@@ -9,9 +13,9 @@ for conf in "$HOME/dotfiles/zsh_config/"*.zsh; do
done
unset conf
eval $(thefuck --alias)
# eval "$(wut init)"
eval "$(thefuck --alias)"
eval "$(zoxide init zsh)"
# eval "$(starship init zsh)"
eval "$(atuin init zsh)"
# bun completions