{ description = "synapse-revitalization"; outputs = { self, nixpkgs, }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { devShells.x86_64-linux.default = pkgs.mkShell { packages = with pkgs; [ python313Full python313Packages.signedjson python313Packages.requests python313Packages.systemd python313Packages.setuptools black ]; }; nixosModules = { synapse-revitalization = import ./module.nix self; default = self.nixosModules.synapse-revitalization; }; packages.x86_64-linux.synapse-revitalization = pkgs.stdenv.mkDerivation { projectDir = ./.; pname = "synapse-revitalization"; version = "0.1.0"; src = ./.; installPhase = let python = pkgs.python313.withPackages (ps: with ps; [ requests signedjson systemd ]); script = pkgs.writeShellScript "synapse-revitalization" "${python}/bin/python $out/main.py '$1'"; in '' mkdir -p $out/bin cp $src/src/* $out # cp ${script} $out/bin cat > $out/bin/synapse-revitalization << EOF #!/bin/sh exec ${python}/bin/python $out/main.py "\$1" EOF chmod +x $out/bin/synapse-revitalization ''; }; packages.x86_64-linux.default = self.packages.x86_64-linux.synapse-revitalization; }; }