aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
blob: c3900bb78dca64aca28026bce46a992d539545b9 (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
{
  description = "animalese - Animal Crossing style speech synthesis";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
  };

  outputs = inputs: {
    packages = builtins.mapAttrs (system: pkgs: {
      animalese = pkgs.rustPlatform.buildRustPackage {
        pname = "animalese";
        version = "0.1.0";

        src = inputs.self;
        cargoLock.lockFile = ./Cargo.lock;

        meta = {
          description = "Animal Crossing style speech synthesis";
          mainProgram = "animalese";
        };
      };

      default = inputs.self.packages.${system}.animalese;
    }) inputs.nixpkgs.legacyPackages;

    devShells = builtins.mapAttrs (system: pkgs: {
      default = pkgs.mkShell {
        packages = [
          pkgs.cargo
          pkgs.rustc
          pkgs.clippy
          pkgs.rustfmt
          pkgs.rust-analyzer
        ];

        # so rust-analyzer can find the standard library sources
        RUST_SRC_PATH = "${pkgs.rustPlatform.rustLibSrc}";
      };
    }) inputs.nixpkgs.legacyPackages;
  };
}