diff options
| author | bh <qn+git@epicurus.dev> | 2026-04-01 20:59:53 +0800 |
|---|---|---|
| committer | bh <qn+git@epicurus.dev> | 2026-04-01 20:59:53 +0800 |
| commit | e497345779c98353ca3481121981d7ef41bf7b73 (patch) | |
| tree | 4be69ba5515bdd5ef758d097ae3a1d083521b3ee /.install | |
| parent | 71e75e351867060d8cf00e676b70341022f0fe17 (diff) | |
Refactor scripts
Diffstat (limited to '.install')
| -rwxr-xr-x | .install/aetherfox | 41 | ||||
| -rwxr-xr-x | .install/aur | 56 | ||||
| -rwxr-xr-x | .install/editor | 32 | ||||
| -rwxr-xr-x | .install/install | 229 | ||||
| -rwxr-xr-x | .install/runall | 62 | ||||
| -rwxr-xr-x | .install/stowall | 19 |
6 files changed, 0 insertions, 439 deletions
diff --git a/.install/aetherfox b/.install/aetherfox deleted file mode 100755 index 722560c..0000000 --- a/.install/aetherfox +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -FIREFOX_DIR="${HOME}/.mozilla/firefox" -REPO_URL="https://github.com/QuixoticNapoleon/AetherFox" - -if [[ ! -d "$FIREFOX_DIR" ]]; then - echo "Firefox profile directory not found: $FIREFOX_DIR" >&2 - exit 1 -fi - -profile_dir="" - -shopt -s nullglob -profiles=( "$FIREFOX_DIR"/*.default-release ) -shopt -u nullglob - -if (( ${#profiles[@]} == 0 )); then - echo "No Firefox .default-release profile found in $FIREFOX_DIR" >&2 - exit 1 -fi - -profile_dir="${profiles[0]}" -chrome_dir="${profile_dir}/chrome" - -mkdir -p "$chrome_dir" - -if [[ -d "$chrome_dir/.git" ]]; then - echo "Git repository already exists in: $chrome_dir" - exit 0 -fi - -echo "No git repository found in: $chrome_dir" -echo "Removing existing contents..." - -find "$chrome_dir" -mindepth 1 -maxdepth 1 -exec rm -rf -- {} + - -echo "Cloning AetherFox into: $chrome_dir" -git clone "$REPO_URL" "$chrome_dir" - -echo "Done." diff --git a/.install/aur b/.install/aur deleted file mode 100755 index d7343d7..0000000 --- a/.install/aur +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -# Install paru on Arch-based systems, then clean cache. - -if [[ "$(id -u)" -eq 0 ]]; then - echo "Please run this script as a normal user, not root." - exit 1 -fi - -if [[ "${1:-}" == "--noconfirm" ]]; then - confirm_flags=(--noconfirm) -else - confirm_flags=() -fi - -if ! command -v pacman >/dev/null 2>&1; then - echo "This script requires pacman. Are you on Arch or an Arch-based distro?" - exit 1 -fi - -if command -v paru >/dev/null 2>&1; then - echo "paru is already installed." -else - echo "Installing required packages..." - sudo pacman -S --needed "${confirm_flags[@]}" base-devel git - - tmpdir="$(mktemp -d)" - trap 'rm -rf "$tmpdir"' EXIT - - echo "Cloning paru into $tmpdir..." - git clone https://aur.archlinux.org/paru.git "$tmpdir/paru" - - cd "$tmpdir/paru" - - echo "Building and installing paru..." - makepkg -si "${confirm_flags[@]}" -fi - -echo "Cleaning paru cache..." -paru -Scc "${confirm_flags[@]}" || true - -echo "Done." - -packages=( - traur - llama.cpp - ledger-live - orca-slicer - tidal-hifi-bin - dropbox - localsend - davinci-resolve -) - -paru -S --needed "${confirm_flags[@]}" "${packages[@]}" diff --git a/.install/editor b/.install/editor deleted file mode 100755 index bd9a8ab..0000000 --- a/.install/editor +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -NVIM_DIR="${HOME}/.config/nvim" -EMACS_DIR="${HOME}/.config/emacs" - -clone_repo() { - local repo_url="$1" - local target_dir="$2" - - mkdir -p "$(dirname "$target_dir")" - - if [[ -d "$target_dir" ]]; then - if [[ -d "$target_dir/.git" ]]; then - echo "Skipping $target_dir (already a git repo)." - return 0 - fi - - if [[ -n "$(ls -A "$target_dir")" ]]; then - echo "Refusing to clone into non-empty directory: $target_dir" >&2 - return 1 - fi - fi - - echo "Cloning $repo_url into $target_dir" - git clone "$repo_url" "$target_dir" -} - -clone_repo "https://github.com/QuixoticNapoleon/QuixoticNeovim" "$NVIM_DIR" -clone_repo "https://github.com/QuixoticNapoleon/NapoleonMacs" "$EMACS_DIR" - -echo "Editor configs installed." diff --git a/.install/install b/.install/install deleted file mode 100755 index 9f8879f..0000000 --- a/.install/install +++ /dev/null @@ -1,229 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -if ! command -v pacman >/dev/null 2>&1; then - echo "This script requires pacman (Arch/Arch-based distro)." >&2 - exit 1 -fi - -if [[ "${1:-}" == "--noconfirm" ]]; then - pacman_flags=(--needed --noconfirm) -else - pacman_flags=(--needed) -fi - -packages=( - # Base - base - linux-zen - linux-firmware - sof-firmware - linux-zen-headers - networkmanager - grub - pipewire - sudo - - # Disk - btrfs-progs - cryptsetup - lvm2 - efibootmgr - snapper - gdu - ddrescue - photorec - testdisk - - # Terminal - zsh - kitty - eza - - # Programming - base-devel - cmake - ninja - clang - rust - go - zig - nim - python - ghc - php - texlive - julia - nginx - nasm - - # Apps - firefox - neovim - emacs - zathura - discord - steam - thunderbird - kicad - freecad - openscad - qbittorrent - audacity - gimp - krita - inkscape - darktable - blender - flatpak - thunar - obs-studio - kdeconnect - octave - - # Tools - git - stow - opencode - sagemath - fastfetch - btop - yt-dlp - vlc - mpv - docker - ripgrep - fd - wget - bat - ffmpeg - qemu-full - fzf - zoxide - yazi - tmux - aria2 - jq - perl-rename - lftp - grim - slurp - tcc - tor - trash-cli - clamav - delta - atuin - hyperfine - direnv - imagemagick - - # Desktop - hyprland - hyprpaper - hyprlock - hyprpicker - quickshell - rofi - dunst - ly - wl-clipboard - cliphist - - # Backup Desktop - # bspwm - # sxhkd - # polybar - # feh - # xorg - - # Drivers - bluez - cups - nvidia-open-dkms - nvidia-utils - lib32-nvidia-utils - nvidia-settings - opencl-nvidia - cuda - - # Fonts - adobe-source-code-pro-fonts - adobe-source-sans-fonts - adobe-source-serif-fonts - ttf-0xproto-nerd - ttf-3270-nerd - ttf-agave-nerd - ttf-anonymouspro-nerd - ttf-arimo-nerd - ttf-bigblueterminal-nerd - ttf-bitstream-vera-mono-nerd - ttf-cascadia-code - ttf-cascadia-code-nerd - ttf-cascadia-mono-nerd - ttf-cousine-nerd - ttf-croscore - ttf-d2coding-nerd - ttf-daddytime-mono-nerd - ttf-dejavu - ttf-dejavu-nerd - ttf-droid - ttf-envycoder-nerd - ttf-fantasque-nerd - ttf-fira-code - ttf-firacode-nerd - ttf-go-nerd - ttf-gohu-nerd - ttf-hack - ttf-hack-nerd - ttf-heavydata-nerd - ttf-iawriter-nerd - ttf-ibmplex-mono-nerd - ttf-inconsolata - ttf-inconsolata-go-nerd - ttf-inconsolata-lgc-nerd - ttf-inconsolata-nerd - ttf-intone-nerd - ttf-iosevka-nerd - ttf-iosevkaterm-nerd - ttf-iosevkatermslab-nerd - ttf-jetbrains-mono-nerd - ttf-junicode - ttf-lekton-nerd - ttf-liberation - ttf-liberation-mono-nerd - ttf-lilex-nerd - ttf-martian-mono-nerd - ttf-meslo-nerd - ttf-monofur-nerd - ttf-monoid-nerd - ttf-mononoki-nerd - ttf-mplus-nerd - # ttf-nanumgothic_coding - ttf-nerd-fonts-symbols - ttf-nerd-fonts-symbols-mono - ttf-noto-nerd - ttf-profont-nerd - ttf-proggyclean-nerd - ttf-recursive-nerd - ttf-roboto-mono-nerd - ttf-sharetech-mono-nerd - ttf-sourcecodepro-nerd - ttf-space-mono-nerd - ttf-terminus-nerd - ttf-tinos-nerd - ttf-ubuntu-font-family - ttf-ubuntu-mono-nerd - ttf-ubuntu-nerd - ttf-victor-mono-nerd - ttf-zed-mono-nerd - - # Music - reaper - timidity++ - mpd - mpc - rmpc -) - -sudo pacman -S "${pacman_flags[@]}" "${packages[@]}" diff --git a/.install/runall b/.install/runall deleted file mode 100755 index bbfe883..0000000 --- a/.install/runall +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" -DOTFILES_DIR="$(cd -- "$SCRIPT_DIR/.." && pwd)" - -noninteractive=0 -install_ohmyzsh=0 -install_vencord=0 - -while [[ $# -gt 0 ]]; do - case "$1" in - --noconfirm) - noninteractive=1 - shift - ;; - --with-ohmyzsh) - install_ohmyzsh=1 - shift - ;; - --with-vencord) - install_vencord=1 - shift - ;; - *) - echo "Unknown argument: $1" >&2 - echo "Usage: $0 [--noconfirm] [--with-ohmyzsh] [--with-vencord]" >&2 - exit 1 - ;; - esac -done - -if [[ "$noninteractive" -eq 1 ]]; then - "$SCRIPT_DIR/install" --noconfirm - "$SCRIPT_DIR/aur" --noconfirm -else - "$SCRIPT_DIR/install" - "$SCRIPT_DIR/aur" -fi - -"$SCRIPT_DIR/aetherfox" -"$SCRIPT_DIR/editor" - -if [[ "$install_ohmyzsh" -eq 1 ]]; then - if [[ -d "$HOME/.oh-my-zsh" ]]; then - echo "oh-my-zsh already installed at $HOME/.oh-my-zsh" - else - echo "Installing oh-my-zsh via git clone..." - git clone --depth=1 https://github.com/ohmyzsh/ohmyzsh.git "$HOME/.oh-my-zsh" - fi -fi - -if [[ "$install_vencord" -eq 1 ]]; then - tmp_script="$(mktemp)" - trap 'rm -f "$tmp_script"' EXIT - - echo "Fetching Vencord installer script..." - curl -fsSL https://vencord.dev/install.sh -o "$tmp_script" - sh "$tmp_script" -fi - -"$SCRIPT_DIR/stowall" "$DOTFILES_DIR" diff --git a/.install/stowall b/.install/stowall deleted file mode 100755 index ecb899f..0000000 --- a/.install/stowall +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -DOTFILES_DIR="${1:-$HOME/Dotfiles}" - -cd "$DOTFILES_DIR" - -for pkg in *; do - [[ "$pkg" == "system" ]] && continue - [[ -d "$pkg" ]] || continue - stow -d "$DOTFILES_DIR" -t "$HOME" "$pkg" -done - -if [[ -d system ]]; then - for pkg in system/*; do - [[ -d "$pkg" ]] || continue - sudo stow -d "$DOTFILES_DIR/system" -t / "$(basename "$pkg")" - done -fi |
