diff --git a/.gitignore b/.gitignore index b8a977c..62057e4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,15 +4,15 @@ id_rsa* *kubeconfig* *.pem -.config/* -!.config/ccstatusline -!.config/powerline +home/.config/* +!home/.config/ccstatusline +!home/.config/powerline -.agent-deck/* -!.agent-deck/config.toml -.claude/* -!.claude/hooks -!.claude/skills -.claude/skills/githuman -!.claude/*.md -!.claude/settings.json +home/.agent-deck/* +!home/.agent-deck/config.toml +home/.claude/* +!home/.claude/hooks +!home/.claude/skills +home/.claude/skills/githuman +!home/.claude/*.md +!home/.claude/settings.json diff --git a/README.md b/README.md index 1e2a2fe..fd92751 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A collection of personal dotfiles. `git clone` this repository and then run [`./install.sh`](./install.sh). -All dotfiles are symlinked to the user's home directory to keep them up to date with this repo. Files that would be overwritten are backed-up first. +All files and directories in [`./home`](./home) are symlinked to the user's home directory to keep them in sync with this repo. Files that would be overwritten are backed-up first. ## Other setup @@ -23,19 +23,19 @@ The following shells are supported by these dotfiles: Files are sourced in the following order: -1. [`~/.bash_profile`](./.bash_profile): macOS default entry point, mostly empty -2. [`~/.profile`](./.profile): Ubuntu default entry point, mostly empty -3. [`~/.bashrc`](./.bashrc): mostly empty -4. [`~/.everythingrc`](./.everythingrc): general functions and aliases +1. [`~/.bash_profile`](./home/.bash_profile): macOS default entry point, mostly empty +2. [`~/.profile`](./home/.profile): Ubuntu default entry point, mostly empty +3. [`~/.bashrc`](./home/.bashrc): mostly empty +4. [`~/.everythingrc`](./home/.everythingrc): general functions and aliases 5. `~/.dotpack/.*.sh` and `~/.dotpack/.*.bash`: functions and aliases, including: - 1. [`~/.dotpack/.90_powerline.bash`](./dotpack/.90_powerline.bash): [Powerline](https://github.com/powerline/powerline) shell theme + 1. [`~/.dotpack/.90_powerline.bash`](./home/.dotpack/.90_powerline.bash): [Powerline](https://github.com/powerline/powerline) shell theme **Zsh (Z shell):** Files are sourced in the following order: -1. [`~/.zshrc`](./.zshrc): default entry point, mostly empty -2. [`~/.everythingrc`](./.everythingrc): general functions and aliases +1. [`~/.zshrc`](./home/.zshrc): default entry point, mostly empty +2. [`~/.everythingrc`](./home/.everythingrc): general functions and aliases 3. `~/.dotpack/.*.sh` and `~/.dotpack/.*.zsh`: functions and aliases, including: - 1. [`~/.dotpack/.80_plugins.zsh`](./dotpack/.80_plugins.zsh): [Antidote](https://github.com/mattmc3/antidote) Zsh plugin management - 2. [`~/.dotpack/.90_powerlevel10k.zsh`](./dotpack/.90_powerlevel10k.zsh): [Powerlevel10k](https://github.com/romkatv/powerlevel10k) shell theme configuration + 1. [`~/.dotpack/.80_plugins.zsh`](./home/.dotpack/.80_plugins.zsh): [Antidote](https://github.com/mattmc3/antidote) Zsh plugin management + 2. [`~/.dotpack/.90_powerlevel10k.zsh`](./home/.dotpack/.90_powerlevel10k.zsh): [Powerlevel10k](https://github.com/romkatv/powerlevel10k) shell theme configuration diff --git a/.agent-deck/config.toml b/home/.agent-deck/config.toml similarity index 88% rename from .agent-deck/config.toml rename to home/.agent-deck/config.toml index 355dbe8..7c0e77c 100644 --- a/.agent-deck/config.toml +++ b/home/.agent-deck/config.toml @@ -17,6 +17,7 @@ mcp_default_scope = "" dangerous_mode = false allow_dangerous_mode = false auto_mode = false + default_model = "" use_chrome = false use_teammate_mode = false env_file = "" @@ -25,18 +26,35 @@ mcp_default_scope = "" yolo_mode = false default_model = "" env_file = "" + command = "" [opencode] default_model = "" default_agent = "" env_file = "" + command = "" [codex] command = "" + config_dir = "" yolo_mode = false + env_file = "" [copilot] env_file = "" + command = "" + default_model = "" + allow_all = false + +[crush] + command = "" + env_file = "" + yolo_mode = false + +[hermes] + command = "" + env_file = "" + yolo_mode = false [worktree] auto_cleanup = false @@ -184,3 +202,9 @@ mcp_default_scope = "" [terminal] [web] + +[ui] + preview_pct = 0 + iterm_open_as = "" + remote_latency_refresh_secs = 0 + remote_session_refresh_secs = 0 diff --git a/.bash_profile b/home/.bash_profile similarity index 100% rename from .bash_profile rename to home/.bash_profile diff --git a/.bashrc b/home/.bashrc similarity index 100% rename from .bashrc rename to home/.bashrc diff --git a/.claude/CLAUDE.md b/home/.claude/CLAUDE.md similarity index 100% rename from .claude/CLAUDE.md rename to home/.claude/CLAUDE.md diff --git a/.claude/RTK.md b/home/.claude/RTK.md similarity index 100% rename from .claude/RTK.md rename to home/.claude/RTK.md diff --git a/.claude/hooks/.rtk-hook.sha256 b/home/.claude/hooks/.rtk-hook.sha256 similarity index 100% rename from .claude/hooks/.rtk-hook.sha256 rename to home/.claude/hooks/.rtk-hook.sha256 diff --git a/.claude/hooks/rtk-rewrite.sh b/home/.claude/hooks/rtk-rewrite.sh similarity index 100% rename from .claude/hooks/rtk-rewrite.sh rename to home/.claude/hooks/rtk-rewrite.sh diff --git a/.claude/settings.json b/home/.claude/settings.json similarity index 96% rename from .claude/settings.json rename to home/.claude/settings.json index 2da45fd..a7fe78f 100644 --- a/.claude/settings.json +++ b/home/.claude/settings.json @@ -3,6 +3,7 @@ "allow": [ "Bash(git* ls-tree *)", "Bash(git* rebase --continue)", + "Bash(git* remote get-url *)", "Bash(git* reset)", "Bash(git* rev-parse *)", "Bash(gh run list *)", @@ -17,6 +18,7 @@ "Bash(rtk git* show *)", "Bash(rtk git* status)", "Bash(rtk git* status *)", + "Bash(rtk gradlew *)", "Bash(rtk grep *)", "Bash(rtk ls *)", "Bash(rtk ps *)", @@ -118,8 +120,7 @@ }, { "type": "command", - "command": "agent-deck hook-handler", - "async": true + "command": "agent-deck hook-handler" } ] } diff --git a/.claude/skills/writing-pull-requests/SKILL.md b/home/.claude/skills/writing-pull-requests/SKILL.md similarity index 100% rename from .claude/skills/writing-pull-requests/SKILL.md rename to home/.claude/skills/writing-pull-requests/SKILL.md diff --git a/.config/ccstatusline/settings.json b/home/.config/ccstatusline/settings.json similarity index 100% rename from .config/ccstatusline/settings.json rename to home/.config/ccstatusline/settings.json diff --git a/.config/powerline/colorschemes/default.json b/home/.config/powerline/colorschemes/default.json similarity index 100% rename from .config/powerline/colorschemes/default.json rename to home/.config/powerline/colorschemes/default.json diff --git a/.config/powerline/config.json b/home/.config/powerline/config.json similarity index 100% rename from .config/powerline/config.json rename to home/.config/powerline/config.json diff --git a/.config/powerline/themes/shell/__main__.json b/home/.config/powerline/themes/shell/__main__.json similarity index 100% rename from .config/powerline/themes/shell/__main__.json rename to home/.config/powerline/themes/shell/__main__.json diff --git a/.config/powerline/themes/shell/default_leftonly.json b/home/.config/powerline/themes/shell/default_leftonly.json similarity index 100% rename from .config/powerline/themes/shell/default_leftonly.json rename to home/.config/powerline/themes/shell/default_leftonly.json diff --git a/dotpack/.10_macos.sh b/home/.dotpack/.10_macos.sh similarity index 100% rename from dotpack/.10_macos.sh rename to home/.dotpack/.10_macos.sh diff --git a/dotpack/.20_golang.sh b/home/.dotpack/.20_golang.sh similarity index 100% rename from dotpack/.20_golang.sh rename to home/.dotpack/.20_golang.sh diff --git a/dotpack/.20_java.sh b/home/.dotpack/.20_java.sh similarity index 100% rename from dotpack/.20_java.sh rename to home/.dotpack/.20_java.sh diff --git a/dotpack/.20_nodejs.sh b/home/.dotpack/.20_nodejs.sh similarity index 100% rename from dotpack/.20_nodejs.sh rename to home/.dotpack/.20_nodejs.sh diff --git a/dotpack/.20_python.sh b/home/.dotpack/.20_python.sh similarity index 100% rename from dotpack/.20_python.sh rename to home/.dotpack/.20_python.sh diff --git a/dotpack/.20_ruby.sh b/home/.dotpack/.20_ruby.sh similarity index 100% rename from dotpack/.20_ruby.sh rename to home/.dotpack/.20_ruby.sh diff --git a/dotpack/.30_aws.sh b/home/.dotpack/.30_aws.sh similarity index 100% rename from dotpack/.30_aws.sh rename to home/.dotpack/.30_aws.sh diff --git a/dotpack/.30_claude.sh b/home/.dotpack/.30_claude.sh similarity index 100% rename from dotpack/.30_claude.sh rename to home/.dotpack/.30_claude.sh diff --git a/dotpack/.30_docker.sh b/home/.dotpack/.30_docker.sh similarity index 100% rename from dotpack/.30_docker.sh rename to home/.dotpack/.30_docker.sh diff --git a/dotpack/.30_git.sh b/home/.dotpack/.30_git.sh similarity index 100% rename from dotpack/.30_git.sh rename to home/.dotpack/.30_git.sh diff --git a/dotpack/.30_kubernetes.sh b/home/.dotpack/.30_kubernetes.sh similarity index 100% rename from dotpack/.30_kubernetes.sh rename to home/.dotpack/.30_kubernetes.sh diff --git a/dotpack/.30_mysql.sh b/home/.dotpack/.30_mysql.sh similarity index 100% rename from dotpack/.30_mysql.sh rename to home/.dotpack/.30_mysql.sh diff --git a/dotpack/.30_pulsar.sh b/home/.dotpack/.30_pulsar.sh similarity index 100% rename from dotpack/.30_pulsar.sh rename to home/.dotpack/.30_pulsar.sh diff --git a/dotpack/.30_temporal.sh b/home/.dotpack/.30_temporal.sh similarity index 100% rename from dotpack/.30_temporal.sh rename to home/.dotpack/.30_temporal.sh diff --git a/dotpack/.30_terraform.sh b/home/.dotpack/.30_terraform.sh similarity index 100% rename from dotpack/.30_terraform.sh rename to home/.dotpack/.30_terraform.sh diff --git a/dotpack/.30_vitess.sh b/home/.dotpack/.30_vitess.sh similarity index 100% rename from dotpack/.30_vitess.sh rename to home/.dotpack/.30_vitess.sh diff --git a/dotpack/.80_plugins.zsh b/home/.dotpack/.80_plugins.zsh similarity index 100% rename from dotpack/.80_plugins.zsh rename to home/.dotpack/.80_plugins.zsh diff --git a/dotpack/.90_powerlevel10k.zsh b/home/.dotpack/.90_powerlevel10k.zsh similarity index 100% rename from dotpack/.90_powerlevel10k.zsh rename to home/.dotpack/.90_powerlevel10k.zsh diff --git a/dotpack/.90_powerline.bash b/home/.dotpack/.90_powerline.bash similarity index 100% rename from dotpack/.90_powerline.bash rename to home/.dotpack/.90_powerline.bash diff --git a/dotpack/README.md b/home/.dotpack/README.md similarity index 100% rename from dotpack/README.md rename to home/.dotpack/README.md diff --git a/.everythingrc b/home/.everythingrc similarity index 100% rename from .everythingrc rename to home/.everythingrc diff --git a/.gitconfig b/home/.gitconfig similarity index 100% rename from .gitconfig rename to home/.gitconfig diff --git a/.gitignore_global b/home/.gitignore_global similarity index 100% rename from .gitignore_global rename to home/.gitignore_global diff --git a/.profile b/home/.profile similarity index 100% rename from .profile rename to home/.profile diff --git a/.zsh_plugins.txt b/home/.zsh_plugins.txt similarity index 100% rename from .zsh_plugins.txt rename to home/.zsh_plugins.txt diff --git a/.zshrc b/home/.zshrc similarity index 100% rename from .zshrc rename to home/.zshrc diff --git a/install.sh b/install.sh index ff5d352..bbedfd1 100755 --- a/install.sh +++ b/install.sh @@ -21,7 +21,7 @@ function backup() { # @param {string} $1 Wildcard to find dotfiles function link() { # Create symlinks - find "$1" -maxdepth 1 -name "$2" ! -name ".editorconfig" ! -name ".git" ! -name ".githooks" ! -name ".github" ! -name ".gitignore" ! -name ".DS_Store" | while read -r file; do + find "$1" -maxdepth 1 -name "$2" ! -name ".DS_Store" | while read -r file; do local link link="${HOME}/$(basename "${file}")" @@ -30,10 +30,15 @@ function link() { link="$(dirname "${link}")/.$(basename "${link}")" fi - # Assume symlinks are ok + # Delete broken symlinks, skip valid ones if [[ -h "${link}" ]]; then - echo -e "\033[33mIgnoring:\033[0m ${link}" - continue + if [[ ! -e "${link}" ]]; then + echo -e "\033[91mDeleting broken symlink:\033[0m ${link}" + rm -f "${link}" + else + echo -e "\033[33mIgnoring:\033[0m ${link}" + continue + fi fi # Back up the existing directory/file @@ -57,7 +62,7 @@ function link() { # Delete broken symlinks find "${HOME}" -maxdepth 1 -type l ! -exec test -e {} \; -print | while read -r file; do - echo -e "\033[91mDeleting:\033[0m ${file}" + echo -e "\033[91mDeleting broken symlink:\033[0m ${file}" rm -f "${file}" done } @@ -74,13 +79,7 @@ chmod +x "$(pwd)/.git/hooks"/* find "${HOME}" -maxdepth 1 -name ".*.bash" -type l ! -exec test -e {} \; -delete # Link dotfiles to home directory -link "$(pwd)" ".*" -if [[ -e ~/.dotpack && ! -L ~/.dotpack ]]; then - rm -rf ~/.dotpack -fi -if [[ ! -L ~/.dotpack ]]; then - ln -s "$(pwd)/dotpack" "${HOME}/.dotpack" -fi +link "$(pwd)/home" ".*" # Reload powerline if installed if command -v powerline-daemon &> /dev/null; then