atagen

macltok

public
Star0
Watch0
0bfa3f46f0be39529f9541bdfbff51255e54ffba
3
ssh://brewery@pls.lobotomise.me:33/atagen/macltok.git
flake.nixNix62 lines1.7 KB
1
{
2
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
3
4
  outputs =
5
    { self, nixpkgs }:
6
    let
7
      forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
8
    in
9
    {
10
      packages = forAllSystems (
11
        system:
12
        let
13
          pkgs = nixpkgs.legacyPackages.${system};
14
        in
15
        {
16
          default = pkgs.rustPlatform.buildRustPackage {
17
            pname = "macltok";
18
            version = "0.1.0";
19
            src = self;
20
            cargoLock.lockFile = ./Cargo.lock;
21
            preBuild = "export NIX_BUILD_CORES=2";
22
            SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
23
          };
24
        }
25
      );
26
27
      checks = forAllSystems (system: {
28
        default = self.packages.${system}.default;
29
        sqlite = nixpkgs.legacyPackages.${system}.rustPlatform.buildRustPackage {
30
          pname = "macltok-sqlite-check";
31
          version = "0.1.0";
32
          src = self;
33
          cargoLock.lockFile = ./Cargo.lock;
34
          preBuild = "export NIX_BUILD_CORES=2";
35
          buildFeatures = [ "sqlite" ];
36
          nativeBuildInputs = [ nixpkgs.legacyPackages.${system}.pkg-config ];
37
          buildInputs = [ nixpkgs.legacyPackages.${system}.sqlite ];
38
          SSL_CERT_FILE = "${nixpkgs.legacyPackages.${system}.cacert}/etc/ssl/certs/ca-bundle.crt";
39
        };
40
      });
41
42
      devShells = forAllSystems (
43
        system:
44
        let
45
          pkgs = nixpkgs.legacyPackages.${system};
46
        in
47
        {
48
          default = pkgs.mkShell {
49
            packages = with pkgs; [
50
              cargo
51
              clippy
52
              pkg-config
53
              rust-analyzer
54
              rustc
55
              rustfmt
56
              sqlite
57
            ];
58
          };
59
        }
60
      );
61
    };
62
}