Initial commit: Split Macha autonomous system into separate flake

Macha is now a standalone NixOS flake that can be imported into other
systems. This provides:

- Independent versioning
- Easier reusability
- Cleaner separation of concerns
- Better development workflow

Includes:
- Complete autonomous system code
- NixOS module with full configuration options
- Queue-based architecture with priority system
- Chunked map-reduce for large outputs
- ChromaDB knowledge base
- Tool calling system
- Multi-host SSH management
- Gotify notification integration

All capabilities from DESIGN.md are preserved.
This commit is contained in:
Lily Miller
2025-10-06 14:32:37 -06:00
commit 22ba493d9e
30 changed files with 10306 additions and 0 deletions

41
flake.nix Normal file
View File

@@ -0,0 +1,41 @@
{
description = "Macha - AI-Powered Autonomous System Administrator";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }: {
# NixOS module
nixosModules.default = import ./module.nix;
# Alternative explicit name
nixosModules.macha-autonomous = import ./module.nix;
# For development
devShells = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system:
let
pkgs = nixpkgs.legacyPackages.${system};
pythonEnv = pkgs.python3.withPackages (ps: with ps; [
requests
psutil
chromadb
]);
in {
default = pkgs.mkShell {
packages = [ pythonEnv pkgs.git ];
shellHook = ''
echo "Macha Autonomous Development Environment"
echo "Python packages: requests, psutil, chromadb"
'';
};
}
);
# Formatter
formatter = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" ] (system:
nixpkgs.legacyPackages.${system}.nixpkgs-fmt
);
};
}