Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol.
wisp.place
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}