My personal collection of dotfiles and scripts to streamline the setup of a new Linux environment.
Run the following command to install the necessary tools and set up the environment:
curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/install.sh | bashThese are a series of "quick" commands to automate common developer tasks.
fsetup - Quick Setup Operations
This script provides a menu-driven interface using gum to perform various setup tasks like updating the system, installing development tools, and setting up programming language environments.
To run, type the following command in your terminal:
fsetupfgit - Quick Git Operations
A script to simplify common Git workflows. It helps with tasks like adding, committing, and pushing changes, as well as more complex operations like rebasing and tagging.
To run, type the following command in your terminal:
fgitA collection of scripts to install various tools and perform system utilities.
rclone-tool.sh - Install rclone tool
Installs and configures rclone, a command-line program to manage files on cloud storage.
To install:
sudo curl -fsSL -o /usr/local/bin/cccrclone https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/rclone/rclone-tool.sh && sudo chmod +x /usr/local/bin/cccrclonenerdfont-installer.sh - Install Nerd Fonts
Installs Nerd Fonts, which are popular for developers and provide a wide range of glyphs and icons.
To run:
bash <(curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/fonts/nerdfont-installer.sh)create_swap.sh - Create Swap File
A script to create and enable a swap file on a Linux system, which is useful when the system runs out of physical RAM.
To run:
bash <(curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/linux/create_swap.sh)debloat.sh - Debloat System
This script helps in removing pre-installed software that you may not need, freeing up disk space and system resources.
To run:
bash <(curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/linux/debloat.sh)vps_optimize.sh - VPS Performance Tuning
Non-interactive tuning pipeline for low-spec VPS hosts: swap, sysctl, ulimits, UFW, fail2ban, systemd limits, unused service pruning, and a BBR check.
To run:
sudo bash <(curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/linux/vps_optimize.sh)fub_clean.sh - Ubuntu Cleanup Assistant
Interactive multi-select cleanup for Ubuntu: APT caches, journal logs, trash/temp files, browser and developer caches, snap/flatpak/docker pruning, and manual package purge. Includes a dry-run mode.
To run:
sudo bash <(curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/linux/fub_clean.sh)certbot-kit.sh - IP Certificate Setup
Issues Let's Encrypt certificates for bare IP addresses (no domain required), with auto-detection across multiple ACME clients and the 6-day shortlived profile.
To run:
sudo bash <(curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/linux/certbot-kit.sh)qkbe.sh - Backend Developer Assistant
Backend workflow helper: runs Flyway migrations and repairs, creates migration files, generates entity scaffolding (UML/DDL), and fixes migration order conflicts.
To run:
bash <(curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/templates/qkbe.sh)Interactive menu (no args):
curl -fsSL http://st.changcomchien.workers.dev/9router | sudo bashDirect subcommand (note -s -- — required when passing args via pipe):
curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/llm/setup_9router.sh | sudo bash -s -- installAfter install, the toolkit installs itself as /usr/local/bin/9router, so:
sudo 9router doctor # weekly health check
sudo 9router update # pull latest + redeploy
sudo 9router status # one-screen summary
sudo 9router rollback # restore previous buildAll-in-one deployment for CLIProxyAPIPlus on Ubuntu/Debian (amd64, arm64): Go binary + Caddy HTTPS + systemd service + UFW rules.
sudo bash <(curl -fsSL https://raw.githubusercontent.com/comchienlab/dotfiles/main/scripts/llm/setup_cliproxy.sh)This repository also includes configuration files for various tools to maintain a consistent development environment.
- Shell:
config/shell/.zshrc,config/shell/.zshfn, andconfig/shell/starship.tomlfor a customized and informative shell prompt. - mise:
config/mise/config.toml— unified dev toolchain (Java, Maven, Node, Yarn, pnpm, Go, Rust, LazyDocker). - Ghostty:
config/ghostty/configandconfig/ghostty/custom.cssfor the Ghostty terminal emulator. - Zed:
config/zed/settings.jsonfor the Zed code editor.
install.sh bootstrap installer
bin/ commands installed to ~/.local/bin (fgit, fsetup)
base/ shared shell helpers sourced by other scripts
templates/ starters to copy into a project
scripts/linux/ Linux system utilities
scripts/llm/ AI proxy deployment kits
scripts/fonts/ Nerd Fonts installer
scripts/rclone/ rclone tooling
config/ reference configurations (shell, ghostty, zed, mise)
base/ui.sh provides shared, policy-free helpers — colors, command_exists(), gum_available(), ui_info/ui_success/ui_warn/ui_error, and ui_banner():
REPO_URL="https://raw.githubusercontent.com/comchienlab/dotfiles/main"
source <(curl -fsSL "$REPO_URL/base/ui.sh")It never installs anything: each script keeps its own dependency policy. Start from a template in templates/ — tui-tool.sh (interactive), installer.sh (curl | bash), or server-setup.sh (non-interactive).