Files
m3tam3re 8d46992bd1 feat: re-add opencode-desktop as pass-through from anomalyco/opencode
Expose the opencode-desktop Electron app as a package via a pure
pass-through from a new 'opencode' flake input
(github:anomalyco/opencode/dev).

The input intentionally does NOT follow nixpkgs: upstream pins a
node_modules fixed-output derivation hash in nix/hashes.json against
its own nixpkgs snapshot, so following would risk FOD hash mismatches.

- flake.nix: add 'opencode' input (own nixpkgs, dev branch)
- pkgs/default.nix: opencode-desktop pass-through
- docs/packages/opencode.md + README.md: refreshed (Electron, not Tauri)
- CHANGELOG: unreleased entry

Verified: nix flake show lists opencode-desktop (all 4 systems);
output opencode-desktop-1.18.9+f720490 builds & wraps electron-41.
2026-07-30 07:01:22 +02:00
..

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

Documentation Sections

📚 Guides

Step-by-step guides for common tasks:

📦 Packages

⚙️ Modules

Configuration modules for NixOS and Home Manager:

NixOS Modules

  • Overview - NixOS modules overview
  • mem0 - Mem0 REST API server module
  • ports - Port management module

Home Manager Modules

📖 Reference

Technical references and APIs:

  • Functions - Library functions documentation
  • Patterns - Code patterns and anti-patterns
  • Templates - Boilerplate for packages and modules

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:

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

# 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