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: b0e1b7a1e7a8
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 5e98740af04f
Choose a head ref

Commits on Feb 9, 2020

  1. wafHook: allow overriding phases

    This makes the wafHook a lot closer to the structure of standard hooks
    like cmake and ninja.
    thefloweringash committed Feb 9, 2020
    Copy the full SHA
    c6791b2 View commit details
  2. wafHook: make crossFlags optional

    The convention of `--cross-compile` and `--cross-execute` is common
    enough that it seems like a reasonable default. However there are
    projects like mpv which do not use these flags, and rightfully fails
    to configure when passed unexpected flags.
    thefloweringash committed Feb 9, 2020
    Copy the full SHA
    032d5e7 View commit details
  3. Copy the full SHA
    03ffda3 View commit details

Commits on Feb 10, 2020

  1. powerline-fonts: install psf to share/consolefonts

    This will make easier to set the font of the virtual console
    in NixOS. Instead of specifing the full filepath of the psf
    on can simply do:
    
        console.font = "ter-powerline-v20b";
        console.packages = [ pkgs.powerline-fonts ];
    rnhmjoj committed Feb 10, 2020
    Copy the full SHA
    03f2466 View commit details

Commits on Feb 18, 2020

  1. Copy the full SHA
    b9db3f8 View commit details
  2. Copy the full SHA
    67034d5 View commit details
  3. Copy the full SHA
    af73425 View commit details

Commits on Feb 22, 2020

  1. libeatmydata: fix launcher script - find shell library properly

    The new version of the launcher script in version 105 doesn't have the #8665
    bug, but it does try to find the shell library using Debian tools, which
    obviously doesn't work on Nix. Removed the now-unneccessary makeWrapper and
    patched out the Debian bits.
    enolan committed Feb 22, 2020
    Copy the full SHA
    4e9b948 View commit details

Commits on Feb 25, 2020

  1. Copy the full SHA
    ae91282 View commit details

Commits on Feb 26, 2020

  1. ssh-import-id: init at 5.8

    mkg20001 committed Feb 26, 2020
    Copy the full SHA
    5214b72 View commit details

Commits on Feb 27, 2020

  1. remmina: 1.3.10 -> 1.4.1

    r-ryantm committed Feb 27, 2020
    Copy the full SHA
    757ea39 View commit details

Commits on Feb 28, 2020

  1. rdma-core: 27.0 -> 28.0

    rxe_cfg has been removed, is replaced by
    'rdma' from iproute package.
    markuskowa committed Feb 28, 2020
    Copy the full SHA
    505bccf View commit details

Commits on Mar 6, 2020

  1. elfutils: remove unneeded custom cross build/install phase

    This is no longer needed. elfutils compiles out of the box!
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    bad6770 View commit details
  2. aspell: perl is also a native build input

    This is needed for some scripts needed at build time.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    d8b9212 View commit details
  3. Copy the full SHA
    42fe7c7 View commit details
  4. libpsl: add libxslt as a native dependency

    libxslt is actually both a target and native build input because some
    libxslt binary is needed to generate files and the built binaries also
    link against libxslt.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    e0ac054 View commit details
  5. libsecret: add glib as a native dependency

    glib is both a native and target dependency. Some binary from glib is
    used to generate files.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    fdfde03 View commit details
  6. libinput: move test dependencies to checkInputs

    This avoids pulling them in when tests are disabled.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    de14f0c View commit details
  7. gstreamer: needs extra build inputs

    Cross needs some extra native tools:
    
    - glib
    - wayland
    - orc
    - glib is needed in nativeBuildInputs
    
    Also:
    
    - bash-completion needs to be available for PKG_CONFIG_PATH
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    5198179 View commit details
  8. bubblewrap: use buildInputs instead of nativeBuildInputs

    these are all libraries.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    8c3160b View commit details
  9. cage: add wayland as nativeBuildInputs

    Needed on the build machine
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    78f9cad View commit details
  10. wlroots: add wayland as nativeBuildInputs

    Needed on the build machine
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    f187d8c View commit details
  11. gcr: specify libgrypt prefix

    This is needed for cross because gcrypt-config is not available to
    execute. It’s safe to do otherwise as well though.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    f773ef5 View commit details
  12. webkitgtk: ignore gettext when cross compiling

    Unfortunately, CMake looks in CMAKE_PREFIX_PATH for binaries when
    cross-compiling. This means that it will use gettext from
    CMAKE_PREFIX_PATH even when we provide a gettext binary in PATH! This
    is bad because the on in CMAKE_PREFIX_PATH is for the cross system,
    not the native one. The only documented way I can find to change this
    behavior is by manually setting the CMAKE_IGNORE_PATH variable.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    d2775e4 View commit details
  13. libdazzle: add glib to nativeBuildInputs

    This is needed for build tools.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    09c498f View commit details
  14. libhandy: add libxml2 to nativeBuildInputs

    Some build tools are needed for code gen.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    b5efbd5 View commit details
  15. Copy the full SHA
    66fcc60 View commit details
  16. Copy the full SHA
    84b7c64 View commit details
  17. glade: add libxml2 to nativeBuildInputs

    Some build tools are needed from here
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    439704b View commit details
  18. Copy the full SHA
    895ef23 View commit details
  19. Copy the full SHA
    ebdd644 View commit details
  20. Copy the full SHA
    7aed3f8 View commit details
  21. Copy the full SHA
    7996be7 View commit details
  22. json-glib: add glib to nativeBuildInputs

    Needed for some build tools in glib
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    636a072 View commit details
  23. pango: add glib to nativeBuildInputs

    Needed for some build tool
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    5ffd779 View commit details
  24. nixos-artwork: make imagemagick a native build input

    This is only needed on the builder, no need to cross compile it.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    d1e58be View commit details
  25. plymouth: update configure flags

    - only set host when cross compiling
    - use top-level configureFlags and installFlags instead of putting it
      in the pre configure.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    1bac797 View commit details
  26. breeze-plymouth: make some things native

    some of these only need to be on the build machine.
    matthewbauer committed Mar 6, 2020
    Copy the full SHA
    f800659 View commit details
  27. Copy the full SHA
    1265615 View commit details
  28. crispyDoom: 5.7 -> 5.7.1

    r-ryantm committed Mar 6, 2020
    Copy the full SHA
    efa2d85 View commit details
  29. Copy the full SHA
    34d3bdf View commit details

Commits on Mar 7, 2020

  1. samba: 4.11.5 -> 4.12.0

    - add support for liburing on linux
    - remove backported patch
    - move native build dependencies to nativeBuildInputs
    bachp committed Mar 7, 2020
    Copy the full SHA
    ae29c52 View commit details

Commits on Mar 9, 2020

  1. Copy the full SHA
    2b1e312 View commit details

Commits on Mar 11, 2020

  1. buildGoModule: passthru the modSha256 (#82027)

    The builder does not technically need the modSha256 of the vendor dir, and even
    though we pass it the entire vendor dir it makes sense not to risk having an
    accidental dependency on that variable.
    
    However, tools like [nixpkgs-update](https://github.com/ryantm/nixpkgs-update)
    need to inspect the `modSha256` of a package in order to be able to update them,
    and since this is a real part of the package (describes info about its
    dependencies) let's add it to `passthru`.
    
    Specifically, this allows us to run a cmd like `nix eval -f . tflint.modSha256`
    to get the current value, which is how the bot finds it to replace with the new
    version in the Rust ecosystem.
    bhipple authored Mar 11, 2020
    Copy the full SHA
    0723df3 View commit details
  2. Merge pull request #81870 from r-ryantm/auto-update/crispy-doom

    crispyDoom: 5.7 -> 5.7.1
    aanderse authored Mar 11, 2020
    Copy the full SHA
    d17060f View commit details
  3. mesa: 19.3.3 -> 20.0.1

    New APIs implemented: OpenGL 4.6 and Vulkan 1.2
    primeos committed Mar 11, 2020
    Copy the full SHA
    b5c1cb2 View commit details
  4. SDL2: 2.0.10 -> 2.0.12

    cpages committed Mar 11, 2020
    Copy the full SHA
    00ba289 View commit details

Commits on Mar 12, 2020

  1. qt512: pick upstream patch for QTBUG-78937

    volth authored and FRidh committed Mar 12, 2020
    Copy the full SHA
    4b6bbc1 View commit details
  2. python3: 3.7.6 -> 3.7.7

    FRidh committed Mar 12, 2020
    Copy the full SHA
    31855d7 View commit details
  3. Merge staging-next into staging

    FRidh committed Mar 12, 2020
    Copy the full SHA
    21f47e6 View commit details
Showing 533 changed files with 3,808 additions and 3,020 deletions.
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -7318,6 +7318,12 @@
githubId = 8547242;
name = "Stefan Rohrbacher";
};
"thelegy" = {
email = "mail+nixos@0jb.de";
github = "thelegy";
githubId = 3105057;
name = "Jan Beinke";
};
thesola10 = {
email = "thesola10@bobile.fr";
github = "thesola10";
15 changes: 15 additions & 0 deletions nixos/doc/manual/release-notes/rl-2009.xml
Original file line number Diff line number Diff line change
@@ -23,6 +23,9 @@
Support is planned until the end of April 2021, handing over to 21.03.
</para>
</listitem>
<listitem>
<para>GNOME desktop environment was upgraded to 3.36, see its <link xlink:href="https://help.gnome.org/misc/release-notes/3.36/">release notes</link>.</para>
</listitem>
<listitem>
<para>
PHP now defaults to PHP 7.4, updated from 7.3.
@@ -96,6 +99,18 @@
<option>systemd.services.supybot.serviceConfig</option>.
</para>
</listitem>
<listitem>
<para>
The <literal>security.duosec.skey</literal> option, which stored a secret in the
nix store, has been replaced by a new
<link linkend="opt-security.duosec.secretKeyFile">security.duosec.secretKeyFile</link>
option for better security.
</para>
<para>
<literal>security.duosec.ikey</literal> has been renamed to
<link linkend="opt-security.duosec.integrationKey">security.duosec.integrationKey</link>.
</para>
</listitem>
</itemizedlist>
</section>

11 changes: 8 additions & 3 deletions nixos/maintainers/scripts/ec2/amazon-image.nix
Original file line number Diff line number Diff line change
@@ -8,10 +8,15 @@ in {

imports = [ ../../../modules/virtualisation/amazon-image.nix ];

# Required to provide good EBS experience,
# Amazon recomments setting this to the highest possible value for a good EBS
# experience, which prior to 4.15 was 255.
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes
# TODO change value to 4294967295 when kernel is updated to 4.15 or later
config.boot.kernelParams = [ "nvme_core.io_timeout=255" ];
config.boot.kernelParams =
let timeout =
if pkgs.lib.versionAtLeast config.boot.kernelPackages.kernel.version "4.15"
then "4294967295"
else "255";
in [ "nvme_core.io_timeout=${timeout}" ];

options.amazonImage = {
name = mkOption {
2 changes: 1 addition & 1 deletion nixos/modules/config/gtk/gtk-icon-cache.nix
Original file line number Diff line number Diff line change
@@ -77,7 +77,7 @@ with lib;
if [ -w "$themedir" ]; then
rm -f "$themedir"/icon-theme.cache
${pkgs.gtk3.out}/bin/gtk-update-icon-cache --ignore-theme-index "$themedir"
${pkgs.buildPackages.gtk3.out}/bin/gtk-update-icon-cache --ignore-theme-index "$themedir"
fi
done
'';
12 changes: 10 additions & 2 deletions nixos/modules/programs/ssmtp.nix
Original file line number Diff line number Diff line change
@@ -14,8 +14,16 @@ in
{

imports = [
(mkRenamedOptionModule [ "networking" "defaultMailServer" ] [ "services" "ssmtp" ])
(mkRenamedOptionModule [ "services" "ssmtp" "directDelivery" ] [ "services" "ssmtp" "enable" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "directDelivery" ] [ "services" "ssmtp" "enable" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "hostName" ] [ "services" "ssmtp" "hostName" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "domain" ] [ "services" "ssmtp" "domain" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "root" ] [ "services" "ssmtp" "root" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "useTLS" ] [ "services" "ssmtp" "useTLS" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "useSTARTTLS" ] [ "services" "ssmtp" "useSTARTTLS" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "authUser" ] [ "services" "ssmtp" "authUser" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "authPass" ] [ "services" "ssmtp" "authPass" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "authPassFile" ] [ "services" "ssmtp" "authPassFile" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" "setSendmail" ] [ "services" "ssmtp" "setSendmail" ])
];

options = {
96 changes: 58 additions & 38 deletions nixos/modules/security/duosec.nix
Original file line number Diff line number Diff line change
@@ -9,8 +9,7 @@ let

configFilePam = ''
[duo]
ikey=${cfg.ikey}
skey=${cfg.skey}
ikey=${cfg.integrationKey}
host=${cfg.host}
${optionalString (cfg.groups != "") ("groups="+cfg.groups)}
failmode=${cfg.failmode}
@@ -24,26 +23,12 @@ let
motd=${boolToStr cfg.motd}
accept_env_factor=${boolToStr cfg.acceptEnvFactor}
'';

loginCfgFile = optionalAttrs cfg.ssh.enable {
"duo/login_duo.conf" =
{ source = pkgs.writeText "login_duo.conf" configFileLogin;
mode = "0600";
user = "sshd";
};
};

pamCfgFile = optional cfg.pam.enable {
"duo/pam_duo.conf" =
{ source = pkgs.writeText "pam_duo.conf" configFilePam;
mode = "0600";
user = "sshd";
};
};
in
{
imports = [
(mkRenamedOptionModule [ "security" "duosec" "group" ] [ "security" "duosec" "groups" ])
(mkRenamedOptionModule [ "security" "duosec" "ikey" ] [ "security" "duosec" "integrationKey" ])
(mkRemovedOptionModule [ "security" "duosec" "skey" ] "The insecure security.duosec.skey option has been replaced by a new security.duosec.secretKeyFile option. Use this new option to store a secure copy of your key instead.")
];

options = {
@@ -60,14 +45,18 @@ in
description = "If enabled, protect logins with Duo Security using PAM support.";
};

ikey = mkOption {
integrationKey = mkOption {
type = types.str;
description = "Integration key.";
};

skey = mkOption {
type = types.str;
description = "Secret key.";
secretKeyFile = mkOption {
type = types.path;
default = null;
description = ''
A file containing your secret key. The security of your Duo application is tied to the security of your secret key.
'';
example = "/run/keys/duo-skey";
};

host = mkOption {
@@ -195,21 +184,52 @@ in
};

config = mkIf (cfg.ssh.enable || cfg.pam.enable) {
environment.systemPackages = [ pkgs.duo-unix ];

security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo";
environment.etc = loginCfgFile // pamCfgFile;

/* If PAM *and* SSH are enabled, then don't do anything special.
If PAM isn't used, set the default SSH-only options. */
services.openssh.extraConfig = mkIf (cfg.ssh.enable || cfg.pam.enable) (
if cfg.pam.enable then "UseDNS no" else ''
# Duo Security configuration
ForceCommand ${config.security.wrapperDir}/login_duo
PermitTunnel no
${optionalString (!cfg.allowTcpForwarding) ''
AllowTcpForwarding no
''}
'');
environment.systemPackages = [ pkgs.duo-unix ];

security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo";

system.activationScripts = {
login_duo = mkIf cfg.ssh.enable ''
if test -f "${cfg.secretKeyFile}"; then
mkdir -m 0755 -p /etc/duo
umask 0077
conf="$(mktemp)"
{
cat ${pkgs.writeText "login_duo.conf" configFileLogin}
printf 'skey = %s\n' "$(cat ${cfg.secretKeyFile})"
} >"$conf"
chown sshd "$conf"
mv -fT "$conf" /etc/duo/login_duo.conf
fi
'';
pam_duo = mkIf cfg.pam.enable ''
if test -f "${cfg.secretKeyFile}"; then
mkdir -m 0755 -p /etc/duo
umask 0077
conf="$(mktemp)"
{
cat ${pkgs.writeText "login_duo.conf" configFilePam}
printf 'skey = %s\n' "$(cat ${cfg.secretKeyFile})"
} >"$conf"
mv -fT "$conf" /etc/duo/pam_duo.conf
fi
'';
};

/* If PAM *and* SSH are enabled, then don't do anything special.
If PAM isn't used, set the default SSH-only options. */
services.openssh.extraConfig = mkIf (cfg.ssh.enable || cfg.pam.enable) (
if cfg.pam.enable then "UseDNS no" else ''
# Duo Security configuration
ForceCommand ${config.security.wrapperDir}/login_duo
PermitTunnel no
${optionalString (!cfg.allowTcpForwarding) ''
AllowTcpForwarding no
''}
'');
};
}
17 changes: 7 additions & 10 deletions nixos/modules/services/databases/mysql.nix
Original file line number Diff line number Diff line change
@@ -10,16 +10,8 @@ let

isMariaDB = lib.getName mysql == lib.getName pkgs.mariadb;

isMysqlAtLeast57 =
(lib.getName mysql == lib.getName pkgs.mysql57)
&& (builtins.compareVersions mysql.version "5.7" >= 0);

mysqldOptions =
"--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}";
# For MySQL 5.7+, --insecure creates the root user without password
# (earlier versions and MariaDB do this by default).
installOptions =
"${mysqldOptions} ${lib.optionalString isMysqlAtLeast57 "--insecure"}";

settingsFile = pkgs.writeText "my.cnf" (
generators.toINI { listsAsDuplicateKeys = true; } cfg.settings +
@@ -366,9 +358,14 @@ in
pkgs.nettools
];

preStart = ''
preStart = if isMariaDB then ''
if ! test -e ${cfg.dataDir}/mysql; then
${mysql}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${mysqldOptions}
touch /tmp/mysql_init
fi
'' else ''
if ! test -e ${cfg.dataDir}/mysql; then
${mysql}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${installOptions}
${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} --initialize-insecure
touch /tmp/mysql_init
fi
'';
2 changes: 2 additions & 0 deletions nixos/modules/services/desktops/gnome3/gnome-keyring.nix
Original file line number Diff line number Diff line change
@@ -35,6 +35,8 @@ with lib;

services.dbus.packages = [ pkgs.gnome3.gnome-keyring pkgs.gcr ];

xdg.portal.extraPortals = [ pkgs.gnome3.gnome-keyring ];

security.pam.services.login.enableGnomeKeyring = true;

security.wrappers.gnome-keyring-daemon = {
Loading