···1-# These are supported funding model platforms
2-3-open_collective: nixos
···000
+32-19
doc/package-specific-user-notes.xml
···409 </section>
410411 <section xml:id="sec-citrix">
412- <title>Citrix Receiver</title>
413414 <para>
415- The <link xlink:href="https://www.citrix.com/products/receiver/">Citrix
416- Receiver</link> is a remote desktop viewer which provides access to
00000000417 <link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link>
418 installations.
419 </para>
···423424 <para>
425 The tarball archive needs to be downloaded manually as the license
426- agreements of the vendor need to be accepted first. This is available at
427- the
428- <link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">download
429- page at citrix.com</link>. Then run <literal>nix-prefetch-url
430- file://$PWD/linuxx64-$version.tar.gz</literal>. With the archive available
0431 in the store the package can be built and installed with Nix.
432 </para>
433434- <para>
435- <emphasis>Note: it's recommended to install <literal>Citrix
436- Receiver</literal> using <literal>nix-env -i</literal> or globally to
437- ensure that the <literal>.desktop</literal> files are installed properly
438- into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to
439- open <literal>.ica</literal> files automatically from the browser to start
440- a Citrix connection.</emphasis>
441- </para>
0000442 </section>
443444 <section xml:id="sec-citrix-custom-certs">
445 <title>Custom certificates</title>
446447 <para>
448- The <literal>Citrix Receiver</literal> in <literal>nixpkgs</literal> trusts
449- several certificates
450 <link xlink:href="https://curl.haxx.se/docs/caextract.html">from the
451 Mozilla database</link> by default. However several companies using Citrix
452 might require their own corporate certificate. On distros with imperative
···459<programlisting>
460<![CDATA[with import <nixpkgs> { config.allowUnfree = true; };
461let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
462-citrix_receiver.override {
463 inherit extraCerts;
464}]]>
465</programlisting>
···409 </section>
410411 <section xml:id="sec-citrix">
412+ <title>Citrix Receiver & Citrix Workspace App</title>
413414 <para>
415+ <note>
416+ <para>
417+ Please note that the <literal>citrix_receiver</literal> package has been deprecated since its
418+ development was <link xlink:href="https://docs.citrix.com/en-us/citrix-workspace-app.html">discontinued by upstream</link>
419+ and will be replaced by <link xlink:href="https://www.citrix.com/products/workspace-app/">the citrix workspace app</link>.
420+ </para>
421+ </note>
422+ <link xlink:href="https://www.citrix.com/products/receiver/">Citrix Receiver</link> and
423+ <link xlink:href="https://www.citrix.com/products/workspace-app/">Citrix Workspace App</link>
424+ are a remote desktop viewers which provide access to
425 <link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link>
426 installations.
427 </para>
···431432 <para>
433 The tarball archive needs to be downloaded manually as the license
434+ agreements of the vendor for
435+ <link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">Citrix Receiver</link>
436+ or <link xlink:href="https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html">Citrix Workspace</link>
437+ need to be accepted first.
438+ Then run <command>nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz</command>.
439+ With the archive available
440 in the store the package can be built and installed with Nix.
441 </para>
442443+ <warning>
444+ <title>Caution with <command>nix-shell</command> installs</title>
445+ <para>
446+ It's recommended to install <literal>Citrix Receiver</literal>
447+ and/or <literal>Citrix Workspace</literal> using
448+ <literal>nix-env -i</literal> or globally to
449+ ensure that the <literal>.desktop</literal> files are installed properly
450+ into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to
451+ open <literal>.ica</literal> files automatically from the browser to start
452+ a Citrix connection.
453+ </para>
454+ </warning>
455 </section>
456457 <section xml:id="sec-citrix-custom-certs">
458 <title>Custom certificates</title>
459460 <para>
461+ The <literal>Citrix Receiver</literal> and <literal>Citrix Workspace App</literal>
462+ in <literal>nixpkgs</literal> trust several certificates
463 <link xlink:href="https://curl.haxx.se/docs/caextract.html">from the
464 Mozilla database</link> by default. However several companies using Citrix
465 might require their own corporate certificate. On distros with imperative
···472<programlisting>
473<![CDATA[with import <nixpkgs> { config.allowUnfree = true; };
474let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
475+citrix_workspace.override { # the same applies for `citrix_receiver` if used.
476 inherit extraCerts;
477}]]>
478</programlisting>
···149 </listitem>
150 <listitem>
151 <para>
152- Several of the apache subservices have been replaced with full NixOS
153- modules including LimeSurvey, WordPress, and Zabbix.
154- These modules can be enabled using the <option>services.limesurvey.enable</option>,
00000000000155 <option>services.wordpress.enable</option>, and <option>services.zabbixWeb.enable</option> options.
156 </para>
157 </listitem>
···193 <para>
194 The setopt declarations will be evaluated at the end of <literal>/etc/zshrc</literal>, so any code in <xref linkend="opt-programs.zsh.interactiveShellInit" />,
195 <xref linkend="opt-programs.zsh.loginShellInit" /> and <xref linkend="opt-programs.zsh.promptInit" /> may break if it relies on those options being set.
0000000196 </para>
197 </listitem>
198 </itemizedlist>
···345 <listitem>
346 <para>
347 The <literal>tomcat-connector</literal> <literal>httpd.extraSubservice</literal> has been removed from nixpkgs.
000000000348 </para>
349 </listitem>
350 </itemizedlist>
···149 </listitem>
150 <listitem>
151 <para>
152+ The httpd service no longer attempts to start the postgresql service. If you have come to depend
153+ on this behaviour then you can preserve the behavior with the following configuration:
154+ <literal>systemd.services.httpd.after = [ "postgresql.service" ];</literal>
155+ </para>
156+ <para>
157+ The option <option>services.httpd.extraSubservices</option> has been
158+ marked as deprecated. You may still use this feature, but it will be
159+ removed in a future release of NixOS. You are encouraged to convert any
160+ httpd subservices you may have written to a full NixOS module.
161+ </para>
162+ <para>
163+ Most of the httpd subservices packaged with NixOS have been replaced with
164+ full NixOS modules including LimeSurvey, WordPress, and Zabbix. These
165+ modules can be enabled using the <option>services.limesurvey.enable</option>,
166 <option>services.wordpress.enable</option>, and <option>services.zabbixWeb.enable</option> options.
167 </para>
168 </listitem>
···204 <para>
205 The setopt declarations will be evaluated at the end of <literal>/etc/zshrc</literal>, so any code in <xref linkend="opt-programs.zsh.interactiveShellInit" />,
206 <xref linkend="opt-programs.zsh.loginShellInit" /> and <xref linkend="opt-programs.zsh.promptInit" /> may break if it relies on those options being set.
207+ </para>
208+ </listitem>
209+ <listitem>
210+ <para>
211+ The <literal>prometheus-nginx-exporter</literal> package now uses the offical exporter provided by NGINX Inc.
212+ Its metrics are differently structured and are incompatible to the old ones. For information about the metrics,
213+ have a look at the <link xlink:href="https://github.com/nginxinc/nginx-prometheus-exporter">official repo</link>.
214 </para>
215 </listitem>
216 </itemizedlist>
···363 <listitem>
364 <para>
365 The <literal>tomcat-connector</literal> <literal>httpd.extraSubservice</literal> has been removed from nixpkgs.
366+ </para>
367+ </listitem>
368+ <listitem>
369+ <para>
370+ It's now possible to change configuration in
371+ <link linkend="opt-services.nextcloud.enable">services.nextcloud</link> after the initial deploy
372+ since all config parameters are persisted in an additional config file generated by the module.
373+ Previously core configuration like database parameters were set using their imperative
374+ installer after creating <literal>/var/lib/nextcloud</literal>.
375 </para>
376 </listitem>
377 </itemizedlist>
···5253 <para>
54 By default, PostgreSQL stores its databases in
55- <filename>/var/db/postgresql</filename>. You can override this using
56 <xref linkend="opt-services.postgresql.dataDir"/>, e.g.
57<programlisting>
58<xref linkend="opt-services.postgresql.dataDir"/> = "/data/postgresql";
···5253 <para>
54 By default, PostgreSQL stores its databases in
55+ <filename>/var/lib/postgresql/$psqlSchema</filename>. You can override this using
56 <xref linkend="opt-services.postgresql.dataDir"/>, e.g.
57<programlisting>
58<xref linkend="opt-services.postgresql.dataDir"/> = "/data/postgresql";
···17 exporter</link>, it provides hardware and OS metrics from the host it's
18 running on. The exporter could be configured as follows:
19<programlisting>
20- services.promtheus.exporters.node = {
21 enable = true;
22 enabledCollectors = [
23 "logind"
···113 specific options and configuration:
114<programlisting>
115# nixpgs/nixos/modules/services/prometheus/exporters/postfix.nix
116-{ config, lib, pkgs }:
117118with lib;
119···184 </listitem>
185 </itemizedlist>
186 </section>
00000000000000000000000000000000000000187</chapter>
···17 exporter</link>, it provides hardware and OS metrics from the host it's
18 running on. The exporter could be configured as follows:
19<programlisting>
20+ services.prometheus.exporters.node = {
21 enable = true;
22 enabledCollectors = [
23 "logind"
···113 specific options and configuration:
114<programlisting>
115# nixpgs/nixos/modules/services/prometheus/exporters/postfix.nix
116+{ config, lib, pkgs, options }:
117118with lib;
119···184 </listitem>
185 </itemizedlist>
186 </section>
187+ <section xml:id="module-services-prometheus-exporters-update-exporter-module">
188+ <title>Updating an exporter module</title>
189+ <para>
190+ Should an exporter option change at some point, it is possible to add
191+ information about the change to the exporter definition similar to
192+ <literal>nixpkgs/nixos/modules/rename.nix</literal>:
193+<programlisting>
194+{ config, lib, pkgs, options }:
195+196+with lib;
197+198+let
199+ cfg = config.services.prometheus.exporters.nginx;
200+in
201+{
202+ port = 9113;
203+ extraOpts = {
204+ # additional module options
205+ # ...
206+ };
207+ serviceOpts = {
208+ # service configuration
209+ # ...
210+ };
211+ imports = [
212+ # 'services.prometheus.exporters.nginx.telemetryEndpoint' -> 'services.prometheus.exporters.nginx.telemetryPath'
213+ (mkRenamedOptionModule [ "telemetryEndpoint" ] [ "telemetryPath" ])
214+215+ # removed option 'services.prometheus.exporters.nginx.insecure'
216+ (mkRemovedOptionModule [ "insecure" ] ''
217+ This option was replaced by 'prometheus.exporters.nginx.sslVerify' which defaults to true.
218+ '')
219+ ({ options.warnings = options.warnings; })
220+ ];
221+}
222+</programlisting>
223+ </para>
224+ </section>
225</chapter>
···1+{ pkgs, lib, config, ... }:
2+3+with lib;
4+5+let
6+ cfg = config.services.thelounge;
7+ dataDir = "/var/lib/thelounge";
8+ configJsData = "module.exports = " + builtins.toJSON (
9+ { private = cfg.private; port = cfg.port; } // cfg.extraConfig
10+ );
11+in {
12+ options.services.thelounge = {
13+ enable = mkEnableOption "The Lounge web IRC client";
14+15+ private = mkOption {
16+ type = types.bool;
17+ default = false;
18+ description = ''
19+ Make your The Lounge instance private. You will need to configure user
20+ accounts by using the (<command>thelounge</command>) command or by adding
21+ entries in <filename>${dataDir}/users</filename>. You might need to restart
22+ The Lounge after making changes to the state directory.
23+ '';
24+ };
25+26+ port = mkOption {
27+ type = types.port;
28+ default = 9000;
29+ description = "TCP port to listen on for http connections.";
30+ };
31+32+ extraConfig = mkOption {
33+ default = {};
34+ type = types.attrs;
35+ example = literalExample ''{
36+ reverseProxy = true;
37+ defaults = {
38+ name = "Your Network";
39+ host = "localhost";
40+ port = 6697;
41+ };
42+ }'';
43+ description = ''
44+ The Lounge's <filename>config.js</filename> contents as attribute set (will be
45+ converted to JSON to generate the configuration file).
46+47+ The options defined here will be merged to the default configuration file.
48+ Note: In case of duplicate configuration, options from <option>extraConfig</option> have priority.
49+50+ Documentation: <link xlink:href="https://thelounge.chat/docs/server/configuration" />
51+ '';
52+ };
53+ };
54+55+ config = mkIf cfg.enable {
56+ users.users.thelounge = {
57+ description = "thelounge service user";
58+ group = "thelounge";
59+ };
60+ users.groups.thelounge = {};
61+ systemd.services.thelounge = {
62+ description = "The Lounge web IRC client";
63+ wantedBy = [ "multi-user.target" ];
64+ environment = { THELOUNGE_HOME = dataDir; };
65+ preStart = "ln -sf ${pkgs.writeText "config.js" configJsData} ${dataDir}/config.js";
66+ serviceConfig = {
67+ User = "thelounge";
68+ StateDirectory = baseNameOf dataDir;
69+ ExecStart = "${pkgs.thelounge}/bin/thelounge start";
70+ };
71+ };
72+73+ environment.systemPackages = [ pkgs.thelounge ];
74+ };
75+}
-18
nixos/modules/services/system/nscd.conf
···7# is not aware of the path in which the nss modules live. As a workaround, we
8# have `enable-cache yes` with an explicit ttl of 0
9server-user nscd
10-threads 1
11-paranoia no
12-debug-level 0
1314enable-cache passwd yes
15positive-time-to-live passwd 0
16negative-time-to-live passwd 0
17-suggested-size passwd 211
18-check-files passwd yes
19-persistent passwd no
20shared passwd yes
2122enable-cache group yes
23positive-time-to-live group 0
24negative-time-to-live group 0
25-suggested-size group 211
26-check-files group yes
27-persistent group no
28shared group yes
2930enable-cache netgroup yes
31positive-time-to-live netgroup 0
32negative-time-to-live netgroup 0
33-suggested-size netgroup 211
34-check-files netgroup yes
35-persistent netgroup no
36shared netgroup yes
3738enable-cache hosts yes
39positive-time-to-live hosts 600
40negative-time-to-live hosts 0
41-suggested-size hosts 211
42-check-files hosts yes
43-persistent hosts no
44shared hosts yes
4546enable-cache services yes
47positive-time-to-live services 0
48negative-time-to-live services 0
49-suggested-size services 211
50-check-files services yes
51-persistent services no
52shared services yes
···7# is not aware of the path in which the nss modules live. As a workaround, we
8# have `enable-cache yes` with an explicit ttl of 0
9server-user nscd
0001011enable-cache passwd yes
12positive-time-to-live passwd 0
13negative-time-to-live passwd 0
00014shared passwd yes
1516enable-cache group yes
17positive-time-to-live group 0
18negative-time-to-live group 0
00019shared group yes
2021enable-cache netgroup yes
22positive-time-to-live netgroup 0
23negative-time-to-live netgroup 0
00024shared netgroup yes
2526enable-cache hosts yes
27positive-time-to-live hosts 600
28negative-time-to-live hosts 0
00029shared hosts yes
3031enable-cache services yes
32positive-time-to-live services 0
33negative-time-to-live services 0
00034shared services yes
···39 config = mkIf cfg.enable {
40 environment.etc."nscd.conf".text = cfg.config;
410000042 systemd.services.nscd =
43 { description = "Name Service Cache Daemon";
44···4647 environment = { LD_LIBRARY_PATH = nssModulesPath; };
48000000049 restartTriggers = [
50 config.environment.etc.hosts.source
51 config.environment.etc."nsswitch.conf".source
52 config.environment.etc."nscd.conf".source
53 ];
5455+ # We use DynamicUser because in default configurations nscd doesn't
56+ # create any files that need to survive restarts. However, in some
57+ # configurations, nscd needs to be started as root; it will drop
58+ # privileges after all the NSS modules have read their configuration
59+ # files. So prefix the ExecStart command with "!" to prevent systemd
60+ # from dropping privileges early. See ExecStart in systemd.service(5).
61 serviceConfig =
62+ { ExecStart = "!@${pkgs.glibc.bin}/sbin/nscd nscd";
63 Type = "forking";
64+ DynamicUser = true;
65+ RuntimeDirectory = "nscd";
66 PIDFile = "/run/nscd/nscd.pid";
67 Restart = "always";
68 ExecReload =
···71 "${pkgs.glibc.bin}/sbin/nscd --invalidate hosts"
72 ];
73 };
00000000074 };
7576 };
···4243 services.postgresql = {
44 <link linkend="opt-services.postgresql.enable">enable</link> = true;
45- <link linkend="opt-services.postgresql.initialScript">initialScript</link> = pkgs.writeText "psql-init" ''
46- CREATE ROLE nextcloud WITH LOGIN;
47- CREATE DATABASE nextcloud WITH OWNER nextcloud;
48- '';
0049 };
5051 # ensure that postgres is running *before* running the setup
···63 are used internally to configure an HTTP server using
64 <literal><link xlink:href="https://php-fpm.org/">PHP-FPM</link></literal>
65 and <literal>nginx</literal>. The <literal>config</literal> attribute set is
66- used for the <literal>config.php</literal> which is used for the
67- application's configuration. <emphasis>Beware: this isn't entirely pure
68- since the config is modified by the application's runtime!</emphasis>
69 </para>
7071 <para>
72- In case the application serves multiple hosts (those are checked with
73 <literal><link xlink:href="http://php.net/manual/en/reserved.variables.server.php">$_SERVER['HTTP_HOST']</link></literal>)
74- those can be added using
75 <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>.
76 </para>
00000077 </section>
78 <section xml:id="module-services-nextcloud-pitfalls-during-upgrade">
79 <title>Pitfalls</title>
···87 </para>
8889 <para>
90- Right now changes to the <literal>services.nextcloud.config</literal>
91- attribute set won't take effect after the first install (except
92- <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>)
93- since the actual configuration file is generated by the NextCloud installer
94- which also sets up critical parts such as the database structure.
095 </para>
9697- <para>
98- <emphasis>Warning: don't delete <literal>config.php</literal>! This file
99 tracks the application's state and a deletion can cause unwanted
100- side-effects!</emphasis>
101- </para>
102103- <para>
104- <emphasis>Warning: don't rerun <literal>nextcloud-occ
105 maintenance:install</literal>! This command tries to install the application
106- and can cause unwanted side-effects!</emphasis>
107- </para>
108-109- <para>
110- The issues are known and reported in
111- <link xlink:href="https://github.com/NixOS/nixpkgs/issues/49783">#49783</link>,
112- for now it's unfortunately necessary to manually work around these issues.
113- </para>
114-115- <para>
116- Right now app installation and configuration is done imperatively in the nextcloud web ui or via the <literal>nextcloud-occ</literal> command line utility.
117- You can activate auto updates for your apps via
118- <literal><link linkend="opt-services.nextcloud.autoUpdateApps.enable">services.nextcloud.autoUpdateApps</link></literal>.
119- </para>
120 </section>
121</chapter>
···4243 services.postgresql = {
44 <link linkend="opt-services.postgresql.enable">enable</link> = true;
45+ <link linkend="opt-services.postgresql.ensureDatabases">ensureDatabases</link> = [ "nextcloud" ];
46+ <link linkend="opt-services.postgresql.ensureUsers">ensureUsers</link> = [
47+ { name = "nextcloud";
48+ ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES";
49+ }
50+ ];
51 };
5253 # ensure that postgres is running *before* running the setup
···65 are used internally to configure an HTTP server using
66 <literal><link xlink:href="https://php-fpm.org/">PHP-FPM</link></literal>
67 and <literal>nginx</literal>. The <literal>config</literal> attribute set is
68+ used by the imperative installer and all values are written to an additional file
69+ to ensure that changes can be applied by changing the module's options.
070 </para>
7172 <para>
73+ In case the application serves multiple domains (those are checked with
74 <literal><link xlink:href="http://php.net/manual/en/reserved.variables.server.php">$_SERVER['HTTP_HOST']</link></literal>)
75+ it's needed to add them to
76 <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>.
77 </para>
78+79+ <para>
80+ Auto updates for Nextcloud apps can be enabled using
81+ <literal><link linkend="opt-services.nextcloud.autoUpdateApps.enable">services.nextcloud.autoUpdateApps</link></literal>.
82+</para>
83+84 </section>
85 <section xml:id="module-services-nextcloud-pitfalls-during-upgrade">
86 <title>Pitfalls</title>
···94 </para>
9596 <para>
97+ All configuration parameters are also stored in
98+ <literal>/var/lib/nextcloud/config/override.config.php</literal> which is generated by
99+ the module and linked from the store to ensure that all values from <literal>config.php</literal>
100+ can be modified by the module.
101+ However <literal>config.php</literal> manages the application's state and shouldn't be touched
102+ manually because of that.
103 </para>
104105+ <warning>
106+ <para>Don't delete <literal>config.php</literal>! This file
107 tracks the application's state and a deletion can cause unwanted
108+ side-effects!</para>
109+ </warning>
110111+ <warning>
112+ <para>Don't rerun <literal>nextcloud-occ
113 maintenance:install</literal>! This command tries to install the application
114+ and can cause unwanted side-effects!</para>
115+ </warning>
000000000000116 </section>
117</chapter>
···2223 editor = if cfg.editor then "True" else "False";
2425- inherit (cfg) consoleMode configurationLimit;
002627 inherit (efi) efiSysMountPoint canTouchEfiVariables;
28···58 };
5960 configurationLimit = mkOption {
61- default = 100;
62 example = 120;
63- type = types.int;
64 description = ''
65- Maximum of configurations in boot menu. Otherwise boot partition could
66- run out of disk space.
00067 '';
68 };
69
···2223 editor = if cfg.editor then "True" else "False";
2425+ configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit;
26+27+ inherit (cfg) consoleMode;
2829 inherit (efi) efiSysMountPoint canTouchEfiVariables;
30···60 };
6162 configurationLimit = mkOption {
63+ default = null;
64 example = 120;
65+ type = types.nullOr types.int;
66 description = ''
67+ Maximum number of latest generations in the boot menu.
68+ Useful to prevent boot partition running out of disk space.
69+70+ <literal>null</literal> means no limit i.e. all generations
71+ that were not garbage collected yet.
72 '';
73 };
74
···1+{ lib, buildGoPackage, fetchFromGitHub }:
2+3+# SHA of ${version} for the tool's help output
4+let rev = "7ad367535a6710802085d41e0dbb53df359b9882";
5+in
6+buildGoPackage rec {
7+ pname = "sonobuoy";
8+ version = "0.15.0";
9+10+ goPackagePath = "github.com/heptio/sonobuoy";
11+12+ buildFlagsArray =
13+ let t = "${goPackagePath}";
14+ in ''
15+ -ldflags=
16+ -s -X ${t}/pkg/buildinfo.Version=${version}
17+ -X ${t}/pkg/buildinfo.GitSHA=${rev}
18+ -X ${t}/pkg/buildDate=unknown
19+ '';
20+21+ src = fetchFromGitHub {
22+ sha256 = "0dkmhmr7calk8mkdxfpy3yjzk10ja4gz1jq8pgk3v8rh04f4h1x5";
23+ rev = "v${version}";
24+ repo = "sonobuoy";
25+ owner = "heptio";
26+ };
27+28+ meta = with lib; {
29+ description = ''
30+ Diagnostic tool that makes it easier to understand the
31+ state of a Kubernetes cluster.
32+ '';
33+ longDescription = ''
34+ Sonobuoy is a diagnostic tool that makes it easier to understand the state of
35+ a Kubernetes cluster by running a set of Kubernetes conformance tests in an
36+ accessible and non-destructive manner.
37+ '';
38+39+ homepage = "https://github.com/heptio/sonobuoy";
40+ license = licenses.asl20;
41+ maintainers = with maintainers; [ carlosdagos ];
42+ };
43+}
···1{ stdenv, buildGoPackage, fetchFromGitHub }:
23buildGoPackage rec {
4- pname = "tilt";
5- name = "${pname}-${version}";
6 /* Do not use "dev" as a version. If you do, Tilt will consider itself
7 running in development environment and try to serve assets from the
8 source tree, which is not there once build completes. */
9- version = "0.8.8";
10- rev = "344dc1dc61ffe2c29606b105cea0df79fb5897f5";
1112 src = fetchFromGitHub {
13 owner = "windmilleng";
14- repo = "tilt";
15- rev = "${rev}";
16- sha256 = "13yda6m2d92mmc9w4k8ngdxmpqcqf86bkrvcpmpaby848ls1yx8g";
17 };
1819 goPackagePath = "github.com/windmilleng/tilt";
020 subPackages = [ "cmd/tilt" ];
2122- buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-06-03");
2324 meta = with stdenv.lib; {
25 description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
···1{ stdenv, buildGoPackage, fetchFromGitHub }:
23buildGoPackage rec {
4+ pname = "tilt";
05 /* Do not use "dev" as a version. If you do, Tilt will consider itself
6 running in development environment and try to serve assets from the
7 source tree, which is not there once build completes. */
8+ version = "0.9.4";
0910 src = fetchFromGitHub {
11 owner = "windmilleng";
12+ repo = pname;
13+ rev = "v${version}";
14+ sha256 = "1n1hys9mwqr4jiwl2z5bi2lgbw4rp800hsavih87xzrda1gzvmad";
15 };
1617 goPackagePath = "github.com/windmilleng/tilt";
18+19 subPackages = [ "cmd/tilt" ];
2021+ buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-07-23");
2223 meta = with stdenv.lib; {
24 description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
···7 , pkgconfig, libxml2, tzdata
89 # This is important to obtain a version of `libpq` that does not depend on systemd.
10- , enableSystemd ? (lib.versionAtLeast "9.6" version && !stdenv.isDarwin)
1112 # for postgreql.pkgs
13 , this, self, newScope, buildEnv
···7 , pkgconfig, libxml2, tzdata
89 # This is important to obtain a version of `libpq` that does not depend on systemd.
10+ , enableSystemd ? (lib.versionAtLeast version "9.6" && !stdenv.isDarwin)
1112 # for postgreql.pkgs
13 , this, self, newScope, buildEnv