{
  description = "m3ta-home — portable user profiles and home-manager configurations";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";

    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    nix-colors.url = "github:misterio77/nix-colors";

    m3ta-nixpkgs = {
      url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/nixpkgs";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    agents = {
      # url = "path:/home/m3tam3re/p/AI/AGENTS";
      url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/AGENTS";
    };

    agent-lib = {
      # url = "path:/home/m3tam3re/p/NIX/agent-lib";
      url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/agent-lib";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    hermes-agent = {
      url = "github:NousResearch/hermes-agent";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    dms = {
      url = "github:AvengeMedia/DankMaterialShell/stable";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    dms-plugin-registry = {
      url = "github:AvengeMedia/dms-plugin-registry";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    agenix.url = "github:ryantm/agenix";

    nur.url = "github:nix-community/NUR";
  };

  outputs = {
    self,
    nixpkgs,
    ...
  } @ inputs: let
    lib = nixpkgs.lib;
  in {
    # Home-Manager modules — import in nixos-config via:
    #   imports = [ inputs.m3ta-home.homeManagerModules.default ];
    homeManagerModules = import ./modules {
      inherit inputs;
      selfPath = self.outPath;
    };

    # Library functions — use in nixos-config via:
    #   m3ta-lib = inputs.m3ta-home.lib;
    #   imports = [ (m3ta-lib.mkHome { ... }) ];
    lib = import ./lib {
      inherit inputs;
      selfPath = self.outPath;
    };

    # Overlays (re-exports from m3ta-nixpkgs)
    overlays = inputs.m3ta-nixpkgs.overlays;
  };
}
