summaryrefslogtreecommitdiff
path: root/flake.nix
blob: 9d2502339d136cd229e3ff69aa1d4c406092b5c4 (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
45
46
47
48
49
{
  description = "Quentin Aristote's CV.";

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

  outputs = { self, nixpkgs, flake-utils, data }:
    {
      lib = import ./lib { inherit (nixpkgs) lib; };
    } // flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs {
          inherit system;
          overlays = [
            (self: super: {
              texlive = super.lib.recursiveUpdate super.texlive {
                combined.moderncv = super.texlive.combine {
                  inherit (super.texlive)
                    scheme-basic biber biblatex latexmk luatex luatexbase
                    moderncv fontspec fontawesome5 academicons pgf multirow
                    arydshln emoji;
                };
              };
            })
          ];
        };
      in {
        packages = {
          texlive.combined.moderncv = pkgs.texlive.combined.moderncv;
          cv = import ./default.nix {
            inherit pkgs;
            inherit (self.lib.pp) latex;
            data = data.formatWith."${system}" self.lib.pp.latex;
          };
        };
        defaultPackage = self.packages."${system}".cv.pdf;
        devShell = pkgs.mkShell {
          packages = with pkgs; [ nixfmt texlive.combined.moderncv ];
        };
      });
}