aboutsummaryrefslogtreecommitdiff
path: root/flakes
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2021-08-25 23:49:34 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2021-09-30 00:40:56 +0200
commit56cfbfb0d8534122d1eaf45ef945d8010f831133 (patch)
tree2707ea14d154a2d6e20e23b73a5462a7448779d3 /flakes
parent660cb973260f62551294f73e0811b37fc10fd467 (diff)
downloadNix-56cfbfb0d8534122d1eaf45ef945d8010f831133.tar.gz
Nix-56cfbfb0d8534122d1eaf45ef945d8010f831133.tar.zst
Nix-56cfbfb0d8534122d1eaf45ef945d8010f831133.zip
Move packages to flakes
Diffstat (limited to 'flakes')
-rw-r--r--flakes/backports/flake.lock42
-rw-r--r--flakes/backports/flake.nix100
2 files changed, 142 insertions, 0 deletions
diff --git a/flakes/backports/flake.lock b/flakes/backports/flake.lock
new file mode 100644
index 0000000..0a2de64
--- /dev/null
+++ b/flakes/backports/flake.lock
@@ -0,0 +1,42 @@
1{
2 "nodes": {
3 "flake-utils": {
4 "locked": {
5 "lastModified": 1629481132,
6 "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
7 "owner": "numtide",
8 "repo": "flake-utils",
9 "rev": "997f7efcb746a9c140ce1f13c72263189225f482",
10 "type": "github"
11 },
12 "original": {
13 "owner": "numtide",
14 "repo": "flake-utils",
15 "type": "github"
16 }
17 },
18 "nixpkgs": {
19 "locked": {
20 "lastModified": 1629925853,
21 "narHash": "sha256-gK2Q0o3Ov5/xT7XhCPbtfoFQ0Ty1Mu2aeWcNX6+XzjQ=",
22 "owner": "NixOS",
23 "repo": "nixpkgs",
24 "rev": "9e98c9db932a19bbd8fd4d3f879cd94f66270a43",
25 "type": "github"
26 },
27 "original": {
28 "owner": "NixOS",
29 "repo": "nixpkgs",
30 "type": "github"
31 }
32 },
33 "root": {
34 "inputs": {
35 "flake-utils": "flake-utils",
36 "nixpkgs": "nixpkgs"
37 }
38 }
39 },
40 "root": "root",
41 "version": 7
42}
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 @@
1{
2 description = "Backported packages";
3
4 inputs.nixpkgs.url = "github:NixOS/nixpkgs";
5 inputs.flake-utils.url = "github:numtide/flake-utils";
6
7 outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachDefaultSystem (system:
8 let
9 pkgs = import nixpkgs { inherit system; overlays = []; };
10 in rec {
11 packages = {
12 apprise = pkgs.apprise;
13 bitlbee-mastodon = pkgs.bitlbee-mastodon;
14 cointop = pkgs.cointop;
15 cryptpad = pkgs.cryptpad;
16 dovecot_fts-xapian = pkgs.dovecot_fts_xapian;
17 duply = pkgs.duply;
18 fiche = pkgs.fiche;
19 influxdb2 = pkgs.influxdb2;
20 mpd = pkgs.mpd;
21 mpd-small = pkgs.mpd-small;
22 pg_activity = pkgs.pg_activity;
23 signald = pkgs.signald;
24 stgit = pkgs.stgit;
25 telegram-cli = pkgs.telegram-cli;
26 woob = pkgs.python3Packages.woob;
27 zrepl = pkgs.zrepl;
28 };
29 legacyPackages = packages;
30 apps = {
31 apprise = flake-utils.lib.mkApp { drv = packages.apprise; name = "apprise"; };
32 cointop = flake-utils.lib.mkApp { drv = packages.cointop; name = "cointop"; };
33 cryptpad = flake-utils.lib.mkApp { drv = packages.cryptpad; name = "cryptpad"; };
34 duply = flake-utils.lib.mkApp { drv = packages.duply; name = "duply"; };
35 fiche = flake-utils.lib.mkApp { drv = packages.fiche; name = "fiche"; };
36 influxd = flake-utils.lib.mkApp { drv = packages.influxdb2; name = "influxd"; };
37 influx = flake-utils.lib.mkApp { drv = packages.influxdb2; name = "influx"; };
38 mpd = flake-utils.lib.mkApp { drv = packages.mpd; name = "mpd"; };
39 mpd-small = flake-utils.lib.mkApp { drv = packages.mpd-small; name = "mpd"; };
40 pg_activity = flake-utils.lib.mkApp { drv = packages.pg_activity; name = "pg_activity"; };
41 signald = flake-utils.lib.mkApp { drv = packages.signald; name = "signald"; };
42 stgit = flake-utils.lib.mkApp { drv = packages.stgit; name = "stgit"; };
43 telegram-cli = flake-utils.lib.mkApp { drv = packages.telegram-cli; name = "telegram-cli"; };
44 woob = flake-utils.lib.mkApp { drv = packages.woob; name = "woob"; };
45 zrepl = flake-utils.lib.mkApp { drv = packages.zrepl; name = "zrepl"; };
46 };
47 }
48 ) // rec {
49 lib = {
50 overrideDeps = pkgs: package: let
51 packageDeps = builtins.attrNames package.override.__functionArgs;
52 in package.override (pkgs.lib.genAttrs packageDeps (n: pkgs."${n}"));
53 };
54 overlays = {
55 apprise = final: prev: { apprise = self.packages."${final.system}".apprise; };
56 bitlbee-mastodon = final: prev: {
57 bitlbee-mastodon = lib.overrideDeps final self.packages."${final.system}".bitlbee-mastodon;
58 };
59 cointop = final: prev: { cointop = self.packages."${final.system}".cointop; };
60 cryptpad = final: prev: { cryptpad = self.packages."${final.system}".cryptpad; };
61 dovecot_fts-xapian = final: prev: {
62 dovecot_fts-xapian = lib.overrideDeps final self.packages."${final.system}".dovecot_fts-xapian;
63 };
64 duply = final: prev: { duply = self.packages."${final.system}".duply; };
65 fiche = final: prev: { fiche = self.packages."${final.system}".fiche; };
66 influxdb2 = final: prev: { influxdb2 = self.packages."${final.system}".influxdb2; };
67 mpd = final: prev: { mpd = self.packages."${final.system}".mpd; };
68 pg_activity = final: prev: { pg_activity = self.packages."${final.system}".pg_activity; };
69 signald = final: prev: { signald = self.packages."${final.system}".signald; };
70 stgit = final: prev: { stgit = self.packages."${final.system}".stgit; };
71 telegram-cli = final: prev: { telegram-cli = self.packages."${final.system}".telegram-cli; };
72 woob = final: prev: { woob = self.packages."${final.system}".woob; };
73 zrepl = final: prev: { zrepl = self.packages."${final.system}".zrepl; };
74 };
75 overlay = final: prev: ({}
76 // overlays.apprise final prev
77 // overlays.bitlbee-mastodon final prev
78 // overlays.cointop final prev
79 // overlays.cryptpad final prev
80 // overlays.dovecot_fts-xapian final prev
81 // overlays.duply final prev
82 // overlays.fiche final prev
83 // overlays.influxdb2 final prev
84 // overlays.mpd final prev
85 // overlays.pg_activity final prev
86 // overlays.signald final prev
87 // overlays.stgit final prev
88 // overlays.telegram-cli final prev
89 // overlays.woob final prev
90 // overlays.zrepl final prev
91 );
92
93 nixosModules = {
94 influxdb2 = import (nixpkgs + "/nixos/modules/services/databases/influxdb2.nix");
95 mpd = import (nixpkgs + "/nixos/modules/services/audio/mpd.nix");
96 zrepl = import (nixpkgs + "/nixos/modules/services/backup/zrepl.nix");
97 };
98 };
99}
100