- Update AGENTS.md header with current commit (366af12) and date (2026-01-13) - Add beads, n8n, opencode to README.md Available Packages table - Update docs/README.md packages list - Create docs/packages/beads.md (220 lines) - Create docs/packages/n8n.md (310 lines) - Create docs/packages/opencode.md (346 lines) Documentation now reflects commitbc75505which added these three packages.
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 - Get up and running in 5 minutes
- Architecture - Understanding the repository structure and design
- Contributing - How to contribute to this repository
Documentation Sections
📚 Guides
Step-by-step guides for common tasks:
- Getting Started - Initial setup and basic usage
- Adding Packages - How to add new packages
- Port Management - Managing service ports across hosts
- Using Modules - Using NixOS and Home Manager modules
- Development Workflow - Development and testing workflow
📦 Packages
Documentation for all custom packages:
- beads - Lightweight memory system for AI coding agents with graph-based issue tracking
- code2prompt - Convert code to prompts
- hyprpaper-random - Random wallpaper setter for Hyprpaper
- launch-webapp - Launch web applications
- mem0 - AI memory assistant with vector storage
- msty-studio - Msty Studio application
- n8n - Free and source-available fair-code licensed workflow automation tool
- opencode - AI coding agent built for terminal
- pomodoro-timer - Pomodoro timer utility
- rofi-project-opener - Rofi-based project launcher with custom args
- stt-ptt - Push to Talk Speech to Text using Whisper
- tuxedo-backlight - Backlight control for Tuxedo laptops
- zellij-ps - Project switcher for Zellij
⚙️ Modules
Configuration modules for NixOS and Home Manager:
NixOS Modules
Home Manager Modules
- Overview - Home Manager modules overview
- CLI Tools - CLI-related modules
- rofi-project-opener - Rofi-based project launcher
- stt-ptt - Push to Talk Speech to Text
- zellij-ps - Zellij project switcher
- Coding - Development-related modules
- editors - Editor configurations
📖 Reference
Technical references and APIs:
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 managementm3ta.mem0.*- Mem0 service configurationm3ta.*.enable- Enable/disable modules
Port Management
Centralized port management across hosts using the m3ta.ports module:
m3ta.ports = {
enable = true;
definitions = { mem0 = 8000; };
hostOverrides.laptop = { mem0 = 8080; };
currentHost = "laptop";
};
Supported Systems
x86_64-linux- Primaryaarch64-linux- ARM Linuxx86_64-darwin- macOS (Intel)aarch64-darwin- macOS (Apple Silicon)
Quick Commands
# 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.