Cross-platform development environment managed with Chezmoi
A comprehensive dotfiles repository providing automated setup, synchronization utilities, and development tools for macOS and Linux.
- 🔧 Shell Environment: Modular bash/zsh configuration with proxy management
- 🔄 Git Synchronization: Auto-sync utilities for pass, Obsidian, Rime, and general repos
- 🤖 AI Integration: Pre-configured Claude Code and OpenCode environments (BigModel primary)
- 🖼️ Image Tools: Clipboard image management and cloud upload (x_pic)
- 🔐 Password Management: Interactive fzf-based password interface (pass_fzf)
- ⌨️ Input Methods: Complete fcitx5 configuration with Catppuccin theme
- 🖥️ Terminal: Ghostty configuration with CJK support
- 📦 Package Management: Automated installation via Makefile
- 🔑 SSH Management: Encrypted key storage for multiple services
- 🎨 Development: LazyVim, Hyprland/skhd, and tool configurations
- 🤖 AI Tools: OpenCode launcher with Obsidian workspace integration
- 📚 Agent Skills: Pre-configured skills for Hyprland development
dotfiles/
├── home/
│ ├── dot_config/ # Configuration files
│ │ ├── xshrc/ # Shell environment (modular)
│ │ ├── git/ # Git configuration
│ │ ├── ghostty/ # Terminal settings
│ │ ├── fcitx5/ # Linux input method
│ │ ├── hypr/ # Hyprland WM config
│ │ ├── nvim/ # Neovim/LazyVim
│ │ ├── skhd/ # macOS window manager
│ │ ├── opencode/ # OpenCode configuration
│ │ └── agents/ # Global AI agent guidelines
│ ├── dot_local/xbin/ # Custom scripts & utilities
│ ├── private_dot_* # Encrypted configs (SSH, GPG)
│ └── dot_claude/ # Claude Code setup
├── scripts/ # Installation & setup scripts
├── Makefile # Build automation
└── docs/ # Utility documentation
# Initialize chezmoi
chezmoi init git@github.com:knothhe/dotfiles.git
# Apply all dotfiles
chezmoi apply
# Apply all dotfiles and ignore pass and encrypt files
chezmoi apply --exclude=encrypted --override-data '{"excludePassFile": true}'Automatically detects OS and configures shell environment (.zshrc for macOS, .bashrc for Linux).
pass_sync # Sync password store
ob_sync # Sync Obsidian vault
rime_sync # Sync input method config
x_sync # Master sync orchestratorx_clone # Interactive repo cloning
x_pic # Clipboard image management
pass_fzf # Interactive password manager
x_sharding # Database table sharding tool
x_opencode # OpenCode launchermake help # List all targets
make install_lazyvim # Install LazyVim
make install_pacman_packages # Install Arch pacman packages
make install_yay_packages # Install Arch AUR packages
make install_flatpak_packages # Install Flatpak packages
make install_darwin_packages # Install macOS packages
make download_chrome_extensions # Download Chrome extensionsproxyon [host:port] [username:password] # Activate proxy
proxyoff # Deactivate proxy
proxyinfo # Check status- Modular structure: Configuration in
~/.config/xshrc/with separate components - Cross-platform: Automatic OS detection and platform-specific settings
- AI Integration: Pre-configured Claude Code and OpenCode with BigModel primary
# Add encrypted file
chezmoi add --encrypt ~/.ssh/id_rsa
# Add template file
chezmoi add --template ~/.config/xshrc/envs
# Use secrets in templates
{{ pass "secret/token" }}
# OS-specific configuration
{{- if eq .chezmoi.os "darwin" }}
# macOS settings
{{- end }}x_pic: Cross-platform clipboard image management with format conversion and uploadpass_fzf: Interactive password selection with generationx_clone: Interactive repository cloning with branch supportx_sharding: Database table sharding tool for SQL schema transformationx_sync: Master synchronization orchestratorx_opencode: OpenCode launcher with Obsidian workspace integrationx_launchagent(macOS): LaunchAgent management utilitycommon_functions.sh: Shared utility library for all scripts
- Encrypted storage: SSH keys and sensitive data encrypted with GPG
- Password manager: Integration with
passfor secure token storage - Selective sync: Configurable exclusion of sensitive files
- Git integration: Secure remote synchronization
Required: Chezmoi, Git, Bash/Zsh
Optional: Pass, Fzf, Pwgen, Fcitx5, Ghostty, LazyVim, Skhd/Hyprland, OpenCode
Pre-configured skills for enhanced AI-assisted development.
- Source: tobi/frameling
- Location:
.claude/skills/hyprland/ - Description: Comprehensive Hyprland window manager reference with documentation, examples, and search utilities for configuration, keybindings, animations, window rules, and dispatchers.
See AGENTS.md for detailed development guidance and API documentation for custom utilities.