scores

football-data.org terminal interface
Log | Files | Refs | README | LICENSE

flake.nix (1535B)


      1 {
      2   inputs = {
      3     nixpkgs.url = "nixpkgs/nixos-unstable";
      4     flake-utils.url = "github:numtide/flake-utils";
      5 
      6     fenix = {
      7       url = "github:nix-community/fenix";
      8       inputs.nixpkgs.follows = "nixpkgs";
      9     };
     10 
     11     crane = {
     12       url = "github:ipetkov/crane";
     13     };
     14   };
     15 
     16   outputs = {
     17     nixpkgs,
     18     flake-utils,
     19     fenix,
     20     crane,
     21     ...
     22   }:
     23     flake-utils.lib.eachDefaultSystem (system: let
     24       pkgs = nixpkgs.legacyPackages.${system};
     25       fenixPkgs = fenix.packages.${system};
     26 
     27       rustToolchain = fenixPkgs.stable.toolchain;
     28 
     29       craneLib = (crane.mkLib pkgs).overrideToolchain rustToolchain;
     30       src = craneLib.cleanCargoSource ./.;
     31 
     32       cargoToml = fromTOML (builtins.readFile ./Cargo.toml);
     33 
     34       baseNativeBuildInputs = with pkgs; [
     35         pkg-config
     36         dbus
     37         sqlite
     38         openssl
     39       ];
     40 
     41       commonArgs = {
     42         pname = "scores";
     43         inherit src;
     44         inherit (cargoToml.package) version;
     45 
     46         strictDeps = true;
     47         nativeBuildInputs = baseNativeBuildInputs;
     48         buildInputs = with pkgs; [sqlite.dev openssl.dev dbus.dev];
     49       };
     50 
     51       scores = craneLib.buildPackage (commonArgs
     52         // {
     53           cargoArtifacts = craneLib.buildDepsOnly commonArgs;
     54         });
     55     in {
     56       packages = {
     57         default = scores;
     58         inherit scores;
     59       };
     60 
     61       devShells.default = pkgs.mkShell {
     62         nativeBuildInputs = [rustToolchain fenixPkgs.rust-analyzer] ++ baseNativeBuildInputs;
     63         inherit (commonArgs) buildInputs;
     64       };
     65     });
     66 }