]>
Commit | Line | Data |
---|---|---|
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 | ldapvi = pkgs.ldapvi; | |
21 | lego = pkgs.lego; | |
22 | mpd = pkgs.mpd; | |
23 | mpd-small = pkgs.mpd-small; | |
24 | opensmtpd = pkgs.opensmtpd; | |
25 | pass = pkgs.pass; | |
26 | pg_activity = pkgs.pg_activity; | |
27 | signald = pkgs.signald; | |
28 | ssh-to-age = pkgs.ssh-to-age; | |
29 | stgit = pkgs.stgit; | |
30 | sops = pkgs.sops; | |
31 | sudo = pkgs.sudo; | |
32 | telegram-cli = pkgs.telegram-cli; | |
33 | woob = pkgs.python3Packages.woob; | |
34 | zrepl = pkgs.zrepl; | |
35 | }; | |
36 | legacyPackages = packages; | |
37 | apps = { | |
38 | apprise = flake-utils.lib.mkApp { drv = packages.apprise; name = "apprise"; }; | |
39 | cointop = flake-utils.lib.mkApp { drv = packages.cointop; name = "cointop"; }; | |
40 | cryptpad = flake-utils.lib.mkApp { drv = packages.cryptpad; name = "cryptpad"; }; | |
41 | duply = flake-utils.lib.mkApp { drv = packages.duply; name = "duply"; }; | |
42 | fiche = flake-utils.lib.mkApp { drv = packages.fiche; name = "fiche"; }; | |
43 | influxd = flake-utils.lib.mkApp { drv = packages.influxdb2; name = "influxd"; }; | |
44 | influx = flake-utils.lib.mkApp { drv = packages.influxdb2; name = "influx"; }; | |
45 | ldapvi = flake-utils.lib.mkApp { drv = packages.ldapvi; name = "ldapvi"; }; | |
46 | lego = flake-utils.lib.mkApp { drv = packages.lego; name = "lego"; }; | |
47 | mpd = flake-utils.lib.mkApp { drv = packages.mpd; name = "mpd"; }; | |
48 | mpd-small = flake-utils.lib.mkApp { drv = packages.mpd-small; name = "mpd"; }; | |
49 | opensmtpd = flake-utils.lib.mkApp { drv = packages.opensmtpd; name = "opensmtpd"; }; | |
50 | pass = flake-utils.lib.mkApp { drv = packages.pass; name = "pass"; }; | |
51 | pg_activity = flake-utils.lib.mkApp { drv = packages.pg_activity; name = "pg_activity"; }; | |
52 | signald = flake-utils.lib.mkApp { drv = packages.signald; name = "signald"; }; | |
53 | ssh-to-age = flake-utils.lib.mkApp { drv = packages.ssh-to-age; name = "ssh-to-age"; }; | |
54 | stgit = flake-utils.lib.mkApp { drv = packages.stgit; name = "stgit"; }; | |
55 | sops = flake-utils.lib.mkApp { drv = packages.sops; name = "sops"; }; | |
56 | sudo = flake-utils.lib.mkApp { drv = packages.sudo; name = "sudo"; }; | |
57 | telegram-cli = flake-utils.lib.mkApp { drv = packages.telegram-cli; name = "telegram-cli"; }; | |
58 | woob = flake-utils.lib.mkApp { drv = packages.woob; name = "woob"; }; | |
59 | zrepl = flake-utils.lib.mkApp { drv = packages.zrepl; name = "zrepl"; }; | |
60 | }; | |
61 | } | |
62 | ) // rec { | |
63 | lib = { | |
64 | overrideDeps = pkgs: package: let | |
65 | packageDeps = builtins.attrNames package.override.__functionArgs; | |
66 | in package.override (pkgs.lib.genAttrs packageDeps (n: pkgs."${n}")); | |
67 | }; | |
68 | overlays = { | |
69 | apprise = final: prev: { apprise = self.packages."${final.system}".apprise; }; | |
70 | bitlbee-mastodon = final: prev: { | |
71 | bitlbee-mastodon = lib.overrideDeps final self.packages."${final.system}".bitlbee-mastodon; | |
72 | }; | |
73 | cointop = final: prev: { cointop = self.packages."${final.system}".cointop; }; | |
74 | cryptpad = final: prev: { cryptpad = self.packages."${final.system}".cryptpad; }; | |
75 | dovecot_fts-xapian = final: prev: { | |
76 | dovecot_fts-xapian = lib.overrideDeps final self.packages."${final.system}".dovecot_fts-xapian; | |
77 | }; | |
78 | duply = final: prev: { duply = self.packages."${final.system}".duply; }; | |
79 | fiche = final: prev: { fiche = self.packages."${final.system}".fiche; }; | |
80 | influxdb2 = final: prev: { influxdb2 = self.packages."${final.system}".influxdb2; }; | |
81 | ldapvi = final: prev: { ldapvi = self.packages."${final.system}".ldapvi; }; | |
82 | lego = final: prev: { lego = self.packages."${final.system}".lego; }; | |
83 | mpd = final: prev: { mpd = self.packages."${final.system}".mpd; }; | |
84 | opensmtpd = final: prev: { opensmtpd = self.packages."${final.system}".opensmtpd; }; | |
85 | pass = final: prev: { pass = self.packages."${final.system}".pass; }; | |
86 | pg_activity = final: prev: { pg_activity = self.packages."${final.system}".pg_activity; }; | |
87 | signald = final: prev: { signald = self.packages."${final.system}".signald; }; | |
88 | ssh-to-age = final: prev: { ssh-to-age = self.packages."${final.system}".ssh-to-age; }; | |
89 | stgit = final: prev: { stgit = self.packages."${final.system}".stgit; }; | |
90 | sops = final: prev: { sops = self.packages."${final.system}".sops; }; | |
91 | sudo = final: prev: { sudo = self.packages."${final.system}".sudo; }; | |
92 | telegram-cli = final: prev: { telegram-cli = self.packages."${final.system}".telegram-cli; }; | |
93 | woob = final: prev: { woob = self.packages."${final.system}".woob; }; | |
94 | zrepl = final: prev: { zrepl = self.packages."${final.system}".zrepl; }; | |
95 | }; | |
96 | overlay = final: prev: ({} | |
97 | // overlays.apprise final prev | |
98 | // overlays.bitlbee-mastodon final prev | |
99 | // overlays.cointop final prev | |
100 | // overlays.cryptpad final prev | |
101 | // overlays.dovecot_fts-xapian final prev | |
102 | // overlays.duply final prev | |
103 | // overlays.fiche final prev | |
104 | // overlays.influxdb2 final prev | |
105 | // overlays.ldapvi final prev | |
106 | // overlays.lego final prev | |
107 | // overlays.mpd final prev | |
108 | // overlays.opensmtpd final prev | |
109 | // overlays.pass final prev | |
110 | // overlays.pg_activity final prev | |
111 | // overlays.signald final prev | |
112 | // overlays.ssh-to-age final prev | |
113 | // overlays.stgit final prev | |
114 | // overlays.sops final prev | |
115 | // overlays.sudo final prev | |
116 | // overlays.telegram-cli final prev | |
117 | // overlays.woob final prev | |
118 | // overlays.zrepl final prev | |
119 | ); | |
120 | ||
121 | nixosModules = { | |
122 | influxdb2 = import (nixpkgs + "/nixos/modules/services/databases/influxdb2.nix"); | |
123 | mpd = import (nixpkgs + "/nixos/modules/services/audio/mpd.nix"); | |
124 | zrepl = import (nixpkgs + "/nixos/modules/services/backup/zrepl.nix"); | |
125 | }; | |
126 | }; | |
127 | } | |
128 |