From 56cfbfb0d8534122d1eaf45ef945d8010f831133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Wed, 25 Aug 2021 23:49:34 +0200 Subject: Move packages to flakes --- flakes/backports/flake.nix | 100 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 flakes/backports/flake.nix (limited to 'flakes/backports/flake.nix') diff --git a/flakes/backports/flake.nix b/flakes/backports/flake.nix new file mode 100644 index 0000000..89a9f40 --- /dev/null +++ b/flakes/backports/flake.nix @@ -0,0 +1,100 @@ +{ + description = "Backported packages"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + + outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { inherit system; overlays = []; }; + in rec { + packages = { + apprise = pkgs.apprise; + bitlbee-mastodon = pkgs.bitlbee-mastodon; + cointop = pkgs.cointop; + cryptpad = pkgs.cryptpad; + dovecot_fts-xapian = pkgs.dovecot_fts_xapian; + duply = pkgs.duply; + fiche = pkgs.fiche; + influxdb2 = pkgs.influxdb2; + mpd = pkgs.mpd; + mpd-small = pkgs.mpd-small; + pg_activity = pkgs.pg_activity; + signald = pkgs.signald; + stgit = pkgs.stgit; + telegram-cli = pkgs.telegram-cli; + woob = pkgs.python3Packages.woob; + zrepl = pkgs.zrepl; + }; + legacyPackages = packages; + apps = { + apprise = flake-utils.lib.mkApp { drv = packages.apprise; name = "apprise"; }; + cointop = flake-utils.lib.mkApp { drv = packages.cointop; name = "cointop"; }; + cryptpad = flake-utils.lib.mkApp { drv = packages.cryptpad; name = "cryptpad"; }; + duply = flake-utils.lib.mkApp { drv = packages.duply; name = "duply"; }; + fiche = flake-utils.lib.mkApp { drv = packages.fiche; name = "fiche"; }; + influxd = flake-utils.lib.mkApp { drv = packages.influxdb2; name = "influxd"; }; + influx = flake-utils.lib.mkApp { drv = packages.influxdb2; name = "influx"; }; + mpd = flake-utils.lib.mkApp { drv = packages.mpd; name = "mpd"; }; + mpd-small = flake-utils.lib.mkApp { drv = packages.mpd-small; name = "mpd"; }; + pg_activity = flake-utils.lib.mkApp { drv = packages.pg_activity; name = "pg_activity"; }; + signald = flake-utils.lib.mkApp { drv = packages.signald; name = "signald"; }; + stgit = flake-utils.lib.mkApp { drv = packages.stgit; name = "stgit"; }; + telegram-cli = flake-utils.lib.mkApp { drv = packages.telegram-cli; name = "telegram-cli"; }; + woob = flake-utils.lib.mkApp { drv = packages.woob; name = "woob"; }; + zrepl = flake-utils.lib.mkApp { drv = packages.zrepl; name = "zrepl"; }; + }; + } + ) // rec { + lib = { + overrideDeps = pkgs: package: let + packageDeps = builtins.attrNames package.override.__functionArgs; + in package.override (pkgs.lib.genAttrs packageDeps (n: pkgs."${n}")); + }; + overlays = { + apprise = final: prev: { apprise = self.packages."${final.system}".apprise; }; + bitlbee-mastodon = final: prev: { + bitlbee-mastodon = lib.overrideDeps final self.packages."${final.system}".bitlbee-mastodon; + }; + cointop = final: prev: { cointop = self.packages."${final.system}".cointop; }; + cryptpad = final: prev: { cryptpad = self.packages."${final.system}".cryptpad; }; + dovecot_fts-xapian = final: prev: { + dovecot_fts-xapian = lib.overrideDeps final self.packages."${final.system}".dovecot_fts-xapian; + }; + duply = final: prev: { duply = self.packages."${final.system}".duply; }; + fiche = final: prev: { fiche = self.packages."${final.system}".fiche; }; + influxdb2 = final: prev: { influxdb2 = self.packages."${final.system}".influxdb2; }; + mpd = final: prev: { mpd = self.packages."${final.system}".mpd; }; + pg_activity = final: prev: { pg_activity = self.packages."${final.system}".pg_activity; }; + signald = final: prev: { signald = self.packages."${final.system}".signald; }; + stgit = final: prev: { stgit = self.packages."${final.system}".stgit; }; + telegram-cli = final: prev: { telegram-cli = self.packages."${final.system}".telegram-cli; }; + woob = final: prev: { woob = self.packages."${final.system}".woob; }; + zrepl = final: prev: { zrepl = self.packages."${final.system}".zrepl; }; + }; + overlay = final: prev: ({} + // overlays.apprise final prev + // overlays.bitlbee-mastodon final prev + // overlays.cointop final prev + // overlays.cryptpad final prev + // overlays.dovecot_fts-xapian final prev + // overlays.duply final prev + // overlays.fiche final prev + // overlays.influxdb2 final prev + // overlays.mpd final prev + // overlays.pg_activity final prev + // overlays.signald final prev + // overlays.stgit final prev + // overlays.telegram-cli final prev + // overlays.woob final prev + // overlays.zrepl final prev + ); + + nixosModules = { + influxdb2 = import (nixpkgs + "/nixos/modules/services/databases/influxdb2.nix"); + mpd = import (nixpkgs + "/nixos/modules/services/audio/mpd.nix"); + zrepl = import (nixpkgs + "/nixos/modules/services/backup/zrepl.nix"); + }; + }; +} + -- cgit v1.2.3