1
0
Fork
You've already forked void-linux-install
0
No description
  • Shell 100%
2026年06月13日 20:48:03 +02:00
install.sh Update install.sh 2026年06月13日 20:48:03 +02:00
README.md add 2026年06月03日 12:34:48 -04:00

Void Linux Installation Script

A comprehensive bash script to quickly install all your usual applications on a fresh Void Linux install.

Usage

Basic Installation (All Packages)

sudo ./install.sh

This will install all 150+ packages from your existing system.

Selective Installation

Edit the script and comment out any sections (between print_section calls) you don't need, then run:

sudo ./install.sh

What Gets Installed

The script organizes your applications into these categories:

Development

  • Build Tools: base-devel, cmake, meson, ninja
  • Version Control: git
  • Compilers: rust, cargo, clang, python3
  • Language Managers: rustup, pnpm, mise

Terminal & Shell

  • Shell: zsh with plugins (autosuggestions, syntax-highlighting, history-substring-search)
  • Multiplexer: tmux
  • Tools: atuin, fzf, bottom, eza, zoxide, yazi, tldr
  • Editors: neovim, micro, nano

Desktop & Wayland

  • Compositor: niri (wayland)
  • Window Manager: swaylock, xwayland-satellite
  • Menu: wofi, fuzzel
  • Terminal Emulator: alacritty, ghostty

File Management

  • File Manager: Thunar with plugins
  • Archive: engrampa
  • Virtual Filesystems: gvfs (all variants)
  • Clipboard: wl-clipboard, cliphist, ripdrag

Multimedia

  • Image: GIMP, Inkscape, ImageMagick, darktable, exiftool
  • Audio: mpv, mpd, pipewire, wireplumber, pulsemixer
  • Video: kdenlive
  • 3D/Design: blender, scribus

Office & Productivity

  • Office: libreoffice
  • Email: thunderbird
  • Communication: discord, element-desktop
  • Document Viewer: papers
  • Calculator: qalculate-gtk

Graphics & Fonts

  • Complete font set: Noto, Ubuntu, FiraCode, Hack, Iosevka, etc.
  • Icons: Font Awesome (v4, v5, v6)
  • Themes: adwaita-qt, numix-themes
  • Theme Tools: nwg-look, qt5ct, qt6ct

System & Hardware

  • Power: power-profiles-daemon
  • Printing: CUPS with filters and drivers (brother-brlaser)
  • Boot: efibootmgr
  • Storage: zfs
  • GPU: Mesa, Vulkan-Tools
  • Gaming: wine, winetricks, MangoHud, Steam, supertux2, supertuxkart

Virtualization

  • Container: docker, docker-compose
  • VM: qemu, virt-manager
  • Networking: dnsmasq, bridge-utils

Audio Stack (PipeWire-based)

  • pipewire, wireplumber, alsa-pipewire, pulseaudio-devel

Requirements

  • Fresh Void Linux installation
  • Root access (will be checked by script)
  • Internet connection
  • Adequate disk space (~30GB for all packages)

Notes

Before Running

  1. Choose your package set: All packages are included by default. Comment out sections you don't need.
  2. Review output: The script will show each category being installed.
  3. Time estimate: Full installation takes 30-60 minutes depending on your internet speed.

After Running

# Set zsh as default shell
chsh -s /bin/zsh
# Configure Niri compositor (if using Wayland)
mkdir -p ~/.config/niri
# Edit configuration file
# Install user-level tools (optional)
rustup toolchain install stable

Customization

To disable a category:

  1. Open install.sh in your editor
  2. Find the install_packages call for that category
  3. Comment it out with #:
# install_packages "Photography" \
# darktable \
# exiftool
  1. Save and run the script

Troubleshooting

Script fails on a package

  • The package may not be available. Check: xbps-query -S packagename
  • Some packages may require enabling nonfree repositories first
  • Comment out the failing package and re-run

Docker permission denied

After installation, add your user to docker group:

sudo usermod -aG docker $USER

Wine/Gaming setup

After installation, configure Wine:

winetricks -q dotnet48 d3dx9 vcrun2019

Generated From

This script was auto-generated from your current system's installed packages using:

xbps-query -m

To regenerate this script from a different system:

xbps-query -m > packages.txt
# Then create a new install script with those packages

Script Structure

Each install_packages function call:

  1. Prints a section header
  2. Installs packages via xbps-install -Sy
  3. Shows completion status

The script will stop on first error (set -e).

License

This is a personal setup script. Modify freely for your needs.