···1111 '';
1212 homepage = "https://www.gnu.org/software/hello/manual/";
1313 license = licenses.gpl3Plus;
1414- maintainers = [ maintainers.eelco ];
1414+ maintainers = with maintainers; [ eelco ];
1515 platforms = platforms.all;
1616};
1717```
18181919-Meta-attributes are not passed to the builder of the package. Thus, a change to a meta-attribute doesn’t trigger a recompilation of the package. The value of a meta-attribute must be a string.
2020-2121-The meta-attributes of a package can be queried from the command-line using `nix-env`:
2222-2323-```ShellSession
2424-$ nix-env -qa hello --json
2525-{
2626- "hello": {
2727- "meta": {
2828- "description": "A program that produces a familiar, friendly greeting",
2929- "homepage": "https://www.gnu.org/software/hello/manual/",
3030- "license": {
3131- "fullName": "GNU General Public License version 3 or later",
3232- "shortName": "GPLv3+",
3333- "url": "http://www.fsf.org/licensing/licenses/gpl.html"
3434- },
3535- "longDescription": "GNU Hello is a program that prints \"Hello, world!\" when you run it.\nIt is fully customizable.\n",
3636- "maintainers": [
3737- "Ludovic Court\u00e8s <ludo@gnu.org>"
3838- ],
3939- "platforms": [
4040- "i686-linux",
4141- "x86_64-linux",
4242- "armv5tel-linux",
4343- "armv7l-linux",
4444- "mips32-linux",
4545- "x86_64-darwin",
4646- "i686-cygwin",
4747- "i686-freebsd13",
4848- "x86_64-freebsd13",
4949- "i686-openbsd",
5050- "x86_64-openbsd"
5151- ],
5252- "position": "/home/user/dev/nixpkgs/pkgs/applications/misc/hello/default.nix:14"
5353- },
5454- "name": "hello-2.9",
5555- "system": "x86_64-linux"
5656- }
5757-}
5858-```
5959-6060-`nix-env` knows about the `description` field specifically:
6161-6262-```ShellSession
6363-$ nix-env -qa hello --description
6464-hello-2.3 A program that produces a familiar, friendly greeting
6565-```
1919+Meta-attributes are not passed to the builder of the package. Thus, a change to a meta-attribute doesn’t trigger a recompilation of the package.
66206721## Standard meta-attributes {#sec-standard-meta-attributes}
6822
···11241124 <listitem>
11251125 <para>
11261126 Previously, the options
11271127- <xref linkend="opt-services.grafana.provision.datasources" />
11271127+ <link linkend="opt-services.grafana.provision.datasources">services.grafana.provision.datasources</link>
11281128 and
11291129- <xref linkend="opt-services.grafana.provision.dashboards" />
11291129+ <link linkend="opt-services.grafana.provision.dashboards">services.grafana.provision.dashboards</link>
11301130 expected lists of datasources or dashboards for the
11311131 <link xlink:href="https://grafana.com/docs/grafana/latest/administration/provisioning/">declarative
11321132 provisioning</link>.
···11391139 <para>
11401140 <emphasis role="strong">datasources</emphasis>, please
11411141 rename your declarations to
11421142- <xref linkend="opt-services.grafana.provision.datasources.settings.datasources" />.
11421142+ <link linkend="opt-services.grafana.provision.datasources.settings.datasources">services.grafana.provision.datasources.settings.datasources</link>.
11431143 </para>
11441144 </listitem>
11451145 <listitem>
11461146 <para>
11471147 <emphasis role="strong">dashboards</emphasis>, please
11481148 rename your declarations to
11491149- <xref linkend="opt-services.grafana.provision.dashboards.settings.providers" />.
11491149+ <link linkend="opt-services.grafana.provision.dashboards.settings.providers">services.grafana.provision.dashboards.settings.providers</link>.
11501150 </para>
11511151 </listitem>
11521152 </itemizedlist>
···11591159 It’s possible to declare the
11601160 <literal>apiVersion</literal> of your dashboards and
11611161 datasources by
11621162- <xref linkend="opt-services.grafana.provision.datasources.settings.apiVersion" />
11621162+ <link linkend="opt-services.grafana.provision.datasources.settings.apiVersion">services.grafana.provision.datasources.settings.apiVersion</link>
11631163 (or
11641164- <xref linkend="opt-services.grafana.provision.dashboards.settings.apiVersion" />).
11641164+ <link linkend="opt-services.grafana.provision.dashboards.settings.apiVersion">services.grafana.provision.dashboards.settings.apiVersion</link>).
11651165 </para>
11661166 </listitem>
11671167 <listitem>
···11691169 Instead of declaring datasources and dashboards in
11701170 pure Nix, it’s also possible to specify configuration
11711171 files (or directories) with YAML instead using
11721172- <xref linkend="opt-services.grafana.provision.datasources.path" />
11721172+ <link linkend="opt-services.grafana.provision.datasources.path">services.grafana.provision.datasources.path</link>
11731173 (or
11741174- <xref linkend="opt-services.grafana.provision.dashboards.path" />.
11741174+ <link linkend="opt-services.grafana.provision.dashboards.path">services.grafana.provision.dashboards.path</link>.
11751175 This is useful when having provisioning files from
11761176 non-NixOS Grafana instances that you also want to
11771177 deploy to NixOS.
···11861186 </listitem>
11871187 <listitem>
11881188 <para>
11891189- <xref linkend="opt-services.grafana.provision.notifiers" />
11891189+ <link linkend="opt-services.grafana.provision.notifiers">services.grafana.provision.notifiers</link>
11901190 is not affected by this change because this feature is
11911191- deprecated by Grafana and will probably removed in
11911191+ deprecated by Grafana and will probably be removed in
11921192 Grafana 10. It’s recommended to use
11931193 <literal>services.grafana.provision.alerting.contactPoints</literal>
11941194 instead.
+10-10
nixos/doc/manual/release-notes/rl-2211.section.md
···340340 Alternatively you can also set all your values from `extraOptions` to
341341 `systemd.services.grafana.environment`, make sure you don't forget to add
342342 the `GF_` prefix though!
343343- - Previously, the options [](#opt-services.grafana.provision.datasources) and
344344- [](#opt-services.grafana.provision.dashboards) expected lists of datasources
343343+ - Previously, the options [services.grafana.provision.datasources](#opt-services.grafana.provision.datasources) and
344344+ [services.grafana.provision.dashboards](#opt-services.grafana.provision.dashboards) expected lists of datasources
345345 or dashboards for the [declarative provisioning](https://grafana.com/docs/grafana/latest/administration/provisioning/).
346346347347 To declare lists of
348348- - **datasources**, please rename your declarations to [](#opt-services.grafana.provision.datasources.settings.datasources).
349349- - **dashboards**, please rename your declarations to [](#opt-services.grafana.provision.dashboards.settings.providers).
348348+ - **datasources**, please rename your declarations to [services.grafana.provision.datasources.settings.datasources](#opt-services.grafana.provision.datasources.settings.datasources).
349349+ - **dashboards**, please rename your declarations to [services.grafana.provision.dashboards.settings.providers](#opt-services.grafana.provision.dashboards.settings.providers).
350350351351 This change was made to support more features for that:
352352353353 - It's possible to declare the `apiVersion` of your dashboards and datasources
354354- by [](#opt-services.grafana.provision.datasources.settings.apiVersion) (or
355355- [](#opt-services.grafana.provision.dashboards.settings.apiVersion)).
354354+ by [services.grafana.provision.datasources.settings.apiVersion](#opt-services.grafana.provision.datasources.settings.apiVersion) (or
355355+ [services.grafana.provision.dashboards.settings.apiVersion](#opt-services.grafana.provision.dashboards.settings.apiVersion)).
356356357357 - Instead of declaring datasources and dashboards in pure Nix, it's also possible
358358 to specify configuration files (or directories) with YAML instead using
359359- [](#opt-services.grafana.provision.datasources.path) (or
360360- [](#opt-services.grafana.provision.dashboards.path). This is useful when having
359359+ [services.grafana.provision.datasources.path](#opt-services.grafana.provision.datasources.path) (or
360360+ [services.grafana.provision.dashboards.path](#opt-services.grafana.provision.dashboards.path). This is useful when having
361361 provisioning files from non-NixOS Grafana instances that you also want to
362362 deploy to NixOS.
363363364364 __Note:__ secrets from these files will be leaked into the store unless you use a
365365 [**file**-provider or env-var](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#file-provider) for secrets!
366366367367- - [](#opt-services.grafana.provision.notifiers) is not affected by this change because
368368- this feature is deprecated by Grafana and will probably removed in Grafana 10.
367367+ - [services.grafana.provision.notifiers](#opt-services.grafana.provision.notifiers) is not affected by this change because
368368+ this feature is deprecated by Grafana and will probably be removed in Grafana 10.
369369 It's recommended to use `services.grafana.provision.alerting.contactPoints` instead.
370370371371- The `services.grafana.provision.alerting` option was added. It includes suboptions for every alerting-related objects (with the exception of `notifiers`), which means it's now possible to configure modern Grafana alerting declaratively.
···11+{ lib, stdenv, fetchFromGitHub, pkg-config
22+, linux-pam, libxcrypt
33+}:
44+55+stdenv.mkDerivation rec {
66+ pname = "tcb";
77+ version = "1.2";
88+99+ src = fetchFromGitHub {
1010+ owner = "openwall";
1111+ repo = pname;
1212+ rev = "070cf4aa784de13c52788ac22ff611d7cbca0854";
1313+ sha256 = "sha256-Sp5u7iTEZZnAqKQXoPO8eWpSkZeBzQqZI82wRQmgU9A=";
1414+ };
1515+1616+ outputs = [ "out" "bin" "dev" "man" ];
1717+1818+ nativeBuildInputs = [ pkg-config ];
1919+2020+ buildInputs = [ linux-pam libxcrypt ];
2121+2222+ patches = [ ./fix-makefiles.patch ];
2323+2424+ postPatch = ''
2525+ substituteInPlace Make.defs \
2626+ --replace "PREFIX = /usr" "PREFIX = $out" \
2727+ --replace "SBINDIR = /sbin" "SBINDIR = $bin/bin" \
2828+ --replace "INCLUDEDIR = \$(PREFIX)/include" "INCLUDEDIR = $dev/include"
2929+ '';
3030+3131+ meta = with lib; {
3232+ description = "Alternative password shadowing scheme";
3333+ longDescription = ''
3434+ The tcb package contains core components of our tcb suite implementing the alternative
3535+ password shadowing scheme on Openwall GNU Linux (Owl). It is being made available
3636+ separately from Owl primarily for use by other distributions.
3737+3838+ The package consists of three components: pam_tcb, libnss_tcb, and libtcb.
3939+4040+ pam_tcb is a PAM module which supersedes pam_unix. It also implements the tcb password
4141+ shadowing scheme. The tcb scheme allows many core system utilities (passwd(1) being
4242+ the primary example) to operate with little privilege. libnss_tcb is the accompanying
4343+ NSS module. libtcb contains code shared by the PAM and NSS modules and is also used
4444+ by user management tools on Owl due to our shadow suite patches.
4545+ '';
4646+ homepage = "https://www.openwall.com/tcb/";
4747+ license = licenses.bsd3;
4848+ platforms = platforms.linux;
4949+ maintainers = with maintainers; [ izorkin ];
5050+ };
5151+}