Skip to content

Latest commit

 

History

156 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Dotfiles

My personal collection of dotfiles and scripts to streamline the setup of a new Linux environment.

🚀 Installation

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 | bash

✨ Quick Commands

These 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:

fsetup
fgit - 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:

fgit

🛠️ Installers & Utilities

A 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/cccrclone
nerdfont-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)

👩‍🏫 9Router

Interactive menu (no args):

curl -fsSL http://st.changcomchien.workers.dev/9router | sudo bash

Direct 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 -- install

After 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 build

🔀 CLIProxyAPI PLUS

All-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)

⚙️ Configuration Files

This repository also includes configuration files for various tools to maintain a consistent development environment.

  • Shell: config/shell/.zshrc, config/shell/.zshfn, and config/shell/starship.toml for 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/config and config/ghostty/custom.css for the Ghostty terminal emulator.
  • Zed: config/zed/settings.json for the Zed code editor.

📁 Repository Layout

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)

Writing a new script

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).

About

My Personal Linux Distro setup

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages