From cd967cfa2a1f1931fe7dc6473418a91087f9f183 Mon Sep 17 00:00:00 2001 From: Rack Lin Date: Tue, 31 Mar 2026 17:30:38 +0800 Subject: [PATCH] reformat directories structure and add aerospace windows manager Signed-off-by: Rack Lin --- README.md | 15 +- aerospace/dot-aerospace.toml | 300 ++++++++++++++++++ fish/config-osx.fish | 16 - .../completions/__gitnow_completions.fish | 0 .../completions/fzf_configure_bindings.fish | 0 .../fish}/completions/license.fish | 0 .../fish}/completions/replay.fish | 0 fish/{ => dot-config/fish}/conf.d/.gitnow | 0 .../fish}/conf.d/autopair.fish | 0 .../{ => dot-config/fish}/conf.d/dracula.fish | 0 .../fish}/conf.d/fish-ssh-agent.fish | 0 .../conf.d/fish_frozen_key_bindings.fish | 0 fish/{ => dot-config/fish}/conf.d/fzf.fish | 0 fish/{ => dot-config/fish}/conf.d/gitnow.fish | 0 .../fish}/conf.d/gitnow_config.fish | 0 fish/{ => dot-config/fish}/config-dev.fish | 8 +- fish/{ => dot-config/fish}/config-linux.fish | 0 fish/dot-config/fish/config-osx.fish | 9 + .../{ => dot-config/fish}/config-windows.fish | 0 fish/{ => dot-config/fish}/config.fish | 22 ++ fish/{ => dot-config/fish}/fish_plugins | 0 fish/{ => dot-config/fish}/fish_variables | 0 .../fish}/functions/__gitnow_config_file.fish | 0 .../fish}/functions/__gitnow_functions.fish | 0 .../fish}/functions/__gitnow_manual.fish | 0 .../functions/__ssh_agent_is_started.fish | 0 .../fish}/functions/__ssh_agent_start.fish | 0 .../fish}/functions/_autopair_backspace.fish | 0 .../functions/_autopair_insert_left.fish | 0 .../functions/_autopair_insert_right.fish | 0 .../functions/_autopair_insert_same.fish | 0 .../fish}/functions/_autopair_tab.fish | 0 .../_fzf_configure_bindings_help.fish | 0 .../functions/_fzf_extract_var_info.fish | 0 .../fish}/functions/_fzf_preview_file.fish | 0 .../functions/_fzf_report_file_type.fish | 0 .../functions/_fzf_search_directory.fish | 0 .../fish}/functions/_fzf_search_git_log.fish | 0 .../functions/_fzf_search_git_status.fish | 0 .../fish}/functions/_fzf_search_history.fish | 0 .../functions/_fzf_search_processes.fish | 0 .../functions/_fzf_search_variables.fish | 0 .../fish}/functions/_fzf_wrapper.fish | 0 .../functions/fish_user_key_bindings.fish | 0 .../functions/fzf_configure_bindings.fish | 0 .../fish}/functions/fzf_key_bindings.fish | 0 .../fish}/functions/license.fish | 0 .../fish}/functions/replay.fish | 0 ghostty/{ => dot-config/ghostty}/config | 2 +- git/dot-gitignore_global | 2 + homebrew-mac/dot-Brewfile | 58 +++- nvim/{ => dot-config/nvim}/.gitignore | 0 nvim/{ => dot-config/nvim}/.neoconf.json | 0 nvim/{ => dot-config/nvim}/LICENSE | 0 nvim/{ => dot-config/nvim}/README.md | 0 nvim/{ => dot-config/nvim}/init.lua | 0 nvim/{ => dot-config/nvim}/lazy-lock.json | 0 nvim/{ => dot-config/nvim}/lazyvim.json | 0 .../nvim}/lua/config/autocmds.lua | 0 .../nvim}/lua/config/keymaps.lua | 0 .../{ => dot-config/nvim}/lua/config/lazy.lua | 0 .../nvim}/lua/config/options.lua | 0 .../nvim}/lua/plugins/example.lua | 0 nvim/{ => dot-config/nvim}/stylua.toml | 0 posting/dot-config/posting/config.yaml | 1 + .../posting/default/get-users.posting.yaml | 2 + starship/{ => dot-config}/starship.toml | 0 vscode/chatLanguageModels.json | 1 + vscode/mcp.json | 0 vscode/settings.json | 10 + 70 files changed, 412 insertions(+), 34 deletions(-) create mode 100644 aerospace/dot-aerospace.toml delete mode 100644 fish/config-osx.fish rename fish/{ => dot-config/fish}/completions/__gitnow_completions.fish (100%) rename fish/{ => dot-config/fish}/completions/fzf_configure_bindings.fish (100%) rename fish/{ => dot-config/fish}/completions/license.fish (100%) rename fish/{ => dot-config/fish}/completions/replay.fish (100%) rename fish/{ => dot-config/fish}/conf.d/.gitnow (100%) rename fish/{ => dot-config/fish}/conf.d/autopair.fish (100%) rename fish/{ => dot-config/fish}/conf.d/dracula.fish (100%) rename fish/{ => dot-config/fish}/conf.d/fish-ssh-agent.fish (100%) rename fish/{ => dot-config/fish}/conf.d/fish_frozen_key_bindings.fish (100%) rename fish/{ => dot-config/fish}/conf.d/fzf.fish (100%) rename fish/{ => dot-config/fish}/conf.d/gitnow.fish (100%) rename fish/{ => dot-config/fish}/conf.d/gitnow_config.fish (100%) rename fish/{ => dot-config/fish}/config-dev.fish (78%) rename fish/{ => dot-config/fish}/config-linux.fish (100%) create mode 100644 fish/dot-config/fish/config-osx.fish rename fish/{ => dot-config/fish}/config-windows.fish (100%) rename fish/{ => dot-config/fish}/config.fish (65%) rename fish/{ => dot-config/fish}/fish_plugins (100%) rename fish/{ => dot-config/fish}/fish_variables (100%) rename fish/{ => dot-config/fish}/functions/__gitnow_config_file.fish (100%) rename fish/{ => dot-config/fish}/functions/__gitnow_functions.fish (100%) rename fish/{ => dot-config/fish}/functions/__gitnow_manual.fish (100%) rename fish/{ => dot-config/fish}/functions/__ssh_agent_is_started.fish (100%) rename fish/{ => dot-config/fish}/functions/__ssh_agent_start.fish (100%) rename fish/{ => dot-config/fish}/functions/_autopair_backspace.fish (100%) rename fish/{ => dot-config/fish}/functions/_autopair_insert_left.fish (100%) rename fish/{ => dot-config/fish}/functions/_autopair_insert_right.fish (100%) rename fish/{ => dot-config/fish}/functions/_autopair_insert_same.fish (100%) rename fish/{ => dot-config/fish}/functions/_autopair_tab.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_configure_bindings_help.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_extract_var_info.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_preview_file.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_report_file_type.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_search_directory.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_search_git_log.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_search_git_status.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_search_history.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_search_processes.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_search_variables.fish (100%) rename fish/{ => dot-config/fish}/functions/_fzf_wrapper.fish (100%) rename fish/{ => dot-config/fish}/functions/fish_user_key_bindings.fish (100%) rename fish/{ => dot-config/fish}/functions/fzf_configure_bindings.fish (100%) rename fish/{ => dot-config/fish}/functions/fzf_key_bindings.fish (100%) rename fish/{ => dot-config/fish}/functions/license.fish (100%) rename fish/{ => dot-config/fish}/functions/replay.fish (100%) rename ghostty/{ => dot-config/ghostty}/config (94%) rename nvim/{ => dot-config/nvim}/.gitignore (100%) rename nvim/{ => dot-config/nvim}/.neoconf.json (100%) rename nvim/{ => dot-config/nvim}/LICENSE (100%) rename nvim/{ => dot-config/nvim}/README.md (100%) rename nvim/{ => dot-config/nvim}/init.lua (100%) rename nvim/{ => dot-config/nvim}/lazy-lock.json (100%) rename nvim/{ => dot-config/nvim}/lazyvim.json (100%) rename nvim/{ => dot-config/nvim}/lua/config/autocmds.lua (100%) rename nvim/{ => dot-config/nvim}/lua/config/keymaps.lua (100%) rename nvim/{ => dot-config/nvim}/lua/config/lazy.lua (100%) rename nvim/{ => dot-config/nvim}/lua/config/options.lua (100%) rename nvim/{ => dot-config/nvim}/lua/plugins/example.lua (100%) rename nvim/{ => dot-config/nvim}/stylua.toml (100%) create mode 100644 posting/dot-config/posting/config.yaml create mode 100644 posting/dot-local/share/posting/default/get-users.posting.yaml rename starship/{ => dot-config}/starship.toml (100%) create mode 100644 vscode/chatLanguageModels.json create mode 100644 vscode/mcp.json create mode 100644 vscode/settings.json diff --git a/README.md b/README.md index 2349068..1f1a0bc 100644 --- a/README.md +++ b/README.md @@ -30,11 +30,11 @@ Make sure you have installed all of the following prerequisites on your developm ``` - tmux config - MacOSX config - + ## How to use ### git -Let’s stow git setting, +Let’s stow git setting, `stow --dotfiles -vSt ~ git` That’s it! we have successfully created a symlink for `.gitconfig` ,and a symlink for `.gitignore_global` @@ -42,22 +42,19 @@ That’s it! we have successfully created a symlink for `.gitconfig` ,and a syml `stow --dotfiles -vSt ~ zsh` ### fish shell -`mkdir ~/.config/fish` -`stow --dotfiles -vSt ~/.config/fish fish` +`stow --dotfiles -vSt ~ fish` ### tmux `stow --dotfiles -vSt ~ tmux` ### nvim -`mkdir ~/.config/nvim` -`stow --dotfiles -vSt ~/.config/nvim nvim` +`stow --dotfiles -vSt ~ nvim` ### ghostty -`mkdir ~/.config/ghostty` -`stow --dotfiles -vSt ~/.config/ghostty ghostty` +`stow --dotfiles -vSt ~ ghostty` ### starship -`stow --dotfiles -vSt ~/.config starship` +`stow --dotfiles -vSt ~ starship` ## About me diff --git a/aerospace/dot-aerospace.toml b/aerospace/dot-aerospace.toml new file mode 100644 index 0000000..573a9fb --- /dev/null +++ b/aerospace/dot-aerospace.toml @@ -0,0 +1,300 @@ +# Place a copy of this config to ~/.aerospace.toml +# After that, you can edit ~/.aerospace.toml to your liking + +# Config version for compatibility and deprecations +# Fallback value (if you omit the key): config-version = 1 +config-version = 2 + +# You can use it to add commands that run after AeroSpace startup. +# Available commands : https://nikitabobko.github.io/AeroSpace/commands +after-startup-command = [ + 'exec-and-forget borders active_color=0xffe2e4e5 inactive_color=0xff494d64 width=5.0' # order=above' +] + +# Start AeroSpace at login +start-at-login = true + +# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization +enable-normalization-flatten-containers = true +enable-normalization-opposite-orientation-for-nested-containers = true + +# See: https://nikitabobko.github.io/AeroSpace/guide#layouts +# The 'accordion-padding' specifies the size of accordion padding +# You can set 0 to disable the padding feature +accordion-padding = 30 + +# Possible values: tiles|accordion +default-root-container-layout = 'tiles' + +# Possible values: horizontal|vertical|auto +# 'auto' means: wide monitor (anything wider than high) gets horizontal orientation, +# tall monitor (anything higher than wide) gets vertical orientation +default-root-container-orientation = 'auto' + +# Mouse follows focus when focused monitor changes +# Drop it from your config, if you don't like this behavior +# See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks +# See https://nikitabobko.github.io/AeroSpace/commands#move-mouse +# Fallback value (if you omit the key): on-focused-monitor-changed = [] +on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] + +# You can effectively turn off macOS "Hide application" (cmd-h) feature by toggling this flag +# Useful if you don't use this macOS feature, but accidentally hit cmd-h or cmd-alt-h key +# Also see: https://nikitabobko.github.io/AeroSpace/goodies#disable-hide-app +automatically-unhide-macos-hidden-apps = false + +# List of workspaces that should stay alive even when they contain no windows, +# even when they are invisible. +# This config version is only available since 'config-version = 2' +# Fallback value (if you omit the key): persistent-workspaces = [] +#persistent-workspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", +# "C", "D", "E", "F", "G", "I", "M", "N", "O", "P", "Q", +# "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] +persistent-workspaces = ["1", "2", "3", "4", "5", + "A", "C", "D", "E", "O", + "Q", "S", "T", "W", "X", "Z"] + +# A callback that runs every time binding mode changes +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +# See: https://nikitabobko.github.io/AeroSpace/commands#mode +on-mode-changed = [] + +# Possible values: (qwerty|dvorak|colemak) +# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping +[key-mapping] + preset = 'qwerty' + +# Gaps between windows (inner-*) and between monitor edges (outer-*). +# Possible values: +# - Constant: gaps.outer.top = 8 +# - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24] +# In this example, 24 is a default value when there is no match. +# 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 = 8 + inner.vertical = 8 + outer.left = 8 + outer.bottom = 8 + outer.top = 8 + outer.right = 8 + +# 'main' binding mode declaration +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +# 'main' binding mode must be always presented +# Fallback value (if you omit the key): mode.main.binding = {} +[mode.main.binding] + + # All possible keys: + # - Letters. a, b, c, ..., z + # - Numbers. 0, 1, 2, ..., 9 + # - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9 + # - F-keys. f1, f2, ..., f20 + # - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, + # backtick, leftSquareBracket, rightSquareBracket, space, enter, esc, + # backspace, tab, pageUp, pageDown, home, end, forwardDelete, + # sectionSign (ISO keyboards only, european keyboards only) + # - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual, + # keypadMinus, keypadMultiply, keypadPlus + # - Arrows. left, down, up, right + + # All possible modifiers: cmd, alt, ctrl, shift + + # All possible commands: https://nikitabobko.github.io/AeroSpace/commands + + # See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget + # You can uncomment the following lines to open up terminal with alt + enter shortcut + # (like in i3) + # alt-enter = '''exec-and-forget osascript -e ' + # tell application "Terminal" + # do script + # activate + # end tell' + # ''' + + # See: https://nikitabobko.github.io/AeroSpace/commands#layout + alt-slash = 'layout tiles horizontal vertical' + alt-comma = 'layout accordion horizontal vertical' + + # See: https://nikitabobko.github.io/AeroSpace/commands#focus + alt-h = 'focus left' + alt-j = 'focus down' + alt-k = 'focus up' + alt-l = 'focus right' + + # See: https://nikitabobko.github.io/AeroSpace/commands#move + alt-shift-h = 'move left' + alt-shift-j = 'move down' + alt-shift-k = 'move up' + alt-shift-l = 'move right' + + # See: https://nikitabobko.github.io/AeroSpace/commands#resize + alt-minus = 'resize smart -50' + alt-equal = 'resize smart +50' + + # See: https://nikitabobko.github.io/AeroSpace/commands#workspace + alt-1 = 'workspace 1' + alt-2 = 'workspace 2' + alt-3 = 'workspace 3' + alt-4 = 'workspace 4' + alt-5 = 'workspace 5' + #alt-6 = 'workspace 6' + #alt-7 = 'workspace 7' + #alt-8 = 'workspace 8' + #alt-9 = 'workspace 9' + alt-a = 'workspace A' # In your config, you can drop workspace bindings that you don't need + #alt-b = 'workspace B' + alt-c = 'workspace C' + alt-d = 'workspace D' + alt-e = 'workspace E' + #alt-f = 'workspace F' + #alt-g = 'workspace G' + #alt-i = 'workspace I' + #alt-m = 'workspace M' + #alt-n = 'workspace N' + alt-o = 'workspace O' + #alt-p = 'workspace P' + alt-q = 'workspace Q' + #alt-r = 'workspace R' + alt-s = 'workspace S' + alt-t = 'workspace T' + #alt-u = 'workspace U' + #alt-v = 'workspace V' + alt-w = 'workspace W' + alt-x = 'workspace X' + #alt-y = 'workspace Y' + alt-z = 'workspace Z' + + # See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace + alt-shift-1 = 'move-node-to-workspace 1' + alt-shift-2 = 'move-node-to-workspace 2' + alt-shift-3 = 'move-node-to-workspace 3' + alt-shift-4 = 'move-node-to-workspace 4' + alt-shift-5 = 'move-node-to-workspace 5' + #alt-shift-6 = 'move-node-to-workspace 6' + #alt-shift-7 = 'move-node-to-workspace 7' + #alt-shift-8 = 'move-node-to-workspace 8' + #alt-shift-9 = 'move-node-to-workspace 9' + alt-shift-a = 'move-node-to-workspace A' + #alt-shift-b = 'move-node-to-workspace B' + alt-shift-c = 'move-node-to-workspace C' + alt-shift-d = 'move-node-to-workspace D' + alt-shift-e = 'move-node-to-workspace E' + #alt-shift-f = 'move-node-to-workspace F' + #alt-shift-g = 'move-node-to-workspace G' + #alt-shift-i = 'move-node-to-workspace I' + #alt-shift-m = 'move-node-to-workspace M' + #alt-shift-n = 'move-node-to-workspace N' + alt-shift-o = 'move-node-to-workspace O' + #alt-shift-p = 'move-node-to-workspace P' + alt-shift-q = 'move-node-to-workspace Q' + #alt-shift-r = 'move-node-to-workspace R' + alt-shift-s = 'move-node-to-workspace S' + alt-shift-t = 'move-node-to-workspace T' + #alt-shift-u = 'move-node-to-workspace U' + #alt-shift-v = 'move-node-to-workspace V' + alt-shift-w = 'move-node-to-workspace W' + alt-shift-x = 'move-node-to-workspace X' + #alt-shift-y = 'move-node-to-workspace Y' + alt-shift-z = 'move-node-to-workspace Z' + + # 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 + alt-shift-tab = 'move-workspace-to-monitor --wrap-around next' + + # See: https://nikitabobko.github.io/AeroSpace/commands#mode + alt-shift-semicolon = 'mode service' + + # run ghostty + #alt-enter = 'exec-and-forget open -n /Applications/Ghostty.app' +#alt-enter = '''exec-and-forget CUR_WS=$(aerospace list-workspaces --focused) && +# osascript -e 'tell application "Ghostty" +# new window +# activate +# end tell' && +# aerospace move-node-to-workspace --focus-follows-window "$CUR_WS"''' + + +# 'service' binding mode declaration. +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +[mode.service.binding] + esc = ['reload-config', 'mode main'] + r = ['flatten-workspace-tree', 'mode main'] # reset layout + f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout + backspace = ['close-all-windows-but-current', 'mode main'] + + # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2 + #s = ['layout sticky tiling', 'mode main'] + + alt-shift-h = ['join-with left', 'mode main'] + alt-shift-j = ['join-with down', 'mode main'] + alt-shift-k = ['join-with up', 'mode main'] + alt-shift-l = ['join-with right', 'mode main'] + + alt-shift-p = ['move-workspace-to-monitor prev'] + alt-shift-n = ['move-workspace-to-monitor next'] + +#[workspace-to-monitor-force-assignment] +# 6 = 2 +# 7 = 2 +# 8 = 2 +# 5 = '^Built-in Retina Display$' + +[[on-window-detected]] + if.app-id = 'com.mitchellh.ghostty' + run = ['layout floating', 'move-node-to-workspace T'] + +[[on-window-detected]] + if.app-id = 'com.cmuxterm.app' + run = ['move-node-to-workspace T'] + +[[on-window-detected]] + if.app-id = 'com.brave.Browser' + run = 'move-node-to-workspace W' # workspace W - Web browser + +[[on-window-detected]] + if.app-id = 'com.google.Chrome' + run = 'move-node-to-workspace W' # workspace W - Web browser + +[[on-window-detected]] + if.app-id = 'md.obsidian' + run = ['move-node-to-workspace O'] + +[[on-window-detected]] + if.app-id = 'com.bitwarden.desktop' + run = ['layout floating'] + +[[on-window-detected]] + if.app-id = 'com.tencent.xinWeChat' + run = ['layout accordion', 'move-node-to-workspace Q'] + +[[on-window-detected]] + if.app-id = 'com.tdesktop.Telegram' + run = ['layout accordion', 'move-node-to-workspace Q'] + +[[on-window-detected]] + if.app-id = 'jp.naver.line.mac' + run = ['layout accordion', 'move-node-to-workspace Q'] + +[[on-window-detected]] + if.app-id = 'com.apple.Music' + run = 'move-node-to-workspace E' + +[[on-window-detected]] + if.app-id = 'com.tencent.tencentmeeting' + run = 'move-node-to-workspace A' + +[[on-window-detected]] + if.app-id = 'com.larksuite.larkApp' + run = 'move-node-to-workspace A' + +[[on-window-detected]] + if.app-id = 'com.larksuite.larkApp.iron' + run = ['move-node-to-workspace A', 'enable off'] + +[[on-window-detected]] + if.app-id = 'com.microsoft.VSCode' + run = 'move-node-to-workspace C' + diff --git a/fish/config-osx.fish b/fish/config-osx.fish deleted file mode 100644 index 5e91957..0000000 --- a/fish/config-osx.fish +++ /dev/null @@ -1,16 +0,0 @@ -if type -q eza - alias ls "eza -g --icons --classify --group-directories-first" - alias lsa "ls -a" - alias ll "ls -l" - alias lla "ll -a" - alias llg "ll --git" -end - -if type -q nvim - alias vi nvim - alias vim nvim -end - -# openclaw -alias openclaw-cliproxyapi-tunnel 'ssh -NL 8317:127.0.0.1:8317 node@openclaw-vm' -alias openclaw-tunnel 'ssh -NL 18789:127.0.0.1:18789 node@openclaw-vm' diff --git a/fish/completions/__gitnow_completions.fish b/fish/dot-config/fish/completions/__gitnow_completions.fish similarity index 100% rename from fish/completions/__gitnow_completions.fish rename to fish/dot-config/fish/completions/__gitnow_completions.fish diff --git a/fish/completions/fzf_configure_bindings.fish b/fish/dot-config/fish/completions/fzf_configure_bindings.fish similarity index 100% rename from fish/completions/fzf_configure_bindings.fish rename to fish/dot-config/fish/completions/fzf_configure_bindings.fish diff --git a/fish/completions/license.fish b/fish/dot-config/fish/completions/license.fish similarity index 100% rename from fish/completions/license.fish rename to fish/dot-config/fish/completions/license.fish diff --git a/fish/completions/replay.fish b/fish/dot-config/fish/completions/replay.fish similarity index 100% rename from fish/completions/replay.fish rename to fish/dot-config/fish/completions/replay.fish diff --git a/fish/conf.d/.gitnow b/fish/dot-config/fish/conf.d/.gitnow similarity index 100% rename from fish/conf.d/.gitnow rename to fish/dot-config/fish/conf.d/.gitnow diff --git a/fish/conf.d/autopair.fish b/fish/dot-config/fish/conf.d/autopair.fish similarity index 100% rename from fish/conf.d/autopair.fish rename to fish/dot-config/fish/conf.d/autopair.fish diff --git a/fish/conf.d/dracula.fish b/fish/dot-config/fish/conf.d/dracula.fish similarity index 100% rename from fish/conf.d/dracula.fish rename to fish/dot-config/fish/conf.d/dracula.fish diff --git a/fish/conf.d/fish-ssh-agent.fish b/fish/dot-config/fish/conf.d/fish-ssh-agent.fish similarity index 100% rename from fish/conf.d/fish-ssh-agent.fish rename to fish/dot-config/fish/conf.d/fish-ssh-agent.fish diff --git a/fish/conf.d/fish_frozen_key_bindings.fish b/fish/dot-config/fish/conf.d/fish_frozen_key_bindings.fish similarity index 100% rename from fish/conf.d/fish_frozen_key_bindings.fish rename to fish/dot-config/fish/conf.d/fish_frozen_key_bindings.fish diff --git a/fish/conf.d/fzf.fish b/fish/dot-config/fish/conf.d/fzf.fish similarity index 100% rename from fish/conf.d/fzf.fish rename to fish/dot-config/fish/conf.d/fzf.fish diff --git a/fish/conf.d/gitnow.fish b/fish/dot-config/fish/conf.d/gitnow.fish similarity index 100% rename from fish/conf.d/gitnow.fish rename to fish/dot-config/fish/conf.d/gitnow.fish diff --git a/fish/conf.d/gitnow_config.fish b/fish/dot-config/fish/conf.d/gitnow_config.fish similarity index 100% rename from fish/conf.d/gitnow_config.fish rename to fish/dot-config/fish/conf.d/gitnow_config.fish diff --git a/fish/config-dev.fish b/fish/dot-config/fish/config-dev.fish similarity index 78% rename from fish/config-dev.fish rename to fish/dot-config/fish/config-dev.fish index 4bacd0a..7895dcb 100644 --- a/fish/config-dev.fish +++ b/fish/dot-config/fish/config-dev.fish @@ -1,4 +1,4 @@ -# podman migrate transparently from Docker to Podman Desktop +# podman migrate transparently from Docker to Podman Desktop if type -q podman set PODMAN_SOCKET_PATH "$(podman machine inspect --format '{{.ConnectionInfo.PodmanSocket.Path}}')" export DOCKER_HOST="unix://$PODMAN_SOCKET_PATH" @@ -15,6 +15,10 @@ if type -q docker # azure-cli # alias az="docker run --rm --name azure-cli -v \$HOME/.azure/config:/.azure/config bitnami/azure-cli:latest" - # alias aws="docker run --rm --name aws-cli -v \$HOME/.aws/config:/.aws/config bitnami/aws-cli:latest" + + ## plantuml local server + alias run-plantuml-server="docker run -d -p 8080:8080 --name plantuml-server --rm --read-only -v /tmp/jetty plantuml/plantuml-server:jetty" + alias stop-plantuml-server="docker stop plantuml-server" + end diff --git a/fish/config-linux.fish b/fish/dot-config/fish/config-linux.fish similarity index 100% rename from fish/config-linux.fish rename to fish/dot-config/fish/config-linux.fish diff --git a/fish/dot-config/fish/config-osx.fish b/fish/dot-config/fish/config-osx.fish new file mode 100644 index 0000000..8412c00 --- /dev/null +++ b/fish/dot-config/fish/config-osx.fish @@ -0,0 +1,9 @@ +# brew bundle dump +alias brew-bundle-dump 'brew bundle dump --global --force --describe' + +# Mole shell completion +set -l output (mole completion fish 2>/dev/null); and echo "$output" | source + +# openclaw +alias openclaw-cliproxyapi-tunnel 'ssh -NL 8317:127.0.0.1:8317 node@openclaw-vm' +alias openclaw-tunnel 'ssh -NL 18789:127.0.0.1:18789 node@openclaw-vm' diff --git a/fish/config-windows.fish b/fish/dot-config/fish/config-windows.fish similarity index 100% rename from fish/config-windows.fish rename to fish/dot-config/fish/config-windows.fish diff --git a/fish/config.fish b/fish/dot-config/fish/config.fish similarity index 65% rename from fish/config.fish rename to fish/dot-config/fish/config.fish index 83c98bc..5611858 100644 --- a/fish/config.fish +++ b/fish/dot-config/fish/config.fish @@ -37,6 +37,28 @@ if status is-interactive source (dirname (status --current-filename))/config-windows.fish end + # eza alias + if type -q eza + alias l 'eza -bGF --header --git --color=always --group-directories-first --icons' + alias l. 'eza -a | grep -E \'^\.\'' + alias lS 'eza -1 --color=always --group-directories-first --icons' + alias la 'eza --long --all --group --group-directories-first' + alias ll 'eza -la --icons --octal-permissions --group-directories-first --icons' + alias llm 'eza -lbGd --header --git --sort=modified --color=always --group-directories-first --icons' + alias llg "ll --git" + alias ls 'eza --color=always --group-directories-first --icons' + alias lsa 'ls -lah' + alias lt 'eza --tree --level=2 --color=always --group-directories-first --icons' + alias lx 'eza -lbhHigUmuSa@ --time-style=long-iso --git --color-scale --color=always --group-directories-first --icons' + end + + alias md 'mkdir -p' + + if type -q nvim + alias vi nvim + alias vim nvim + end + # using less instead of more export LESS='-R' alias more='less' diff --git a/fish/fish_plugins b/fish/dot-config/fish/fish_plugins similarity index 100% rename from fish/fish_plugins rename to fish/dot-config/fish/fish_plugins diff --git a/fish/fish_variables b/fish/dot-config/fish/fish_variables similarity index 100% rename from fish/fish_variables rename to fish/dot-config/fish/fish_variables diff --git a/fish/functions/__gitnow_config_file.fish b/fish/dot-config/fish/functions/__gitnow_config_file.fish similarity index 100% rename from fish/functions/__gitnow_config_file.fish rename to fish/dot-config/fish/functions/__gitnow_config_file.fish diff --git a/fish/functions/__gitnow_functions.fish b/fish/dot-config/fish/functions/__gitnow_functions.fish similarity index 100% rename from fish/functions/__gitnow_functions.fish rename to fish/dot-config/fish/functions/__gitnow_functions.fish diff --git a/fish/functions/__gitnow_manual.fish b/fish/dot-config/fish/functions/__gitnow_manual.fish similarity index 100% rename from fish/functions/__gitnow_manual.fish rename to fish/dot-config/fish/functions/__gitnow_manual.fish diff --git a/fish/functions/__ssh_agent_is_started.fish b/fish/dot-config/fish/functions/__ssh_agent_is_started.fish similarity index 100% rename from fish/functions/__ssh_agent_is_started.fish rename to fish/dot-config/fish/functions/__ssh_agent_is_started.fish diff --git a/fish/functions/__ssh_agent_start.fish b/fish/dot-config/fish/functions/__ssh_agent_start.fish similarity index 100% rename from fish/functions/__ssh_agent_start.fish rename to fish/dot-config/fish/functions/__ssh_agent_start.fish diff --git a/fish/functions/_autopair_backspace.fish b/fish/dot-config/fish/functions/_autopair_backspace.fish similarity index 100% rename from fish/functions/_autopair_backspace.fish rename to fish/dot-config/fish/functions/_autopair_backspace.fish diff --git a/fish/functions/_autopair_insert_left.fish b/fish/dot-config/fish/functions/_autopair_insert_left.fish similarity index 100% rename from fish/functions/_autopair_insert_left.fish rename to fish/dot-config/fish/functions/_autopair_insert_left.fish diff --git a/fish/functions/_autopair_insert_right.fish b/fish/dot-config/fish/functions/_autopair_insert_right.fish similarity index 100% rename from fish/functions/_autopair_insert_right.fish rename to fish/dot-config/fish/functions/_autopair_insert_right.fish diff --git a/fish/functions/_autopair_insert_same.fish b/fish/dot-config/fish/functions/_autopair_insert_same.fish similarity index 100% rename from fish/functions/_autopair_insert_same.fish rename to fish/dot-config/fish/functions/_autopair_insert_same.fish diff --git a/fish/functions/_autopair_tab.fish b/fish/dot-config/fish/functions/_autopair_tab.fish similarity index 100% rename from fish/functions/_autopair_tab.fish rename to fish/dot-config/fish/functions/_autopair_tab.fish diff --git a/fish/functions/_fzf_configure_bindings_help.fish b/fish/dot-config/fish/functions/_fzf_configure_bindings_help.fish similarity index 100% rename from fish/functions/_fzf_configure_bindings_help.fish rename to fish/dot-config/fish/functions/_fzf_configure_bindings_help.fish diff --git a/fish/functions/_fzf_extract_var_info.fish b/fish/dot-config/fish/functions/_fzf_extract_var_info.fish similarity index 100% rename from fish/functions/_fzf_extract_var_info.fish rename to fish/dot-config/fish/functions/_fzf_extract_var_info.fish diff --git a/fish/functions/_fzf_preview_file.fish b/fish/dot-config/fish/functions/_fzf_preview_file.fish similarity index 100% rename from fish/functions/_fzf_preview_file.fish rename to fish/dot-config/fish/functions/_fzf_preview_file.fish diff --git a/fish/functions/_fzf_report_file_type.fish b/fish/dot-config/fish/functions/_fzf_report_file_type.fish similarity index 100% rename from fish/functions/_fzf_report_file_type.fish rename to fish/dot-config/fish/functions/_fzf_report_file_type.fish diff --git a/fish/functions/_fzf_search_directory.fish b/fish/dot-config/fish/functions/_fzf_search_directory.fish similarity index 100% rename from fish/functions/_fzf_search_directory.fish rename to fish/dot-config/fish/functions/_fzf_search_directory.fish diff --git a/fish/functions/_fzf_search_git_log.fish b/fish/dot-config/fish/functions/_fzf_search_git_log.fish similarity index 100% rename from fish/functions/_fzf_search_git_log.fish rename to fish/dot-config/fish/functions/_fzf_search_git_log.fish diff --git a/fish/functions/_fzf_search_git_status.fish b/fish/dot-config/fish/functions/_fzf_search_git_status.fish similarity index 100% rename from fish/functions/_fzf_search_git_status.fish rename to fish/dot-config/fish/functions/_fzf_search_git_status.fish diff --git a/fish/functions/_fzf_search_history.fish b/fish/dot-config/fish/functions/_fzf_search_history.fish similarity index 100% rename from fish/functions/_fzf_search_history.fish rename to fish/dot-config/fish/functions/_fzf_search_history.fish diff --git a/fish/functions/_fzf_search_processes.fish b/fish/dot-config/fish/functions/_fzf_search_processes.fish similarity index 100% rename from fish/functions/_fzf_search_processes.fish rename to fish/dot-config/fish/functions/_fzf_search_processes.fish diff --git a/fish/functions/_fzf_search_variables.fish b/fish/dot-config/fish/functions/_fzf_search_variables.fish similarity index 100% rename from fish/functions/_fzf_search_variables.fish rename to fish/dot-config/fish/functions/_fzf_search_variables.fish diff --git a/fish/functions/_fzf_wrapper.fish b/fish/dot-config/fish/functions/_fzf_wrapper.fish similarity index 100% rename from fish/functions/_fzf_wrapper.fish rename to fish/dot-config/fish/functions/_fzf_wrapper.fish diff --git a/fish/functions/fish_user_key_bindings.fish b/fish/dot-config/fish/functions/fish_user_key_bindings.fish similarity index 100% rename from fish/functions/fish_user_key_bindings.fish rename to fish/dot-config/fish/functions/fish_user_key_bindings.fish diff --git a/fish/functions/fzf_configure_bindings.fish b/fish/dot-config/fish/functions/fzf_configure_bindings.fish similarity index 100% rename from fish/functions/fzf_configure_bindings.fish rename to fish/dot-config/fish/functions/fzf_configure_bindings.fish diff --git a/fish/functions/fzf_key_bindings.fish b/fish/dot-config/fish/functions/fzf_key_bindings.fish similarity index 100% rename from fish/functions/fzf_key_bindings.fish rename to fish/dot-config/fish/functions/fzf_key_bindings.fish diff --git a/fish/functions/license.fish b/fish/dot-config/fish/functions/license.fish similarity index 100% rename from fish/functions/license.fish rename to fish/dot-config/fish/functions/license.fish diff --git a/fish/functions/replay.fish b/fish/dot-config/fish/functions/replay.fish similarity index 100% rename from fish/functions/replay.fish rename to fish/dot-config/fish/functions/replay.fish diff --git a/ghostty/config b/ghostty/dot-config/ghostty/config similarity index 94% rename from ghostty/config rename to ghostty/dot-config/ghostty/config index 36e594f..4bf85bf 100644 --- a/ghostty/config +++ b/ghostty/dot-config/ghostty/config @@ -1,4 +1,4 @@ -font-size = 18 +font-size = 19 font-family = JetBrainsMonoNL Nerd Font Mono diff --git a/git/dot-gitignore_global b/git/dot-gitignore_global index e6163bd..63d256c 100755 --- a/git/dot-gitignore_global +++ b/git/dot-gitignore_global @@ -48,3 +48,5 @@ DerivedData .atom/compile-cache .atom/storage +# synology nas +**/@eaDir/** diff --git a/homebrew-mac/dot-Brewfile b/homebrew-mac/dot-Brewfile index 1d28c14..9d2448a 100644 --- a/homebrew-mac/dot-Brewfile +++ b/homebrew-mac/dot-Brewfile @@ -1,13 +1,22 @@ +tap "felixkratz/formulae" +tap "manaflow-ai/cmux" +tap "nikitabobko/tap" # Command-line interface for SQLite brew "sqlite" # Download with resuming and segmented downloading brew "aria2" # Record and share terminal sessions brew "asciinema" +# Resource monitor. C++ version and continuation of bashtop and bpytop +brew "btop" # Statistics utility to count lines of code brew "cloc" # Get a file from an HTTP, HTTPS or FTP server brew "curl" +# Pack, ship and run any application as a lightweight container +brew "docker" +# Isolated development environments using Docker +brew "docker-compose" # More intuitive version of du in rust brew "dust" # Modern, maintained replacement for ls @@ -34,6 +43,8 @@ brew "jq" brew "mas" # Hash utilities brew "md5sha1sum" +# Deep clean and optimize your Mac +brew "mole" # Ambitious Vim-fork focused on extensibility and agility brew "neovim" # Library for color text mode, widget based user interfaces @@ -44,35 +55,55 @@ brew "podman" brew "podman-compose" # Podman Terminal User Interface brew "podman-tui" +# Incremental parsing library +brew "tree-sitter" +# Modern API client that lives in your terminal +brew "posting" +# Generic machine emulator and virtualizer +brew "qemu" # Search tool like grep and The Silver Searcher brew "ripgrep" -# Command-line interface for https://speedtest.net bandwidth tests -brew "speedtest-cli" # Cross-shell prompt for astronauts brew "starship" # Organize software neatly under a single directory tree (e.g. /usr/local) brew "stow" -# Simplified and community-driven man pages -brew "tldr" +# Official tldr client written in Rust +brew "tlrc" # Terminal multiplexer brew "tmux" -# Incremental parsing library -brew "tree-sitter" # Parser generator tool brew "tree-sitter-cli" +# Feature-rich command-line audio/video downloader +brew "yt-dlp" # Tracks most-used directories to make cd smarter brew "z" # Shell extension to navigate your filesystem faster brew "zoxide" +# A window border system for macOS +brew "felixkratz/formulae/borders" +# Custom macOS statusbar with shell plugin, interaction and graph support +brew "felixkratz/formulae/sketchybar" +# AeroSpace is an i3-like tiling window manager for macOS +cask "nikitabobko/tap/aerospace" +# Menu bar icon organiser +cask "bartender" # Desktop password and login vault cask "bitwarden" # Web browser focusing on privacy cask "brave-browser" +# Ghostty-based terminal with vertical tabs and notifications for AI coding agents +cask "cmux" # Tool to run Windows software cask "crossover" +cask "font-arial" +cask "font-arial-black" +cask "font-hack-nerd-font" cask "font-jetbrains-mono-nerd-font" cask "font-noto-sans-cjk" +cask "font-noto-sans-cjk-tc" +cask "font-noto-sans-tc" cask "font-noto-serif-cjk" +cask "font-sketchybar-app-font" # Terminal emulator that uses platform-native UI and GPU acceleration cask "ghostty" # Client for the Google Drive storage service @@ -93,22 +124,34 @@ cask "openvanilla" cask "openvpn-connect" # Browse, manage, inspect containers and images cask "podman-desktop" +# Control your tools with a few keystrokes +cask "raycast" # Screenshot measurement and annotation tool cask "shottr" # Visible indicator of the current input source cask "showyedge" +# Video game digital distribution service +cask "steam" # Sync and backup service to Synology NAS drives cask "synology-drive" # Desktop client for Telegram messenger cask "telegram-desktop" +# JDK from the Eclipse Foundation (Adoptium) +cask "temurin" # File transfer application cask "transmit" +# Virtual machines UI using QEMU +cask "utm" # Open-source code editor cask "visual-studio-code" # Video conferencing software cask "voov-meeting" # Free messaging and calling application cask "wechat" +# Open-source version of the X.Org X Window System +cask "xquartz" +# REST, GraphQL and gRPC client +cask "yaak" mas "GarageBand", id: 682658836 mas "iMovie", id: 408981434 mas "Keynote", id: 409183694 @@ -120,8 +163,10 @@ mas "Numbers", id: 409203825 mas "OneDrive", id: 823766827 mas "Pages", id: 409201541 mas "Shadowrocket", id: 932747118 +vscode "bmewburn.vscode-intelephense-client" vscode "eamodio.gitlens" vscode "editorconfig.editorconfig" +vscode "jebbs.plantuml" vscode "ms-azuretools.vscode-containers" vscode "ms-vscode-remote.remote-containers" vscode "ms-vscode-remote.remote-ssh" @@ -130,3 +175,4 @@ vscode "ms-vscode-remote.remote-wsl" vscode "ms-vscode-remote.vscode-remote-extensionpack" vscode "ms-vscode.remote-explorer" vscode "ms-vscode.remote-server" +vscode "xdebug.php-debug" diff --git a/nvim/.gitignore b/nvim/dot-config/nvim/.gitignore similarity index 100% rename from nvim/.gitignore rename to nvim/dot-config/nvim/.gitignore diff --git a/nvim/.neoconf.json b/nvim/dot-config/nvim/.neoconf.json similarity index 100% rename from nvim/.neoconf.json rename to nvim/dot-config/nvim/.neoconf.json diff --git a/nvim/LICENSE b/nvim/dot-config/nvim/LICENSE similarity index 100% rename from nvim/LICENSE rename to nvim/dot-config/nvim/LICENSE diff --git a/nvim/README.md b/nvim/dot-config/nvim/README.md similarity index 100% rename from nvim/README.md rename to nvim/dot-config/nvim/README.md diff --git a/nvim/init.lua b/nvim/dot-config/nvim/init.lua similarity index 100% rename from nvim/init.lua rename to nvim/dot-config/nvim/init.lua diff --git a/nvim/lazy-lock.json b/nvim/dot-config/nvim/lazy-lock.json similarity index 100% rename from nvim/lazy-lock.json rename to nvim/dot-config/nvim/lazy-lock.json diff --git a/nvim/lazyvim.json b/nvim/dot-config/nvim/lazyvim.json similarity index 100% rename from nvim/lazyvim.json rename to nvim/dot-config/nvim/lazyvim.json diff --git a/nvim/lua/config/autocmds.lua b/nvim/dot-config/nvim/lua/config/autocmds.lua similarity index 100% rename from nvim/lua/config/autocmds.lua rename to nvim/dot-config/nvim/lua/config/autocmds.lua diff --git a/nvim/lua/config/keymaps.lua b/nvim/dot-config/nvim/lua/config/keymaps.lua similarity index 100% rename from nvim/lua/config/keymaps.lua rename to nvim/dot-config/nvim/lua/config/keymaps.lua diff --git a/nvim/lua/config/lazy.lua b/nvim/dot-config/nvim/lua/config/lazy.lua similarity index 100% rename from nvim/lua/config/lazy.lua rename to nvim/dot-config/nvim/lua/config/lazy.lua diff --git a/nvim/lua/config/options.lua b/nvim/dot-config/nvim/lua/config/options.lua similarity index 100% rename from nvim/lua/config/options.lua rename to nvim/dot-config/nvim/lua/config/options.lua diff --git a/nvim/lua/plugins/example.lua b/nvim/dot-config/nvim/lua/plugins/example.lua similarity index 100% rename from nvim/lua/plugins/example.lua rename to nvim/dot-config/nvim/lua/plugins/example.lua diff --git a/nvim/stylua.toml b/nvim/dot-config/nvim/stylua.toml similarity index 100% rename from nvim/stylua.toml rename to nvim/dot-config/nvim/stylua.toml diff --git a/posting/dot-config/posting/config.yaml b/posting/dot-config/posting/config.yaml new file mode 100644 index 0000000..8e1fb54 --- /dev/null +++ b/posting/dot-config/posting/config.yaml @@ -0,0 +1 @@ +spacing: compact diff --git a/posting/dot-local/share/posting/default/get-users.posting.yaml b/posting/dot-local/share/posting/default/get-users.posting.yaml new file mode 100644 index 0000000..e6d2ac9 --- /dev/null +++ b/posting/dot-local/share/posting/default/get-users.posting.yaml @@ -0,0 +1,2 @@ +name: Get Users +url: https://jsonplaceholder.typicode.com/users diff --git a/starship/starship.toml b/starship/dot-config/starship.toml similarity index 100% rename from starship/starship.toml rename to starship/dot-config/starship.toml diff --git a/vscode/chatLanguageModels.json b/vscode/chatLanguageModels.json new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/vscode/chatLanguageModels.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/vscode/mcp.json b/vscode/mcp.json new file mode 100644 index 0000000..e69de29 diff --git a/vscode/settings.json b/vscode/settings.json new file mode 100644 index 0000000..129f4be --- /dev/null +++ b/vscode/settings.json @@ -0,0 +1,10 @@ +{ + "containers.containerClient": "com.microsoft.visualstudio.containers.docker", + "containers.orchestratorClient": "com.microsoft.visualstudio.orchestrators.dockercompose", + "plantuml.render": "PlantUMLServer", + "plantuml.server": "http://localhost:8080", + "editor.fontSize": 15, + "editor.fontFamily": "'JetBrainsMonoNL Nerd Font Mono', Menlo, Monaco, 'Courier New', monospace", + "editor.formatOnSave": true, + "php.validate.executablePath": "" +}