Light Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

andmitr/ArchLinux-utility-belt

Repository files navigation

ArchLinux Utility Belt

A comprehensive collection of configurations, utilities, and automation scripts for Arch Linux power users. This repository provides a curated set of tools and settings to transform a fresh Arch installation into a highly optimized development environment.

v2.0.0 - 2026-02-25 Released - Breaking Changes

This release includes significant breaking changes: removed configurations, renamed aliases, and deleted functions. See the release notes for full details.

Table of Contents

  • Disclaimer
  • Features
  • Prerequisites
  • Repository Structure
  • Usage
  • Documentation
  • Sponsorship
  • License

Disclaimer

  • Use at your own risk. These configurations are highly personalized for specific hardware and software choices.
  • Hardware Specificity: Configurations are optimized for systems with Nvidia GPU, linux-zen kernel, and Btrfs filesystem. Optional Intel GPU support is available via configs/20-intel.conf.
  • Backup First: Always back up existing configurations before replacing them.
  • Review Before Use: Carefully inspect files before applying them to your system. Each configuration file includes header comments indicating its target location.

Features

System Optimization

  • Kernel Performance: Custom parameters for linux-zen kernel with Btrfs-specific optimizations
  • GPU Support: Nvidia driver configurations and legacy driver packages for older GPUs
  • Build System: Optimized makepkg configuration for faster AUR builds
  • Performance-tuned configurations: for linux-zen kernel, Nvidia GPU, and Btrfs filesystem
  • Production-ready templates: Docker, systemd, git, and more

Development Productivity

  • Custom ZSH functions for Development Automation
  • Media Processing: Batch convert and optimize images and media files
  • Template Generation: Instantly scaffold Docker, systemd, and project files
  • AI Integration: Interactive AI chat via OpenRouter API

Modular Architecture

  • Modular design: use only what you need
  • Selective Installation: Each component can be used independently
  • Clear Documentation: Every module includes its own detailed README
  • Flexible Configuration: Adapt configurations to your specific needs

Prerequisites

  • Arch Linux (or Arch-based distribution)
  • ZSH shell with Oh-My-ZSH framework
  • Git 2.0+

Additional dependencies may be required for specific modules. Please refer to individual README files in each directory for detailed requirements.

Repository Structure

ArchLinux-utility-belt/
+-- configs/ # System and application configurations
| +-- 20-intel.conf # Xorg Intel GPU configuration
| +-- 99-custom.conf # Kernel parameters optimization
| +-- .gitconfig # Git configuration (GPG, SSH, commit template)
| +-- .makepkg.conf # Build system configuration
| +-- grub # GRUB bootloader configuration
| +-- mkinitcpio.conf # Initramfs generation (Nvidia/Btrfs)
| +-- .xinitrc # X session startup (XFCE4)
| +-- .zshrc # Main ZSH configuration
| +-- .zshrc_default # Default Oh-My-ZSH config
+-- custompkgs/ # Local package archive
| +-- nvidia-dkms-580.95.05-1-x86_64.pkg.tar.zst
| +-- nvidia-utils-580.95.05-1-x86_64.pkg.tar.zst
+-- fonts/ # Curated programming fonts
| +-- [various font files] # FiraCode, JetBrains Mono NF, MartianMono, OpenSans, SF Pro
+-- .zfunc/ # Custom ZSH functions library
| +-- fn_ask_ai # Interactive AI chat via OpenRouter API
| +-- fn_convert_media # Media format conversion
| +-- fn_convert_media_batch # Bulk media conversion
| +-- fn_git_clone_template # Clone without git history
| +-- fn_init_repo # Initialize git repository with basic files
| +-- fn_optimize_images # Batch image optimization
| +-- fn_new_Dockerfile # Generate Dockerfile template
| +-- fn_new_docker_compose # Generate docker-compose.yaml
| +-- fn_new_dockerignore # Generate .dockerignore
| +-- fn_new_gitignore # Generate .gitignore from template
| +-- fn_new_desktop_file # Create desktop entry
| +-- fn_new_timer # Generate systemd timer
| +-- fn_new_system_service # Generate system service
| +-- fn_new_user_service # Generate user service
+-- templates/ # Production-ready file templates
| +-- .dockerignore # Docker ignore patterns
| +-- .editorconfig # Code formatting configuration
| +-- .gitignore # Comprehensive ignore patterns
| +-- desktop-file.desktop # Application launcher template
| +-- docker-compose.yaml # Multi-container setup
| +-- Dockerfile # Node.js Alpine template
| +-- example-system.service # System service template
| +-- example-user.service # User service template
| +-- example-timer.timer # Systemd timer template
| +-- git-commit-template.txt # Conventional commit template
| +-- Makefile_go # Go project Makefile template
+-- CHANGELOG.md # Version history
+-- LICENSE # MIT License
+-- README.md # Project documentation

Usage

Getting Started

Clone the repository:

git clone https://github.com/andmitr/ArchLinux-utility-belt.git
cd ArchLinux-utility-belt

Applying Configurations

You have two options for using the configurations:

  1. Copy files to their target locations (recommended for system files)
  2. Create symbolic links for configurations that support it

Example: Setting up ZSH configuration

# Create a backup of your existing configuration
cp ~/.zshrc ~/.zshrc.backup

# Option 1: Copy the file
cp configs/.zshrc ~/

# Option 2: Create a symbolic link
ln -s $(pwd)/configs/.zshrc ~/.zshrc

# Reload the configuration
source ~/.zshrc
# or
exec zsh

Important Notes

  • Git commit templates (git-commit-template.txt) must be referenced by their full path in git configuration rather than using symbolic links:
    git config --global commit.template /path/to/ArchLinux-utility-belt/templates/git-commit-template.txt
  • Each configuration file contains a header comment specifying its target location in the system
  • Some configurations may require additional setup steps - refer to module-specific documentation

Documentation

Each module in this repository has its own comprehensive README with:

  • Detailed installation instructions
  • Configuration options
  • Usage examples
  • Troubleshooting guides

Module documentation:

Sponsorship

1CCnwAvJYEoDVGM7vsBg2Q99cF9EHtBVaY

0x54f0ccc6b2987de454f69f2814fc9202bcfb74fe

License

MIT Licensed. See LICENSE for details.

About

A comprehensive collection of configurations, utilities, and automation scripts for Arch Linux power users. This repository provides a curated set of tools and settings to transform a fresh Arch installation into a highly optimized development environment.

Topics

Resources

Readme

License

MIT license

Stars

Watchers

Forks

Sponsor this project

Contributors