X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=flakes%2Fopenarc%2Fflake.nix;h=f4ce653e3de42d612a660c28f10b644e06481731;hb=f4721555d1f15c180504b1363b422f37f2d5b3f0;hp=6110b2d126e70b0a054293c36877ead3371e58f4;hpb=bb9bc238b55d59a62dedb541b1584167a41a2996;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/flakes/openarc/flake.nix b/flakes/openarc/flake.nix index 6110b2d..f4ce653 100644 --- a/flakes/openarc/flake.nix +++ b/flakes/openarc/flake.nix @@ -15,34 +15,14 @@ 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; }; defaultApp = apps.openarc; + hydraJobs = checks; checks = { build = defaultPackage; } // pkgs.lib.optionalAttrs (builtins.elem system pkgs.lib.systems.doubles.linux) { @@ -73,8 +53,13 @@ ''; }; }; - }) // { - hydraJobs.build = nixpkgs.lib.genAttrs flake-utils.lib.defaultSystems (system: self.defaultPackage."${system}"); + }) // rec { + overlays = { + openarc = final: prev: { + openarc = self.defaultPackage."${final.system}"; + }; + }; + overlay = overlays.openarc; nixosModule = { config, lib, pkgs, ... }: let cfg = config.services.openarc; @@ -117,16 +102,19 @@ }; config = lib.mkIf cfg.enable { - users.users.openarc = lib.optionalAttrs (cfg.user == "openarc") { - group = cfg.group; - uid = myuids.lib.uids.openarc; + nixpkgs.overlays = [ self.overlay ]; + users.users = lib.optionalAttrs (cfg.user == "openarc") { + openarc = { + group = cfg.group; + uid = myuids.lib.uids.openarc; + }; }; - users.groups.openarc = lib.optionalAttrs (cfg.group == "openarc") { - gid = myuids.lib.gids.openarc; + users.groups = lib.optionalAttrs (cfg.group == "openarc") { + openarc.gid = myuids.lib.gids.openarc; }; - environment.systemPackages = [ self.defaultPackage."${pkgs.system}" ]; + environment.systemPackages = [ pkgs.openarc ]; systemd.services.openarc = { description = "OpenARC daemon";