diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 114 |
1 files changed, 54 insertions, 60 deletions
@@ -4,69 +4,63 @@ nixpkgs.url = "github:nix-ocaml/nix-overlays"; }; - outputs = { self, nixpkgs, flake-utils }: - flake-utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages.${system}.appendOverlays [ - (self: super: { - ocamlPackages = super.ocaml-ng.ocamlPackages_5_1.overrideScope' - (oself: osuper: { - pg_query = osuper.pg_query.overrideAttrs (prev: { - propagatedBuildInputs = prev.propagatedBuildInputs - ++ [ osuper.cmdliner ]; - }); + outputs = { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem (system: let + pkgs = nixpkgs.legacyPackages.${system}.appendOverlays [ + (self: super: { + ocamlPackages = + super.ocaml-ng.ocamlPackages_5_1.overrideScope' + (oself: osuper: { + pg_query = osuper.pg_query.overrideAttrs (prev: { + propagatedBuildInputs = + prev.propagatedBuildInputs + ++ [osuper.cmdliner]; }); - }) - ]; - - pkgs' = pkgs.pkgsCross.musl64; - - combattant = pkgs'.ocamlPackages.buildDunePackage { - pname = "combattant"; - version = "0.0.1"; - src = ./.; - buildInputs = with pkgs'.ocamlPackages; [ - ppx_rapper - ppx_rapper_eio - yojson - eio_main - piaf - routes - caqti-driver-postgresql - ppx_expect - - logs - ]; - }; + }); + }) + ]; - in { - devShells.default = pkgs'.mkShell rec { - nativeBuildInputs = with pkgs'.ocamlPackages; [ - dune_3 - findlib - ocaml - ocaml-lsp - ocamlformat - pkgs.openjdk17 - ]; + combattant = pkgs.ocamlPackages.buildDunePackage { + pname = "combattant"; + version = "0.0.1"; + src = ./.; + buildInputs = with pkgs.ocamlPackages; [ + ppx_rapper + ppx_rapper_eio + yojson + eio_main + piaf + routes + caqti-dynload + caqti-driver-postgresql + caqti-driver-sqlite3 + pkgs.sqlite + ppx_expect - buildInputs = combattant.buildInputs - ++ (with pkgs'.ocamlPackages; [ utop ]); - }; - - packages.default = combattant; + logs + ]; + }; + in { + devShells.default = pkgs.mkShell rec { + nativeBuildInputs = with pkgs.ocamlPackages; [ + dune_3 + findlib + ocaml + ocaml-lsp + ocamlformat + pkgs.openjdk17 + pkgs.sqlite + ]; - packages.docker = pkgs.dockerTools.buildImage { - name = "ghcr.io/molvrr/combattant"; - tag = "latest"; - copyToRoot = pkgs.buildEnv { - name = "image-root"; - paths = [ pkgs.bashInteractive pkgs.coreutils pkgs.curl combattant ]; - pathsToLink = [ "/bin" ]; - }; - config = { Cmd = [ "combattant" ]; }; - }; + buildInputs = + combattant.buildInputs + ++ (with pkgs.ocamlPackages; [utop]); + }; - formatter = pkgs.nixfmt; - }); + packages.default = combattant; + }); } |