9.4 KiB
OmniXY Installation Guide
This guide covers all methods of installing OmniXY on your NixOS system, from automated installation to manual configuration.
Prerequisites
System Requirements
- Operating System: NixOS 24.05 or newer
- RAM: 8GB minimum (16GB+ recommended for development)
- Storage: 40GB free space (for Nix store and applications)
- Boot: UEFI system (for systemd-boot configuration)
- Network: Stable internet connection for package downloads
Pre-Installation Checklist
# Verify NixOS installation
cat /etc/NIXOS
# Check available space
df -h /
# Verify internet connectivity
ping -c 3 github.com
# Check user permissions
groups $USER | grep -q wheel && echo "User has sudo access"
Installation Methods
Method 1: Bootstrap Installation (Recommended)
The fastest way to install OmniXY on a fresh NixOS system:
# Download and run bootstrap installer
curl -fsSL https://raw.githubusercontent.com/thearctesian/omnixy/main/boot.sh | bash
What this does:
- Verifies NixOS installation
- Downloads OmniXY repository
- Runs the interactive installer
- Guides you through configuration
Advantages:
- Single command installation
- Always uses latest version
- No local repository needed
- Automatic dependency handling
Method 2: Interactive Installation
For users who want control over the installation process:
# Clone the repository
git clone https://github.com/thearctesian/omnixy
cd omnixy
# Run interactive installer
./install.sh
Features:
- Beautiful terminal interface with Tokyo Night colors
- Step-by-step guidance
- Theme selection with previews
- Optional features configuration
- Progress indication
- Automatic backup creation
Installation Steps:
- System Verification: Checks NixOS and permissions
- Configuration Backup: Saves existing
/etc/nixos - File Installation: Copies OmniXY configuration
- User Setup: Configure username and home directory
- Theme Selection: Choose from 11 available themes
- Feature Configuration: Enable optional features
- System Build: Build and switch to new configuration
Method 3: Simple Installation (Unix Philosophy)
For automation and scripting:
# Clone repository
git clone https://github.com/thearctesian/omnixy
cd omnixy
# Run simple installer with options
./install-simple.sh --user alice --theme gruvbox --quiet
Command Options:
--user USERNAME: Set username (default: prompt)--theme THEME: Select theme (default: tokyo-night)--quiet,-q: Minimal output--dry-run,-n: Test without applying changes--help,-h: Show help
Environment Variables:
OMNIXY_USER: Default usernameOMNIXY_THEME: Default themeOMNIXY_QUIET=1: Enable quiet mode
Examples:
# Fully automated installation
OMNIXY_USER=developer OMNIXY_THEME=tokyo-night ./install-simple.sh --quiet
# Test installation without applying
./install-simple.sh --user testuser --dry-run
# Interactive theme selection
./install-simple.sh --user alice
Method 4: Manual Flake Installation
For advanced users who want direct control:
# Direct flake installation (replaces entire system)
sudo nixos-rebuild switch --flake github:thearctesian/omnixy#omnixy
# Or with local repository
git clone https://github.com/thearctesian/omnixy
cd omnixy
sudo nixos-rebuild switch --flake .#omnixy
Important Notes:
- Requires manual user configuration editing
- No automatic backup
- Assumes advanced Nix knowledge
- May overwrite existing configuration
Step-by-Step Installation Process
1. Pre-Installation Setup
# Update NixOS channel (optional)
sudo nix-channel --update
# Ensure git is available
nix-shell -p git --run "git --version"
# Create backup directory (optional)
mkdir -p ~/nixos-backups
2. Repository Setup
# Clone to home directory
cd ~
git clone https://github.com/thearctesian/omnixy
cd omnixy
# Verify repository integrity
ls -la # Should see flake.nix, configuration.nix, etc.
nix flake check # Verify flake is valid
3. Configuration Customization (Optional)
Before installation, you can customize:
# Edit user configuration
vim home.nix # Modify user packages and settings
# Modify system packages
vim modules/packages.nix # Add/remove system packages
# Hardware-specific changes
vim hardware-configuration.nix # Update for your hardware
4. Installation Execution
Choose your preferred installer and run it:
# Interactive (recommended for first-time users)
./install.sh
# Simple (for automation)
./install-simple.sh --user $USER --theme tokyo-night
# Manual (for experts)
sudo nixos-rebuild switch --flake .#omnixy
5. Post-Installation Configuration
After installation completes:
# Verify installation
omnixy info
# Check available commands
omnixy help
# Test theme switching
omnixy theme list
omnixy theme set nord
# Verify system health
systemctl status
journalctl -b | grep -i error
Customization During Installation
Theme Selection
Available themes during installation:
- tokyo-night (default) - Dark with vibrant blues
- catppuccin - Warm, soothing pastels
- gruvbox - Retro earth tones
- nord - Cool Arctic colors
- everforest - Natural greens
- rose-pine - Elegant pinks
- kanagawa - Japanese-inspired
- catppuccin-latte - Light variant
- matte-black - Minimal black/white
- osaka-jade - Jade greens
- ristretto - Coffee browns
Feature Configuration
Optional features you can enable:
Security Features:
- Fingerprint authentication
- FIDO2 security keys
- Two-factor authentication
Development Features:
- Docker/Podman support
- Development databases
- Additional programming languages
Gaming Features:
- Steam integration
- Wine compatibility
- Gaming optimizations
Multimedia Features:
- Video editing tools
- Audio production software
- Graphics applications
Hardware Configuration
The installer automatically detects and configures:
- GPU drivers (Intel, AMD, NVIDIA)
- Audio hardware (PipeWire setup)
- Network interfaces
- Bluetooth devices
- Input devices (touchpad, etc.)
Troubleshooting Installation
Common Issues
"Not running on NixOS" Error:
# Verify NixOS installation
ls /etc/NIXOS
nixos-version
Permission Denied Errors:
# Ensure user is in wheel group
groups $USER | grep wheel
# Add user to wheel group if needed
sudo usermod -aG wheel $USER
Network/Download Issues:
# Test internet connectivity
curl -I https://github.com
ping -c 3 cache.nixos.org
# Check DNS resolution
nslookup github.com
Insufficient Space:
# Check available space
df -h /
du -sh /nix/store
# Clean up if needed
nix-collect-garbage -d
Build Failures
Flake Evaluation Errors:
# Check flake syntax
nix flake check --show-trace
# Debug with verbose output
nixos-rebuild build --flake .#omnixy --show-trace
Package Build Failures:
# Check for specific package errors
journalctl -u nix-daemon | grep -i error
# Try building individual packages
nix build .#omnixy-scripts
Out of Memory During Build:
# Check memory usage
free -h
htop
# Enable swap if needed
sudo swapon -a
# Build with fewer jobs
nixos-rebuild build --flake .#omnixy --max-jobs 1
Recovery Options
Rollback to Previous Configuration:
# List available generations
sudo nix-env --list-generations --profile /nix/var/nix/profiles/system
# Rollback to previous generation
sudo nixos-rebuild switch --rollback
Restore from Backup:
# If backup was created during installation
sudo cp -r /etc/nixos.backup.TIMESTAMP/* /etc/nixos/
sudo nixos-rebuild switch
Boot from Rescue Environment: If the system fails to boot:
- Boot from NixOS live USB
- Mount the system
- Restore backup or rollback
- Rebuild system
Verification and Testing
Post-Installation Checks
# System information
omnixy info
# Theme verification
omnixy theme get
# Package verification
which alacritty hyprland waybar
# Service status
systemctl --user status hyprland
systemctl status NetworkManager
Functional Testing
# Test theme switching
omnixy theme set gruvbox
omnixy theme set tokyo-night
# Test utilities
omnixy-screenshot --help
omnixy search firefox
# Test development environments
nix develop .#rust --command rustc --version
nix develop .#python --command python --version
Performance Verification
# Check boot time
systemd-analyze
# Check memory usage
free -h
ps aux --sort=-%mem | head
# Check disk usage
df -h
du -sh /nix/store
Next Steps After Installation
Essential Configuration
- Set up Git: Configure name and email
- Configure Shell: Customize zsh/bash settings
- Install Additional Software: Add personal packages
- Set up Development: Configure programming environments
System Maintenance
# Regular updates
omnixy update
# Regular cleanup
omnixy clean
# Monitor system health
omnixy info
Customization
- Explore Themes: Try different color schemes
- Customize Keybindings: Modify Hyprland shortcuts
- Add Packages: Edit configuration files
- Create Backups: Regular system backups
This installation guide provides multiple paths to get OmniXY running on your system, accommodating different user preferences and technical backgrounds.