X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=flakes%2Fopenarc%2Fflake.nix;h=6fd45bf6995168223111496ba70577c6c1bccbea;hb=910c2e9eb4996bfa12cd1ef925843403f7d3e154;hp=9bc104dd7b28a39fa9b46625d5d362f72097b05c;hpb=74a10960d8659eaffa8224cee31fcf217c69609f;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/flakes/openarc/flake.nix b/flakes/openarc/flake.nix index 9bc104d..6fd45bf 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,14 +53,18 @@ ''; }; }; - }) // { - hydraJobs.build = nixpkgs.lib.genAttrs flake-utils.lib.defaultSystems (system: self.defaultPackage."${system}"); - nixosModules = (if builtins.pathExists ./private.nix then import ./private.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; - defaultSock = "local:/run/openarc/openarc.sock"; - args = [ "-f" "-p" cfg.socket ] ++ lib.optionals (cfg.configFile != null) [ "-c" cfg.configFile ]; + defaultSock = "/run/openarc/openarc.sock"; + args = [ "-f" "-p" "local:${cfg.socket}" ] ++ lib.optionals (cfg.configFile != null) [ "-c" cfg.configFile ]; in { options = { 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";