On branch development Your branch is up to date with 'origin/development'. Changes to be committed: new file: BUILD_METHOD_OPTIONS.md new file: CHANGES_SUMMARY.md new file: GIT_STATUS.md new file: INSTALL_METHOD_GUIDE.md new file: QUICK_START.txt modified: install.sh
7.5 KiB
Hyprland Installation Method Guide
Overview
The install.sh script has been updated to support two installation methods with automatic cleanup of existing installations:
- Build from Source (original method - slower, ~1-2 hours)
- Install from Pre-built Packages (new method - faster, ~5-10 minutes)
Key Features
1. Package Source Configuration
Located at the top of install.sh:
DEB_PACKAGES_SOURCE="/mnt/nas/Projects/Jak/debian-pkg/build/debs"
Modify this variable to:
- Point to a local directory with .deb files
- Point to a network share (NAS/SMB/NFS)
- Leave empty (
"") to always build from source
2. Automatic Build Method Selection
When you run install.sh:
1. Script checks if DEB_PACKAGES_SOURCE exists and contains .deb files
2. If found, prompts: "Install from pre-built packages or build from source?"
- YES → Install from packages (5-10 minutes)
- NO → Build from source (1-2 hours)
3. If not found, defaults to building from source
3. Automatic Cleanup Before Package Installation
When installing from pre-built packages, the script automatically removes any existing Hyprland installations:
.deb Packages Removed
- hyprland
- hyprutils
- hyprgraphics
- hyprcursor
- hyprtoolkit
- hyprland-guiutils
- hyprwire
- aquamarine
- hypridle
- hyprlock
- hyprpolkitagent
- hyprpicker
- xdg-desktop-portal-hyprland
- hyprland-plugins
Binaries Removed
- /usr/local/bin/Hyprland
- /usr/local/bin/hyprland
- /usr/bin/Hyprland
- /usr/bin/hyprland
Development Files Removed
- /usr/local/include/hyprland*
- /usr/local/lib/libhypr*
- /usr/local/lib/libaquamarine*
- /usr/local/lib/libypr*
Cleanup Steps
- Removes all installed .deb packages using
apt-get remove - Deletes source-built binaries
- Removes development files from /usr/local
- Updates library cache with
ldconfig - Updates package cache with
apt-get update - Installs new packages from .deb files
- Fixes any dependency issues with
apt-get install -f
Usage
Basic Usage (Automatic Method Selection)
cd ~/Projects/Jak/Debian-Hyprland
./install.sh
The script will:
- Detect available packages at
DEB_PACKAGES_SOURCE - Ask which method you prefer
- Execute the selected method with proper cleanup
Using Pre-built Packages (Current Setup)
Current package location: /mnt/nas/Projects/Jak/debian-pkg/build/debs
./install.sh
# When prompted: Select YES to use pre-built packages
# Script will:
# 1. Remove any existing Hyprland installations
# 2. Install 59 .deb packages (~5-10 minutes)
# 3. Verify installations
Using Custom Package Location
Edit install.sh to change the source:
# Edit this line in install.sh:
DEB_PACKAGES_SOURCE="/path/to/your/packages"
# Then run:
./install.sh
Building from Source
Option 1: Edit script to disable packages
# In install.sh, change:
DEB_PACKAGES_SOURCE=""
# Then run:
./install.sh
Option 2: During installation
./install.sh
# When prompted: Select NO to build from source
Installation Flow
START
↓
Check DEB_PACKAGES_SOURCE exists and has .deb files
↓
├─ YES → Prompt user for build method
│ ├─ YES → Install from packages (selected method)
│ │ ├─ Clean existing installations
│ │ ├─ Remove .deb packages
│ │ ├─ Remove source binaries
│ │ ├─ Remove dev files
│ │ ├─ Update package cache
│ │ ├─ Install all .deb files
│ │ ├─ Fix dependencies
│ │ └─ Done
│ │
│ └─ NO → Build from source (selected method)
│ └─ Execute source build scripts
│
└─ NO → Build from source (default method)
└─ Execute source build scripts
Available Pre-built Packages
Location: /mnt/nas/Projects/Jak/debian-pkg/build/debs
Total: 59 .deb files
Core Packages
- hyprland 0.52.2
- hyprutils 0.10.4
- hyprgraphics 0.4.0
- aquamarine 0.10.0
- hyprtoolkit 0.4.0
Utilities & Tools
- hypridle 0.1.7
- hyprlock 0.9.2
- hyprpicker 0.4.5
- hyprpolkitagent 0.1.3
- hyprcursor 0.1.13
Extensions
- hyprland-guiutils 0.1.0
- hyprland-qt-support 0.1.0
- hyprwire 0.2.1
- xdg-desktop-portal-hyprland 1.3.11
- hyprland-plugins 0.52.0 (9 plugins)
Package Types
- Binary packages: 28
- Development (-dev): 7
- Debug symbols (-dbgsym): 24
Cleanup Function Details
Function: clean_existing_hyprland()
Purpose: Remove conflicting installations before installing from packages
Operations:
-
Package Removal
- Uses
apt-get remove -yfor clean uninstallation - Removes only installed packages (checks with
dpkg -l)
- Uses
-
Binary Removal
- Removes compiled binaries from /usr/bin and /usr/local/bin
- Safely handles missing files
-
Development File Removal
- Clears header files from /usr/local/include/
- Clears library files from /usr/local/lib/
- Updates library cache
Logging: All actions logged to Install-Logs directory
Troubleshooting
"No .deb files found" error
Solution:
# Check if directory exists:
ls -la /mnt/nas/Projects/Jak/debian-pkg/build/debs/
# Verify files are readable:
ls /mnt/nas/Projects/Jak/debian-pkg/build/debs/*.deb | wc -l
# If network share, verify mount:
mount | grep nas
Package installation fails
Solution:
# Manually fix dependencies:
sudo apt-get install -f -y
# Check package status:
dpkg -l | grep hyprland
Conflicts with source-built version
The cleanup function should handle this automatically. If issues persist:
# Manual cleanup:
sudo apt-get remove -y hyprland* hyprutils* hyprgraphics* aquamarine* hyprtoolkit*
sudo rm -rf /usr/local/include/hyprland* /usr/local/lib/libhypr*
sudo ldconfig
sudo apt-get update
Environment Variables
DEB_PACKAGES_SOURCE
- Type: Path (local or network)
- Default:
/mnt/nas/Projects/Jak/debian-pkg/build/debs - Usage: Specifies where pre-built .deb packages are located
- Can be:
- Local path:
/home/user/debs - Network share:
//nas/share/debs - Empty (to disable):
""
- Local path:
Performance Comparison
| Aspect | Source Build | Pre-built Packages |
|---|---|---|
| Time | 1-2 hours | 5-10 minutes |
| Complexity | High (compile, test) | Low (install only) |
| Disk Space | ~10-20GB | ~1-2GB |
| Build Tools | Required | Not needed |
| Customization | Full control | Fixed version |
| Network Dependency | GitHub API | Package location |
Version Information
- Script Updated: 2025-12-13
- Compatible with: Debian Trixie / SiD
- Hyprland Version: 0.52.2
- Build System: dpkg-buildpackage
- Pre-built Package Count: 59 files
Notes
- Cleanup is automatic: No manual intervention needed when switching from source to packages
- Safe removal: Only removes known Hyprland packages and binaries
- Dependency fixing: Automatic
apt-get install -fhandles missing dependencies - Logging: All operations logged to Install-Logs/ directory
- Network shares: Works with NFS, SMB, or local paths
Support
For issues:
- Check Install-Logs/ directory for detailed error messages
- Verify package location exists and is accessible
- Ensure read permissions on .deb files
- Run
apt-get updatemanually if needed - Check system resources (disk space, RAM)