summaryrefslogtreecommitdiff
path: root/flake.nix
blob: 346c559a85a66bcbdffe073475ae8b4b4e889f8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
    fenix = {
      inputs.nixpkgs.follows = "nixpkgs";
      url = "github:nix-community/fenix";
    };
    naersk = {
      inputs.nixpkgs.follows = "nixpkgs";
      url = "github:nix-community/naersk";
    };
  };
  outputs = {
    nixpkgs,
    naersk,
    fenix,
    ...
  }: let
    pkgs = nixpkgs.legacyPackages.x86_64-linux;
    toolchain = fenix.packages.x86_64-linux.minimal.toolchain;
  in {
    devShells.x86_64-linux.default = pkgs.mkShell {
      buildInputs = [toolchain pkgs.xvfb-run];
      shellHook = ''
        export RUSTUP_TOOLCHAIN=${toolchain}
      '';
    };
    packages.x86_64-linux.default =
      (naersk.lib.x86_64-linux.override {
        cargo = toolchain;
        rustc = toolchain;
      }).buildPackage {
        nativeBuildInputs = [pkgs.makeWrapper];
        src = ./.;
        postInstall = ''
          wrapProgram $out/bin/anki-cli \
          --prefix PATH : ${pkgs.xvfb-run}/bin
        '';
      };
  };
}