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