forked from
tranquil.farm/tranquil-pds
Our Personal Data Server from scratch!
1{
2 inputs = {
3 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
4 };
5
6 outputs =
7 {
8 self,
9 nixpkgs,
10 }:
11 let
12 forAllSystems =
13 function:
14 nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed (
15 system: function nixpkgs.legacyPackages.${system}
16 );
17 in
18 {
19 packages = forAllSystems (pkgs: {
20 tranquil-pds = pkgs.callPackage ./default.nix { };
21 tranquil-pds-aarch64 = pkgs.pkgsCross.aarch64-multiplatform.callPackage ./default.nix { };
22 tranquil-frontend = pkgs.callPackage ./frontend.nix { };
23 default = self.packages.${pkgs.stdenv.hostPlatform.system}.tranquil-pds;
24 });
25
26 devShells = forAllSystems (pkgs: {
27 default = pkgs.callPackage ./shell.nix { };
28 });
29
30 nixosModules = {
31 default = self.nixosModules.tranquil-pds;
32 tranquil-pds =
33 { lib, pkgs, ... }:
34 {
35 _file = "${self.outPath}/flake.nix#nixosModules.tranquil-pds";
36 imports = [ ./module.nix ];
37 config.services.tranquil-pds = {
38 package = self.packages.${pkgs.stdenv.hostPlatform.system}.tranquil-pds;
39 settings.frontend.package = self.packages.${pkgs.stdenv.hostPlatform.system}.tranquil-frontend;
40 };
41 };
42 };
43
44 checks.x86_64-linux.integration = import ./test.nix {
45 pkgs = nixpkgs.legacyPackages.x86_64-linux;
46 inherit self;
47 };
48
49 checks.aarch64-linux.integration = import ./test.nix {
50 pkgs = nixpkgs.legacyPackages.aarch64-linux;
51 inherit self;
52 };
53 };
54}