aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
blob: aeaec255808d43c6e1ce0d89c8ce95db32699ad1 (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
42
43
# Author: Euxane TRAN-GIRARD
# Licence: EUPL-1.2

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    flake-utils.url = "github:numtide/flake-utils";
    flaky-utils.url = "git+https://cgit.euxane.eu/flaky-utils";
  };

  outputs = { self, nixpkgs, flake-utils, flaky-utils }: let

    mkPackage = pkgs: pkgs.callPackage ./nix/package.nix {
      src = ./.;
      version = self.rev or self.dirtyRev;
    };

  in {

    overlays.default = final: prev: {
      tickwatch = mkPackage final;
    };

    nixosModules = {
      program = import ./nix/program.mod.nix;
      service = import ./nix/service.mod.nix;
    };

  } // flake-utils.lib.eachDefaultSystem (system: let
    pkgs = import nixpkgs { inherit system; };
  in {

    packages = {
      default = self.packages.${system}.tickwatch;
      tickwatch = mkPackage pkgs;
    };

    devShells.default = import ./nix/devshell.nix {
      inherit flaky-utils pkgs;
    };

  });
}