···11-# These are supported funding model platforms
22-33-open_collective: nixos
+32-19
doc/package-specific-user-notes.xml
···409409 </section>
410410411411 <section xml:id="sec-citrix">
412412- <title>Citrix Receiver</title>
412412+ <title>Citrix Receiver & Citrix Workspace App</title>
413413414414 <para>
415415- The <link xlink:href="https://www.citrix.com/products/receiver/">Citrix
416416- Receiver</link> is a remote desktop viewer which provides access to
415415+ <note>
416416+ <para>
417417+ Please note that the <literal>citrix_receiver</literal> package has been deprecated since its
418418+ development was <link xlink:href="https://docs.citrix.com/en-us/citrix-workspace-app.html">discontinued by upstream</link>
419419+ and will be replaced by <link xlink:href="https://www.citrix.com/products/workspace-app/">the citrix workspace app</link>.
420420+ </para>
421421+ </note>
422422+ <link xlink:href="https://www.citrix.com/products/receiver/">Citrix Receiver</link> and
423423+ <link xlink:href="https://www.citrix.com/products/workspace-app/">Citrix Workspace App</link>
424424+ are a remote desktop viewers which provide access to
417425 <link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link>
418426 installations.
419427 </para>
···423431424432 <para>
425433 The tarball archive needs to be downloaded manually as the license
426426- agreements of the vendor need to be accepted first. This is available at
427427- the
428428- <link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">download
429429- page at citrix.com</link>. Then run <literal>nix-prefetch-url
430430- file://$PWD/linuxx64-$version.tar.gz</literal>. With the archive available
434434+ agreements of the vendor for
435435+ <link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">Citrix Receiver</link>
436436+ or <link xlink:href="https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html">Citrix Workspace</link>
437437+ need to be accepted first.
438438+ Then run <command>nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz</command>.
439439+ With the archive available
431440 in the store the package can be built and installed with Nix.
432441 </para>
433442434434- <para>
435435- <emphasis>Note: it's recommended to install <literal>Citrix
436436- Receiver</literal> using <literal>nix-env -i</literal> or globally to
437437- ensure that the <literal>.desktop</literal> files are installed properly
438438- into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to
439439- open <literal>.ica</literal> files automatically from the browser to start
440440- a Citrix connection.</emphasis>
441441- </para>
443443+ <warning>
444444+ <title>Caution with <command>nix-shell</command> installs</title>
445445+ <para>
446446+ It's recommended to install <literal>Citrix Receiver</literal>
447447+ and/or <literal>Citrix Workspace</literal> using
448448+ <literal>nix-env -i</literal> or globally to
449449+ ensure that the <literal>.desktop</literal> files are installed properly
450450+ into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to
451451+ open <literal>.ica</literal> files automatically from the browser to start
452452+ a Citrix connection.
453453+ </para>
454454+ </warning>
442455 </section>
443456444457 <section xml:id="sec-citrix-custom-certs">
445458 <title>Custom certificates</title>
446459447460 <para>
448448- The <literal>Citrix Receiver</literal> in <literal>nixpkgs</literal> trusts
449449- several certificates
461461+ The <literal>Citrix Receiver</literal> and <literal>Citrix Workspace App</literal>
462462+ in <literal>nixpkgs</literal> trust several certificates
450463 <link xlink:href="https://curl.haxx.se/docs/caextract.html">from the
451464 Mozilla database</link> by default. However several companies using Citrix
452465 might require their own corporate certificate. On distros with imperative
···459472<programlisting>
460473<![CDATA[with import <nixpkgs> { config.allowUnfree = true; };
461474let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
462462-citrix_receiver.override {
475475+citrix_workspace.override { # the same applies for `citrix_receiver` if used.
463476 inherit extraCerts;
464477}]]>
465478</programlisting>
···149149 </listitem>
150150 <listitem>
151151 <para>
152152- Several of the apache subservices have been replaced with full NixOS
153153- modules including LimeSurvey, WordPress, and Zabbix.
154154- These modules can be enabled using the <option>services.limesurvey.enable</option>,
152152+ The httpd service no longer attempts to start the postgresql service. If you have come to depend
153153+ on this behaviour then you can preserve the behavior with the following configuration:
154154+ <literal>systemd.services.httpd.after = [ "postgresql.service" ];</literal>
155155+ </para>
156156+ <para>
157157+ The option <option>services.httpd.extraSubservices</option> has been
158158+ marked as deprecated. You may still use this feature, but it will be
159159+ removed in a future release of NixOS. You are encouraged to convert any
160160+ httpd subservices you may have written to a full NixOS module.
161161+ </para>
162162+ <para>
163163+ Most of the httpd subservices packaged with NixOS have been replaced with
164164+ full NixOS modules including LimeSurvey, WordPress, and Zabbix. These
165165+ modules can be enabled using the <option>services.limesurvey.enable</option>,
155166 <option>services.wordpress.enable</option>, and <option>services.zabbixWeb.enable</option> options.
156167 </para>
157168 </listitem>
···193204 <para>
194205 The setopt declarations will be evaluated at the end of <literal>/etc/zshrc</literal>, so any code in <xref linkend="opt-programs.zsh.interactiveShellInit" />,
195206 <xref linkend="opt-programs.zsh.loginShellInit" /> and <xref linkend="opt-programs.zsh.promptInit" /> may break if it relies on those options being set.
207207+ </para>
208208+ </listitem>
209209+ <listitem>
210210+ <para>
211211+ The <literal>prometheus-nginx-exporter</literal> package now uses the offical exporter provided by NGINX Inc.
212212+ Its metrics are differently structured and are incompatible to the old ones. For information about the metrics,
213213+ have a look at the <link xlink:href="https://github.com/nginxinc/nginx-prometheus-exporter">official repo</link>.
196214 </para>
197215 </listitem>
198216 </itemizedlist>
···345363 <listitem>
346364 <para>
347365 The <literal>tomcat-connector</literal> <literal>httpd.extraSubservice</literal> has been removed from nixpkgs.
366366+ </para>
367367+ </listitem>
368368+ <listitem>
369369+ <para>
370370+ It's now possible to change configuration in
371371+ <link linkend="opt-services.nextcloud.enable">services.nextcloud</link> after the initial deploy
372372+ since all config parameters are persisted in an additional config file generated by the module.
373373+ Previously core configuration like database parameters were set using their imperative
374374+ installer after creating <literal>/var/lib/nextcloud</literal>.
348375 </para>
349376 </listitem>
350377 </itemizedlist>
···52525353 <para>
5454 By default, PostgreSQL stores its databases in
5555- <filename>/var/db/postgresql</filename>. You can override this using
5555+ <filename>/var/lib/postgresql/$psqlSchema</filename>. You can override this using
5656 <xref linkend="opt-services.postgresql.dataDir"/>, e.g.
5757<programlisting>
5858<xref linkend="opt-services.postgresql.dataDir"/> = "/data/postgresql";
···42424343 services.postgresql = {
4444 <link linkend="opt-services.postgresql.enable">enable</link> = true;
4545- <link linkend="opt-services.postgresql.initialScript">initialScript</link> = pkgs.writeText "psql-init" ''
4646- CREATE ROLE nextcloud WITH LOGIN;
4747- CREATE DATABASE nextcloud WITH OWNER nextcloud;
4848- '';
4545+ <link linkend="opt-services.postgresql.ensureDatabases">ensureDatabases</link> = [ "nextcloud" ];
4646+ <link linkend="opt-services.postgresql.ensureUsers">ensureUsers</link> = [
4747+ { name = "nextcloud";
4848+ ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES";
4949+ }
5050+ ];
4951 };
50525153 # ensure that postgres is running *before* running the setup
···6365 are used internally to configure an HTTP server using
6466 <literal><link xlink:href="https://php-fpm.org/">PHP-FPM</link></literal>
6567 and <literal>nginx</literal>. The <literal>config</literal> attribute set is
6666- used for the <literal>config.php</literal> which is used for the
6767- application's configuration. <emphasis>Beware: this isn't entirely pure
6868- since the config is modified by the application's runtime!</emphasis>
6868+ used by the imperative installer and all values are written to an additional file
6969+ to ensure that changes can be applied by changing the module's options.
6970 </para>
70717172 <para>
7272- In case the application serves multiple hosts (those are checked with
7373+ In case the application serves multiple domains (those are checked with
7374 <literal><link xlink:href="http://php.net/manual/en/reserved.variables.server.php">$_SERVER['HTTP_HOST']</link></literal>)
7474- those can be added using
7575+ it's needed to add them to
7576 <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>.
7677 </para>
7878+7979+ <para>
8080+ Auto updates for Nextcloud apps can be enabled using
8181+ <literal><link linkend="opt-services.nextcloud.autoUpdateApps.enable">services.nextcloud.autoUpdateApps</link></literal>.
8282+</para>
8383+7784 </section>
7885 <section xml:id="module-services-nextcloud-pitfalls-during-upgrade">
7986 <title>Pitfalls</title>
···8794 </para>
88958996 <para>
9090- Right now changes to the <literal>services.nextcloud.config</literal>
9191- attribute set won't take effect after the first install (except
9292- <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>)
9393- since the actual configuration file is generated by the NextCloud installer
9494- which also sets up critical parts such as the database structure.
9797+ All configuration parameters are also stored in
9898+ <literal>/var/lib/nextcloud/config/override.config.php</literal> which is generated by
9999+ the module and linked from the store to ensure that all values from <literal>config.php</literal>
100100+ can be modified by the module.
101101+ However <literal>config.php</literal> manages the application's state and shouldn't be touched
102102+ manually because of that.
95103 </para>
961049797- <para>
9898- <emphasis>Warning: don't delete <literal>config.php</literal>! This file
105105+ <warning>
106106+ <para>Don't delete <literal>config.php</literal>! This file
99107 tracks the application's state and a deletion can cause unwanted
100100- side-effects!</emphasis>
101101- </para>
108108+ side-effects!</para>
109109+ </warning>
102110103103- <para>
104104- <emphasis>Warning: don't rerun <literal>nextcloud-occ
111111+ <warning>
112112+ <para>Don't rerun <literal>nextcloud-occ
105113 maintenance:install</literal>! This command tries to install the application
106106- and can cause unwanted side-effects!</emphasis>
107107- </para>
108108-109109- <para>
110110- The issues are known and reported in
111111- <link xlink:href="https://github.com/NixOS/nixpkgs/issues/49783">#49783</link>,
112112- for now it's unfortunately necessary to manually work around these issues.
113113- </para>
114114-115115- <para>
116116- Right now app installation and configuration is done imperatively in the nextcloud web ui or via the <literal>nextcloud-occ</literal> command line utility.
117117- You can activate auto updates for your apps via
118118- <literal><link linkend="opt-services.nextcloud.autoUpdateApps.enable">services.nextcloud.autoUpdateApps</link></literal>.
119119- </para>
114114+ and can cause unwanted side-effects!</para>
115115+ </warning>
120116 </section>
121117</chapter>
···22222323 editor = if cfg.editor then "True" else "False";
24242525- inherit (cfg) consoleMode configurationLimit;
2525+ configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit;
2626+2727+ inherit (cfg) consoleMode;
26282729 inherit (efi) efiSysMountPoint canTouchEfiVariables;
2830···5860 };
59616062 configurationLimit = mkOption {
6161- default = 100;
6363+ default = null;
6264 example = 120;
6363- type = types.int;
6565+ type = types.nullOr types.int;
6466 description = ''
6565- Maximum of configurations in boot menu. Otherwise boot partition could
6666- run out of disk space.
6767+ Maximum number of latest generations in the boot menu.
6868+ Useful to prevent boot partition running out of disk space.
6969+7070+ <literal>null</literal> means no limit i.e. all generations
7171+ that were not garbage collected yet.
6772 '';
6873 };
6974
···11+{ lib, buildGoPackage, fetchFromGitHub }:
22+33+# SHA of ${version} for the tool's help output
44+let rev = "7ad367535a6710802085d41e0dbb53df359b9882";
55+in
66+buildGoPackage rec {
77+ pname = "sonobuoy";
88+ version = "0.15.0";
99+1010+ goPackagePath = "github.com/heptio/sonobuoy";
1111+1212+ buildFlagsArray =
1313+ let t = "${goPackagePath}";
1414+ in ''
1515+ -ldflags=
1616+ -s -X ${t}/pkg/buildinfo.Version=${version}
1717+ -X ${t}/pkg/buildinfo.GitSHA=${rev}
1818+ -X ${t}/pkg/buildDate=unknown
1919+ '';
2020+2121+ src = fetchFromGitHub {
2222+ sha256 = "0dkmhmr7calk8mkdxfpy3yjzk10ja4gz1jq8pgk3v8rh04f4h1x5";
2323+ rev = "v${version}";
2424+ repo = "sonobuoy";
2525+ owner = "heptio";
2626+ };
2727+2828+ meta = with lib; {
2929+ description = ''
3030+ Diagnostic tool that makes it easier to understand the
3131+ state of a Kubernetes cluster.
3232+ '';
3333+ longDescription = ''
3434+ Sonobuoy is a diagnostic tool that makes it easier to understand the state of
3535+ a Kubernetes cluster by running a set of Kubernetes conformance tests in an
3636+ accessible and non-destructive manner.
3737+ '';
3838+3939+ homepage = "https://github.com/heptio/sonobuoy";
4040+ license = licenses.asl20;
4141+ maintainers = with maintainers; [ carlosdagos ];
4242+ };
4343+}
···11{ stdenv, buildGoPackage, fetchFromGitHub }:
2233buildGoPackage rec {
44- pname = "tilt";
55- name = "${pname}-${version}";
44+ pname = "tilt";
65 /* Do not use "dev" as a version. If you do, Tilt will consider itself
76 running in development environment and try to serve assets from the
87 source tree, which is not there once build completes. */
99- version = "0.8.8";
1010- rev = "344dc1dc61ffe2c29606b105cea0df79fb5897f5";
88+ version = "0.9.4";
1191210 src = fetchFromGitHub {
1311 owner = "windmilleng";
1414- repo = "tilt";
1515- rev = "${rev}";
1616- sha256 = "13yda6m2d92mmc9w4k8ngdxmpqcqf86bkrvcpmpaby848ls1yx8g";
1212+ repo = pname;
1313+ rev = "v${version}";
1414+ sha256 = "1n1hys9mwqr4jiwl2z5bi2lgbw4rp800hsavih87xzrda1gzvmad";
1715 };
18161917 goPackagePath = "github.com/windmilleng/tilt";
1818+2019 subPackages = [ "cmd/tilt" ];
21202222- buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-06-03");
2121+ buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-07-23");
23222423 meta = with stdenv.lib; {
2524 description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
···77 , pkgconfig, libxml2, tzdata
8899 # This is important to obtain a version of `libpq` that does not depend on systemd.
1010- , enableSystemd ? (lib.versionAtLeast "9.6" version && !stdenv.isDarwin)
1010+ , enableSystemd ? (lib.versionAtLeast version "9.6" && !stdenv.isDarwin)
11111212 # for postgreql.pkgs
1313 , this, self, newScope, buildEnv