From fb31e2cbdcd527775ea112559269a651e18ca7ae Mon Sep 17 00:00:00 2001 From: theArctesian Date: Mon, 29 Sep 2025 22:35:37 -0700 Subject: [PATCH] Remove remaining outdated documentation files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove docs/INSTALLATION.md (references deleted installer scripts) - Remove docs/COMMANDS.md (outdated command references) - Remove docs/README.md (redundant with main README) - Remove packages/README.md (outdated package information) - Remove text logo files (icon.txt, logo.txt) - Keep docs/ARCHITECTURE.md (still relevant system overview) - Keep image assets (icon.png, logo.svg) for branding Repository is now streamlined and ready for GitHub push. πŸ€– Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- docs/COMMANDS.md | 374 ------------------------------------ docs/INSTALLATION.md | 441 ------------------------------------------- docs/README.md | 98 ---------- icon.txt | 26 --- logo.txt | 10 - packages/README.md | 251 ------------------------ 6 files changed, 1200 deletions(-) delete mode 100644 docs/COMMANDS.md delete mode 100644 docs/INSTALLATION.md delete mode 100644 docs/README.md delete mode 100644 icon.txt delete mode 100644 logo.txt delete mode 100644 packages/README.md diff --git a/docs/COMMANDS.md b/docs/COMMANDS.md deleted file mode 100644 index f2a028a..0000000 --- a/docs/COMMANDS.md +++ /dev/null @@ -1,374 +0,0 @@ -# OmniXY Command Reference - -This document provides a comprehensive reference for all OmniXY commands and utilities. - -## Main Command Interface - -### `omnixy` -The primary command interface supporting global flags and subcommands. - -**Global Flags**: -- `--quiet`, `-q`: Minimal output for scripting -- `--json`: Machine-readable JSON output where applicable - -**Subcommands**: -- `help`: Show comprehensive help -- `info`, `status`: Display system information -- `update`, `upgrade`: Update system and flake inputs -- `clean`, `gc`: Garbage collection and optimization -- `theme`: Theme management -- `search`: Package search -- `install`: Package installation guide - -## System Management Commands - -### System Information -```bash -# System overview -omnixy info - -# Quiet output (key=value pairs) -omnixy --quiet info - -# JSON output for scripting -omnixy --json info | jq .system.version -``` - -### System Updates -```bash -# Update system with progress indication -omnixy update - -# Quiet update for scripts -omnixy --quiet update - -# Manual rebuild -omnixy-rebuild -``` - -### System Maintenance -```bash -# Clean and optimize -omnixy clean - -# Show current/new store sizes -omnixy clean # Shows before/after sizes - -# Quiet cleanup -omnixy --quiet clean -``` - -## Theme Management Commands - -### Theme Operations -```bash -# List all available themes -omnixy theme list -omnixy theme ls - -# Get current theme -omnixy theme get -omnixy theme current - -# Set new theme -omnixy theme set tokyo-night -omnixy theme kanagawa -``` - -### Scriptable Theme Management -```bash -# List themes (one per line) -omnixy --quiet theme list - -# JSON theme information -omnixy --json theme list - -# Current theme for scripting -current_theme=$(omnixy --quiet theme get) - -# Automated theme cycling -themes=($(omnixy --quiet theme list)) -next_theme=${themes[$(( ($(omnixy --quiet theme list | grep -n "$(omnixy --quiet theme get)" | cut -d: -f1) % ${#themes[@]}) ))]} -omnixy theme set "$next_theme" -``` - -## Package Management Commands - -### Package Search -```bash -# Search for packages -omnixy search firefox -omnixy search development-tools - -# Direct nix search -nix search nixpkgs firefox -``` - -### Package Installation -```bash -# Installation guide (interactive) -omnixy install firefox - -# Note: Actual installation requires editing configuration files -# and rebuilding the system -``` - -## Development Commands - -### Development Shells -```bash -# Language-specific development environments -omnixy-dev-shell rust # Rust toolchain -omnixy-dev-shell python # Python environment -omnixy-dev-shell go # Go development -omnixy-dev-shell js # Node.js/JavaScript -omnixy-dev-shell node # Alternative for Node.js -omnixy-dev-shell c # C/C++ development -omnixy-dev-shell cpp # Alternative for C++ - -# Using flake development shells -nix develop # Default development shell -nix develop .#rust # Rust-specific shell -nix develop .#python # Python-specific shell -nix develop .#node # Node.js-specific shell -``` - -## Utility Commands - -### Screenshot Management -```bash -# Interactive region selection (default) -omnixy-screenshot -omnixy-screenshot region - -# Full screen capture -omnixy-screenshot full -omnixy-screenshot screen - -# Active window capture -omnixy-screenshot window -``` - -### System Help -```bash -# Comprehensive help system -omnixy help -omnixy-help - -# Command-specific help -omnixy --help -omnixy theme --help -``` - -## Unix Philosophy Tools - -Located in `scripts/` directory - focused utilities following Unix principles: - -### System Validation -```bash -# Complete system check -./scripts/omnixy-check-system - -# Check only NixOS -./scripts/omnixy-check-system --nixos-only - -# Check permissions only -./scripts/omnixy-check-system --permissions-only - -# Silent check (exit codes only) -./scripts/omnixy-check-system --quiet - -# JSON output -OMNIXY_JSON=1 ./scripts/omnixy-check-system -``` - -### Configuration Management -```bash -# Create configuration backup -backup_path=$(./scripts/omnixy-backup-config) -echo "Backup created at: $backup_path" - -# Custom backup location -./scripts/omnixy-backup-config /custom/backup/path - -# Install configuration files -./scripts/omnixy-install-files - -# Custom source/destination -./scripts/omnixy-install-files /source/path /dest/path -``` - -### User Configuration -```bash -# Interactive user setup -username=$(./scripts/omnixy-configure-user) - -# Non-interactive mode -./scripts/omnixy-configure-user alice - -# Custom config files -./scripts/omnixy-configure-user alice /etc/nixos/configuration.nix /etc/nixos/home.nix -``` - -### System Building -```bash -# Build and switch system -./scripts/omnixy-build-system - -# Dry run (test only) -./scripts/omnixy-build-system --dry-run - -# Custom configuration -./scripts/omnixy-build-system /path/to/config custom-name -``` - -## Installation Commands - -### Simple Installer -```bash -# Basic installation -./install-simple.sh - -# With options -./install-simple.sh --user alice --theme gruvbox --quiet - -# Dry run -./install-simple.sh --dry-run - -# Environment variables -OMNIXY_USER=bob OMNIXY_THEME=nord ./install-simple.sh --quiet -``` - -### Interactive Installer -```bash -# Full interactive experience -./install.sh - -# Features styled terminal interface with: -# - System verification -# - User configuration -# - Theme selection -# - Feature toggles -# - Progress indication -``` - -### Bootstrap Installation -```bash -# Remote bootstrap (run on fresh NixOS) -curl -fsSL https://raw.githubusercontent.com/thearctesian/omnixy/main/boot.sh | bash - -# Local bootstrap -./boot.sh -``` - -## Advanced Commands - -### Build System Commands -```bash -# Build without switching -nixos-rebuild build --flake .#omnixy - -# Build VM for testing -nixos-rebuild build-vm --flake .#omnixy - -# Run VM -./result/bin/run-omnixy-vm - -# Check flake evaluation -nix flake check - -# Update flake inputs -nix flake update -``` - -### Package Building -```bash -# Build OmniXY scripts package -nix build .#omnixy-scripts - -# Test built scripts -./result/bin/omnixy --help - -# Build specific packages -nix build .#package-name -``` - -### Development Commands -```bash -# Format Nix code -nixpkgs-fmt *.nix **/*.nix -alejandra *.nix # Alternative formatter - -# Nix code analysis -statix check . # Static analysis -deadnix . # Dead code detection - -# Show flake info -nix flake show -nix flake metadata -``` - -## Environment Variables - -### Global Settings -- `OMNIXY_QUIET=1`: Enable quiet mode for all commands -- `OMNIXY_JSON=1`: Enable JSON output where supported -- `OMNIXY_USER`: Default username for installation -- `OMNIXY_THEME`: Default theme for installation - -### Usage Examples -```bash -# Quiet automation -export OMNIXY_QUIET=1 -omnixy update && omnixy clean && echo "Maintenance complete" - -# JSON processing -omnixy --json info | jq -r '.system.version' - -# Environment-based installation -export OMNIXY_USER=developer -export OMNIXY_THEME=tokyo-night -./install-simple.sh --quiet -``` - -## Command Composition Examples - -### System Maintenance Script -```bash -#!/bin/bash -# Complete system maintenance - -echo "Starting system maintenance..." - -# Update system -omnixy --quiet update || { echo "Update failed"; exit 1; } - -# Clean system -omnixy --quiet clean - -# Verify system health -omnixy --quiet info | grep -q "NixOS" || { echo "System check failed"; exit 1; } - -echo "Maintenance complete" -``` - -### Theme Rotation Script -```bash -#!/bin/bash -# Rotate through available themes - -current=$(omnixy --quiet theme get) -themes=($(omnixy --quiet theme list)) - -for i in "${!themes[@]}"; do - if [[ "${themes[$i]}" == "$current" ]]; then - next_index=$(( (i + 1) % ${#themes[@]} )) - next_theme="${themes[$next_index]}" - omnixy theme set "$next_theme" - echo "Switched from $current to $next_theme" - break - fi -done -``` - -This command reference provides comprehensive coverage of all OmniXY utilities, making it easy to find and use the right tool for any task. \ No newline at end of file diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md deleted file mode 100644 index 1d0ee71..0000000 --- a/docs/INSTALLATION.md +++ /dev/null @@ -1,441 +0,0 @@ -# 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 -```bash -# 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: - -```bash -# Download and run bootstrap installer -curl -fsSL https://raw.githubusercontent.com/thearctesian/omnixy/main/boot.sh | bash -``` - -**What this does**: -1. Verifies NixOS installation -2. Downloads OmniXY repository -3. Runs the interactive installer -4. 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: - -```bash -# 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**: -1. **System Verification**: Checks NixOS and permissions -2. **Configuration Backup**: Saves existing `/etc/nixos` -3. **File Installation**: Copies OmniXY configuration -4. **User Setup**: Configure username and home directory -5. **Theme Selection**: Choose from 11 available themes -6. **Feature Configuration**: Enable optional features -7. **System Build**: Build and switch to new configuration - -### Method 3: Simple Installation (Unix Philosophy) - -For automation and scripting: - -```bash -# 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 username -- `OMNIXY_THEME`: Default theme -- `OMNIXY_QUIET=1`: Enable quiet mode - -**Examples**: -```bash -# 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: - -```bash -# 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 - -```bash -# 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 - -```bash -# 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: - -```bash -# 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: - -```bash -# 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: - -```bash -# 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: -1. **tokyo-night** (default) - Dark with vibrant blues -2. **catppuccin** - Warm, soothing pastels -3. **gruvbox** - Retro earth tones -4. **nord** - Cool Arctic colors -5. **everforest** - Natural greens -6. **rose-pine** - Elegant pinks -7. **kanagawa** - Japanese-inspired -8. **catppuccin-latte** - Light variant -9. **matte-black** - Minimal black/white -10. **osaka-jade** - Jade greens -11. **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**: -```bash -# Verify NixOS installation -ls /etc/NIXOS -nixos-version -``` - -**Permission Denied Errors**: -```bash -# 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**: -```bash -# Test internet connectivity -curl -I https://github.com -ping -c 3 cache.nixos.org - -# Check DNS resolution -nslookup github.com -``` - -**Insufficient Space**: -```bash -# Check available space -df -h / -du -sh /nix/store - -# Clean up if needed -nix-collect-garbage -d -``` - -### Build Failures - -**Flake Evaluation Errors**: -```bash -# Check flake syntax -nix flake check --show-trace - -# Debug with verbose output -nixos-rebuild build --flake .#omnixy --show-trace -``` - -**Package Build Failures**: -```bash -# 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**: -```bash -# 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**: -```bash -# 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**: -```bash -# 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: -1. Boot from NixOS live USB -2. Mount the system -3. Restore backup or rollback -4. Rebuild system - -## Verification and Testing - -### Post-Installation Checks - -```bash -# 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 - -```bash -# 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 - -```bash -# 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 -1. **Set up Git**: Configure name and email -2. **Configure Shell**: Customize zsh/bash settings -3. **Install Additional Software**: Add personal packages -4. **Set up Development**: Configure programming environments - -### System Maintenance -```bash -# Regular updates -omnixy update - -# Regular cleanup -omnixy clean - -# Monitor system health -omnixy info -``` - -### Customization -1. **Explore Themes**: Try different color schemes -2. **Customize Keybindings**: Modify Hyprland shortcuts -3. **Add Packages**: Edit configuration files -4. **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. \ No newline at end of file diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index faf1d75..0000000 --- a/docs/README.md +++ /dev/null @@ -1,98 +0,0 @@ -# OmniXY Documentation - -## Overview -OmniXY is a declarative, reproducible NixOS-based operating system focused on developer productivity and aesthetic customization. Built on top of NixOS, it provides a complete development environment with beautiful themes, modern tools, and a tiling window manager (Hyprland). - -## Table of Contents -- [Architecture Overview](./ARCHITECTURE.md) -- [Installation Guide](./INSTALLATION.md) -- [Configuration System](./CONFIGURATION.md) -- [Theme System](./THEMES.md) -- [Development Environment](./DEVELOPMENT.md) -- [Command Reference](./COMMANDS.md) -- [Troubleshooting](./TROUBLESHOOTING.md) - -## Quick Start - -1. **Install NixOS** - OmniXY requires a base NixOS installation -2. **Run Bootstrap** - `curl -fsSL https://raw.githubusercontent.com/thearctesian/omnixy/main/boot.sh | bash` -3. **Configure User** - Set your username and select a theme -4. **Reboot** - Apply the new configuration - -## Core Concepts - -### Declarative Configuration -Everything in OmniXY is defined through Nix expressions. Your entire system configurationβ€”packages, services, themes, and settingsβ€”is declared in code and version controlled. - -### Reproducibility -The same configuration will produce identical systems across different machines. This is achieved through Nix's functional package management and flake lock files. - -### Modularity -The system is built from composable modules that can be enabled, disabled, or customized independently. Each module handles a specific aspect of the system. - -### Immutability -System packages and configurations are immutable once built. Changes require rebuilding the system, preventing configuration drift and ensuring consistency. - -## System Components - -### Base System (NixOS) -- Functional package management -- Atomic upgrades and rollbacks -- Declarative system configuration -- Reproducible builds - -### Window Manager (Hyprland) -- Dynamic tiling compositor for Wayland -- Smooth animations and effects -- Extensive customization options -- Modern GPU-accelerated rendering - -### Development Tools -- Multiple language environments (Rust, Go, Python, Node.js, etc.) -- Git integration with lazygit -- Modern terminal emulators (Alacritty, Kitty) -- Neovim with LazyVim configuration - -### Theme System -- 11 pre-configured color schemes -- Unified theming across all applications -- Easy theme switching with `omnixy theme set ` -- Custom theme support - -## Directory Structure - -``` -omnixy/ -β”œβ”€β”€ docs/ # This documentation -β”œβ”€β”€ configuration.nix # Main system configuration -β”œβ”€β”€ flake.nix # Flake definition with inputs/outputs -β”œβ”€β”€ home.nix # User environment configuration -β”œβ”€β”€ modules/ # System modules -β”‚ β”œβ”€β”€ themes/ # Theme definitions -β”‚ β”œβ”€β”€ hardware/ # Hardware configurations -β”‚ └── desktop/ # Desktop environment configs -β”œβ”€β”€ packages/ # Custom Nix packages -└── scripts/ # Unix philosophy utilities -``` - -## Philosophy - -OmniXY follows these principles: - -1. **Declarative Over Imperative** - Define what you want, not how to get it -2. **Reproducible Builds** - Same input always produces same output -3. **Unix Philosophy** - Tools that do one thing well -4. **Developer First** - Optimized for programming workflows -5. **Beautiful Defaults** - Aesthetic out of the box -6. **Extensible** - Easy to customize and extend - -## Getting Help - -- **Command Help**: `omnixy help` -- **System Info**: `omnixy info` -- **GitHub Issues**: https://github.com/TheArctesian/omnixy/issues -- **NixOS Manual**: https://nixos.org/manual/nixos/stable/ - -## Contributing - -OmniXY is open source and welcomes contributions. See the main README for contribution guidelines. \ No newline at end of file diff --git a/icon.txt b/icon.txt deleted file mode 100644 index bf3ea8f..0000000 --- a/icon.txt +++ /dev/null @@ -1,26 +0,0 @@ -β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ diff --git a/logo.txt b/logo.txt deleted file mode 100644 index 47433aa..0000000 --- a/logo.txt +++ /dev/null @@ -1,10 +0,0 @@ - β–„β–„β–„ - β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–„ β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–„ β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–„β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–„β–ˆ β–ˆβ–„ β–„β–ˆ β–ˆβ–„ -β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–€ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–„β–ˆβ–ˆβ–ˆβ–„β–„β–„β–ˆβ–ˆβ–ˆ β–„β–ˆβ–ˆβ–ˆβ–„β–„β–„β–ˆβ–ˆβ–€ β–ˆβ–ˆβ–ˆ β–„β–ˆβ–ˆβ–ˆβ–„β–„β–„β–ˆβ–ˆβ–ˆβ–„ β–ˆβ–ˆβ–ˆβ–„β–„β–„β–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–€β–ˆβ–ˆβ–ˆβ–€β–€β–€β–ˆβ–ˆβ–ˆ β–€β–ˆβ–ˆβ–ˆβ–€β–€β–€β–€ β–ˆβ–ˆβ–ˆ β–€β–€β–ˆβ–ˆβ–ˆβ–€β–€β–€β–ˆβ–ˆβ–ˆ β–€β–€β–€β–€β–€β–€β–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–„ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–„β–ˆβ–ˆ β–ˆβ–ˆβ–ˆ -β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ - β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€ β–€β–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–€ β–ˆβ–ˆβ–ˆ β–ˆβ–€ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€ β–ˆβ–ˆβ–ˆ β–ˆβ–€ β–€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–€ - β–ˆβ–ˆβ–ˆ β–ˆβ–€ diff --git a/packages/README.md b/packages/README.md deleted file mode 100644 index c39850a..0000000 --- a/packages/README.md +++ /dev/null @@ -1,251 +0,0 @@ -# Packages Directory - Custom Nix Packages - -The `packages/` directory contains custom Nix package definitions for OmniXY-specific tools and utilities. These packages are built and distributed through the Nix package manager as part of the OmniXY system. - -## Package Architecture - -Each package follows the standard Nix packaging format: -```nix -{ pkgs, lib, ... }: -pkgs.stdenv.mkDerivation rec { - pname = "package-name"; - version = "1.0.0"; - - # Package definition - # ... - - meta = with lib; { - description = "Package description"; - license = licenses.mit; - platforms = platforms.linux; - }; -} -``` - -## Current Packages - -### `scripts.nix` -**Purpose**: OmniXY utility scripts package -**What it contains**: All the management and utility scripts for OmniXY system - -**Generated Scripts**: - -#### System Management -- `omnixy`: Main command interface with `--quiet` and `--json` modes -- `omnixy-update`: System and flake updates with progress indication -- `omnixy-clean`: Garbage collection and store optimization -- `omnixy-rebuild`: Wrapper for `nixos-rebuild switch` - -#### Theme Management -- `omnixy-theme-set`: Set system theme with validation -- `omnixy-theme-list`: List available themes (plain/JSON output) -- `omnixy-theme-get`: Get current theme (scriptable output) - -#### Package Management -- `omnixy-search`: Search Nix packages -- `omnixy-install`: Package installation guide - -#### Development Tools -- `omnixy-dev-shell`: Language-specific development shells - - Supports: rust, go, python, node/js, c/cpp - -#### Utilities -- `omnixy-screenshot`: Screenshot tool with region/window/full modes -- `omnixy-info`: System information with JSON/quiet modes -- `omnixy-help`: Comprehensive help system - -**Build Process**: -1. Creates all scripts in `installPhase` -2. Sets executable permissions -3. Patches interpreter paths -4. Validates script syntax - -**Dependencies**: -- `bash`: Shell interpreter -- `coreutils`: Basic Unix utilities -- `gnugrep`, `gnused`, `gawk`: Text processing -- `jq`: JSON processing -- `curl`, `wget`: Network utilities -- `git`: Version control -- `fzf`, `ripgrep`: Search tools - -### `plymouth-theme.nix` (Commented Out) -**Purpose**: Plymouth boot theme package -**Status**: Disabled until fully implemented -**What it would contain**: Custom boot splash theme for OmniXY - -## Package Integration - -### Flake Integration -Packages are exported in `flake.nix`: -```nix -packages.${system} = { - omnixy-scripts = pkgs.callPackage ./packages/scripts.nix {}; - # Additional packages... -}; -``` - -### System Installation -Scripts package is installed system-wide in the main configuration, making all utilities available in PATH. - -### Development Access -Packages can be built individually for testing: -```bash -# Build scripts package -nix build .#omnixy-scripts - -# Test individual script -./result/bin/omnixy --help -``` - -## Script Features - -### Unix Philosophy Compliance -All scripts follow Unix principles: - -**Clean Output Separation**: -```bash -# Human-readable (default) -omnixy info - -# Machine-readable -omnixy --json info | jq .system.version - -# Scriptable -omnixy --quiet update && echo "Updated successfully" -``` - -**Composability**: -```bash -# Theme management pipeline -current_theme=$(omnixy --quiet theme get) -omnixy theme list --quiet | grep -v "$current_theme" | head -1 | xargs omnixy theme set -``` - -**Error Handling**: -- Exit codes: 0 for success, 1 for failure -- Errors to stderr, data to stdout -- Graceful handling of missing files/permissions - -### Environment Variables -Scripts respect global settings: - -- `OMNIXY_QUIET=1`: Minimal output mode -- `OMNIXY_JSON=1`: JSON output where applicable - -### Theme System Integration -Theme scripts provide complete theme management: -- List all 11 available themes -- Get current theme for scripting -- Set theme with validation and rebuild -- Support for both interactive and automated usage - -### Development Environment Support -Development scripts provide: -- Quick access to language-specific environments -- Consistent tooling across languages -- Integration with system configuration - -## Adding New Packages - -To add a new package: - -1. **Create Package File**: -```nix -# packages/my-tool.nix -{ pkgs, lib, ... }: -pkgs.stdenv.mkDerivation rec { - pname = "my-tool"; - version = "1.0.0"; - - # Package definition -} -``` - -2. **Add to Flake**: -```nix -# In flake.nix packages section -my-tool = pkgs.callPackage ./packages/my-tool.nix {}; -``` - -3. **Install in System**: -```nix -# In configuration or module -environment.systemPackages = with pkgs; [ - # ... other packages - my-tool -]; -``` - -## Package Categories - -### System Utilities -Tools for managing the OmniXY system itself: -- Configuration management -- System updates and maintenance -- Backup and restore operations - -### User Interface Tools -Scripts for desktop and user interaction: -- Theme management -- Screenshot utilities -- Information display - -### Development Aids -Tools for software development: -- Environment management -- Build and deployment helpers -- Debug and diagnostic tools - -### Integration Scripts -Utilities for integrating with external systems: -- Cloud services -- Version control -- Package repositories - -## Build System - -### Derivation Structure -Each package is a Nix derivation with: -- **Inputs**: Dependencies and build tools -- **Build Process**: How to create the package -- **Outputs**: Resulting files and executables -- **Metadata**: Description, license, platforms - -### Build Phases -For script packages: -1. **Setup**: Prepare build environment -2. **Install**: Create scripts and set permissions -3. **Fixup**: Patch interpreters and validate -4. **Package**: Create final Nix store paths - -### Quality Assurance -- Syntax checking during build -- Interpreter path patching -- Permission validation -- Dependency verification - -## Testing and Validation - -### Build Testing -```bash -# Test package builds correctly -nix build .#omnixy-scripts - -# Validate all scripts are created -ls result/bin/ | wc -l - -# Test script functionality -result/bin/omnixy --help -``` - -### Integration Testing -```bash -# Test in clean environment -nix develop --command bash -c "omnixy-info --json | jq .system" - -# Test cross-script integration -nix develop --command bash -c "omnixy theme list --quiet | head -1 | xargs echo" -``` - -This packaging system provides a robust foundation for distributing and managing OmniXY utilities while maintaining the reproducibility and reliability of the Nix ecosystem. \ No newline at end of file