documentation
This commit is contained in:
1 parent
85e493eb54
commit
d8947e67b7
41 files changed
+4405
-538
No files matched your search
@@ -20,12 +20,23 @@ omnixy-rebuild # Convenience wrapper
|
||||
|
||||
# Update system and flake inputs
|
||||
omnixy update
|
||||
omnixy-update # Direct command
|
||||
|
||||
# Clean and optimize Nix store
|
||||
omnixy clean
|
||||
omnixy-clean # Direct command
|
||||
|
||||
# Search for packages
|
||||
omnixy search <package-name>
|
||||
omnixy-search <package-name> # Direct command
|
||||
|
||||
# Show system information
|
||||
omnixy info
|
||||
omnixy-info # Direct command
|
||||
|
||||
# Get help
|
||||
omnixy help
|
||||
omnixy-help # Direct command
|
||||
```
|
||||
|
||||
### Development Workflows
|
||||
@@ -39,6 +50,13 @@ nix develop .#python # Language-specific shell
|
||||
nix develop .#node # Node.js development
|
||||
nix develop .#rust # Rust development
|
||||
|
||||
# Alternative: Use omnixy development shells
|
||||
omnixy-dev-shell rust # Rust development shell
|
||||
omnixy-dev-shell python # Python development shell
|
||||
omnixy-dev-shell go # Go development shell
|
||||
omnixy-dev-shell js # JavaScript/Node.js shell
|
||||
omnixy-dev-shell c # C/C++ development shell
|
||||
|
||||
# Format Nix code
|
||||
nixpkgs-fmt *.nix
|
||||
alejandra *.nix # Alternative formatter
|
||||
@@ -53,12 +71,21 @@ deadnix . # Dead code elimination
|
||||
# Available themes in modules/themes/
|
||||
ls modules/themes/
|
||||
|
||||
# Test theme switch
|
||||
# List available themes
|
||||
omnixy theme
|
||||
omnixy-theme-list
|
||||
|
||||
# Switch theme
|
||||
omnixy theme tokyo-night
|
||||
omnixy-theme-set tokyo-night
|
||||
|
||||
# Available themes: tokyo-night, catppuccin, gruvbox, nord,
|
||||
# everforest, rose-pine, kanagawa, catppuccin-latte, matte-black,
|
||||
# osaka-jade, ristretto
|
||||
|
||||
# Create new theme
|
||||
cp modules/themes/tokyo-night.nix modules/themes/my-theme.nix
|
||||
# Edit color values and application configs
|
||||
# Edit color values and application configs, then rebuild
|
||||
```
|
||||
|
||||
## Architecture
|
||||
@@ -70,13 +97,22 @@ cp modules/themes/tokyo-night.nix modules/themes/my-theme.nix
|
||||
|
||||
### Module System
|
||||
The configuration is split into focused modules:
|
||||
- **modules/core.nix** - Base system settings and Omarchy options
|
||||
- **modules/core.nix** - Base system settings and OmniXY options
|
||||
- **modules/packages.nix** - Package collections with feature flags
|
||||
- **modules/development.nix** - Development tools and environments
|
||||
- **modules/desktop/hyprland.nix** - Hyprland compositor configuration
|
||||
- **modules/services.nix** - System services and daemons
|
||||
- **modules/users.nix** - User account management
|
||||
- **modules/themes/** - Theme-specific configurations
|
||||
- **modules/boot.nix** - Boot configuration and kernel parameters
|
||||
- **modules/security.nix** - Security settings and authentication
|
||||
- **modules/menus.nix** - Application menus and launchers
|
||||
- **modules/walker.nix** - Walker application launcher configuration
|
||||
- **modules/fastfetch.nix** - System information display
|
||||
- **modules/scripts.nix** - OmniXY utility scripts
|
||||
- **modules/themes/** - Complete theme system with multiple themes
|
||||
- **modules/hardware/** - Hardware-specific configurations (Intel, AMD, NVIDIA, Audio, etc.)
|
||||
- **modules/lib.nix** - Helper functions and utilities
|
||||
- **modules/colors.nix** - Color palette definitions
|
||||
- **modules/helpers.nix** - Additional helper functions
|
||||
|
||||
### Configuration Management
|
||||
1. **Declarative** - Everything defined in Nix expressions
|
||||
@@ -131,8 +167,9 @@ The configuration is split into focused modules:
|
||||
### Testing Changes
|
||||
- Build configuration: `nixos-rebuild build --flake .#omnixy`
|
||||
- Test in VM: `nixos-rebuild build-vm --flake .#omnixy`
|
||||
- Run VM: `./result/bin/run-omnixy-vm` or use the linked script in /nix/store
|
||||
- Check evaluation: `nix flake check`
|
||||
- Format code: `nixpkgs-fmt .`
|
||||
- Format code: `nixpkgs-fmt .` or `alejandra .`
|
||||
|
||||
### Home Manager Integration
|
||||
- User-specific configuration in home.nix
|
||||
@@ -154,8 +191,59 @@ The configuration is split into focused modules:
|
||||
3. Include necessary firmware and drivers
|
||||
4. Test on target hardware
|
||||
|
||||
### Installation and Bootstrap
|
||||
- Bootstrap script: `./boot.sh` - Downloads and runs installer on fresh NixOS
|
||||
- Interactive installer: `./install.sh` - Full styled installer with theme selection
|
||||
- Simple installer: `./install-simple.sh` - Unix-philosophy compliant, scriptable installer
|
||||
- Manual flake install: `sudo nixos-rebuild switch --flake github:TheArctesian/omnixy#omnixy`
|
||||
|
||||
### Unix Philosophy Tools (scripts/ directory)
|
||||
Focused, composable tools following "do one thing well":
|
||||
- `scripts/omnixy-check-system` - Just check system requirements
|
||||
- `scripts/omnixy-backup-config` - Just backup configuration
|
||||
- `scripts/omnixy-install-files` - Just copy files
|
||||
- `scripts/omnixy-configure-user` - Just update user configuration
|
||||
- `scripts/omnixy-build-system` - Just build/switch system
|
||||
|
||||
### Scriptable Usage Examples
|
||||
```bash
|
||||
# Quiet installation
|
||||
./install-simple.sh --quiet --user alice --theme gruvbox
|
||||
|
||||
# Test configuration without applying
|
||||
./install-simple.sh --dry-run
|
||||
|
||||
# Automated installation
|
||||
OMNIXY_USER=bob OMNIXY_THEME=nord ./install-simple.sh --quiet
|
||||
|
||||
# Use individual tools for custom workflows
|
||||
scripts/omnixy-check-system --nixos-only
|
||||
backup_path=$(scripts/omnixy-backup-config)
|
||||
scripts/omnixy-install-files
|
||||
scripts/omnixy-configure-user alice
|
||||
scripts/omnixy-build-system --dry-run
|
||||
|
||||
# Scriptable omnixy command with clean output
|
||||
omnixy --quiet theme set gruvbox
|
||||
omnixy --json info | jq .system.theme
|
||||
omnixy --quiet update && echo "Update complete"
|
||||
```
|
||||
|
||||
### Screenshots and Utilities
|
||||
- Take screenshots: `omnixy-screenshot` (region by default)
|
||||
- Screenshot modes: `omnixy-screenshot region|full|window`
|
||||
- Screenshots saved to `~/Pictures/Screenshots/` and copied to clipboard
|
||||
|
||||
### Development Containers
|
||||
The install.sh script mentions but doesn't implement:
|
||||
- `dev-postgres` - PostgreSQL container
|
||||
- `dev-redis` - Redis container
|
||||
- `dev-mysql` - MySQL container
|
||||
- `dev-mongodb` - MongoDB container
|
||||
|
||||
### Debugging Issues
|
||||
- Check system logs: `journalctl -xe`
|
||||
- Nix build logs: `nix log /nix/store/...`
|
||||
- Configuration evaluation: `nix show-config`
|
||||
- Module option documentation: `man configuration.nix`
|
||||
- Module option documentation: `man configuration.nix`
|
||||
- System information: `omnixy info` or `omnixy-info`
|
||||
Reference in new issue
Block a user