A beautiful Terminal User Interface (TUI) installer for your dotfiles, built with Bubble Tea.
- 🎨 Beautiful TUI - Interactive and intuitive interface
- 🎯 Selective Installation - Choose exactly what you want to install
- 📦 Categorized Components - Organized into logical groups
- 🔍 Real-time Progress - See what's happening during installation
⚠️ Error Handling - Clear feedback on any issues- 📝 Detailed Logging - All output saved to
~/install.log
- NVIDIA Drivers (proprietary with CUDA support)
- AMD Drivers (open-source)
- Intel Drivers (integrated graphics)
- VirtualBox Guest Graphics (for VirtualBox VMs)
- Visual Studio Code
- Neovim (modern Vim-based text editor)
- Git (version control system)
- Docker with docker-compose
- Node.js and npm
- MongoDB
- Zen Browser (Firefox-based, privacy-focused)
- Firefox
- Chromium
- Discord (Vesktop - better Wayland support)
- Telegram Desktop
- Signal Desktop
- Spotify (Spotube - open-source client)
- VLC Media Player
- GIMP
- Pinta (simple image editor)
- Steam (with GPU-specific 32-bit libraries)
- QEMU/KVM - Complete virtualization stack with virt-manager GUI
- Wine - Windows application compatibility layer
- Terminal Emulator (Kitty) - GPU-accelerated terminal
- System Monitor (btop) - Modern resource monitor
- bat - Better version of cat with syntax highlighting
- Fastfetch - System information display
- tldr - Simplified man pages
- onefetch - Git repository information
- Nautilus - GNOME file manager with extensions
- Superfile - Modern terminal-based file manager
- Calculator - GNOME calculator
- Software Center (Discover) - KDE application manager
- Bluetooth Manager (Blueman) - Graphical Bluetooth management
- cmatrix - Terminal Matrix effect screensaver
- cbonsai - ASCII art bonsai tree generator
- pipes-rs - Terminal screensaver with animated pipes
- astroterm - Terminal-based astronomy application
- Wallpapers - Setup wallpapers and background themes
- Theming Support - Icons, themes, and appearance tools
- Core Packages (essential system packages) [Required]
- AUR Helper (paru) and AUR packages [Required]
- Hyprland Window Manager (Wayland compositor)
- Desktop Portals (XDG desktop integration)
- SDDM Login Manager (display manager with themes)
- Security Tools (keyring and credential management)
- Terminal Tools (shell utilities like zsh, eza, fzf, etc.)
- Network Tools (network utilities and connection management)
- File Manager Tools (system file management utilities)
- Multimedia Base (audio/video control and image processing)
- Bluetooth Support (core Bluetooth utilities)
- Software Management (Flatpak support)
- Fonts (essential and programming fonts)
- Zsh Shell with plugins
- Dotfiles (configuration files) [Required]
-
Clone and navigate to your dotfiles directory:
cd /path/to/your/dotfiles -
Build the installer:
./build.sh
-
Run the installer:
./dotfiles-installer
If you prefer to build manually:
# Ensure Go is installed
go version
# Download dependencies
go mod tidy
# Build the application
go build -o dotfiles-installer main.go
# Run the installer
./dotfiles-installer- Arrow Keys or hjkl: Navigate through options
- ←→: Switch between category tabs
- ↑↓: Navigate through packages in current category
- Space: Toggle selection (for optional components)
- Enter: Start installation
- q: Quit
The installer now features a horizontal tab interface:
- Category tabs are displayed horizontally at the top
- Package list is shown vertically for the selected category
- Only one category is visible at a time for cleaner interface
- [●] - Required component (cannot be deselected)
- [✓] - Selected optional component
- [ ] - Unselected optional component
- ▶ - Current selection
- Go 1.21+ for building the installer
- Arch Linux or Arch-based distribution
- Internet connection for downloading packages
- sudo privileges for system package installation
The installer respects your selections and only installs what you choose. Required components ensure your system has essential functionality:
- Core Packages: Base system dependencies, Hyprland, terminal, fonts, etc.
- AUR Helper: Installs
paruand selected AUR packages - Dotfiles: Copies your configuration files to appropriate locations
Optional components allow you to customize your installation based on your needs.
All installation output is logged to ~/install.log. If something goes wrong, check this file for detailed error information.
# Ensure Go is properly installed
go version
# Clear Go module cache if needed
go clean -modcache
go mod download- Check
~/install.logfor detailed error messages - Ensure you have internet connectivity
- Verify you have sufficient disk space
- Make sure you're running with appropriate permissions
If you get "Permission denied" errors:
# Fix all permissions at once
./fix-permissions.sh
# Or manually:
chmod +x *.sh
chmod +x dotfiles-installer- Only select one graphics driver option
- NVIDIA drivers may require a reboot to function properly
- AMD/Intel drivers use open-source implementations
Feel free to modify the installer to suit your needs:
- Add new categories: Update the
categoriesslice inmain.go - Add new applications: Create functions in
lib/apps.sh - Customize styling: Modify the lipgloss styles in
main.go
This installer is part of your dotfiles configuration and follows the same license as your dotfiles repository.