Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
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-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7e88992a8c7b
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: fbb7dbdb95d0
Choose a head ref
Loading
Showing with 586 additions and 431 deletions.
  1. +4 −4 nixos/modules/programs/zsh/oh-my-zsh.xml
  2. +13 −3 nixos/modules/services/databases/mysql.nix
  3. +1 −1 nixos/modules/services/networking/networkmanager.nix
  4. +2 −0 nixos/modules/services/web-apps/nextcloud.nix
  5. +99 −0 nixos/modules/services/web-apps/nextcloud.xml
  6. +1 −1 nixos/tests/gitlab.nix
  7. +22 −16 pkgs/applications/editors/vscode/default.nix
  8. +7 −20 pkgs/applications/editors/vscode/with-extensions.nix
  9. +2 −2 pkgs/applications/graphics/graphicsmagick/default.nix
  10. +2 −2 pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
  11. +2 −2 pkgs/applications/networking/instant-messengers/zoom-us/default.nix
  12. +233 −233 pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
  13. +2 −2 pkgs/applications/networking/mailreaders/thunderbird/default.nix
  14. +11 −20 pkgs/applications/networking/nextcloud-client/default.nix
  15. +0 −12 pkgs/applications/networking/nextcloud-client/find-sql.patch
  16. +14 −0 pkgs/applications/networking/nextcloud-client/wrapper.nix
  17. +10 −10 pkgs/applications/version-management/gitlab/data.json
  18. +2 −2 pkgs/development/compilers/go/1.10.nix
  19. +3 −3 pkgs/development/compilers/go/1.11.nix
  20. +1 −1 pkgs/development/haskell-modules/configuration-common.nix
  21. +10 −5 pkgs/development/haskell-modules/generic-builder.nix
  22. +7 −0 pkgs/development/haskell-modules/lib.nix
  23. +4 −4 pkgs/development/interpreters/perl/default.nix
  24. +9 −4 pkgs/development/libraries/hwloc/default.nix
  25. +3 −3 pkgs/development/libraries/libssh/default.nix
  26. +8 −1 pkgs/development/libraries/libvncserver/default.nix
  27. +2 −2 pkgs/development/libraries/nettle/default.nix
  28. +5 −3 pkgs/development/libraries/nss/default.nix
  29. +8 −0 pkgs/development/libraries/polkit/default.nix
  30. +2 −2 pkgs/development/libraries/sqlite/analyzer.nix
  31. +2 −2 pkgs/development/libraries/sqlite/default.nix
  32. +2 −2 pkgs/development/tools/misc/fswatch/default.nix
  33. +1 −1 pkgs/misc/cups/drivers/brlaser/default.nix
  34. +7 −6 pkgs/misc/vscode-extensions/cpptools/default.nix
  35. +6 −4 pkgs/misc/vscode-extensions/default.nix
  36. +2 −2 pkgs/misc/vscode-extensions/python/default.nix
  37. +6 −6 pkgs/misc/vscode-extensions/vscode-utils.nix
  38. +30 −0 pkgs/misc/vscode-extensions/wakatime/default.nix
  39. +2 −2 pkgs/os-specific/linux/cryptsetup/default.nix
  40. +4 −4 pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
  41. +2 −2 pkgs/os-specific/linux/kernel/linux-4.14.nix
  42. +2 −2 pkgs/os-specific/linux/kernel/linux-4.19.nix
  43. +2 −2 pkgs/os-specific/linux/kernel/linux-4.4.nix
  44. +2 −2 pkgs/os-specific/linux/kernel/linux-4.9.nix
  45. +2 −2 pkgs/servers/dns/nsd/default.nix
  46. +2 −11 pkgs/servers/mqtt/mosquitto/default.nix
  47. +2 −8 pkgs/servers/nextcloud/default.nix
  48. +2 −0 pkgs/servers/sql/postgresql/default.nix
  49. +2 −2 pkgs/servers/xmpp/prosody/default.nix
  50. +2 −2 pkgs/tools/misc/youtube-dl/default.nix
  51. +2 −2 pkgs/tools/networking/haproxy/default.nix
  52. +2 −2 pkgs/tools/networking/network-manager/applet.nix
  53. +2 −2 pkgs/tools/security/gopass/default.nix
  54. +9 −5 pkgs/top-level/all-packages.nix
8 changes: 4 additions & 4 deletions nixos/modules/programs/zsh/oh-my-zsh.xml
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@
configuration format of <literal>oh-my-zsh</literal>.
<programlisting>
{
programs.ohMyZsh = {
programs.zsh.ohMyZsh = {
enable = true;
plugins = [ "git" "python" "man" ];
theme = "agnoster";
@@ -51,7 +51,7 @@
The module can do this as well:
<programlisting>
{
programs.ohMyZsh.custom = "~/path/to/custom/scripts";
programs.zsh.ohMyZsh.custom = "~/path/to/custom/scripts";
}
</programlisting>
</para>
@@ -73,7 +73,7 @@
<programlisting>
{ pkgs, ... }:
{
programs.ohMyZsh.customPkgs = with pkgs; [
programs.zsh.ohMyZsh.customPkgs = with pkgs; [
pkgs.nix-zsh-completions
# and even more...
];
@@ -87,7 +87,7 @@

<para>
<emphasis>Please keep in mind that this is not compatible with
<literal>programs.ohMyZsh.custom</literal> as it requires an immutable store
<literal>programs.zsh.ohMyZsh.custom</literal> as it requires an immutable store
path while <literal>custom</literal> shall remain mutable! An evaluation
failure will be thrown if both <literal>custom</literal> and
<literal>customPkgs</literal> are set.</emphasis>
16 changes: 13 additions & 3 deletions nixos/modules/services/databases/mysql.nix
Original file line number Diff line number Diff line change
@@ -12,12 +12,22 @@ let
let
pName = _p: (builtins.parseDrvName (_p.name)).name;
in pName mysql == pName pkgs.mariadb;
isMysqlAtLeast57 =
let
pName = _p: (builtins.parseDrvName (_p.name)).name;
in (pName mysql == pName pkgs.mysql57)
&& ((builtins.compareVersions mysql.version "5.7") >= 0);

pidFile = "${cfg.pidDir}/mysqld.pid";

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

myCnf = pkgs.writeText "my.cnf"
''
@@ -252,7 +262,7 @@ in
if ! test -e ${cfg.dataDir}/mysql; then
mkdir -m 0700 -p ${cfg.dataDir}
chown -R ${cfg.user} ${cfg.dataDir}
${mysql}/bin/mysql_install_db ${mysqldOptions}
${mysql}/bin/mysql_install_db ${installOptions}
touch /tmp/mysql_init
fi
2 changes: 1 addition & 1 deletion nixos/modules/services/networking/networkmanager.nix
Original file line number Diff line number Diff line change
@@ -488,7 +488,7 @@ in {
'') cfg.dynamicHosts.hostsDirs);
serviceConfig = {
Type = "oneshot";
RemainAfterExist = true;
RemainAfterExit = true;
};
};

2 changes: 2 additions & 0 deletions nixos/modules/services/web-apps/nextcloud.nix
Original file line number Diff line number Diff line change
@@ -471,4 +471,6 @@ in {
};
})
]);

meta.doc = ./nextcloud.xml;
}
99 changes: 99 additions & 0 deletions nixos/modules/services/web-apps/nextcloud.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-services-nextcloud">
<title>Nextcloud</title>

<para>
<link xlink:href="https://nextcloud.com/">Nextcloud</link> is an open-source, self-hostable cloud
platform. The server setup can be automated using
<link linkend="opt-services.nextcloud.enable">services.nextcloud</link>. A desktop client is packaged
at <literal>pkgs.nextcloud-client</literal>.
</para>

<section xml:id="module-services-nextcloud-basic-usage">
<title>Basic usage</title>
<para>
Nextcloud is a PHP-based application which requires an HTTP server
(<literal><link linkend="opt-services.nextcloud.enable">services.nextcloud</link></literal> optionally supports
<literal><link linkend="opt-services.nginx.enable">services.nginx</link></literal>) and a database
(it's recommended to use <literal><link linkend="opt-services.postgresql.enable">services.postgresql</link></literal>).
</para>
<para>
A very basic configuration may look like this:
<programlisting>{ pkgs, ... }:
{
services.nextcloud = {
<link linkend="opt-services.nextcloud.enable">enable</link> = true;
<link linkend="opt-services.nextcloud.hostName">hostName</link> = "nextcloud.tld";
<link linkend="opt-services.nextcloud.nginx.enable">nginx.enable</link> = true;
config = {
<link linkend="opt-services.nextcloud.config.dbtype">dbtype</link> = "pgsql";
<link linkend="opt-services.nextcloud.config.dbuser">dbuser</link> = "nextcloud";
<link linkend="opt-services.nextcloud.config.dbhost">dbhost</link> = "/tmp"; # nextcloud will add /.s.PGSQL.5432 by itself
<link linkend="opt-services.nextcloud.config.dbname">dbname</link> = "nextcloud";
<link linkend="opt-services.nextcloud.config.adminpassFile">adminpassFile</link> = "/path/to/admin-pass-file";
<link linkend="opt-services.nextcloud.config.adminuser">adminuser</link> = "root";
};
};

services.postgresql = {
<link linkend="opt-services.postgresql.enable">enable</link> = true;
<link linkend="opt-services.postgresql.initialScript">initialScript</link> = pkgs.writeText "psql-init" ''
CREATE ROLE nextcloud WITH LOGIN;
CREATE DATABASE nextcloud WITH OWNER nextcloud;
'';
};

# ensure that postgres is running *before* running the setup
systemd.services."nextcloud-setup" = {
requires = ["postgresql.service"];
after = ["postgresql.service"];
};

<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
}</programlisting>
</para>
<para>
The options <literal>hostName</literal> and <literal>nginx.enable</literal> are used internally to configure an
HTTP server using <literal><link xlink:href="https://php-fpm.org/">PHP-FPM</link></literal> and <literal>nginx</literal>.
The <literal>config</literal> attribute set is used for the <literal>config.php</literal> which is used
for the application's configuration.
<emphasis>Beware: this isn't entirely pure since the config is modified by the application's runtime!</emphasis>
</para>
<para>
In case the application serves multiple hosts (those are checked with
<literal><link xlink:href="http://php.net/manual/en/reserved.variables.server.php">$_SERVER['HTTP_HOST']</link></literal>)
those can be added using
<literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>.
</para>
</section>

<section xml:id="module-services-nextcloud-pitfalls-during-upgrade">
<title>Pitfalls</title>
<para>
Unfortunately Nextcloud appears to be very stateful when it comes to managing its own configuration. The
config file lives in the home directory of the <literal>nextcloud</literal> user (by default
<literal>/var/lib/nextcloud/config/config.php</literal>) and is also used to track several
states of the application (e.g. whether installed or not).
</para>
<para>
Right now changes to the <literal>services.nextcloud.config</literal> attribute set won't take effect
after the first install
(except <literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>) since the actual configuration
file is generated by the NextCloud installer which also sets up critical parts such as the database
structure.
</para>
<para>
<emphasis>Warning: don't delete <literal>config.php</literal>! This file tracks the application's state and a deletion can cause unwanted side-effects!</emphasis>
</para>
<para>
<emphasis>Warning: don't rerun <literal>nextcloud-occ maintenance:install</literal>! This command tries to install the application and can cause unwanted side-effects!</emphasis>
</para>
<para>
The issues are known and reported in <link xlink:href="https://github.com/NixOS/nixpkgs/issues/49783">#49783</link>, for now it's unfortunately necessary to manually work around these issues.
</para>
</section>

</chapter>
2 changes: 1 addition & 1 deletion nixos/tests/gitlab.nix
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; {

nodes = {
gitlab = { ... }: {
virtualisation.memorySize = 2047;
virtualisation.memorySize = if pkgs.stdenv.is64bit then 4096 else 2047;
systemd.services.gitlab.serviceConfig.Restart = mkForce "no";
systemd.services.gitlab-workhorse.serviceConfig.Restart = mkForce "no";
systemd.services.gitaly.serviceConfig.Restart = mkForce "no";
38 changes: 22 additions & 16 deletions pkgs/applications/editors/vscode/default.nix
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{ stdenv, lib, fetchurl, unzip, atomEnv, makeDesktopItem,
gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }:
gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret,
isInsiders ? false }:

let
version = "1.28.2";
channel = "stable";
executableName = "code" + lib.optionalString isInsiders "-insiders";

plat = {
"i686-linux" = "linux-ia32";
@@ -12,9 +12,9 @@ let
}.${stdenv.hostPlatform.system};

sha256 = {
"i686-linux" = "13zgx80qzq1wvss3byh56rvp2bdxywc4xmhhljsqrxf17g86g2zr";
"x86_64-linux" = "1z50hkr9mcf76hlr1jb80nbvpxbpm2bh0l63yh9yqpalmz66xbfy";
"x86_64-darwin" = "0n7lavpylg1q89qa64z4z1v7pgmwb2kidc57cgpvjnhjg8idys33";
"i686-linux" = "1xadkgqfwsl53blm2f0kdvczwmag47585dswa1hpafzc8i86009b";
"x86_64-linux" = "0h77kc6z9c5bkkb8svjxjabnbbv0lb835kzd1c2yypamkhag9j4a";
"x86_64-darwin" = "1f8grgav5capd2mm1nx0416na8c6qjh91680cfvf1jh4pjihs6g4";
}.${stdenv.hostPlatform.system};

archive_fmt = if stdenv.hostPlatform.system == "x86_64-darwin" then "zip" else "tar.gz";
@@ -31,19 +31,24 @@ let
in
stdenv.mkDerivation rec {
name = "vscode-${version}";
version = "1.30.1";

src = fetchurl {
name = "VSCode_${version}_${plat}.${archive_fmt}";
url = "https://vscode-update.azurewebsites.net/${version}/${plat}/${channel}";
url = "https://vscode-update.azurewebsites.net/${version}/${plat}/stable";
inherit sha256;
};

passthru = {
inherit executableName;
};

desktopItem = makeDesktopItem {
name = "code";
exec = "code";
icon = "code";
name = executableName;
exec = executableName;
icon = "@out@/share/pixmaps/code.png";
comment = "Code editor redefined and optimized for building and debugging modern web and cloud applications";
desktopName = "Visual Studio Code";
desktopName = "Visual Studio Code" + lib.optionalString isInsiders " Insiders";
genericName = "Text Editor";
categories = "GNOME;GTK;Utility;TextEditor;Development;";
};
@@ -56,17 +61,18 @@ in
if stdenv.hostPlatform.system == "x86_64-darwin" then ''
mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/Contents/Resources/app/bin/code $out/bin
ln -s $out/lib/vscode/Contents/Resources/app/bin/${executableName} $out/bin
'' else ''
mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode
substituteInPlace $out/lib/vscode/bin/code --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"'
substituteInPlace $out/lib/vscode/bin/${executableName} --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"'
ln -s $out/lib/vscode/bin/code $out/bin
ln -s $out/lib/vscode/bin/${executableName} $out/bin
mkdir -p $out/share/applications
cp $desktopItem/share/applications/* $out/share/applications
substitute $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop \
--subst-var out
mkdir -p $out/share/pixmaps
cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png
@@ -76,7 +82,7 @@ in
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" \
$out/lib/vscode/code
$out/lib/vscode/${executableName}
patchelf \
--set-rpath "${rpath}" \
27 changes: 7 additions & 20 deletions pkgs/applications/editors/vscode/with-extensions.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, lib, runCommand, buildEnv, vscode, which, writeScript
{ stdenv, lib, runCommand, buildEnv, vscode, makeWrapper
, vscodeExtensions ? [] }:

/*
@@ -43,6 +43,7 @@

let

inherit (vscode) executableName;
wrappedPkgVersion = lib.getVersion vscode;
wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name;

@@ -51,22 +52,12 @@ let
paths = vscodeExtensions;
};

wrappedExeName = "code";
exeName = wrappedExeName;

wrapperExeFile = writeScript "${exeName}" ''
#!${stdenv.shell}
exec ${vscode}/bin/${wrappedExeName} \
--extensions-dir "${combinedExtensionsDrv}/share/${wrappedPkgName}/extensions" \
"$@"
'';

in

# When no extensions are requested, we simply redirect to the original
# non-wrapped vscode executable.
runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
buildInputs = [ vscode which ];
buildInputs = [ vscode makeWrapper ];
dontPatchELF = true;
dontStrip = true;
meta = vscode.meta;
@@ -75,13 +66,9 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
mkdir -p "$out/share/applications"
mkdir -p "$out/share/pixmaps"
ln -sT "${vscode}/share/applications/code.desktop" "$out/share/applications/code.desktop"
ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png"
${if [] == vscodeExtensions
then ''
ln -sT "${vscode}/bin/${wrappedExeName}" "$out/bin/${exeName}"
''
else ''
ln -sT "${wrapperExeFile}" "$out/bin/${exeName}"
''}
ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${lib.optionalString (vscodeExtensions != []) ''
--add-flags "--extensions-dir ${combinedExtensionsDrv}/share/${wrappedPkgName}/extensions"
''}
''
4 changes: 2 additions & 2 deletions pkgs/applications/graphics/graphicsmagick/default.nix
Original file line number Diff line number Diff line change
@@ -4,11 +4,11 @@

stdenv.mkDerivation rec {
name = "graphicsmagick-${version}";
version = "1.3.30";
version = "1.3.31";

src = fetchurl {
url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
sha256 = "1warar0731xf94r4bn5x1km85rjabl4iq8r0dk3ywmczap3farfr";
sha256 = "0y22740f25qxsqqqg26xqlfp920dm57b7hrgaqmx7azksrcvnsq9";
};

patches = [
Original file line number Diff line number Diff line change
@@ -56,11 +56,11 @@ let

in stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
version = "1.17.2";
version = "1.18.1";

src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "1ibci07w4dh7r0dkwb3nbqm470rgak2a98rlqf8390rxrinfli3p";
sha256 = "1gak6nhv5gk37iv1bfmjx6wf0p1vcln5y29i6fkzmvcrp3j2cmfh";
};

phases = [ "unpackPhase" "installPhase" ];
Original file line number Diff line number Diff line change
@@ -13,11 +13,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
let
inherit (stdenv.lib) concatStringsSep makeBinPath optional;

version = "2.5.146186.1130";
version = "2.6.146750.1204";
srcs = {
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
sha256 = "1644xs7xg8a27xg7bgb7856hvlvfh2lin749alds782i52p9rsjr";
sha256 = "18cpl1ggyw6nf9r85jqn0cq9j7qrhxfy6nah2qqs5bqj84dqhsrg";
};
};

Loading