SkillAgentSearch skills...

Dotfiles

A set of bash, zsh, tmux, powershell, wsl, nodejs, msys2 configuration and script files.

Install / Use

/learn @epoweripione/Dotfiles
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Dotfiles & Scripts

A set of bash, zsh, tmux, powershell, wsl, nodejs, msys2 configuration and script files.

These scripts only tested on my pc, laptop & cloud host and may not cover all cases, and may contain errors, use at your own RISK!

Personal use only, make sure do a full test before using them in Production Environment!

Best practice: make a system backup or prepare a live cd before running these scripts!

Linux Distros what I daily use are Manjaro KDE Plasma, Debian, Centos Stream, WSL2 on Windows 11.

Features

Linux

  • Zsh as default shell
  • Oh My Zsh to managing Zsh configuration
  • ys theme for Zsh without Graphical Environment
  • Oh My Posh theme for Zsh with Desktop Environment(KDE, GNOME, XFCE, WSL...)
  • ZSH theme change script
  • Zsh plugins
  • Terminal Multiplexers: autostart Zellij/Tmux/Screen session on remote system when logging in via SSH
  • Package managers with pacman-style command syntax
  • Unix commands
  • Helper functions
    • public: color echo, version compare...
    • system: cron jobs, systemd services, snapper snapshots...
    • osinfo: OS type, architecture, release, package manager, icon, virtualized...
    • network: ipv4, ipv6, url, web service...
    • proxy: get & set proxy
    • git: clone, update git repos
      • Git_Clone_Update clone or update a git repo:
        Git_Clone_Update "username/repository" "$HOME/repository" # default host `https://github.com/`
        Git_Clone_Update "https://gitlab.com/username/repository" "$HOME/repository" # full repo url
        Git_Clone_Update "git@github.com:username/repository.git" "$HOME/repository"
        
      • Git_Clone_Update_Branch clone or update a git repo only specified branch:
        Git_Clone_Update_Branch "https://github.com/username/repository" "$HOME/repository" # auto get default branch
        Git_Clone_Update_Branch "username/repository" "$HOME/repository" "https://github.com" "dev" # dev branch
        
      • Git_Update_Repo_in_SubDir update all git repos in subdirectories
        Git_Update_Repo_in_SubDir "$ZSH/custom" # update all ZSH plugins & themes
        
    • docker: docker mirrors, pull multiple images...
    • installer: functions to install apps
    • versions: version manager functions for goup, mise, asdf...
    • web
    • misc
  • Scripts & functions to install apps
    • Auto resolve download URL that match running platform, especially for apps release on Github
    • Speed up downloads with axel, if fails use curl instead
    • Automatically extract executable, man, Zsh completions files from compressed files and install to corresponding directories(/usr/local/bin, /usr/share/man, /usr/local/share/zsh/site-functions)
    installPrebuiltBinary rclone "rclone/rclone" # github releases
    installPrebuiltBinary nnn "jarun/nnn" "nnn-nerd-.*\.tar\.gz" # github releases
    installPrebuiltBinary earthly "earthly/earthly" "earthly-*" # github releases
    installPrebuiltBinary "https://dev.yorhel.nl/ncdu" "/download/ncdu-[^<>:;,?\"*|/]+\.tar\.gz" "ncdu-.*\.tar\.gz" # full URL
    
    • Install app using brew, cargo, go...
    installBuildBinary sd sd cargo
    installBuildBinary fvm fvm brew
    installBuildBinary protoc-gen-go protoc-gen-go go "google.golang.org/protobuf/cmd/protoc-gen-go@latest"
    
  • Git configs
  • Update apps that installed by app store or version managers
  • alias for docker: alias | grep '^docker'
  • Auto setting environment variables for apps
    • Snap
    • Homebrew
    • PHP
    • Java
    • Go
    • Flutter
    • Rust
    • Python/pip
    • nvm
    • nvs
    • Ruby
    • krew
    • Oracle Instant Client
    • ...
  • Debian distro upgrade
  • CentOS Stream distro upgrade
  • Custom environment variables in ~/.dotfiles.env.local
    • Auto setting proxy if exists, use 127.0.0.1:7890 by default
      GLOBAL_PROXY_IP="127.0.0.1"
      GLOBAL_PROXY_SOCKS_PROTOCOL="socks5"
      GLOBAL_PROXY_SOCKS_PORT="7890"
      GLOBAL_PROXY_MIXED_PORT="7890"
      NO_PROXY_LIST=(
          "127.0.0.1"
          "::1"
          "localhost"
          ".corp"
          ".internal"
          ".local"
          ".localdomain"
      )
      
    • git clone options
      GIT_CLONE_DEFAULT_OPTION="-c core.autocrlf=false -c core.filemode=false"
      
    • installer options
      INSTALLER_CHECK_CURL_OPTION="-fsL --connect-timeout 5"
      INSTALLER_DOWNLOAD_CURL_OPTION="-fSL --connect-timeout 5"
      INSTALLER_DOWNLOAD_AXEL_OPTION="--num-connections=5 --timeout=30 --alternate"
      
    • Github clone & download mirror
      GITHUB_HUB_URL="https://github.com"
      GITHUB_DOWNLOAD_URL="https://github.com"
      GITHUB_RAW_URL="https://raw.githubusercontent.com"
      GITHUB_API_TOKEN=""
      
    • mirrors
      USE_MIRROR_WHEN_BLOCKED="true"
      
      # Debian
      MIRROR_PACKAGE_MANAGER_APT="mirrors.sustech.edu.cn"
      
      # Archlinux
      MIRROR_ARCHLINUX_CN="https://mirrors.sustech.edu.cn"
      
      # CentOS Stream
      MIRROR_CENTOS_STREAM="https://mirrors.aliyun.com/centos-stream"
      
      # Rockylinux
      MIRROR_ROCKYLINUX="https://mirrors.aliyun.com/rockylinux"
      MIRROR_EPEL_RELEASE="https://mirrors.aliyun.com"
      
      # homebrew
      HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
      HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
      HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"
      HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api"
      
      # flatpak
      MIRROR_FLATPAK_URL="https://mirrors.ustc.edu.cn/flathub"
      
      # go
      GOUP_GO_HOST="golang.google.cn"
      MIRROR_GO_PROXY="https://goproxy.cn,direct"
      # MIRROR_GO_PROXY="https://goproxy.io,direct"
      # MIRROR_GO_PROXY="https://mirrors.aliyun.com/
      
View on GitHub
GitHub Stars6
CategoryDevelopment
Updated10h ago
Forks1

Languages

Shell

Security Score

85/100

Audited on Mar 29, 2026

No findings