docs: update zellij-ps to reflect project switcher functionality
- Update package description and fix mainProgram typo - Rewrite documentation to describe project switching, not process viewing - Add PROJECT_FOLDERS configuration and usage examples - Update all references across docs (README, guides, module overviews)
This commit is contained in:
146
docs/README.md
Normal file
146
docs/README.md
Normal file
@@ -0,0 +1,146 @@
|
||||
# m3ta-nixpkgs Documentation
|
||||
|
||||
Complete documentation for m3ta's personal Nix flake repository.
|
||||
|
||||
## Overview
|
||||
|
||||
m3ta-nixpkgs is a collection of custom packages, overlays, NixOS modules, and Home Manager modules organized as a modern Nix flake. This repository follows a flakes-only approach (no channels) and provides reusable components for personal infrastructure.
|
||||
|
||||
## Getting Started
|
||||
|
||||
- **[Quick Start Guide](./QUICKSTART.md)** - Get up and running in 5 minutes
|
||||
- **[Architecture](./ARCHITECTURE.md)** - Understanding the repository structure and design
|
||||
- **[Contributing](./CONTRIBUTING.md)** - How to contribute to this repository
|
||||
|
||||
## Documentation Sections
|
||||
|
||||
### 📚 Guides
|
||||
|
||||
Step-by-step guides for common tasks:
|
||||
|
||||
- [Getting Started](./guides/getting-started.md) - Initial setup and basic usage
|
||||
- [Adding Packages](./guides/adding-packages.md) - How to add new packages
|
||||
- [Port Management](./guides/port-management.md) - Managing service ports across hosts
|
||||
- [Using Modules](./guides/using-modules.md) - Using NixOS and Home Manager modules
|
||||
- [Development Workflow](./guides/development-workflow.md) - Development and testing workflow
|
||||
|
||||
### 📦 Packages
|
||||
|
||||
Documentation for all custom packages:
|
||||
|
||||
- [code2prompt](./packages/code2prompt.md) - Convert code to prompts
|
||||
- [hyprpaper-random](./packages/hyprpaper-random.md) - Random wallpaper setter for Hyprpaper
|
||||
- [launch-webapp](./packages/launch-webapp.md) - Launch web applications
|
||||
- [mem0](./packages/mem0.md) - AI memory assistant with vector storage
|
||||
- [msty-studio](./packages/msty-studio.md) - Msty Studio application
|
||||
- [pomodoro-timer](./packages/pomodoro-timer.md) - Pomodoro timer utility
|
||||
- [tuxedo-backlight](./packages/tuxedo-backlight.md) - Backlight control for Tuxedo laptops
|
||||
- [zellij-ps](./packages/zellij-ps.md) - Project switcher for Zellij
|
||||
|
||||
### ⚙️ Modules
|
||||
|
||||
Configuration modules for NixOS and Home Manager:
|
||||
|
||||
#### NixOS Modules
|
||||
- [Overview](./modules/nixos/overview.md) - NixOS modules overview
|
||||
- [mem0](./modules/nixos/mem0.md) - Mem0 REST API server module
|
||||
- [ports](./modules/nixos/ports.md) - Port management module
|
||||
|
||||
#### Home Manager Modules
|
||||
- [Overview](./modules/home-manager/overview.md) - Home Manager modules overview
|
||||
- [CLI Tools](./modules/home-manager/cli/) - CLI-related modules
|
||||
- [zellij-ps](./modules/home-manager/cli/zellij-ps.md) - Zellij project switcher
|
||||
- [Coding](./modules/home-manager/coding/) - Development-related modules
|
||||
- [editors](./modules/home-manager/coding/editors.md) - Editor configurations
|
||||
|
||||
### 📖 Reference
|
||||
|
||||
Technical references and APIs:
|
||||
|
||||
- [Functions](./reference/functions.md) - Library functions documentation
|
||||
- [Patterns](./reference/patterns.md) - Code patterns and anti-patterns
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
m3ta-nixpkgs/
|
||||
├── docs/ # This directory
|
||||
│ ├── README.md
|
||||
│ ├── QUICKSTART.md
|
||||
│ ├── ARCHITECTURE.md
|
||||
│ ├── CONTRIBUTING.md
|
||||
│ ├── guides/
|
||||
│ ├── packages/
|
||||
│ ├── modules/
|
||||
│ └── reference/
|
||||
├── pkgs/ # Custom packages
|
||||
├── modules/
|
||||
│ ├── nixos/ # NixOS modules
|
||||
│ └── home-manager/ # Home Manager modules
|
||||
├── lib/ # Library functions
|
||||
├── shells/ # Development shells
|
||||
├── overlays/ # Package overlays
|
||||
├── templates/ # Templates
|
||||
└── examples/ # Usage examples
|
||||
```
|
||||
|
||||
## Key Concepts
|
||||
|
||||
### Flakes-Only Approach
|
||||
|
||||
This repository uses modern Nix flakes exclusively. No channels or `nix-channel` commands are needed. All dependencies are declaratively specified in `flake.nix`.
|
||||
|
||||
### Namespace Convention
|
||||
|
||||
All modules use the `m3ta.*` namespace:
|
||||
|
||||
- `m3ta.ports.*` - Port management
|
||||
- `m3ta.mem0.*` - Mem0 service configuration
|
||||
- `m3ta.*.enable` - Enable/disable modules
|
||||
|
||||
### Port Management
|
||||
|
||||
Centralized port management across hosts using the `m3ta.ports` module:
|
||||
|
||||
```nix
|
||||
m3ta.ports = {
|
||||
enable = true;
|
||||
definitions = { mem0 = 8000; };
|
||||
hostOverrides.laptop = { mem0 = 8080; };
|
||||
currentHost = "laptop";
|
||||
};
|
||||
```
|
||||
|
||||
## Supported Systems
|
||||
|
||||
- `x86_64-linux` - Primary
|
||||
- `aarch64-linux` - ARM Linux
|
||||
- `x86_64-darwin` - macOS (Intel)
|
||||
- `aarch64-darwin` - macOS (Apple Silicon)
|
||||
|
||||
## Quick Commands
|
||||
|
||||
```bash
|
||||
# Validate flake
|
||||
nix flake check
|
||||
|
||||
# Format code
|
||||
nix fmt
|
||||
|
||||
# Build package
|
||||
nix build .#<package-name>
|
||||
|
||||
# List outputs
|
||||
nix flake show
|
||||
|
||||
# Enter dev shell
|
||||
nix develop
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
Individual packages may have their own licenses. Check each package's `meta.license` attribute.
|
||||
|
||||
## Maintainer
|
||||
|
||||
[@m3tam3re](https://m3ta.dev)
|
||||
Reference in New Issue
Block a user