X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=flakes%2Fopenarc%2Fflake.nix;h=f4ce653e3de42d612a660c28f10b644e06481731;hb=f4721555d1f15c180504b1363b422f37f2d5b3f0;hp=d313f8eef6d1ad22b630a67ae14573e7b800322b;hpb=238587099b92027ad780053f0f6217ad88b61ad2;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/flakes/openarc/flake.nix b/flakes/openarc/flake.nix index d313f8e..f4ce653 100644 --- a/flakes/openarc/flake.nix +++ b/flakes/openarc/flake.nix @@ -15,30 +15,9 @@ outputs = { self, myuids, openarc, flake-utils, nixpkgs }: flake-utils.lib.eachDefaultSystem (system: let - lock = builtins.fromJSON (builtins.readFile ./flake.lock); pkgs = import nixpkgs { inherit system; overlays = []; }; - inherit (pkgs) stdenv automake autoconf libbsd libtool openssl pkg-config libmilter file; in rec { - packages.openarc = stdenv.mkDerivation rec { - pname = "openarc"; - version = "master-${builtins.substring 0 7 lock.nodes.openarc.locked.rev}"; - src = openarc; - buildInputs = [ automake autoconf libbsd libtool openssl pkg-config libmilter ]; - - configureFlags = [ - "--with-milter=${libmilter}" - ]; - preConfigure = '' - autoreconf --force --install - sed -i -e "s@/usr/bin/file@${file}/bin/file@" ./configure - ''; - meta = { - description = "Open source ARC implementation"; - homepage = "https://github.com/trusteddomainproject/OpenARC"; - platforms = stdenv.lib.platforms.unix; - }; - }; - + packages.openarc = pkgs.callPackage ./. { src = openarc; }; defaultPackage = packages.openarc; legacyPackages.openarc = packages.openarc; apps.openarc = flake-utils.lib.mkApp { drv = packages.openarc; }; @@ -74,8 +53,13 @@ ''; }; }; - }) // { - nixosModules = (if builtins.pathExists ../private/openarc.nix then import ../private/openarc.nix nixpkgs else {}); + }) // rec { + overlays = { + openarc = final: prev: { + openarc = self.defaultPackage."${final.system}"; + }; + }; + overlay = overlays.openarc; nixosModule = { config, lib, pkgs, ... }: let cfg = config.services.openarc; @@ -118,6 +102,7 @@ }; config = lib.mkIf cfg.enable { + nixpkgs.overlays = [ self.overlay ]; users.users = lib.optionalAttrs (cfg.user == "openarc") { openarc = { group = cfg.group; @@ -129,7 +114,7 @@ openarc.gid = myuids.lib.gids.openarc; }; - environment.systemPackages = [ self.defaultPackage."${pkgs.system}" ]; + environment.systemPackages = [ pkgs.openarc ]; systemd.services.openarc = { description = "OpenARC daemon";