From 69527e3d61af4705946f082f8f45b7d850fce11e Mon Sep 17 00:00:00 2001 From: Jason Hilder Date: Thu, 11 Jun 2026 16:32:53 +0200 Subject: [PATCH] Updates for the void... --- bootstraph.sh | 52 --------------------- config/alacritty/alacritty.toml | 1 - config/fish/config.fish | 7 ++- config/nvim/init.lua | 2 +- install.sh | 56 ++++++++++++++++------ scripts/install_docker | 30 ------------ scripts/install_kanata | 83 --------------------------------- scripts/install_odin | 16 ++----- scripts/install_raylib_deps | 19 ++------ 9 files changed, 53 insertions(+), 213 deletions(-) delete mode 100755 bootstraph.sh delete mode 100755 scripts/install_docker delete mode 100755 scripts/install_kanata diff --git a/bootstraph.sh b/bootstraph.sh deleted file mode 100755 index 29ab9cc..0000000 --- a/bootstraph.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -# --------------------------------------------------------------------------------- -# Bootstrap script for fresh Debian 13 (Trixie) install -# Run this after a minimal install (SSH server + system essentials, no desktop) -# --------------------------------------------------------------------------------- - -set -e - -echo "🔧 Installing pre-requisites..." -sudo apt install -y curl network-manager nemo pipewire pipewire-pulse wireplumber polkit-kde-agent-1 wl-clipboard - -# --------------------------------------------------------------------------------- -# Install DankMaterialShell -# --------------------------------------------------------------------------------- -echo "🎨 Installing DankMaterialShell..." -curl -fsSL https://install.danklinux.com | sh - -echo "🔊 Enabling audio and networking services..." -sudo systemctl --user enable --now pipewire pipewire-pulse wireplumber -sudo systemctl enable --now NetworkManager - -# --------------------------------------------------------------------------------- -# Fix network interfaces — keep only the loopback interface -# --------------------------------------------------------------------------------- -echo "🌐 Fixing network interfaces..." -echo " Commenting out everything except the lo loopback in /etc/network/interfaces" -sudo sed -i '/^auto\|^iface\|^allow-hotplug/{/lo/!s/^/#/}' /etc/network/interfaces - -sudo systemctl restart networking -sudo systemctl restart NetworkManager -sudo systemctl restart dms - -# --------------------------------------------------------------------------------- -# Install Helium Browser -# --------------------------------------------------------------------------------- -echo "🌍 Installing Helium Browser..." -curl -fsSL https://raw.githubusercontent.com/imputnet/helium-linux/main/pubkey.asc | sudo gpg --dearmor -o /usr/share/keyrings/helium.gpg -echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/helium.gpg] https://pkg.helium.computer/deb stable main" | sudo tee /etc/apt/sources.list.d/helium.list -sudo apt update && sudo apt install -y helium-bin - -# --------------------------------------------------------------------------------- -# Install adw-gtk3 (GTK app theming for DMS) -# --------------------------------------------------------------------------------- -echo "🎨 Installing adw-gtk3..." -curl -s https://julianfairfax.codeberg.page/package-repo/pub.gpg | gpg --dearmor | sudo dd of=/usr/share/keyrings/julians-package-repo.gpg -echo 'deb [ signed-by=/usr/share/keyrings/julians-package-repo.gpg ] https://julianfairfax.codeberg.page/package-repo/debs packages main' | sudo tee /etc/apt/sources.list.d/julians-package-repo.list -sudo apt update && sudo apt install -y adw-gtk3 - -# --------------------------------------------------------------------------------- -echo "" -echo "✅ Bootstrap complete." -echo "" diff --git a/config/alacritty/alacritty.toml b/config/alacritty/alacritty.toml index 6e6c6d4..a3e50ad 100644 --- a/config/alacritty/alacritty.toml +++ b/config/alacritty/alacritty.toml @@ -8,7 +8,6 @@ normal = { family = "JetBrainsMono Nerd Font", style = "Regular" } [window] padding.x = 10 padding.y = 10 -decorations = "None" [cursor] style.shape = "Beam" diff --git a/config/fish/config.fish b/config/fish/config.fish index 826a753..115ea5b 100644 --- a/config/fish/config.fish +++ b/config/fish/config.fish @@ -5,8 +5,8 @@ set -g fish_greeting # Core settings -set -gx EDITOR "/usr/local/nvim_012/bin/nvim" -set -gx VISUAL "/usr/local/nvim_012/bin/nvim" +set -gx EDITOR "nvim" +set -gx VISUAL "nvim" set -gx MANPAGER "nvim +Man!" set -gx BROWSER firefox # set -gx TERM xterm-256color @@ -76,7 +76,6 @@ alias free='free -h' alias bat='batcat --theme="gruvbox-dark" --paging=never ' # Application shortcuts -alias nvim='/usr/local/nvim_012/bin/nvim' alias vim='nvim' alias vi='nvim' alias v='nvim' @@ -117,7 +116,7 @@ function pp set project (echo $project | cut -f2) - cd $project && /usr/local/nvim_012/bin/nvim $project + cd $project && nvim $project end # ============================================================================== diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 24532dc..8c808d0 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -42,7 +42,7 @@ map("v", "", "" , ">gv") map("n", "", ":find ") map("n", "", ":Lex") -map("n", "", ":bd") +map("n", "", ":bd") map("i", "", vim.lsp.buf.signature_help) -- ----------------------------- diff --git a/install.sh b/install.sh index ecfe232..cface76 100755 --- a/install.sh +++ b/install.sh @@ -113,13 +113,47 @@ if [ "$DO_INSTALL" = true ]; then fi if [ "$DO_INSTALL" = true ]; then + + # ----------------------------------------------------------------------------- + ## ADD NONFREE REPOS + # ----------------------------------------------------------------------------- + echo "📦 Checking nonfree repositories..." + + REPO_PACKAGES=(void-repo-nonfree) + + # Only add multilib-nonfree on x86_64 + if [ "$(uname -m)" = "x86_64" ]; then + REPO_PACKAGES+=(void-repo-multilib-nonfree) + fi + + MISSING_REPOS=() + for repo in "${REPO_PACKAGES[@]}"; do + if ! xbps-query -p pkgver "$repo" >/dev/null 2>&1; then + MISSING_REPOS+=("$repo") + fi + done + + if [ ${#MISSING_REPOS[@]} -eq 0 ]; then + echo "✅ Nonfree repositories already enabled." + else + echo "📦 Enabling repositories: ${MISSING_REPOS[*]}" + sudo xbps-install -Sy "${MISSING_REPOS[@]}" + fi + + echo "" + + # ----------------------------------------------------------------------------- + ## INSTALL REQUIRED PACKAGES + # ----------------------------------------------------------------------------- REQUIRED_PACKAGES=( # system essentials wget curl git unzip lf jq alacritty fzf - fd-find direnv ripgrep bat syncthing - build-essential make bear valgrind tree - ca-certificates gnupg libfuse2 rsync fish - fonts-symbola fonts-noto fonts-noto-color-emoji + fd ripgrep bat direnv base-devel make valgrind tree + ca-certificates gnupg fuse rsync fish-shell + noto-fonts-ttf noto-fonts-emoji + # void specific + xdotool wmctrl kanata tree-sitter-cli gitu + # lazydocker ) MISSING_PACKAGES=() @@ -127,11 +161,9 @@ if [ "$DO_INSTALL" = true ]; then echo "🔍 Checking for missing packages..." echo "" - # Check which packages are missing using dpkg + # Check which packages are missing using xbps-query for pkg in "${REQUIRED_PACKAGES[@]}"; do - # dpkg-query checks for the installed status. - # We check for a non-zero exit status which indicates the package is NOT installed. - if ! dpkg-query -W -f='${Status}' "$pkg" 2>/dev/null | grep -q "install ok installed"; then + if ! xbps-query -p pkgver "$pkg" >/dev/null 2>&1; then MISSING_PACKAGES+=("$pkg") fi done @@ -139,13 +171,11 @@ if [ "$DO_INSTALL" = true ]; then if [ ${#MISSING_PACKAGES[@]} -eq 0 ]; then echo "✅ All required packages are already installed." else - echo "📦 Updating package lists..." - # Update package lists before installing - sudo apt update + echo "📦 Syncing repository indexes..." + sudo xbps-install -S echo "📦 Installing missing packages: ${MISSING_PACKAGES[*]}" - # Use sudo apt install for installing on Debian - sudo apt install "${MISSING_PACKAGES[@]}" + sudo xbps-install -y "${MISSING_PACKAGES[@]}" fi echo "" diff --git a/scripts/install_docker b/scripts/install_docker deleted file mode 100755 index 5d075f0..0000000 --- a/scripts/install_docker +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -# --------------------------------------------------------------------------------- -# Docker install recipe -# --------------------------------------------------------------------------------- - -set -e - -echo "Removing old Docker packages if present..." -sudo apt-get remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true - -echo "Adding Docker signing key..." -sudo install -m 0755 -d /etc/apt/keyrings -sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc -sudo chmod a+r /etc/apt/keyrings/docker.asc - -echo "Adding Docker repository..." -bash -c 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null' - -echo "Installing Docker..." -sudo apt-get update -sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin - -echo "Adding current user to docker group..." -sudo groupadd docker 2>/dev/null || true -sudo usermod -aG docker $USER - -echo "" -echo "✓ Docker install complete." -echo "Log out and back in for group changes to take effect." diff --git a/scripts/install_kanata b/scripts/install_kanata deleted file mode 100755 index b36ced9..0000000 --- a/scripts/install_kanata +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash - -# --------------------------------------------------------------------------------- -# Kanata install recipe -# Downloads the latest Linux binary from GitHub, installs to ~/.local/bin, -# and sets up a systemd user service. -# --------------------------------------------------------------------------------- - -set -e - -INSTALL_DIR="$HOME/.local/bin" -CONFIG_DIR="$HOME/.config/kanata" -SERVICE_PATH="/lib/systemd/system/kanata.service" -BINARY_NAME="kanata" - -# --------------------------------------------------------------------------------- -# Fetch latest release version from GitHub API -# --------------------------------------------------------------------------------- -echo "🔍 Fetching latest Kanata release..." -LATEST_VERSION=$(curl -fsSL "https://api.github.com/repos/jtroo/kanata/releases/latest" | grep '"tag_name"' | head -1 | grep -o 'v[0-9.]*') - -if [ -z "$LATEST_VERSION" ]; then - echo "❌ Failed to fetch latest Kanata version." - exit 1 -fi - -echo "✅ Latest Kanata version: $LATEST_VERSION" - -# --------------------------------------------------------------------------------- -# Download binary -# --------------------------------------------------------------------------------- -DOWNLOAD_URL="https://github.com/jtroo/kanata/releases/download/${LATEST_VERSION}/kanata_linux_x64" - -echo "📦 Downloading kanata_linux_x64..." -mkdir -p "$INSTALL_DIR" -curl -fsSL "$DOWNLOAD_URL" -o "$INSTALL_DIR/$BINARY_NAME" -chmod +x "$INSTALL_DIR/$BINARY_NAME" - -echo "✅ Installed: $INSTALL_DIR/$BINARY_NAME" - -# --------------------------------------------------------------------------------- -# Verify a config file exists -# --------------------------------------------------------------------------------- -if [ ! -f "$CONFIG_DIR/kanata.kbd" ]; then - echo "⚠️ No config found at $CONFIG_DIR/kanata.kbd" - echo " Make sure your dotfiles are synced before enabling the service." -fi - -# --------------------------------------------------------------------------------- -# Write systemd service file -# --------------------------------------------------------------------------------- -echo "⚙️ Writing systemd service to $SERVICE_PATH..." - -sudo tee "$SERVICE_PATH" > /dev/null <> "$HOME/.bashrc" -fi +LLVM_CONFIG=$(command -v llvm-config) make release-native echo "" echo "✓ Odin install complete." -echo " Compiler: $ODIN_DIR/odin" -echo "" -echo " Run: source ~/.bashrc (or open a new terminal)" echo " Then verify with: odin version" diff --git a/scripts/install_raylib_deps b/scripts/install_raylib_deps index 4c68b2a..a78854a 100755 --- a/scripts/install_raylib_deps +++ b/scripts/install_raylib_deps @@ -1,26 +1,13 @@ #!/bin/bash # --------------------------------------------------------------------------------- # Raylib-go dependency install recipe -# Target: Debian 13 Trixie -# Installs system libs needed for github.com/gen2brain/raylib-go +# Target: Void Linux +# Installs system libs needed for raylib to run # --------------------------------------------------------------------------------- set -e echo "Installing raylib-go system dependencies..." -sudo apt-get update -sudo apt-get install -y \ - build-essential \ - pkg-config \ - libasound2-dev \ - libx11-dev \ - libxrandr-dev \ - libxi-dev \ - libxcursor-dev \ - libxinerama-dev \ - libgl1-mesa-dev \ - libglu1-mesa-dev \ - libwayland-dev \ - libxkbcommon-dev +sudo xbps-install make alsa-lib-devel libglvnd-devel libX11-devel libXrandr-devel libXi-devel libXcursor-devel libXinerama-devel mesa MesaLib-devel echo "" echo "✓ Raylib-go dependencies installed."