diff options
36 files changed, 134 insertions, 728 deletions
diff --git a/modules/naemon/default.nix b/modules/naemon/default.nix index 38e99a9c..976de693 100644 --- a/modules/naemon/default.nix +++ b/modules/naemon/default.nix | |||
@@ -137,18 +137,18 @@ in | |||
137 | } | 137 | } |
138 | ]; | 138 | ]; |
139 | 139 | ||
140 | users.users = optionalAttrs (cfg.user == "naemon") (singleton | 140 | users.users = optionalAttrs (cfg.user == "naemon") { |
141 | { | 141 | naemon = { |
142 | name = "naemon"; | ||
143 | group = cfg.group; | 142 | group = cfg.group; |
144 | uid = config.ids.uids.nagios; | 143 | uid = config.ids.uids.nagios; |
145 | extraGroups = [ "keys" ]; | 144 | extraGroups = [ "keys" ]; |
146 | }); | 145 | }; |
147 | users.groups = optionalAttrs (cfg.user == "naemon") (singleton | 146 | }; |
148 | { | 147 | users.groups = optionalAttrs (cfg.user == "naemon") { |
149 | name = "naemon"; | 148 | naemon = { |
150 | gid = config.ids.gids.nagios; | 149 | gid = config.ids.gids.nagios; |
151 | }); | 150 | }; |
151 | }; | ||
152 | 152 | ||
153 | services.filesWatcher.naemon = { | 153 | services.filesWatcher.naemon = { |
154 | paths = [ config.secrets.fullPaths."naemon/resources.cfg" ]; | 154 | paths = [ config.secrets.fullPaths."naemon/resources.cfg" ]; |
diff --git a/modules/opendmarc.nix b/modules/opendmarc.nix index e18ec82a..6137d100 100644 --- a/modules/opendmarc.nix +++ b/modules/opendmarc.nix | |||
@@ -59,16 +59,18 @@ in { | |||
59 | 59 | ||
60 | config = mkIf cfg.enable { | 60 | config = mkIf cfg.enable { |
61 | 61 | ||
62 | users.users = optionalAttrs (cfg.user == "opendmarc") (singleton | 62 | users.users = optionalAttrs (cfg.user == "opendmarc") { |
63 | { name = "opendmarc"; | 63 | opendmarc = { |
64 | group = cfg.group; | 64 | group = cfg.group; |
65 | uid = config.ids.uids.opendmarc; | 65 | uid = config.ids.uids.opendmarc; |
66 | }); | 66 | }; |
67 | }; | ||
67 | 68 | ||
68 | users.groups = optionalAttrs (cfg.group == "opendmarc") (singleton | 69 | users.groups = optionalAttrs (cfg.group == "opendmarc") { |
69 | { name = "opendmarc"; | 70 | opendmarc = { |
70 | gid = config.ids.gids.opendmarc; | 71 | gid = config.ids.gids.opendmarc; |
71 | }); | 72 | }; |
73 | }; | ||
72 | 74 | ||
73 | environment.systemPackages = [ pkgs.opendmarc ]; | 75 | environment.systemPackages = [ pkgs.opendmarc ]; |
74 | 76 | ||
diff --git a/modules/webapps/diaspora.nix b/modules/webapps/diaspora.nix index 65599b73..d9e9989f 100644 --- a/modules/webapps/diaspora.nix +++ b/modules/webapps/diaspora.nix | |||
@@ -108,19 +108,21 @@ in | |||
108 | }; | 108 | }; |
109 | 109 | ||
110 | config = lib.mkIf cfg.enable { | 110 | config = lib.mkIf cfg.enable { |
111 | users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { | 111 | users.users = lib.optionalAttrs (cfg.user == name) { |
112 | inherit name; | 112 | "${name}" = { |
113 | inherit uid; | 113 | inherit uid; |
114 | group = cfg.group; | 114 | group = cfg.group; |
115 | description = "Diaspora user"; | 115 | description = "Diaspora user"; |
116 | home = cfg.dataDir; | 116 | home = cfg.dataDir; |
117 | packages = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby ]; | 117 | packages = [ cfg.workdir.gems pkgs.nodejs cfg.workdir.gems.ruby ]; |
118 | useDefaultShell = true; | 118 | useDefaultShell = true; |
119 | }); | 119 | }; |
120 | users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { | 120 | }; |
121 | inherit name; | 121 | users.groups = lib.optionalAttrs (cfg.group == name) { |
122 | inherit gid; | 122 | "${name}" = { |
123 | }); | 123 | inherit gid; |
124 | }; | ||
125 | }; | ||
124 | 126 | ||
125 | systemd.services.diaspora = { | 127 | systemd.services.diaspora = { |
126 | description = "Diaspora"; | 128 | description = "Diaspora"; |
diff --git a/modules/webapps/mastodon.nix b/modules/webapps/mastodon.nix index 68531cf3..cd550c0e 100644 --- a/modules/webapps/mastodon.nix +++ b/modules/webapps/mastodon.nix | |||
@@ -96,18 +96,20 @@ in | |||
96 | }; | 96 | }; |
97 | 97 | ||
98 | config = lib.mkIf cfg.enable { | 98 | config = lib.mkIf cfg.enable { |
99 | users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { | 99 | users.users = lib.optionalAttrs (cfg.user == name) { |
100 | inherit name; | 100 | "${name}" = { |
101 | inherit uid; | 101 | inherit uid; |
102 | group = cfg.group; | 102 | group = cfg.group; |
103 | description = "Mastodon user"; | 103 | description = "Mastodon user"; |
104 | home = cfg.dataDir; | 104 | home = cfg.dataDir; |
105 | useDefaultShell = true; | 105 | useDefaultShell = true; |
106 | }); | 106 | }; |
107 | users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { | 107 | }; |
108 | inherit name; | 108 | users.groups = lib.optionalAttrs (cfg.group == name) { |
109 | inherit gid; | 109 | "${name}" = { |
110 | }); | 110 | inherit gid; |
111 | }; | ||
112 | }; | ||
111 | 113 | ||
112 | systemd.services.mastodon-streaming = { | 114 | systemd.services.mastodon-streaming = { |
113 | description = "Mastodon Streaming"; | 115 | description = "Mastodon Streaming"; |
diff --git a/modules/webapps/mediagoblin.nix b/modules/webapps/mediagoblin.nix index 78bbef6f..dbc4c2b1 100644 --- a/modules/webapps/mediagoblin.nix +++ b/modules/webapps/mediagoblin.nix | |||
@@ -151,18 +151,20 @@ in | |||
151 | }; | 151 | }; |
152 | 152 | ||
153 | config = lib.mkIf cfg.enable { | 153 | config = lib.mkIf cfg.enable { |
154 | users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { | 154 | users.users = lib.optionalAttrs (cfg.user == name) { |
155 | inherit name; | 155 | "${name}" = { |
156 | inherit uid; | 156 | inherit uid; |
157 | group = cfg.group; | 157 | group = cfg.group; |
158 | description = "Mediagoblin user"; | 158 | description = "Mediagoblin user"; |
159 | home = cfg.dataDir; | 159 | home = cfg.dataDir; |
160 | useDefaultShell = true; | 160 | useDefaultShell = true; |
161 | }); | 161 | }; |
162 | users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { | 162 | }; |
163 | inherit name; | 163 | users.groups = lib.optionalAttrs (cfg.group == name) { |
164 | inherit gid; | 164 | "${name}" = { |
165 | }); | 165 | inherit gid; |
166 | }; | ||
167 | }; | ||
166 | 168 | ||
167 | systemd.services.mediagoblin-web = { | 169 | systemd.services.mediagoblin-web = { |
168 | description = "Mediagoblin service"; | 170 | description = "Mediagoblin service"; |
diff --git a/modules/webapps/peertube.nix b/modules/webapps/peertube.nix index 89dcc67a..281ff8bc 100644 --- a/modules/webapps/peertube.nix +++ b/modules/webapps/peertube.nix | |||
@@ -53,18 +53,20 @@ in | |||
53 | }; | 53 | }; |
54 | 54 | ||
55 | config = lib.mkIf cfg.enable { | 55 | config = lib.mkIf cfg.enable { |
56 | users.users = lib.optionalAttrs (cfg.user == name) (lib.singleton { | 56 | users.users = lib.optionalAttrs (cfg.user == name) { |
57 | inherit name; | 57 | "${name}" = { |
58 | inherit uid; | 58 | inherit uid; |
59 | group = cfg.group; | 59 | group = cfg.group; |
60 | description = "Peertube user"; | 60 | description = "Peertube user"; |
61 | home = cfg.dataDir; | 61 | home = cfg.dataDir; |
62 | useDefaultShell = true; | 62 | useDefaultShell = true; |
63 | }); | 63 | }; |
64 | users.groups = lib.optionalAttrs (cfg.group == name) (lib.singleton { | 64 | }; |
65 | inherit name; | 65 | users.groups = lib.optionalAttrs (cfg.group == name) { |
66 | inherit gid; | 66 | "${name}" = { |
67 | }); | 67 | inherit gid; |
68 | }; | ||
69 | }; | ||
68 | 70 | ||
69 | systemd.services.peertube = { | 71 | systemd.services.peertube = { |
70 | description = "Peertube"; | 72 | description = "Peertube"; |
diff --git a/modules/websites/httpd-service-builder.nix b/modules/websites/httpd-service-builder.nix index ec79a90c..c5f72f96 100644 --- a/modules/websites/httpd-service-builder.nix +++ b/modules/websites/httpd-service-builder.nix | |||
@@ -470,7 +470,7 @@ in | |||
470 | }; | 470 | }; |
471 | 471 | ||
472 | virtualHosts = mkOption { | 472 | virtualHosts = mkOption { |
473 | type = with types; attrsOf (submodule (import ./vhost-options.nix)); | 473 | type = with types; attrsOf (submodule (import <nixpkgs/nixos/modules/services/web-servers/apache-httpd/vhost-options.nix>)); |
474 | default = { | 474 | default = { |
475 | localhost = { | 475 | localhost = { |
476 | documentRoot = "${pkg}/htdocs"; | 476 | documentRoot = "${pkg}/htdocs"; |
diff --git a/modules/websites/location-options.nix b/modules/websites/location-options.nix deleted file mode 100644 index 8ea88f94..00000000 --- a/modules/websites/location-options.nix +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | { config, lib, name, ... }: | ||
2 | let | ||
3 | inherit (lib) mkOption types; | ||
4 | in | ||
5 | { | ||
6 | options = { | ||
7 | |||
8 | proxyPass = mkOption { | ||
9 | type = with types; nullOr str; | ||
10 | default = null; | ||
11 | example = "http://www.example.org/"; | ||
12 | description = '' | ||
13 | Sets up a simple reverse proxy as described by <link xlink:href="https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html#simple" />. | ||
14 | ''; | ||
15 | }; | ||
16 | |||
17 | index = mkOption { | ||
18 | type = with types; nullOr str; | ||
19 | default = null; | ||
20 | example = "index.php index.html"; | ||
21 | description = '' | ||
22 | Adds DirectoryIndex directive. See <link xlink:href="https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex" />. | ||
23 | ''; | ||
24 | }; | ||
25 | |||
26 | alias = mkOption { | ||
27 | type = with types; nullOr path; | ||
28 | default = null; | ||
29 | example = "/your/alias/directory"; | ||
30 | description = '' | ||
31 | Alias directory for requests. See <link xlink:href="https://httpd.apache.org/docs/2.4/mod/mod_alias.html#alias" />. | ||
32 | ''; | ||
33 | }; | ||
34 | |||
35 | extraConfig = mkOption { | ||
36 | type = types.lines; | ||
37 | default = ""; | ||
38 | description = '' | ||
39 | These lines go to the end of the location verbatim. | ||
40 | ''; | ||
41 | }; | ||
42 | |||
43 | priority = mkOption { | ||
44 | type = types.int; | ||
45 | default = 1000; | ||
46 | description = '' | ||
47 | Order of this location block in relation to the others in the vhost. | ||
48 | The semantics are the same as with `lib.mkOrder`. Smaller values have | ||
49 | a greater priority. | ||
50 | ''; | ||
51 | }; | ||
52 | |||
53 | }; | ||
54 | } | ||
diff --git a/modules/websites/vhost-options.nix b/modules/websites/vhost-options.nix deleted file mode 100644 index 263980ad..00000000 --- a/modules/websites/vhost-options.nix +++ /dev/null | |||
@@ -1,275 +0,0 @@ | |||
1 | { config, lib, name, ... }: | ||
2 | let | ||
3 | inherit (lib) literalExample mkOption nameValuePair types; | ||
4 | in | ||
5 | { | ||
6 | options = { | ||
7 | |||
8 | hostName = mkOption { | ||
9 | type = types.str; | ||
10 | default = name; | ||
11 | description = "Canonical hostname for the server."; | ||
12 | }; | ||
13 | |||
14 | serverAliases = mkOption { | ||
15 | type = types.listOf types.str; | ||
16 | default = []; | ||
17 | example = ["www.example.org" "www.example.org:8080" "example.org"]; | ||
18 | description = '' | ||
19 | Additional names of virtual hosts served by this virtual host configuration. | ||
20 | ''; | ||
21 | }; | ||
22 | |||
23 | listen = mkOption { | ||
24 | type = with types; listOf (submodule ({ | ||
25 | options = { | ||
26 | port = mkOption { | ||
27 | type = types.port; | ||
28 | description = "Port to listen on"; | ||
29 | }; | ||
30 | ip = mkOption { | ||
31 | type = types.str; | ||
32 | default = "*"; | ||
33 | description = "IP to listen on. 0.0.0.0 for IPv4 only, * for all."; | ||
34 | }; | ||
35 | ssl = mkOption { | ||
36 | type = types.bool; | ||
37 | default = false; | ||
38 | description = "Whether to enable SSL (https) support."; | ||
39 | }; | ||
40 | }; | ||
41 | })); | ||
42 | default = []; | ||
43 | example = [ | ||
44 | { ip = "195.154.1.1"; port = 443; ssl = true;} | ||
45 | { ip = "192.154.1.1"; port = 80; } | ||
46 | { ip = "*"; port = 8080; } | ||
47 | ]; | ||
48 | description = '' | ||
49 | Listen addresses and ports for this virtual host. | ||
50 | <note><para> | ||
51 | This option overrides <literal>addSSL</literal>, <literal>forceSSL</literal> and <literal>onlySSL</literal>. | ||
52 | </para></note> | ||
53 | ''; | ||
54 | }; | ||
55 | |||
56 | enableSSL = mkOption { | ||
57 | type = types.bool; | ||
58 | visible = false; | ||
59 | default = false; | ||
60 | }; | ||
61 | |||
62 | addSSL = mkOption { | ||
63 | type = types.bool; | ||
64 | default = false; | ||
65 | description = '' | ||
66 | Whether to enable HTTPS in addition to plain HTTP. This will set defaults for | ||
67 | <literal>listen</literal> to listen on all interfaces on the respective default | ||
68 | ports (80, 443). | ||
69 | ''; | ||
70 | }; | ||
71 | |||
72 | onlySSL = mkOption { | ||
73 | type = types.bool; | ||
74 | default = false; | ||
75 | description = '' | ||
76 | Whether to enable HTTPS and reject plain HTTP connections. This will set | ||
77 | defaults for <literal>listen</literal> to listen on all interfaces on port 443. | ||
78 | ''; | ||
79 | }; | ||
80 | |||
81 | forceSSL = mkOption { | ||
82 | type = types.bool; | ||
83 | default = false; | ||
84 | description = '' | ||
85 | Whether to add a separate nginx server block that permanently redirects (301) | ||
86 | all plain HTTP traffic to HTTPS. This will set defaults for | ||
87 | <literal>listen</literal> to listen on all interfaces on the respective default | ||
88 | ports (80, 443), where the non-SSL listens are used for the redirect vhosts. | ||
89 | ''; | ||
90 | }; | ||
91 | |||
92 | enableACME = mkOption { | ||
93 | type = types.bool; | ||
94 | default = false; | ||
95 | description = '' | ||
96 | Whether to ask Let's Encrypt to sign a certificate for this vhost. | ||
97 | Alternately, you can use an existing certificate through <option>useACMEHost</option>. | ||
98 | ''; | ||
99 | }; | ||
100 | |||
101 | useACMEHost = mkOption { | ||
102 | type = types.nullOr types.str; | ||
103 | default = null; | ||
104 | description = '' | ||
105 | A host of an existing Let's Encrypt certificate to use. | ||
106 | This is useful if you have many subdomains and want to avoid hitting the | ||
107 | <link xlink:href="https://letsencrypt.org/docs/rate-limits/">rate limit</link>. | ||
108 | Alternately, you can generate a certificate through <option>enableACME</option>. | ||
109 | <emphasis>Note that this option does not create any certificates, nor it does add subdomains to existing ones – you will need to create them manually using <xref linkend="opt-security.acme.certs"/>.</emphasis> | ||
110 | ''; | ||
111 | }; | ||
112 | |||
113 | acmeRoot = mkOption { | ||
114 | type = types.str; | ||
115 | default = "/var/lib/acme/acme-challenges"; | ||
116 | description = "Directory for the acme challenge which is PUBLIC, don't put certs or keys in here"; | ||
117 | }; | ||
118 | |||
119 | sslServerCert = mkOption { | ||
120 | type = types.path; | ||
121 | example = "/var/host.cert"; | ||
122 | description = "Path to server SSL certificate."; | ||
123 | }; | ||
124 | |||
125 | sslServerKey = mkOption { | ||
126 | type = types.path; | ||
127 | example = "/var/host.key"; | ||
128 | description = "Path to server SSL certificate key."; | ||
129 | }; | ||
130 | |||
131 | sslServerChain = mkOption { | ||
132 | type = types.nullOr types.path; | ||
133 | default = null; | ||
134 | example = "/var/ca.pem"; | ||
135 | description = "Path to server SSL chain file."; | ||
136 | }; | ||
137 | |||
138 | http2 = mkOption { | ||
139 | type = types.bool; | ||
140 | default = false; | ||
141 | description = '' | ||
142 | Whether to enable HTTP 2. HTTP/2 is supported in all multi-processing modules that come with httpd. <emphasis>However, if you use the prefork mpm, there will | ||
143 | be severe restrictions.</emphasis> Refer to <link xlink:href="https://httpd.apache.org/docs/2.4/howto/http2.html#mpm-config"/> for details. | ||
144 | ''; | ||
145 | }; | ||
146 | |||
147 | adminAddr = mkOption { | ||
148 | type = types.nullOr types.str; | ||
149 | default = null; | ||
150 | example = "admin@example.org"; | ||
151 | description = "E-mail address of the server administrator."; | ||
152 | }; | ||
153 | |||
154 | documentRoot = mkOption { | ||
155 | type = types.nullOr types.path; | ||
156 | default = null; | ||
157 | example = "/data/webserver/docs"; | ||
158 | description = '' | ||
159 | The path of Apache's document root directory. If left undefined, | ||
160 | an empty directory in the Nix store will be used as root. | ||
161 | ''; | ||
162 | }; | ||
163 | |||
164 | servedDirs = mkOption { | ||
165 | type = types.listOf types.attrs; | ||
166 | default = []; | ||
167 | example = [ | ||
168 | { urlPath = "/nix"; | ||
169 | dir = "/home/eelco/Dev/nix-homepage"; | ||
170 | } | ||
171 | ]; | ||
172 | description = '' | ||
173 | This option provides a simple way to serve static directories. | ||
174 | ''; | ||
175 | }; | ||
176 | |||
177 | servedFiles = mkOption { | ||
178 | type = types.listOf types.attrs; | ||
179 | default = []; | ||
180 | example = [ | ||
181 | { urlPath = "/foo/bar.png"; | ||
182 | file = "/home/eelco/some-file.png"; | ||
183 | } | ||
184 | ]; | ||
185 | description = '' | ||
186 | This option provides a simple way to serve individual, static files. | ||
187 | |||
188 | <note><para> | ||
189 | This option has been deprecated and will be removed in a future | ||
190 | version of NixOS. You can achieve the same result by making use of | ||
191 | the <literal>locations.<name>.alias</literal> option. | ||
192 | </para></note> | ||
193 | ''; | ||
194 | }; | ||
195 | |||
196 | extraConfig = mkOption { | ||
197 | type = types.lines; | ||
198 | default = ""; | ||
199 | example = '' | ||
200 | <Directory /home> | ||
201 | Options FollowSymlinks | ||
202 | AllowOverride All | ||
203 | </Directory> | ||
204 | ''; | ||
205 | description = '' | ||
206 | These lines go to httpd.conf verbatim. They will go after | ||
207 | directories and directory aliases defined by default. | ||
208 | ''; | ||
209 | }; | ||
210 | |||
211 | enableUserDir = mkOption { | ||
212 | type = types.bool; | ||
213 | default = false; | ||
214 | description = '' | ||
215 | Whether to enable serving <filename>~/public_html</filename> as | ||
216 | <literal>/~<replaceable>username</replaceable></literal>. | ||
217 | ''; | ||
218 | }; | ||
219 | |||
220 | globalRedirect = mkOption { | ||
221 | type = types.nullOr types.str; | ||
222 | default = null; | ||
223 | example = http://newserver.example.org/; | ||
224 | description = '' | ||
225 | If set, all requests for this host are redirected permanently to | ||
226 | the given URL. | ||
227 | ''; | ||
228 | }; | ||
229 | |||
230 | logFormat = mkOption { | ||
231 | type = types.str; | ||
232 | default = "common"; | ||
233 | example = "combined"; | ||
234 | description = '' | ||
235 | Log format for Apache's log files. Possible values are: combined, common, referer, agent. | ||
236 | ''; | ||
237 | }; | ||
238 | |||
239 | robotsEntries = mkOption { | ||
240 | type = types.lines; | ||
241 | default = ""; | ||
242 | example = "Disallow: /foo/"; | ||
243 | description = '' | ||
244 | Specification of pages to be ignored by web crawlers. See <link | ||
245 | xlink:href='http://www.robotstxt.org/'/> for details. | ||
246 | ''; | ||
247 | }; | ||
248 | |||
249 | locations = mkOption { | ||
250 | type = with types; attrsOf (submodule (import ./location-options.nix)); | ||
251 | default = {}; | ||
252 | example = literalExample '' | ||
253 | { | ||
254 | "/" = { | ||
255 | proxyPass = "http://localhost:3000"; | ||
256 | }; | ||
257 | "/foo/bar.png" = { | ||
258 | alias = "/home/eelco/some-file.png"; | ||
259 | }; | ||
260 | }; | ||
261 | ''; | ||
262 | description = '' | ||
263 | Declarative location config. See <link | ||
264 | xlink:href="https://httpd.apache.org/docs/2.4/mod/core.html#location"/> for details. | ||
265 | ''; | ||
266 | }; | ||
267 | |||
268 | }; | ||
269 | |||
270 | config = { | ||
271 | |||
272 | locations = builtins.listToAttrs (map (elem: nameValuePair elem.urlPath { alias = elem.file; }) config.servedFiles); | ||
273 | |||
274 | }; | ||
275 | } | ||
diff --git a/nix/sources.json b/nix/sources.json index 7c306c9e..09c44558 100644 --- a/nix/sources.json +++ b/nix/sources.json | |||
@@ -18,27 +18,27 @@ | |||
18 | "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" | 18 | "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" |
19 | }, | 19 | }, |
20 | "nixpkgs": { | 20 | "nixpkgs": { |
21 | "branch": "nixos-19.03", | 21 | "branch": "nixos-unstable", |
22 | "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to", | 22 | "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to", |
23 | "homepage": "https://github.com/NixOS/nixpkgs", | 23 | "homepage": "https://github.com/NixOS/nixpkgs", |
24 | "owner": "NixOS", | 24 | "owner": "NixOS", |
25 | "repo": "nixpkgs-channels", | 25 | "repo": "nixpkgs-channels", |
26 | "rev": "34c7eb7545d155cc5b6f499b23a7cb1c96ab4d59", | 26 | "rev": "ae6bdcc53584aaf20211ce1814bea97ece08a248", |
27 | "sha256": "11z6ajj108fy2q5g8y4higlcaqncrbjm3dnv17pvif6avagw4mcb", | 27 | "sha256": "0hjhznns1cxgl3hww2d5si6vhy36pnm53hms9h338v6r633dcy77", |
28 | "type": "tarball", | 28 | "type": "tarball", |
29 | "url": "https://github.com/NixOS/nixpkgs-channels/archive/34c7eb7545d155cc5b6f499b23a7cb1c96ab4d59.tar.gz", | 29 | "url": "https://github.com/NixOS/nixpkgs-channels/archive/ae6bdcc53584aaf20211ce1814bea97ece08a248.tar.gz", |
30 | "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" | 30 | "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" |
31 | }, | 31 | }, |
32 | "nixpkgs-nixops": { | 32 | "nixpkgs-nixops": { |
33 | "branch": "nixos-19.09", | 33 | "branch": "nixos-unstable", |
34 | "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to", | 34 | "description": "A read-only mirror of NixOS/nixpkgs tracking the released channels. Send issues and PRs to", |
35 | "homepage": "https://github.com/NixOS/nixpkgs", | 35 | "homepage": "https://github.com/NixOS/nixpkgs", |
36 | "owner": "NixOS", | 36 | "owner": "NixOS", |
37 | "repo": "nixpkgs-channels", | 37 | "repo": "nixpkgs-channels", |
38 | "rev": "856dbd1a5c7fd826cf3668ff12a7389be0686f41", | 38 | "rev": "ae6bdcc53584aaf20211ce1814bea97ece08a248", |
39 | "sha256": "1d895i1lc25d2akniaqg2n1jrg2rcd1gih8rpmhyrlv4lpggfmsx", | 39 | "sha256": "0hjhznns1cxgl3hww2d5si6vhy36pnm53hms9h338v6r633dcy77", |
40 | "type": "tarball", | 40 | "type": "tarball", |
41 | "url": "https://github.com/NixOS/nixpkgs-channels/archive/856dbd1a5c7fd826cf3668ff12a7389be0686f41.tar.gz", | 41 | "url": "https://github.com/NixOS/nixpkgs-channels/archive/ae6bdcc53584aaf20211ce1814bea97ece08a248.tar.gz", |
42 | "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" | 42 | "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz" |
43 | }, | 43 | }, |
44 | "nixpkgs-nixops-next": { | 44 | "nixpkgs-nixops-next": { |
diff --git a/overlays/bonfire/default.nix b/overlays/bonfire/default.nix new file mode 100644 index 00000000..68bde20f --- /dev/null +++ b/overlays/bonfire/default.nix | |||
@@ -0,0 +1,24 @@ | |||
1 | self: super: { | ||
2 | bonfire = let | ||
3 | click = self.python3Packages.click.overridePythonAttrs(old: rec { | ||
4 | version = "6.7"; | ||
5 | src = self.python3Packages.fetchPypi { | ||
6 | pname = "click"; | ||
7 | inherit version; | ||
8 | sha256 = "02qkfpykbq35id8glfgwc38yc430427yd05z1wc5cnld8zgicmgi"; | ||
9 | }; | ||
10 | }); | ||
11 | in | ||
12 | super.bonfire.overridePythonAttrs(old: { | ||
13 | version = "0.0.8"; | ||
14 | src = self.fetchFromGitHub { | ||
15 | owner = "blue-yonder"; | ||
16 | repo = "bonfire"; | ||
17 | rev = "0a0f18469d484aba6871fa7421bbb2c00ccefcb0"; | ||
18 | sha256 = "1y2r537ibghhmk6jngw0zwvh1vn2bihqcvji50ffh1j0qc6q3x6x"; | ||
19 | }; | ||
20 | postPatch = ""; | ||
21 | propagatedBuildInputs = self.lib.remove self.python3Packages.click old.propagatedBuildInputs ++ [ click ]; | ||
22 | meta.broken = false; | ||
23 | }); | ||
24 | } | ||
diff --git a/overlays/databases/mysql/default.nix b/overlays/databases/mysql/default.nix index 797332bb..24bad1b6 100644 --- a/overlays/databases/mysql/default.nix +++ b/overlays/databases/mysql/default.nix | |||
@@ -3,16 +3,5 @@ self: super: rec { | |||
3 | mariadbPAM = super.mariadb.overrideAttrs(old: { | 3 | mariadbPAM = super.mariadb.overrideAttrs(old: { |
4 | cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ]; | 4 | cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ]; |
5 | buildInputs = old.buildInputs ++ [ self.pam ]; | 5 | buildInputs = old.buildInputs ++ [ self.pam ]; |
6 | postInstall = old.postInstall + '' | ||
7 | # FIXME: hack because mariadb cannot find dialog.so | ||
8 | # fixed in 20.03: https://github.com/NixOS/nixpkgs/pull/80768 | ||
9 | ln -s /nix $out/nix | ||
10 | cp "$dev"/lib/mysql/plugin/{caching_sha2_password.so,dialog.so,mysql_clear_password.so,sha256_password.so} "$out"/lib/mysql/plugin | ||
11 | ''; | ||
12 | }) // (with super.mariadb; { | ||
13 | inherit client; | ||
14 | servier = super.mariadb; | ||
15 | inherit connector-c; | ||
16 | inherit galera; | ||
17 | }); | 6 | }); |
18 | } | 7 | } |
diff --git a/overlays/default.nix b/overlays/default.nix index b488fd73..881083dd 100644 --- a/overlays/default.nix +++ b/overlays/default.nix | |||
@@ -4,6 +4,7 @@ | |||
4 | 4 | ||
5 | bitlbee = import ./bitlbee; | 5 | bitlbee = import ./bitlbee; |
6 | bitlbee-discord = import ./bitlbee-discord; | 6 | bitlbee-discord = import ./bitlbee-discord; |
7 | bonfire = import ./bonfire; | ||
7 | bundix = import ./bundix; | 8 | bundix = import ./bundix; |
8 | dwm = import ./dwm; | 9 | dwm = import ./dwm; |
9 | elinks = import ./elinks; | 10 | elinks = import ./elinks; |
@@ -13,24 +14,20 @@ | |||
13 | ldapvi = import ./ldapvi; | 14 | ldapvi = import ./ldapvi; |
14 | lesspipe = import ./lesspipe; | 15 | lesspipe = import ./lesspipe; |
15 | mysql = import ./databases/mysql; | 16 | mysql = import ./databases/mysql; |
16 | neomutt = import ./neomutt; | ||
17 | nixops = import ./nixops; | 17 | nixops = import ./nixops; |
18 | pass = import ./pass; | 18 | pass = import ./pass; |
19 | pelican = import ./pelican; | 19 | pelican = import ./pelican; |
20 | postgresql = import ./databases/postgresql; | 20 | postgresql = import ./databases/postgresql; |
21 | profanity = import ./profanity; | ||
22 | s6 = import ./s6; | 21 | s6 = import ./s6; |
23 | sc-im = import ./sc-im; | 22 | sc-im = import ./sc-im; |
24 | shaarli = import ./shaarli; | 23 | shaarli = import ./shaarli; |
25 | slrn = import ./slrn; | 24 | slrn = import ./slrn; |
26 | taskwarrior = import ./taskwarrior; | 25 | taskwarrior = import ./taskwarrior; |
27 | vcsh = import ./vcsh; | 26 | vcsh = import ./vcsh; |
28 | vit = import ./vit; | ||
29 | weboob = import ./weboob; | 27 | weboob = import ./weboob; |
30 | weechat = import ./weechat; | 28 | weechat = import ./weechat; |
31 | ympd = import ./ympd; | 29 | ympd = import ./ympd; |
32 | doing = import ./doing; | 30 | doing = import ./doing; |
33 | xmr-stak = import ./xmr-stak; | 31 | xmr-stak = import ./xmr-stak; |
34 | simp_le = import ./simp_le; | ||
35 | } | 32 | } |
36 | // import ./python-packages | 33 | // import ./python-packages |
diff --git a/overlays/neomutt/commands.patch b/overlays/neomutt/commands.patch deleted file mode 100644 index 6c910cfb..00000000 --- a/overlays/neomutt/commands.patch +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | commit 763056828abe9716c4dfce754a47d8ecdefb3029 | ||
2 | Author: Ismaël Bouya <ismael.bouya@normalesup.org> | ||
3 | Date: Mon Feb 10 16:13:33 2020 +0100 | ||
4 | |||
5 | Fix commands that don’t need to have a non-empty mailbox to be valid | ||
6 | |||
7 | Some commands act on the whole mailbox (tag-pattern, delete-pattern, | ||
8 | search), and even though they don’t do anything when the mailbox is | ||
9 | empty, there is no reason to fail when it happens. This commit removes | ||
10 | the check that the mailbox is non-empty before doing said actions. | ||
11 | |||
12 | diff --git a/index.c b/index.c | ||
13 | index 0f4b9f99f..0adfc19f1 100644 | ||
14 | --- a/index.c | ||
15 | +++ b/index.c | ||
16 | @@ -1642,7 +1642,7 @@ int mutt_index_menu(struct MuttWindow *dlg) | ||
17 | case OP_JUMP: | ||
18 | { | ||
19 | int msg_num = 0; | ||
20 | - if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) | ||
21 | + if (!prereq(Context, menu, CHECK_IN_MAILBOX)) | ||
22 | break; | ||
23 | if (isdigit(LastKey)) | ||
24 | mutt_unget_event(LastKey, 0); | ||
25 | @@ -1687,7 +1687,7 @@ int mutt_index_menu(struct MuttWindow *dlg) | ||
26 | |||
27 | case OP_MAIN_DELETE_PATTERN: | ||
28 | if (!prereq(Context, menu, | ||
29 | - CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE | CHECK_READONLY | CHECK_ATTACH)) | ||
30 | + CHECK_IN_MAILBOX | CHECK_READONLY | CHECK_ATTACH)) | ||
31 | { | ||
32 | break; | ||
33 | } | ||
34 | @@ -1852,12 +1852,17 @@ int mutt_index_menu(struct MuttWindow *dlg) | ||
35 | menu->redraw = REDRAW_FULL; | ||
36 | break; | ||
37 | |||
38 | - case OP_SEARCH: | ||
39 | + // Initiating a search can happen on an empty mailbox, but | ||
40 | + // searching for next/previous/... needs to be on a message and | ||
41 | + // thus a non-empty mailbox | ||
42 | case OP_SEARCH_REVERSE: | ||
43 | case OP_SEARCH_NEXT: | ||
44 | case OP_SEARCH_OPPOSITE: | ||
45 | if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) | ||
46 | break; | ||
47 | + case OP_SEARCH: | ||
48 | + if (!prereq(Context, menu, CHECK_IN_MAILBOX)) | ||
49 | + break; | ||
50 | menu->current = mutt_search_command(menu->current, op); | ||
51 | if (menu->current == -1) | ||
52 | menu->current = menu->oldcurrent; | ||
53 | @@ -1926,14 +1931,14 @@ int mutt_index_menu(struct MuttWindow *dlg) | ||
54 | } | ||
55 | |||
56 | case OP_MAIN_TAG_PATTERN: | ||
57 | - if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) | ||
58 | + if (!prereq(Context, menu, CHECK_IN_MAILBOX)) | ||
59 | break; | ||
60 | mutt_pattern_func(MUTT_TAG, _("Tag messages matching: ")); | ||
61 | menu->redraw |= REDRAW_INDEX | REDRAW_STATUS; | ||
62 | break; | ||
63 | |||
64 | case OP_MAIN_UNDELETE_PATTERN: | ||
65 | - if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE | CHECK_READONLY)) | ||
66 | + if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_READONLY)) | ||
67 | break; | ||
68 | /* L10N: CHECK_ACL */ | ||
69 | /* L10N: Due to the implementation details we do not know whether we | ||
70 | @@ -1950,7 +1955,7 @@ int mutt_index_menu(struct MuttWindow *dlg) | ||
71 | break; | ||
72 | |||
73 | case OP_MAIN_UNTAG_PATTERN: | ||
74 | - if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) | ||
75 | + if (!prereq(Context, menu, CHECK_IN_MAILBOX)) | ||
76 | break; | ||
77 | if (mutt_pattern_func(MUTT_UNTAG, _("Untag messages matching: ")) == 0) | ||
78 | menu->redraw |= REDRAW_INDEX | REDRAW_STATUS; | ||
79 | @@ -3189,7 +3194,7 @@ int mutt_index_menu(struct MuttWindow *dlg) | ||
80 | } | ||
81 | |||
82 | case OP_MAIN_COLLAPSE_ALL: | ||
83 | - if (!prereq(Context, menu, CHECK_IN_MAILBOX | CHECK_MSGCOUNT | CHECK_VISIBLE)) | ||
84 | + if (!prereq(Context, menu, CHECK_IN_MAILBOX)) | ||
85 | break; | ||
86 | |||
87 | if ((C_Sort & SORT_MASK) != SORT_THREADS) | ||
diff --git a/overlays/neomutt/default.nix b/overlays/neomutt/default.nix deleted file mode 100644 index 0b237342..00000000 --- a/overlays/neomutt/default.nix +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | self: super: { | ||
2 | neomutt = super.neomutt.overrideAttrs (old: | ||
3 | rec { | ||
4 | name = "neomutt-${version}"; | ||
5 | version = "20191207"; | ||
6 | src = self.fetchFromGitHub { | ||
7 | owner = "neomutt"; | ||
8 | repo = "neomutt"; | ||
9 | rev = version; | ||
10 | sha256 = "16xr7wdmjw0i72xbnyyh098wx4cr0m8w2cr1szdi1b14p4kpgr67"; | ||
11 | }; | ||
12 | patches = old.patches or [] ++ [ ./commands.patch ]; | ||
13 | buildInputs = old.buildInputs ++ [ self.gdbm ]; | ||
14 | configureFlags = old.configureFlags ++ [ "--gdbm" ]; | ||
15 | doCheck = false; | ||
16 | } | ||
17 | ); | ||
18 | } | ||
diff --git a/overlays/pelican/default.nix b/overlays/pelican/default.nix index 5a487aa6..4f8aece9 100644 --- a/overlays/pelican/default.nix +++ b/overlays/pelican/default.nix | |||
@@ -1,6 +1,7 @@ | |||
1 | self: super: { | 1 | self: super: { |
2 | pelican = with self.python3Packages; | 2 | pelican = with self.python3Packages; |
3 | pelican.overrideAttrs(old: self.mylibs.fetchedGithub ./pelican.json // { | 3 | pelican.overrideAttrs(old: { |
4 | propagatedBuildInputs = old.propagatedBuildInputs ++ [ pyyaml markdown ]; | 4 | propagatedBuildInputs = old.propagatedBuildInputs ++ [ pyyaml markdown ]; |
5 | doInstallCheck = false; | ||
5 | }); | 6 | }); |
6 | } | 7 | } |
diff --git a/overlays/pelican/pelican.json b/overlays/pelican/pelican.json deleted file mode 100644 index d8f4425e..00000000 --- a/overlays/pelican/pelican.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "4.0.1", | ||
3 | "meta": { | ||
4 | "name": "pelican", | ||
5 | "url": "https://github.com/getpelican/pelican", | ||
6 | "branch": "refs/tags/4.0.1" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "getpelican", | ||
10 | "repo": "pelican", | ||
11 | "rev": "24d6efa9fda4ad45649ddf88c1c596193d589bf8", | ||
12 | "sha256": "09fcwnnfln0cl5v0qpxzrllj27znrg6dbhaksxrl0192c3mbyjvl", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/overlays/profanity/default.nix b/overlays/profanity/default.nix deleted file mode 100644 index 64fae490..00000000 --- a/overlays/profanity/default.nix +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | self: super: { | ||
2 | profanity = (super.profanity.override { | ||
3 | notifySupport = true; | ||
4 | inherit (self) libnotify gpgme gdk_pixbuf; | ||
5 | python = self.python3; | ||
6 | }).overrideAttrs (old: rec { | ||
7 | version = "0.7.1"; | ||
8 | pname = "profanity"; | ||
9 | name = "profanity-0.7.1"; | ||
10 | src = self.fetchFromGitHub { | ||
11 | owner = "profanity-im"; | ||
12 | repo = "profanity"; | ||
13 | rev = version; | ||
14 | sha256 = "1mcgr86wqyzqx7mqxfkk2jwx6cgnvrky3zi4v1ww0lh6j05wj9gf"; | ||
15 | }; | ||
16 | patches = builtins.tail old.patches; | ||
17 | buildInputs = old.buildInputs ++ [ self.libsignal-protocol-c self.libgcrypt ]; | ||
18 | configureFlags = old.configureFlags ++ [ "--enable-plugins" "--enable-omemo" ]; | ||
19 | }); | ||
20 | } | ||
diff --git a/overlays/simp_le/default.nix b/overlays/simp_le/default.nix deleted file mode 100644 index 76891eda..00000000 --- a/overlays/simp_le/default.nix +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | self: super: { | ||
2 | simp_le = self.simp_le_0_17; | ||
3 | } | ||
diff --git a/overlays/vit/default.nix b/overlays/vit/default.nix deleted file mode 100644 index 46242840..00000000 --- a/overlays/vit/default.nix +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | self: super: | ||
2 | { | ||
3 | vit = (super.vit.override { inherit (self) taskwarrior; }).overrideAttrs (old: | ||
4 | self.mylibs.fetchedGithub ./vit.json // { | ||
5 | buildInputs = old.buildInputs ++ (with self.perlPackages; [ TryTiny TextCharWidth ]); | ||
6 | } | ||
7 | ); | ||
8 | } | ||
diff --git a/overlays/vit/vit.json b/overlays/vit/vit.json deleted file mode 100644 index d062f685..00000000 --- a/overlays/vit/vit.json +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | { | ||
2 | "tag": "dbacada-1.3", | ||
3 | "meta": { | ||
4 | "name": "vit", | ||
5 | "url": "https://github.com/scottkosty/vit", | ||
6 | "branch": "1.3" | ||
7 | }, | ||
8 | "github": { | ||
9 | "owner": "scottkosty", | ||
10 | "repo": "vit", | ||
11 | "rev": "dbacada5867b238fdf35dbf00a3ca0daf7703038", | ||
12 | "sha256": "1wlk62cv6dc0dqv8265xcx2l7ydzg40xf6l4qbrf6h5156ncc90l", | ||
13 | "fetchSubmodules": true | ||
14 | } | ||
15 | } | ||
diff --git a/overlays/weechat/default.nix b/overlays/weechat/default.nix index 17faa0ec..e8cc792f 100644 --- a/overlays/weechat/default.nix +++ b/overlays/weechat/default.nix | |||
@@ -2,9 +2,7 @@ self: super: { | |||
2 | weechat = super.weechat.override { | 2 | weechat = super.weechat.override { |
3 | configure = { availablePlugins, ... }: { | 3 | configure = { availablePlugins, ... }: { |
4 | plugins = with self; with availablePlugins; [ | 4 | plugins = with self; with availablePlugins; [ |
5 | # Make sure websocket_client is not 0.55.0, it provokes | 5 | (python.withPackages (ps: with ps; [websocket_client emoji])) |
6 | # regular crashes | ||
7 | (python.withPackages (ps: with ps; assert websocket_client.version == "0.54.0"; [websocket_client emoji])) | ||
8 | perl | 6 | perl |
9 | ruby | 7 | ruby |
10 | ]; | 8 | ]; |
diff --git a/pkgs/crypto/cardano-cli/default.nix b/pkgs/crypto/cardano-cli/default.nix index 4bd18d94..3cd5a4cc 100644 --- a/pkgs/crypto/cardano-cli/default.nix +++ b/pkgs/crypto/cardano-cli/default.nix | |||
@@ -11,6 +11,6 @@ rustPlatform.buildRustPackage rec { | |||
11 | fetchSubmodules = true; | 11 | fetchSubmodules = true; |
12 | }; | 12 | }; |
13 | 13 | ||
14 | cargoSha256 = "1jra0635inm95xp7vg8l7s7ybijcy28956cd6jl8qw2p8bw0z1p3"; | 14 | cargoSha256 = "0j68dsqahvgpa9ms62149530lbfa55lmpd56rgdxkrh2z32lshs8"; |
15 | verifyCargoDeps = true; | 15 | verifyCargoDeps = true; |
16 | } | 16 | } |
diff --git a/pkgs/crypto/iota-cli-app/default.nix b/pkgs/crypto/iota-cli-app/default.nix index 1a9d3ed7..17d7714b 100644 --- a/pkgs/crypto/iota-cli-app/default.nix +++ b/pkgs/crypto/iota-cli-app/default.nix | |||
@@ -1,6 +1,6 @@ | |||
1 | { stdenv, mylibs, fetchurl, fetchgit, callPackage, nodePackages, nodejs-8_x }: | 1 | { stdenv, mylibs, fetchurl, fetchgit, callPackage, nodePackages, nodejs-10_x }: |
2 | let | 2 | let |
3 | nodeEnv = callPackage mylibs.nodeEnv { nodejs = nodejs-8_x; }; | 3 | nodeEnv = callPackage mylibs.nodeEnv { nodejs = nodejs-10_x; }; |
4 | # built using node2nix -8 -l package-lock.json | 4 | # built using node2nix -8 -l package-lock.json |
5 | # and changing "./." to "src" | 5 | # and changing "./." to "src" |
6 | packageEnv = import ./node-packages.nix { | 6 | packageEnv = import ./node-packages.nix { |
diff --git a/pkgs/mtop/default.nix b/pkgs/mtop/default.nix index 4a894303..3f6b6bc8 100644 --- a/pkgs/mtop/default.nix +++ b/pkgs/mtop/default.nix | |||
@@ -1,6 +1,6 @@ | |||
1 | { buildPerlPackage, fetchurl, perlPackages, lib }: | 1 | { buildPerlPackage, fetchurl, perlPackages, lib }: |
2 | buildPerlPackage rec { | 2 | buildPerlPackage rec { |
3 | name = "mtop-${version}"; | 3 | pname = "mtop"; |
4 | version = "0.6.6"; | 4 | version = "0.6.6"; |
5 | src = fetchurl { | 5 | src = fetchurl { |
6 | url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz"; | 6 | url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz"; |
diff --git a/pkgs/note/default.nix b/pkgs/note/default.nix index 0c422bcc..d5fcccd7 100644 --- a/pkgs/note/default.nix +++ b/pkgs/note/default.nix | |||
@@ -1,8 +1,9 @@ | |||
1 | { lib, buildPerlPackage, fetchurl, perlPackages }: | 1 | { lib, buildPerlPackage, fetchurl, perlPackages }: |
2 | buildPerlPackage rec { | 2 | buildPerlPackage rec { |
3 | name = "note-1.3.26"; | 3 | pname = "note"; |
4 | version = "1.3.26"; | ||
4 | src = fetchurl { | 5 | src = fetchurl { |
5 | url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz"; | 6 | url = "mirror://cpan/authors/id/T/TL/TLINDEN/${pname}-${version}.tar.gz"; |
6 | sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq"; | 7 | sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq"; |
7 | }; | 8 | }; |
8 | outputs = ["out" "man"]; | 9 | outputs = ["out" "man"]; |
diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix index e5087e4a..dc6104e4 100644 --- a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix +++ b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix | |||
@@ -1,4 +1,4 @@ | |||
1 | { mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, python2, fetchurl, jq, yarn, nodejs }: | 1 | { mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, fetchurl, jq, yarn, nodejs }: |
2 | let | 2 | let |
3 | buildslist_src = mylibs.fetchedGit ./buildslist.json; | 3 | buildslist_src = mylibs.fetchedGit ./buildslist.json; |
4 | packagejson = runCommand "package.json" { buildInputs = [ jq ]; } '' | 4 | packagejson = runCommand "package.json" { buildInputs = [ jq ]; } '' |
@@ -6,7 +6,7 @@ let | |||
6 | ''; | 6 | ''; |
7 | nodeHeaders = fetchurl { | 7 | nodeHeaders = fetchurl { |
8 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; | 8 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; |
9 | sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj"; | 9 | sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76"; |
10 | }; | 10 | }; |
11 | buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { | 11 | buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { |
12 | name = "buildslist-yarn-modules"; | 12 | name = "buildslist-yarn-modules"; |
diff --git a/pkgs/python-packages/wokkel.nix b/pkgs/python-packages/wokkel.nix index b34caecd..3237f2b5 100644 --- a/pkgs/python-packages/wokkel.nix +++ b/pkgs/python-packages/wokkel.nix | |||
@@ -7,5 +7,5 @@ buildPythonPackage rec { | |||
7 | sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016"; | 7 | sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016"; |
8 | }; | 8 | }; |
9 | propagatedBuildInputs = [ twisted.extras.tls twisted incremental dateutil ]; | 9 | propagatedBuildInputs = [ twisted.extras.tls twisted incremental dateutil ]; |
10 | doChecks = false; | 10 | doCheck = false; |
11 | } | 11 | } |
diff --git a/pkgs/simp_le/default.nix b/pkgs/simp_le/default.nix deleted file mode 100644 index eaefba36..00000000 --- a/pkgs/simp_le/default.nix +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | { stdenv, python3Packages, bash }: | ||
2 | |||
3 | python3Packages.buildPythonApplication rec { | ||
4 | pname = "simp_le-client"; | ||
5 | version = "0.17.0"; | ||
6 | |||
7 | src = python3Packages.fetchPypi { | ||
8 | inherit pname version; | ||
9 | sha256 = "0m1jynar4calaffp2zdxr5yy9vnhw2qf2hsfxwzfwf8fqb5h7bjb"; | ||
10 | }; | ||
11 | |||
12 | postPatch = '' | ||
13 | # drop upper bound of idna requirement | ||
14 | sed -ri "s/'(idna)<[^']+'/'\1'/" setup.py | ||
15 | substituteInPlace simp_le.py \ | ||
16 | --replace "/bin/sh" "${bash}/bin/sh" | ||
17 | ''; | ||
18 | |||
19 | checkPhase = '' | ||
20 | $out/bin/simp_le --test | ||
21 | ''; | ||
22 | |||
23 | propagatedBuildInputs = with python3Packages; [ acme setuptools_scm josepy idna ]; | ||
24 | |||
25 | meta = with stdenv.lib; { | ||
26 | homepage = https://github.com/zenhack/simp_le; | ||
27 | description = "Simple Let's Encrypt client"; | ||
28 | license = licenses.gpl3; | ||
29 | maintainers = with maintainers; [ gebner makefu ]; | ||
30 | platforms = platforms.linux; | ||
31 | }; | ||
32 | } | ||
diff --git a/pkgs/telegram-cli/default.nix b/pkgs/telegram-cli/default.nix index 6987748d..87c93e56 100644 --- a/pkgs/telegram-cli/default.nix +++ b/pkgs/telegram-cli/default.nix | |||
@@ -1,8 +1,5 @@ | |||
1 | { stdenv, mylibs, pkgconfig, libevent, lua, jansson, openssl, readline, zlib, libconfig }: | 1 | { stdenv, mylibs, pkgconfig, libevent, lua, jansson, openssl, readline, zlib, libconfig }: |
2 | stdenv.mkDerivation (mylibs.fetchedGithub ./telegram-cli.json // { | 2 | stdenv.mkDerivation (mylibs.fetchedGithub ./telegram-cli.json // { |
3 | patches = [ | ||
4 | ./telegram-cli.patch | ||
5 | ]; | ||
6 | buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ]; | 3 | buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ]; |
7 | preBuild = '' | 4 | preBuild = '' |
8 | sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c | 5 | sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c |
diff --git a/pkgs/telegram-cli/telegram-cli.json b/pkgs/telegram-cli/telegram-cli.json index 53e0a7b2..2e7ed9a6 100644 --- a/pkgs/telegram-cli/telegram-cli.json +++ b/pkgs/telegram-cli/telegram-cli.json | |||
@@ -1,15 +1,15 @@ | |||
1 | { | 1 | { |
2 | "tag": "6547c0b-master", | 2 | "tag": "3da0e4a-master", |
3 | "meta": { | 3 | "meta": { |
4 | "name": "telegram-cli", | 4 | "name": "telegram-cli", |
5 | "url": "https://github.com/vysheng/tg", | 5 | "url": "https://github.com/kenorb-contrib/tg/", |
6 | "branch": "master" | 6 | "branch": "master" |
7 | }, | 7 | }, |
8 | "github": { | 8 | "github": { |
9 | "owner": "vysheng", | 9 | "owner": "kenorb-contrib", |
10 | "repo": "tg", | 10 | "repo": "tg", |
11 | "rev": "6547c0b21b977b327b3c5e8142963f4bc246187a", | 11 | "rev": "3da0e4a54c3a63cee11aae3c23f2077adfc4949d", |
12 | "sha256": "07sss5cnw2ygd7mp8f5532lmj7qm6ywqf4cjaq5g13i8igzqzwzj", | 12 | "sha256": "0pvswzajipzkk1x5cyf10dw18ka9jalar0aa2i7y23ifm4ddnif4", |
13 | "fetchSubmodules": true | 13 | "fetchSubmodules": true |
14 | } | 14 | } |
15 | } | 15 | } |
diff --git a/pkgs/telegram-cli/telegram-cli.patch b/pkgs/telegram-cli/telegram-cli.patch deleted file mode 100644 index 2d2b7b04..00000000 --- a/pkgs/telegram-cli/telegram-cli.patch +++ /dev/null | |||
@@ -1,90 +0,0 @@ | |||
1 | diff --git a/tgl/crypto/rsa_pem_openssl.c b/tgl/crypto/rsa_pem_openssl.c | ||
2 | index db653f2..5e6a697 100644 | ||
3 | --- a/tgl/crypto/rsa_pem_openssl.c | ||
4 | +++ b/tgl/crypto/rsa_pem_openssl.c | ||
5 | @@ -36,6 +36,12 @@ TGLC_WRAPPER_ASSOC(rsa,RSA) | ||
6 | // TODO: Refactor crucial struct-identity into its own header. | ||
7 | TGLC_WRAPPER_ASSOC(bn,BIGNUM) | ||
8 | |||
9 | +/* | ||
10 | + * Since OpenSSL version 1.1.0 the RSA struct (rsa_st) is opaque, | ||
11 | + * see also https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes | ||
12 | + */ | ||
13 | +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) | ||
14 | + | ||
15 | TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { | ||
16 | RSA *ret = RSA_new (); | ||
17 | ret->e = unwrap_bn (TGLC_bn_new ()); | ||
18 | @@ -47,7 +53,30 @@ TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { | ||
19 | #define RSA_GETTER(M) \ | ||
20 | TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) { \ | ||
21 | return wrap_bn (unwrap_rsa (key)->M); \ | ||
22 | - } \ | ||
23 | + } | ||
24 | + | ||
25 | +#else // OPENSSL_VERSION_NUMBER | ||
26 | + | ||
27 | +TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { | ||
28 | + RSA *ret = RSA_new (); | ||
29 | + BIGNUM *ret_e = unwrap_bn (TGLC_bn_new ()); | ||
30 | + BIGNUM *ret_n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL)); | ||
31 | + RSA_set0_key (ret, ret_n, ret_e, NULL); | ||
32 | + TGLC_bn_set_word (wrap_bn (ret_e), e); | ||
33 | + return wrap_rsa (ret); | ||
34 | +} | ||
35 | + | ||
36 | +#define RSA_GETTER(M) \ | ||
37 | +TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) { \ | ||
38 | + BIGNUM *rsa_n, *rsa_e, *rsa_d; \ | ||
39 | + RSA_get0_key(unwrap_rsa (key), \ | ||
40 | + (const BIGNUM **) &rsa_n, \ | ||
41 | + (const BIGNUM **) &rsa_e, \ | ||
42 | + (const BIGNUM **) &rsa_d); \ | ||
43 | + return wrap_bn (rsa_ ## M); \ | ||
44 | +} | ||
45 | + | ||
46 | +#endif // OPENSSL_VERSION_NUMBER | ||
47 | |||
48 | RSA_GETTER(n); | ||
49 | RSA_GETTER(e); | ||
50 | @@ -60,4 +89,4 @@ TGLC_rsa *TGLC_pem_read_RSAPublicKey (FILE *fp) { | ||
51 | return wrap_rsa (PEM_read_RSAPublicKey (fp, NULL, NULL, NULL)); | ||
52 | } | ||
53 | |||
54 | -#endif | ||
55 | +#endif // TGL_AVOID_OPENSSL | ||
56 | diff --git a/tgl/mtproto-utils.c b/tgl/mtproto-utils.c | ||
57 | index 0948bc8..cfdb216 100644 | ||
58 | --- a/tgl/mtproto-utils.c | ||
59 | +++ b/tgl/mtproto-utils.c | ||
60 | @@ -98,7 +98,7 @@ static unsigned long long BN2ull (TGLC_bn *b) { | ||
61 | if (sizeof (unsigned long) == 8) { | ||
62 | return TGLC_bn_get_word (b); | ||
63 | } else if (sizeof (unsigned long long) == 8) { | ||
64 | - assert (0); // As long as nobody ever uses this code, assume it is broken. | ||
65 | +// assert (0); // As long as nobody ever uses this code, assume it is broken. | ||
66 | unsigned long long tmp; | ||
67 | /* Here be dragons, but it should be okay due to be64toh */ | ||
68 | TGLC_bn_bn2bin (b, (unsigned char *) &tmp); | ||
69 | @@ -112,7 +112,7 @@ static void ull2BN (TGLC_bn *b, unsigned long long val) { | ||
70 | if (sizeof (unsigned long) == 8 || val < (1ll << 32)) { | ||
71 | TGLC_bn_set_word (b, val); | ||
72 | } else if (sizeof (unsigned long long) == 8) { | ||
73 | - assert (0); // As long as nobody ever uses this code, assume it is broken. | ||
74 | +// assert (0); // As long as nobody ever uses this code, assume it is broken. | ||
75 | htobe64(val); | ||
76 | /* Here be dragons, but it should be okay due to htobe64 */ | ||
77 | TGLC_bn_bin2bn ((unsigned char *) &val, 8, b); | ||
78 | diff --git a/tgl/tl-parser/tl-parser.c b/tgl/tl-parser/tl-parser.c | ||
79 | index 524b196..aeadbd2 100644 | ||
80 | --- a/tgl/tl-parser/tl-parser.c | ||
81 | +++ b/tgl/tl-parser/tl-parser.c | ||
82 | @@ -1903,7 +1903,7 @@ struct tl_combinator_tree *tl_parse_args134 (struct tree *T) { | ||
83 | //assert (S->data); | ||
84 | char *name = S->data; | ||
85 | if (!name) { | ||
86 | - static char s[20]; | ||
87 | + static char s[21]; | ||
88 | sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ()); | ||
89 | name = s; | ||
90 | } | ||
diff --git a/pkgs/terminal-velocity/default.nix b/pkgs/terminal-velocity/default.nix index 9e79deea..1a015c04 100644 --- a/pkgs/terminal-velocity/default.nix +++ b/pkgs/terminal-velocity/default.nix | |||
@@ -15,6 +15,10 @@ buildPythonApplication rec { | |||
15 | ./fix_build.patch | 15 | ./fix_build.patch |
16 | ]; | 16 | ]; |
17 | 17 | ||
18 | preCheck = '' | ||
19 | # Needed for urwid test | ||
20 | export LC_ALL=en_US.UTF-8 | ||
21 | ''; | ||
18 | propagatedBuildInputs = [ | 22 | propagatedBuildInputs = [ |
19 | chardet | 23 | chardet |
20 | urwid | 24 | urwid |
diff --git a/pkgs/tiv/default.nix b/pkgs/tiv/default.nix index c03aabe0..3e7a56cd 100644 --- a/pkgs/tiv/default.nix +++ b/pkgs/tiv/default.nix | |||
@@ -1,6 +1,6 @@ | |||
1 | { buildPerlPackage, fetchurl, perlPackages }: | 1 | { buildPerlPackage, fetchurl, perlPackages }: |
2 | buildPerlPackage rec { | 2 | buildPerlPackage rec { |
3 | name = "tiv-${version}"; | 3 | pname = "tiv"; |
4 | version = "2015"; | 4 | version = "2015"; |
5 | src = fetchurl { | 5 | src = fetchurl { |
6 | url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz"; | 6 | url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz"; |
diff --git a/pkgs/webapps/mediagoblin/default.nix b/pkgs/webapps/mediagoblin/default.nix index f6393fe3..c20bcb42 100644 --- a/pkgs/webapps/mediagoblin/default.nix +++ b/pkgs/webapps/mediagoblin/default.nix | |||
@@ -28,6 +28,8 @@ let | |||
28 | inherit (old) pname; | 28 | inherit (old) pname; |
29 | sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"; | 29 | sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"; |
30 | }; | 30 | }; |
31 | doCheck = false; | ||
32 | doInstallCheck = false; | ||
31 | }); | 33 | }); |
32 | amqp = super.amqp.overridePythonAttrs(old: rec { | 34 | amqp = super.amqp.overridePythonAttrs(old: rec { |
33 | version = "1.4.9"; | 35 | version = "1.4.9"; |
diff --git a/pkgs/webapps/peertube/default.nix b/pkgs/webapps/peertube/default.nix index 89954192..99291060 100644 --- a/pkgs/webapps/peertube/default.nix +++ b/pkgs/webapps/peertube/default.nix | |||
@@ -3,7 +3,7 @@ | |||
3 | let | 3 | let |
4 | nodeHeaders = fetchurl { | 4 | nodeHeaders = fetchurl { |
5 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; | 5 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; |
6 | sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj"; | 6 | sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76"; |
7 | }; | 7 | }; |
8 | patchedPackages = stdenv.mkDerivation (mylibs.fetchedGithub ./peertube.json // rec { | 8 | patchedPackages = stdenv.mkDerivation (mylibs.fetchedGithub ./peertube.json // rec { |
9 | patches = if ldap then [ ./ldap.patch ././yarn_fix_bluebird_ldap.patch ] else [ ./yarn_fix_bluebird.patch ]; | 9 | patches = if ldap then [ ./ldap.patch ././yarn_fix_bluebird_ldap.patch ] else [ ./yarn_fix_bluebird.patch ]; |