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:
41
flake.nix
Normal file
41
flake.nix
Normal 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
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user