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
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ git clone https://github.com/tsilenzio/dotfiles.git ~/.dotfiles
## What's Included

- **Zsh** configuration with Starship prompt
- **Atuin** shell history sync with E2E encryption
- **Git** config with delta diffs and GPG signing
- **Ghostty** terminal configuration (with WezTerm fallback)
- **Homebrew** packages organized by bundle
Expand Down Expand Up @@ -72,6 +73,7 @@ just secrets ... # Secrets management (init, backup, restore)
~/.dotfiles/
├── config/ # Base configurations
│ ├── manifest # Declares what gets linked where
│ ├── atuin/
│ ├── ghostty/
│ ├── git/
│ ├── gnupg/
Expand All @@ -94,6 +96,7 @@ just secrets ... # Secrets management (init, backup, restore)
│ │ ├── personal/
│ │ ├── work/
│ │ └── test/
│ ├── daemons/ # Launch daemons/agents (spotlight)
│ ├── install # macOS platform installer
│ ├── preflight # Sudo caching / preflight checks
│ ├── preferences # macOS system preferences
Expand Down
7 changes: 3 additions & 4 deletions config/gnupg/gpg-agent.conf
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Cache passphrase for 10 minutes (600 seconds)
default-cache-ttl 600
# Maximum cache lifetime of 2 hours (7200 seconds)
max-cache-ttl 7200
# Require Touch ID for every signing operation
default-cache-ttl 0
max-cache-ttl 0

# Pinentry program options (uncomment one):

Expand Down
1 change: 1 addition & 0 deletions config/zsh/zshrc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ fi
# Environment Variables
# ============================================================================
export COPYFILE_DISABLE=1 # Don't create ._* files on macOS
export GPG_TTY=$(tty) # Required for pinentry-touchid

# ============================================================================
# PATH Configuration
Expand Down
12 changes: 12 additions & 0 deletions platforms/macos/bundles/test/manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Minimal symlinks for VM testing
zsh/zshrc -> $HOME/.zshrc
zsh/zshenv -> $HOME/.zshenv
zsh/zprofile -> $HOME/.zprofile

# Git
git/gitconfig -> $HOME/.gitconfig
git/gitignore -> $HOME/.gitignore

# GnuPG
gnupg/gpg-agent.conf -> $HOME/.gnupg/gpg-agent.conf
@chmod 700 $HOME/.gnupg
21 changes: 12 additions & 9 deletions platforms/macos/bundles/test/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,18 @@ echo "Configuring minimal symlinks..."

ensure_config_dirs

# Only essential symlinks (subset of link_base_configs)
CONFIG_DIR="$DOTFILES_DIR/config"

[[ -f "$CONFIG_DIR/zsh/zshrc" ]] && safe_link "$CONFIG_DIR/zsh/zshrc" "$HOME/.zshrc"
[[ -f "$CONFIG_DIR/zsh/zshenv" ]] && safe_link "$CONFIG_DIR/zsh/zshenv" "$HOME/.zshenv"
[[ -f "$CONFIG_DIR/zsh/zprofile" ]] && safe_link "$CONFIG_DIR/zsh/zprofile" "$HOME/.zprofile"
[[ -f "$CONFIG_DIR/git/gitconfig" ]] && safe_link "$CONFIG_DIR/git/gitconfig" "$HOME/.gitconfig"
[[ -f "$CONFIG_DIR/git/gitignore" ]] && safe_link "$CONFIG_DIR/git/gitignore" "$HOME/.gitignore"
[[ -f "$CONFIG_DIR/gnupg/gpg-agent.conf" ]] && safe_link "$CONFIG_DIR/gnupg/gpg-agent.conf" "$HOME/.gnupg/gpg-agent.conf"
if [[ -f "$BUNDLE_DIR/manifest" ]]; then
apply_manifest "$BUNDLE_DIR/manifest" "$DOTFILES_DIR/config"
else
# Legacy fallback
CONFIG_DIR="$DOTFILES_DIR/config"
[[ -f "$CONFIG_DIR/zsh/zshrc" ]] && safe_link "$CONFIG_DIR/zsh/zshrc" "$HOME/.zshrc"
[[ -f "$CONFIG_DIR/zsh/zshenv" ]] && safe_link "$CONFIG_DIR/zsh/zshenv" "$HOME/.zshenv"
[[ -f "$CONFIG_DIR/zsh/zprofile" ]] && safe_link "$CONFIG_DIR/zsh/zprofile" "$HOME/.zprofile"
[[ -f "$CONFIG_DIR/git/gitconfig" ]] && safe_link "$CONFIG_DIR/git/gitconfig" "$HOME/.gitconfig"
[[ -f "$CONFIG_DIR/git/gitignore" ]] && safe_link "$CONFIG_DIR/git/gitignore" "$HOME/.gitignore"
[[ -f "$CONFIG_DIR/gnupg/gpg-agent.conf" ]] && safe_link "$CONFIG_DIR/gnupg/gpg-agent.conf" "$HOME/.gnupg/gpg-agent.conf"
fi

echo ""
echo "Test setup complete!"
Loading