Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol. wisp.place
at main 2.3 kB view raw
1{ 2 inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 3 inputs.nci.url = "github:90-008/nix-cargo-integration"; 4 inputs.nci.inputs.nixpkgs.follows = "nixpkgs"; 5 inputs.parts.url = "github:hercules-ci/flake-parts"; 6 inputs.parts.inputs.nixpkgs-lib.follows = "nixpkgs"; 7 inputs.fenix = { 8 url = "github:nix-community/fenix"; 9 inputs.nixpkgs.follows = "nixpkgs"; 10 }; 11 12 outputs = inputs @ { 13 parts, 14 nci, 15 ... 16 }: 17 parts.lib.mkFlake {inherit inputs;} { 18 systems = ["x86_64-linux" "aarch64-darwin"]; 19 imports = [ 20 nci.flakeModule 21 ./crates.nix 22 ]; 23 perSystem = { 24 pkgs, 25 config, 26 ... 27 }: let 28 crateOutputs = config.nci.outputs."wisp-cli"; 29 mkRenamedPackage = name: pkg: isWindows: pkgs.runCommand name {} '' 30 mkdir -p $out/bin 31 if [ -f ${pkg}/bin/wisp-cli.exe ]; then 32 cp ${pkg}/bin/wisp-cli.exe $out/bin/${name} 33 elif [ -f ${pkg}/bin/wisp-cli ]; then 34 cp ${pkg}/bin/wisp-cli $out/bin/${name} 35 else 36 echo "Error: Could not find wisp-cli binary in ${pkg}/bin/" 37 ls -la ${pkg}/bin/ || true 38 exit 1 39 fi 40 ''; 41 in { 42 devShells.default = crateOutputs.devShell; 43 packages.default = crateOutputs.packages.release; 44 packages.wisp-cli-x86_64-linux = mkRenamedPackage "wisp-cli-x86_64-linux" crateOutputs.packages.release false; 45 packages.wisp-cli-aarch64-linux = mkRenamedPackage "wisp-cli-aarch64-linux" crateOutputs.allTargets."aarch64-unknown-linux-gnu".packages.release false; 46 packages.wisp-cli-x86_64-windows = mkRenamedPackage "wisp-cli-x86_64-windows.exe" crateOutputs.allTargets."x86_64-pc-windows-gnu".packages.release true; 47 packages.wisp-cli-aarch64-darwin = mkRenamedPackage "wisp-cli-aarch64-darwin" crateOutputs.allTargets."aarch64-apple-darwin".packages.release false; 48 packages.all = pkgs.symlinkJoin { 49 name = "wisp-cli-all"; 50 paths = [ 51 config.packages.wisp-cli-x86_64-linux 52 config.packages.wisp-cli-aarch64-linux 53 config.packages.wisp-cli-x86_64-windows 54 config.packages.wisp-cli-aarch64-darwin 55 ]; 56 }; 57 }; 58 }; 59}