Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
24 changes: 24 additions & 0 deletions .agent-deck/config.toml → home/.agent-deck/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 = ""
Expand All @@ -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
Expand Down Expand Up @@ -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
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
5 changes: 3 additions & 2 deletions .claude/settings.json → home/.claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -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 *)",
Expand All @@ -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 *)",
Expand Down Expand Up @@ -118,8 +120,7 @@
},
{
"type": "command",
"command": "agent-deck hook-handler",
"async": true
"command": "agent-deck hook-handler"
}
]
}
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
23 changes: 11 additions & 12 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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}")"

Expand All @@ -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
Expand All @@ -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
}
Expand All @@ -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
Expand Down
Loading