Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: d5d15828b51a
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ef935fa1016b
Choose a head ref

Commits on Dec 1, 2018

  1. Copy the full SHA
    4ec1e15 View commit details

Commits on Dec 2, 2018

  1. openra: adding individual executables for each mod

    OpenRA desktop configuration files presently fail to launch the various mods, as the executable files (`openra-ra` for Red Alert, `openra-cnc` for Tiberian Dawn and `openra-d2k` for Dune 2K) they rely on are not present in this package.
    fusion809 authored Dec 2, 2018
    Copy the full SHA
    409d2af View commit details

Commits on Dec 8, 2018

  1. Copy the full SHA
    be034ca View commit details

Commits on Dec 10, 2018

  1. Copy the full SHA
    da24df9 View commit details
  2. aerospike: Disables build on aarch64

    The issue with its inclusion in the manual has been side-stepped by
    matching on the platforms in supports.
    samueldr committed Dec 10, 2018
    Copy the full SHA
    abcb25b View commit details
  3. aften: Disables build on aarch64-linux

    It looks like it would be a trivial fix with
    `-Wno-shift-negative-value`, but in the end it fails with:
    
    ```
    [100%] Linking C executable aften
    libaften_static.a(a52enc.o): In function `aften_encode_init':
    a52enc.c:(.text+0x303c): undefined reference to `apply_simd_restrictions'
    collect2: error: ld returned 1 exit status
    ```
    
    So it looks like it's not simply a warning issue.
    samueldr committed Dec 10, 2018
    Copy the full SHA
    bb27520 View commit details
  4. Copy the full SHA
    45db900 View commit details
  5. Copy the full SHA
    01e78db View commit details
  6. gsl_1: Disables build on aarch64-linux

     * https://hydra.nixos.org/build/84910540
    
    ```
    Making check in eigen
    make[1]: Entering directory '/build/gsl-1.16/eigen'
    make  test
    make[2]: Entering directory '/build/gsl-1.16/eigen'
    gcc -DHAVE_CONFIG_H -I. -I.. -I..    -g -O2 -c test.c
    /nix/store/bsb6596kk4fp20hyl9yl55xwv1ax4b6s-bash-4.4-p23/bin/bash ../libtool  --tag=CC   --mode=link gcc  -g -O2   -o test test.o libgsleigen.la  ../test/libgsltest.la ../linalg/libgsllinalg.la ../permutation/libgslpermutation.la ../blas/libgslblas.la ../cblas/libgslcblas.la ../matrix/libgslmatrix.la ../vector/libgslvector.la ../block/libgslblock.la  ../complex/libgslcomplex.la ../ieee-utils/libgslieeeutils.la ../sys/libgslsys.la ../err/libgslerr.la ../utils/libutils.la ../rng/libgslrng.la ../sort/libgslsort.la -lm
    libtool: link: gcc -g -O2 -o .libs/test test.o  ./.libs/libgsleigen.a ../test/.libs/libgsltest.a ../linalg/.libs/libgsllinalg.a ../permutation/.libs/libgslpermutation.a ../blas/.libs/libgslblas.a ../cblas/.libs/libgslcblas.so ../matrix/.libs/libgslmatrix.a ../vector/.libs/libgslvector.a ../block/.libs/libgslblock.a ../complex/.libs/libgslcomplex.a ../ieee-utils/.libs/libgslieeeutils.a ../sys/.libs/libgslsys.a ../err/.libs/libgslerr.a ../utils/.libs/libutils.a ../rng/.libs/libgslrng.a ../sort/.libs/libgslsort.a -lm -Wl,-rpath -Wl,/nix/store/rz7sjaxwm3qf6nk9kk90v1qf81y1s62v-gsl-1.16/lib
    make[2]: Leaving directory '/build/gsl-1.16/eigen'
    make  check-TESTS
    make[2]: Entering directory '/build/gsl-1.16/eigen'
    make[3]: Entering directory '/build/gsl-1.16/eigen'
    FAIL: test
    make[4]: Entering directory '/build/gsl-1.16/eigen'
    make[4]: Nothing to be done for 'all'.
    make[4]: Leaving directory '/build/gsl-1.16/eigen'
    ====================================
       gsl 1.16: eigen/test-suite.log
    ====================================
    
    .. contents:: :depth: 2
    
    FAIL: test
    ==========
    
    FAIL: herm random, normalized(1), unsorted (0.999999999999999112 observed vs 1 expected) [117761]
    FAIL: herm random, normalized(2), val/asc (0.999999999999999112 observed vs 1 expected) [117789]
    FAIL: herm random, normalized(0), val/desc (0.999999999999999112 observed vs 1 expected) [117811]
    FAIL: herm random, normalized(1), abs/asc (0.999999999999999112 observed vs 1 expected) [117836]
    FAIL: herm random, normalized(1), abs/desc (0.999999999999999112 observed vs 1 expected) [117860]
    
    ```
    samueldr committed Dec 10, 2018
    Copy the full SHA
    8a115d5 View commit details
  7. Copy the full SHA
    fa4a617 View commit details
  8. Copy the full SHA
    516f436 View commit details
  9. aspino: Disable build on aarch64-linux

    This is due to glucose not building.
    samueldr committed Dec 10, 2018
    Copy the full SHA
    7aabdea View commit details
  10. Copy the full SHA
    5e1dfd3 View commit details
  11. Copy the full SHA
    448302d View commit details
  12. Copy the full SHA
    12fabbd View commit details
  13. Copy the full SHA
    38d6719 View commit details
  14. boost: Fixes disabling for aarch64-linux for <1.59

    Between 2b45037 and the current
    revision, the semantics behind "platforms" changed, and removing the
    "aarch64-linux" string doesn't work anymore to filter it out.
    
    Instead, blacklist the platform using the (comparatively) new
    badPlatforms.
    samueldr committed Dec 10, 2018
    Copy the full SHA
    3487ff9 View commit details
  15. Copy the full SHA
    5018931 View commit details
  16. bud: Disable build on aarch64-linux

    Furthermore, this package needs to either be dropped or updated. The
    version packaged is old, and the project has been abandoned by upstream.
    samueldr committed Dec 10, 2018
    Copy the full SHA
    e86b1b9 View commit details
  17. Copy the full SHA
    ea20a68 View commit details
  18. chez: Disable on aarch64-linux

    There is no "arm64" machine, and using "arm32le" does not work.
    samueldr committed Dec 10, 2018
    Copy the full SHA
    71fe654 View commit details
  19. Copy the full SHA
    1670768 View commit details

Commits on Dec 12, 2018

  1. luigi: enable local modules discovery

    Currently, local module discovery is broken with luigi installed from
    this derivation.
    
    In the documentation, you can see the following command line syntax
    used:
    
    ```
    luigi --module module_name ...
    ```
    
    However, currently this will result in an error:
    
    ```
    ModuleNotFoundError: No module named 'module_name'
    ```
    
    However, if the call is prepended with this:
    
    ```
    PYTHONPATH=.:$PYTHONPATH
    ```
    
    then it will work as expected.
    
    This patch makes this the default behaviour.
    yrashk committed Dec 12, 2018
    Copy the full SHA
    a84a457 View commit details
  2. python.pkgs.ruamel_yaml: do not depend on typing

    The dependency was removed in version 0.14.9.
    Robert Schütz committed Dec 12, 2018
    Copy the full SHA
    cee5f2b View commit details
  3. Revert "home-assistant: pin to python 3.6"

    This reverts commit 2fb90e5.
    Home Assistant now builds fine with Python 3.7.
    Robert Schütz committed Dec 12, 2018
    Copy the full SHA
    00a9057 View commit details

Commits on Dec 14, 2018

  1. snes9x-gtk: 1.56.2 -> 1.57

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/snes9x-gtk/versions
    r-ryantm committed Dec 14, 2018
    Copy the full SHA
    c6cb933 View commit details
  2. redis: 5.0.1 -> 5.0.3

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/redis/versions
    r-ryantm committed Dec 14, 2018
    Copy the full SHA
    87dae4f View commit details
  3. solc: disable LLL installation

    It has been [disabled by
    default](https://github.com/ethereum/solidity/releases/tag/v0.5.1) in 0.5.1.
    asymmetric committed Dec 14, 2018
    Copy the full SHA
    f25fb4b View commit details
  4. python37Packages.dropbox: 9.1.0 -> 9.2.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/python3.7-dropbox/versions
    r-ryantm committed Dec 14, 2018
    Copy the full SHA
    1ba7f11 View commit details
  5. python37Packages.django_2_1: 2.1.3 -> 2.1.4

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/python3.7-django/versions
    r-ryantm committed Dec 14, 2018
    Copy the full SHA
    375f2c2 View commit details
  6. python37Packages.folium: 0.6.0 -> 0.7.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/python3.7-folium/versions
    r-ryantm committed Dec 14, 2018
    Copy the full SHA
    35df6f5 View commit details

Commits on Dec 15, 2018

  1. picard-tools: 2.18.17 -> 2.18.20

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/picard-tools/versions
    r-ryantm committed Dec 15, 2018
    Copy the full SHA
    b261fb0 View commit details
  2. playonlinux: 4.2.12 -> 4.3.3

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/playonlinux/versions
    r-ryantm committed Dec 15, 2018
    Copy the full SHA
    94a3fe4 View commit details
  3. playerctl: 0.6.1 -> 2.0.1

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/playerctl/versions
    r-ryantm committed Dec 15, 2018
    Copy the full SHA
    00f5700 View commit details
  4. ocamlPackages.curses: 1.0.3 -> 1.0.4

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/ocaml-curses/versions
    r-ryantm committed Dec 15, 2018
    Copy the full SHA
    2d5545d View commit details
  5. ocamlPackages.cmdliner: 1.0.2 -> 1.0.3

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/ocaml-cmdliner/versions
    r-ryantm committed Dec 15, 2018
    Copy the full SHA
    20f691d View commit details
  6. manuskript: 0.3.0 -> 0.8.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/manuskript/versions
    r-ryantm committed Dec 15, 2018
    Copy the full SHA
    53aec10 View commit details
  7. mruby: 1.4.1 -> 2.0.0

    marsam committed Dec 15, 2018
    Copy the full SHA
    a70c4c1 View commit details
  8. librime: 1.3.1 -> 1.3.2

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/librime/versions
    r-ryantm committed Dec 15, 2018
    Copy the full SHA
    66df0d9 View commit details
  9. librealsense: 2.16.4 -> 2.17.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/librealsense/versions
    r-ryantm committed Dec 15, 2018
    Copy the full SHA
    79a5a76 View commit details

Commits on Dec 16, 2018

  1. gem-config: add ruby-libvirt

    Based on 1d9798c and
    90a804c
    mat8913 committed Dec 16, 2018
    Copy the full SHA
    97200e9 View commit details
  2. vagrant: Add vagrant-libvirt to the gemset

    With this, you can "install" the plugin just by adding the following to
    ~/vagrant.d/plugins.json:
    
      {
        "version":"1",
        "installed": {
          "vagrant-libvirt": {
            "ruby_version":"2.5.3",
            "vagrant_version":"2.2.0",
            "gem_version":"",
            "require":"",
            "sources":[]
          }
        }
      }
    mat8913 committed Dec 16, 2018
    Copy the full SHA
    1183ee6 View commit details

Commits on Dec 17, 2018

  1. vagrant: Support system-installed plugins

    Patch taken from Debian
    mat8913 committed Dec 17, 2018
    Copy the full SHA
    08488bc View commit details
  2. Copy the full SHA
    245ba97 View commit details
  3. vagrant: Remove unnecessary buildInputs

    libvirt and pkgconfig are now buildInputs to ruby-libvirt instead.
    mat8913 committed Dec 17, 2018
    Copy the full SHA
    c660f3d View commit details
  4. Copy the full SHA
    d8699a9 View commit details
  5. bundler: 1.17.1 -> 1.17.2

    alyssais committed Dec 17, 2018
    Copy the full SHA
    8e98e48 View commit details
  6. icu63: init at 63.1

    alyssais committed Dec 17, 2018
    Copy the full SHA
    70b8ab6 View commit details
  7. Copy the full SHA
    72e1764 View commit details

Commits on Dec 18, 2018

  1. llpp: 2018-03-02 -> 30

    Remove unnecessary packages from derivation and use patches to fix
    build.bash instead of sed commands.
    Enzime committed Dec 18, 2018
    Copy the full SHA
    3f1e222 View commit details
Showing 336 changed files with 5,413 additions and 2,465 deletions.
9 changes: 7 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -64,13 +64,18 @@
/pkgs/development/haskell-modules/generic-builder.nix @peti @ryantm @basvandijk
/pkgs/development/haskell-modules/hoogle.nix @peti @ryantm @basvandijk

# Perl
/pkgs/development/interpreters/perl @volth
/pkgs/top-level/perl-packages.nix @volth
/pkgs/development/perl-modules @volth

# R
/pkgs/applications/science/math/R @peti
/pkgs/development/r-modules @peti

# Ruby
/pkgs/development/interpreters/ruby @zimbatm
/pkgs/development/ruby-modules @zimbatm
/pkgs/development/interpreters/ruby @alyssais @zimbatm
/pkgs/development/ruby-modules @alyssais @zimbatm

# Rust
/pkgs/development/compilers/rust @Mic92 @LnL7
21 changes: 16 additions & 5 deletions doc/languages-frameworks/python.section.md
Original file line number Diff line number Diff line change
@@ -484,10 +484,12 @@ and in this case the `python35` interpreter is automatically used.
### Interpreters

Versions 2.7, 3.5, 3.6 and 3.7 of the CPython interpreter are available as
respectively `python27`, `python35`, `python36`, and `python37`. The PyPy
interpreter is available as `pypy`. The aliases `python2` and `python3`
correspond to respectively `python27` and `python37`. The default interpreter,
`python`, maps to `python2`. The Nix expressions for the interpreters can be
respectively `python27`, `python35`, `python36` and `python37`. The aliases
`python2` and `python3` correspond to respectively `python27` and
`python37`. The default interpreter, `python`, maps to `python2`. The PyPy
interpreters compatible with Python 2.7 and 3 are available as `pypy27` and
`pypy3`, with aliases `pypy2` mapping to `pypy27` and `pypy` mapping to
`pypy2`. The Nix expressions for the interpreters can be
found in `pkgs/development/interpreters/python`.

All packages depending on any Python interpreter get appended
@@ -1102,7 +1104,7 @@ on `numpy` will be built with `mkl`.
The following is an overlay that configures `numpy` to use `mkl`:
```nix
self: super: {
python36 = super.python36.override {
python37 = super.python37.override {
packageOverrides = python-self: python-super: {
numpy = python-super.numpy.override {
blas = super.pkgs.mkl;
@@ -1112,6 +1114,15 @@ self: super: {
}
```

`mkl` requires an `openmp` implementation when running with multiple processors.
By default, `mkl` will use Intel's `iomp` implementation if no other is
specified, but this is a runtime-only dependency and binary compatible with the
LLVM implementation. To use that one instead, Intel recommends users set it with
`LD_PRELOAD`.

Note that `mkl` is only available on `x86_64-{linux,darwin}` platforms;
moreover, Hydra is not building and distributing pre-compiled binaries using it.

## Contributing

### Contributing guidelines
10 changes: 10 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -256,6 +256,11 @@
github = "AndrewMorsillo";
name = "Andrew Morsillo";
};
andersk = {
email = "andersk@mit.edu";
github = "andersk";
name = "Anders Kaseorg";
};
AndersonTorres = {
email = "torres.anderson.85@protonmail.com";
github = "AndersonTorres";
@@ -1324,6 +1329,11 @@
github = "ellis";
name = "Ellis Whitehead";
};
elohmeier = {
email = "elo-nixos@nerdworks.de";
github = "elohmeier";
name = "Enno Lohmeier";
};
elseym = {
email = "elseym@me.com";
github = "elseym";
25 changes: 25 additions & 0 deletions nixos/doc/manual/release-notes/rl-1903.xml
Original file line number Diff line number Diff line change
@@ -43,6 +43,15 @@
<literal>./programs/nm-applet.nix</literal>
</para>
</listitem>
<listitem>
<para>
There is a new <varname>security.googleOsLogin</varname> module for using
<link xlink:href="https://cloud.google.com/compute/docs/instances/managing-instance-access">OS Login</link>
to manage SSH access to Google Compute Engine instances, which supersedes
the imperative and broken <literal>google-accounts-daemon</literal> used
in <literal>nixos/modules/virtualisation/google-compute-config.nix</literal>.
</para>
</listitem>
</itemizedlist>
</section>

@@ -318,6 +327,22 @@
case.
</para>
</listitem>
<listitem>
<para>
The <literal>pam_unix</literal> account module is now loaded with its
control field set to <literal>required</literal> instead of
<literal>sufficient</literal>, so that later pam account modules that
might do more extensive checks are being executed.
Previously, the whole account module verification was exited prematurely
in case a nss module provided the account name to
<literal>pam_unix</literal>.
The LDAP and SSSD NixOS modules already add their NSS modules when
enabled. In case your setup breaks due to some later pam account module
previosuly shadowed, or failing NSS lookups, please file a bug. You can
get back the old behaviour by manually setting
<literal><![CDATA[security.pam.services.<name?>.text]]></literal>.
</para>
</listitem>
</itemizedlist>
</section>

2 changes: 1 addition & 1 deletion nixos/lib/testing.nix
Original file line number Diff line number Diff line change
@@ -116,7 +116,7 @@ in rec {

vms = map (m: m.config.system.build.vm) (lib.attrValues nodes);

ocrProg = tesseract_4.override { enableLanguages = [ "eng" ]; };
ocrProg = tesseract4.override { enableLanguages = [ "eng" ]; };

imagemagick_tiff = imagemagick_light.override { inherit libtiff; };

5 changes: 2 additions & 3 deletions nixos/lib/utils.nix
Original file line number Diff line number Diff line change
@@ -7,9 +7,8 @@ rec {
|| elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ];

# Check whenever `b` depends on `a` as a fileSystem
# FIXME: it's incorrect to simply use hasPrefix here: "/dev/a" is not a parent of "/dev/ab"
fsBefore = a: b: ((any (x: elem x [ "bind" "move" ]) b.options) && (a.mountPoint == b.device))
|| (hasPrefix a.mountPoint b.mountPoint);
fsBefore = a: b: a.mountPoint == b.device
|| hasPrefix "${a.mountPoint}${optionalString (!(hasSuffix "/" a.mountPoint)) "/"}" b.mountPoint;

# Escape a path according to the systemd rules, e.g. /dev/xyzzy
# becomes dev-xyzzy. FIXME: slow.
8 changes: 5 additions & 3 deletions nixos/modules/config/nsswitch.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Configuration for the Name Service Switch (/etc/nsswitch.conf).

{ config, lib, ... }:
{ config, lib, pkgs, ... }:

with lib;

@@ -15,6 +15,7 @@ let
ldap = canLoadExternalModules && (config.users.ldap.enable && config.users.ldap.nsswitch);
sssd = canLoadExternalModules && config.services.sssd.enable;
resolved = canLoadExternalModules && config.services.resolved.enable;
googleOsLogin = canLoadExternalModules && config.security.googleOsLogin.enable;

hostArray = [ "files" ]
++ optional mymachines "mymachines"
@@ -29,6 +30,7 @@ let
++ optional sssd "sss"
++ optional ldap "ldap"
++ optional mymachines "mymachines"
++ optional googleOsLogin "cache_oslogin oslogin"
++ [ "systemd" ];

shadowArray = [ "files" ]
@@ -97,7 +99,7 @@ in {
# configured IP addresses, or ::1 and 127.0.0.2 as
# fallbacks. Systemd also provides nss-mymachines to return IP
# addresses of local containers.
system.nssModules = optionals canLoadExternalModules [ config.systemd.package.out ];

system.nssModules = (optionals canLoadExternalModules [ config.systemd.package.out ])
++ optional googleOsLogin pkgs.google-compute-engine-oslogin.out;
};
}
2 changes: 2 additions & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -154,6 +154,7 @@
./security/chromium-suid-sandbox.nix
./security/dhparams.nix
./security/duosec.nix
./security/google_oslogin.nix
./security/hidepid.nix
./security/lock-kernel-modules.nix
./security/misc.nix
@@ -303,6 +304,7 @@
./services/hardware/usbmuxd.nix
./services/hardware/thermald.nix
./services/hardware/undervolt.nix
./services/hardware/vdr.nix
./services/logging/SystemdJournal2Gelf.nix
./services/logging/awstats.nix
./services/logging/fluentd.nix
68 changes: 68 additions & 0 deletions nixos/modules/security/google_oslogin.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{ config, lib, pkgs, ... }:

with lib;

let

cfg = config.security.googleOsLogin;
package = pkgs.google-compute-engine-oslogin;

in

{

options = {

security.googleOsLogin.enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable Google OS Login
The OS Login package enables the following components:
AuthorizedKeysCommand to query valid SSH keys from the user's OS Login
profile during ssh authentication phase.
NSS Module to provide user and group information
PAM Module for the sshd service, providing authorization and
authentication support, allowing the system to use data stored in
Google Cloud IAM permissions to control both, the ability to log into
an instance, and to perform operations as root (sudo).
'';
};

};

config = mkIf cfg.enable {
security.pam.services.sshd = {
makeHomeDir = true;
googleOsLoginAccountVerification = true;
# disabled for now: googleOsLoginAuthentication = true;
};

security.sudo.extraConfig = ''
#includedir /run/google-sudoers.d
'';
systemd.tmpfiles.rules = [
"d /run/google-sudoers.d 750 root root -"
"d /var/google-users.d 750 root root -"
];

# enable the nss module, so user lookups etc. work
system.nssModules = [ package ];

# Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable.
# So indirect by a symlink.
environment.etc."ssh/authorized_keys_command_google_oslogin" = {
mode = "0755";
text = ''
#!/bin/sh
exec ${package}/bin/google_authorized_keys "$@"
'';
};
services.openssh.extraConfig = ''
AuthorizedKeysCommand /etc/ssh/authorized_keys_command_google_oslogin %u
AuthorizedKeysCommandUser nobody
'';
};

}
32 changes: 31 additions & 1 deletion nixos/modules/security/pam.nix
Original file line number Diff line number Diff line change
@@ -77,6 +77,30 @@ let
'';
};

googleOsLoginAccountVerification = mkOption {
default = false;
type = types.bool;
description = ''
If set, will use the Google OS Login PAM modules
(<literal>pam_oslogin_login</literal>,
<literal>pam_oslogin_admin</literal>) to verify possible OS Login
users and set sudoers configuration accordingly.
This only makes sense to enable for the <literal>sshd</literal> PAM
service.
'';
};

googleOsLoginAuthentication = mkOption {
default = false;
type = types.bool;
description = ''
If set, will use the <literal>pam_oslogin_login</literal>'s user
authentication methods to authenticate users using 2FA.
This only makes sense to enable for the <literal>sshd</literal> PAM
service.
'';
};

fprintAuth = mkOption {
default = config.services.fprintd.enable;
type = types.bool;
@@ -269,7 +293,7 @@ let
text = mkDefault
(''
# Account management.
account ${if cfg.sssdStrictAccess then "required" else "sufficient"} pam_unix.so
account required pam_unix.so
${optionalString use_ldap
"account sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
${optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false)
@@ -278,8 +302,14 @@ let
"account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so"}
${optionalString config.krb5.enable
"account sufficient ${pam_krb5}/lib/security/pam_krb5.so"}
${optionalString cfg.googleOsLoginAccountVerification ''
account [success=ok ignore=ignore default=die] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so
account [success=ok default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_admin.so
''}
# Authentication management.
${optionalString cfg.googleOsLoginAuthentication
"auth [success=done perm_denied=bad default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so"}
${optionalString cfg.rootOK
"auth sufficient pam_rootok.so"}
${optionalString cfg.requireWheel
1 change: 1 addition & 0 deletions nixos/modules/services/databases/aerospike.nix
Original file line number Diff line number Diff line change
@@ -43,6 +43,7 @@ in

package = mkOption {
default = pkgs.aerospike;
defaultText = "pkgs.aerospike";
type = types.package;
description = "Which Aerospike derivation to use";
};
5 changes: 5 additions & 0 deletions nixos/modules/services/databases/clickhouse.nix
Original file line number Diff line number Diff line change
@@ -70,6 +70,11 @@ with lib;
};
};

environment.systemPackages = [ pkgs.clickhouse ];

# startup requires a `/etc/localtime` which only if exists if `time.timeZone != null`
time.timeZone = mkDefault "UTC";

};

}
Loading