Updates for the void...

This commit is contained in:
2026-06-11 16:32:53 +02:00
parent 24db65b6ed
commit 69527e3d61
9 changed files with 53 additions and 213 deletions
-52
View File
@@ -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 ""
-1
View File
@@ -8,7 +8,6 @@ normal = { family = "JetBrainsMono Nerd Font", style = "Regular" }
[window] [window]
padding.x = 10 padding.x = 10
padding.y = 10 padding.y = 10
decorations = "None"
[cursor] [cursor]
style.shape = "Beam" style.shape = "Beam"
+3 -4
View File
@@ -5,8 +5,8 @@
set -g fish_greeting set -g fish_greeting
# Core settings # Core settings
set -gx EDITOR "/usr/local/nvim_012/bin/nvim" set -gx EDITOR "nvim"
set -gx VISUAL "/usr/local/nvim_012/bin/nvim" set -gx VISUAL "nvim"
set -gx MANPAGER "nvim +Man!" set -gx MANPAGER "nvim +Man!"
set -gx BROWSER firefox set -gx BROWSER firefox
# set -gx TERM xterm-256color # set -gx TERM xterm-256color
@@ -76,7 +76,6 @@ alias free='free -h'
alias bat='batcat --theme="gruvbox-dark" --paging=never ' alias bat='batcat --theme="gruvbox-dark" --paging=never '
# Application shortcuts # Application shortcuts
alias nvim='/usr/local/nvim_012/bin/nvim'
alias vim='nvim' alias vim='nvim'
alias vi='nvim' alias vi='nvim'
alias v='nvim' alias v='nvim'
@@ -117,7 +116,7 @@ function pp
set project (echo $project | cut -f2) set project (echo $project | cut -f2)
cd $project && /usr/local/nvim_012/bin/nvim $project cd $project && nvim $project
end end
# ============================================================================== # ==============================================================================
+1 -1
View File
@@ -42,7 +42,7 @@ map("v", "<S-Tab>", "<gv")
map("v", "<Tab>" , ">gv") map("v", "<Tab>" , ">gv")
map("n", "<C-p>", ":find ") map("n", "<C-p>", ":find ")
map("n", "<C-e>", ":Lex<CR>") map("n", "<C-e>", ":Lex<CR>")
map("n", "<C-x>", ":bd<CR>") map("n", "<C-backspace>", ":bd<CR>")
map("i", "<C-h>", vim.lsp.buf.signature_help) map("i", "<C-h>", vim.lsp.buf.signature_help)
-- ----------------------------- -- -----------------------------
+43 -13
View File
@@ -113,13 +113,47 @@ if [ "$DO_INSTALL" = true ]; then
fi fi
if [ "$DO_INSTALL" = true ]; then 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=( REQUIRED_PACKAGES=(
# system essentials # system essentials
wget curl git unzip lf jq alacritty fzf wget curl git unzip lf jq alacritty fzf
fd-find direnv ripgrep bat syncthing fd ripgrep bat direnv base-devel make valgrind tree
build-essential make bear valgrind tree ca-certificates gnupg fuse rsync fish-shell
ca-certificates gnupg libfuse2 rsync fish noto-fonts-ttf noto-fonts-emoji
fonts-symbola fonts-noto fonts-noto-color-emoji # void specific
xdotool wmctrl kanata tree-sitter-cli gitu
# lazydocker
) )
MISSING_PACKAGES=() MISSING_PACKAGES=()
@@ -127,11 +161,9 @@ if [ "$DO_INSTALL" = true ]; then
echo "🔍 Checking for missing packages..." echo "🔍 Checking for missing packages..."
echo "" echo ""
# Check which packages are missing using dpkg # Check which packages are missing using xbps-query
for pkg in "${REQUIRED_PACKAGES[@]}"; do for pkg in "${REQUIRED_PACKAGES[@]}"; do
# dpkg-query checks for the installed status. if ! xbps-query -p pkgver "$pkg" >/dev/null 2>&1; then
# 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
MISSING_PACKAGES+=("$pkg") MISSING_PACKAGES+=("$pkg")
fi fi
done done
@@ -139,13 +171,11 @@ if [ "$DO_INSTALL" = true ]; then
if [ ${#MISSING_PACKAGES[@]} -eq 0 ]; then if [ ${#MISSING_PACKAGES[@]} -eq 0 ]; then
echo "✅ All required packages are already installed." echo "✅ All required packages are already installed."
else else
echo "📦 Updating package lists..." echo "📦 Syncing repository indexes..."
# Update package lists before installing sudo xbps-install -S
sudo apt update
echo "📦 Installing missing packages: ${MISSING_PACKAGES[*]}" echo "📦 Installing missing packages: ${MISSING_PACKAGES[*]}"
# Use sudo apt install for installing on Debian sudo xbps-install -y "${MISSING_PACKAGES[@]}"
sudo apt install "${MISSING_PACKAGES[@]}"
fi fi
echo "" echo ""
-30
View File
@@ -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."
-83
View File
@@ -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 <<EOF
[Unit]
Description=Kanata keyboard remapper
Documentation=https://github.com/jtroo/kanata
[Service]
Type=simple
ExecStart=$INSTALL_DIR/$BINARY_NAME --cfg $CONFIG_DIR/kanata.kbd
Restart=never
[Install]
WantedBy=default.target
EOF
echo "✅ Service file written."
# ---------------------------------------------------------------------------------
# Enable and start the service
# ---------------------------------------------------------------------------------
echo "🚀 Enabling and starting kanata service..."
sudo systemctl daemon-reload
sudo systemctl enable kanata.service
sudo systemctl start kanata.service
echo ""
echo "✅ Kanata setup complete."
echo " Binary : $INSTALL_DIR/$BINARY_NAME"
echo " Config : $CONFIG_DIR/kanata.kbd"
echo " Service: systemctl status kanata"
+3 -13
View File
@@ -1,32 +1,22 @@
#!/bin/bash #!/bin/bash
# --------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------
# Odin compiler install recipe # Odin compiler install recipe
# Target: Debian 13 Trixie # Target: Void Linux
# Builds from source - recommended method on Linux # Builds from source - recommended method on Linux
# --------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------
set -e set -e
ODIN_DIR="$HOME/odin" ODIN_DIR="$HOME/odin"
echo "Installing Odin build dependencies..." echo "Installing Odin build dependencies..."
sudo apt-get update sudo xbps-install -Sy llvm18 llvm18-devel clang18 libstdc++-devel
sudo apt-get install -y clang llvm lld
echo "Cloning Odin repository..." echo "Cloning Odin repository..."
git clone https://github.com/odin-lang/Odin "$ODIN_DIR" git clone https://github.com/odin-lang/Odin "$ODIN_DIR"
cd "$ODIN_DIR" cd "$ODIN_DIR"
echo "Building Odin compiler..." echo "Building Odin compiler..."
./build_odin.sh release LLVM_CONFIG=$(command -v llvm-config) make release-native
echo "Adding Odin to PATH..."
if ! grep -q 'odin' "$HOME/.bashrc"; then
echo "export PATH=\$PATH:$ODIN_DIR" >> "$HOME/.bashrc"
fi
echo "" echo ""
echo "✓ Odin install complete." 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" echo " Then verify with: odin version"
+3 -16
View File
@@ -1,26 +1,13 @@
#!/bin/bash #!/bin/bash
# --------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------
# Raylib-go dependency install recipe # Raylib-go dependency install recipe
# Target: Debian 13 Trixie # Target: Void Linux
# Installs system libs needed for github.com/gen2brain/raylib-go # Installs system libs needed for raylib to run
# --------------------------------------------------------------------------------- # ---------------------------------------------------------------------------------
set -e set -e
echo "Installing raylib-go system dependencies..." echo "Installing raylib-go system dependencies..."
sudo apt-get update sudo xbps-install make alsa-lib-devel libglvnd-devel libX11-devel libXrandr-devel libXi-devel libXcursor-devel libXinerama-devel mesa MesaLib-devel
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
echo "" echo ""
echo "✓ Raylib-go dependencies installed." echo "✓ Raylib-go dependencies installed."