summaryrefslogtreecommitdiff
path: root/flake.nix
blob: 704733edb80ec33841369b935a2125a96bf3f2af (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
44
{
  description = "Source code of Quentin Aristote's personal webpage.";

  inputs = {
    data = {
      url = "github:qaristote/info";
      inputs = {
        nixpkgs.follows = "/nixpkgs";
        flake-utils.follows = "/flake-utils";
      };
    };
    uncss = {
      url = "github:qaristote/uncss";
      inputs = {
        nixpkgs.follows = "/nixpkgs";
        flake-utils.follows = "/flake-utils";
      };
    };
  };

  outputs = { self, nixpkgs, flake-utils, data, uncss }:
    {
      lib = import ./lib { inherit (nixpkgs) lib; };
      overlays.default = final: prev: import ./pkgs { pkgs = final; };
    } // flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs {
          inherit system;
          overlays = [
            self.overlays.default
            (final: prev: { uncss = uncss.packages."${system}".default; })
          ];
        };
      in {
        packages = import ./pkgs { inherit pkgs system; } // {
          webpage = import ./default.nix {
            inherit pkgs;
            inherit (self.lib.pp) html;
            data = data.formatWith."${system}" self.lib.pp.html;
          };
        };
        defaultPackage = self.packages."${system}".webpage;
      });
}