constellate 0.3.6

Rust-powered CLI + live editor for curated markdown workspaces (requirements, docs, ADRs, audits, support, status-driven tasks) that build/serve/CRUD a themeable knowledge portal from a single binary.
{
  description = "Constellate CLI flake with NixOS + Home Manager modules";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    flake-utils.url = "github:numtide/flake-utils";
    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = inputs@{ self, nixpkgs, flake-utils, ... }:
    # Expose packages, devshells, and modules for all default systems while also
    # exporting overlay/module entry points for downstream flakes.
    let
      inherit (flake-utils.lib) eachDefaultSystem mkApp;
    in
    eachDefaultSystem
      (system:
        let
          pkgs =
            import nixpkgs {
              inherit system;
              overlays = [ self.overlays.default ];
            };
          constellatePkg = pkgs.constellate;
          devShell = import ./nix/shell.nix { inherit pkgs; };
          constellateApp = mkApp { drv = constellatePkg; };
        in
        {
          packages = {
            default = constellatePkg;
            constellate = constellatePkg;
          };

          devShells = {
            default = devShell;
            constellate = devShell;
          };

          apps = {
            default = constellateApp;
            constellate = constellateApp;
          };
        })
    // {
      overlays.default = final: prev: {
        constellate = prev.callPackage ./nix/package.nix {};
      };

      nixosModules.constellate = import ./nix/modules/nixos/constellate.nix;

      homeManagerModules.constellate = import ./nix/modules/home-manager/constellate.nix;
    };
}