{ description = "Systant"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; systant-cli = pkgs.writeShellScriptBin "systant" '' cd "$PROJECT_ROOT" && ./dist/systant "$@" ''; in with pkgs; { devShell = pkgs.mkShell { buildInputs = [ bashInteractive glibcLocales git bun inotify-tools claude-code systant-cli ]; shellHook = '' export PROJECT_ROOT=$PWD ''; }; packages = { systant-server = pkgs.callPackage ./nix/package.nix { src = ./server; }; systant-cli = pkgs.systant-cli; default = systant-cli; }; apps = { default = { type = "app"; program = "${self.packages.${system}.default}/bin/systant"; }; }; } ); }