server/flake.nix

68 lines
1.5 KiB
Nix
Raw Normal View History

{
description = "Versia Server";
2024-08-08 23:42:51 +02:00
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
2024-08-24 18:46:19 +02:00
};
outputs = {
self,
nixpkgs,
flake-utils,
...
}:
{
overlays.default = final: prev: rec {
versia-server = final.callPackage ./nix/package.nix {};
versia-server-worker = final.callPackage ./nix/package-worker.nix {
inherit versia-server;
};
};
}
// flake-utils.lib.eachSystem ["x86_64-linux" "aarch64-linux"] (system: let
pkgs = import nixpkgs {
inherit system;
overlays = [self.overlays.default];
};
in {
packages = {
inherit (pkgs) versia-server versia-server-worker;
default = self.packages.${system}.versia-server;
2024-08-15 23:57:31 +02:00
};
2025-04-15 11:15:17 +02:00
})
2025-04-15 11:32:11 +02:00
// flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {
inherit system;
overlays = [self.overlays.default];
};
in {
devShells = {
default = pkgs.mkShell rec {
libPath = with pkgs;
lib.makeLibraryPath [
stdenv.cc.cc.lib
];
2025-04-19 13:27:25 +02:00
2025-04-15 11:32:11 +02:00
LD_LIBRARY_PATH = "${libPath}";
2025-04-19 13:27:25 +02:00
2025-04-15 11:32:11 +02:00
buildInputs = with pkgs; [
bun
vips
pnpm
nodePackages.typescript
nodePackages.typescript-language-server
nix-ld
];
};
};
})
2025-04-15 11:15:17 +02:00
// {
2025-04-15 13:03:52 +02:00
nixosModules = rec {
2025-04-15 11:15:17 +02:00
versia-server = import ./nix/module.nix;
2025-04-15 13:03:52 +02:00
default = versia-server;
2025-04-15 11:15:17 +02:00
};
};
2024-08-08 23:42:51 +02:00
}