A unified shell environment configuration and development tools installer for Linux, macOS, and Windows.
- Bash profile with custom aliases, functions, and prompt
- Git integration with completion and prompt support
- Git worktree management - tools for working with multiple branches simultaneously (docs)
- FZF integration for enhanced command-line searching (docs)
- Tmux configuration for terminal multiplexing
- Vim configuration with plugin management
The installer automatically sets up the following tools (concurrent installation with progress indicators):
- gitui - Terminal UI for Git
- ripgrep (rg) - Fast recursive search tool
- GitHub CLI (gh) - Official GitHub command-line tool
- fzf - Fuzzy finder for command-line
- PathPicker (fpp) - Interactive file selector
- uv - Fast Python package installer
- nvm - Node Version Manager
- Go - Go programming language
- Terraform - Infrastructure as Code tool
- sops - Secret operations tool
- age - Modern encryption tool
- Git config template
- SSH config
- Tmux config
- Custom utility scripts
- Host file management
One-line installation:
curl -fsSL https://raw.githubusercontent.com/acefei/ace-profile/main/installer/install.sh | bashOr using wget:
wget -qO- https://raw.githubusercontent.com/acefei/ace-profile/main/installer/install.sh | bashTwo-step installation (recommended for selective tool installation):
wget https://raw.githubusercontent.com/acefei/ace-profile/main/installer/install.sh
bash install.shPress Win + X and select "Windows PowerShell (Admin)", then run:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/acefei/ace-profile/main/installer/setup-win.ps1'))If the installation fails due to DOS line endings:
wget -qO- https://raw.githubusercontent.com/acefei/ace-profile/main/installer/install.sh | tr -d '\r' | bashQuickly manage multiple git worktrees for parallel branch development:
wtl # List all worktrees
wtm # Jump to main worktree
wtgo # Interactive worktree selector (FZF)
wtc <branch> # Create worktree with new branch
wtd <path> # Remove worktree (runs from git common root)
wtd # Batch remove with FZF
wtp # Prune stale worktree entries
wt-help # Open worktree help docUseful directory shortcuts:
cdg # Go to current repo/worktree root (show-toplevel)
cdgc # Go to git common root (worktree parent)📖 Full Git Worktree Documentation - Detailed usage, workflows, and best practices
FZF-powered helpers for git, processes, SSH, and ports:
fzco # Checkout git branch via FZF
fzpk # Kill selected processes (FZF multi-select)
fzproc # Inspect a process (ps + lsof)
fzssh # Select SSH host and connect
fzport # Inspect listening ports📖 Full FZF Helpers Documentation
To install or update a specific tool:
cd ~/.myprofile/installer
./rootless_install.sh setup_<tool_name>For example:
./rootless_install.sh setup_fzf # Install fzf
./rootless_install.sh setup_gh # Install GitHub CLI
./rootless_install.sh setup_terraform # Install TerraformRun any setup function with detailed output:
./rootless_install.sh setup_gitui- Update Git configuration: Edit
~/.gitconfigwith your GitHub user information - Re-login or source profile: The changes take effect after re-login or run:
source ~/.bash_profile
To completely remove ace-profile and all installed tools:
cd ~/.myprofile/installer
./uninstall.shThe uninstaller will:
- Remove all installed tools from
~/.local/bin - Remove Vim plugins and configuration directories
- Restore backed up configuration files (
.bashrc,.bash_profile,.vimrc, etc.) - Clean up fzf, nvm, and other tool installations
- Remove the
~/.myprofiledirectory
Note: You'll be prompted for confirmation before any files are removed.
~/.myprofile/
├── bash_profile/ # Shell aliases, functions, and prompt
├── config/ # Configuration templates (git, ssh, tmux)
├── installer/ # Installation scripts
├── templates/ # Project templates (docker, cloud-init)
├── utility/ # Custom utility scripts
└── vimrcs/ # Vim configuration and plugins
- Installation failed? Re-run the specific function:
./rootless_install.sh setup_<function_name>
- Tools not in PATH? Make sure
~/.local/binis in your PATH (automatically added by the installer) - Permission issues? The installer is rootless and installs everything to
~/.localand~/.myprofile
- Git must be installed
- Internet connection for downloading tools
- Bash shell (Linux/macOS) or PowerShell (Windows)
This project is provided as-is for personal development environment setup.