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

Commits on Oct 8, 2018

  1. Copy the full SHA
    e2e23dd View commit details

Commits on Oct 29, 2018

  1. libmtp: 1.1.15 -> 1.1.16

    This fixes the problem of connecting android phones via MTP in kde/dolphin.
    
    Original Bug description: https://bugs.kde.org/show_bug.cgi?id=387454
    timor committed Oct 29, 2018
    Copy the full SHA
    79f148c View commit details

Commits on Nov 3, 2018

  1. solr: 4.10.3 -> 7.5.0, refactor service to reflect major changes in v…

    …ersion bump, NixOS test included
    aanderse committed Nov 3, 2018
    Copy the full SHA
    1b725de View commit details
  2. sway-beta module: add missing pieces

    gnidorah committed Nov 3, 2018
    Copy the full SHA
    15c2fb7 View commit details
  3. Add averelld to maintainers

    Averell Dalton committed Nov 3, 2018
    Copy the full SHA
    f3999f6 View commit details
  4. rstudio-preview: init at f33fb2b2

    Averell Dalton committed Nov 3, 2018
    Copy the full SHA
    c93caa5 View commit details
  5. linux-samus: remove

    The package is out-of-date and has no maintainer.
    I don't own a chromebook device and therefore don't know
    if an mainline kernel could be used instead.
    cc @lheckemann @zohl
    Mic92 committed Nov 3, 2018
    Copy the full SHA
    e84291b View commit details

Commits on Nov 4, 2018

  1. jdupes: 1.10.4 -> 1.11

    dtzWill committed Nov 4, 2018
    Copy the full SHA
    e7be7eb View commit details
  2. Copy the full SHA
    7859957 View commit details
  3. Merge pull request #49739 from timokau/spotify-1.0.93

    spotify: 1.0.83.316.ge96b6e67-5 -> 1.0.93.242.gc2341a27-15
    timokau authored Nov 4, 2018
    Copy the full SHA
    f2e6f8d View commit details
  4. Merge pull request #49727 from dtzWill/update/jdupes-1.11

    jdupes: 1.10.4 -> 1.11
    timokau authored Nov 4, 2018
    Copy the full SHA
    7ca7e89 View commit details
  5. Merge pull request #49701 from averelld/rstudio-preview

    RStudio 1.2 preview init
    peti authored Nov 4, 2018
    Copy the full SHA
    4a7cdf4 View commit details
  6. Merge pull request #49687 from gnidorah/sway

    sway-beta module: add missing pieces
    primeos authored Nov 4, 2018
    Copy the full SHA
    f319c7f View commit details
  7. Merge pull request #49710 from Mic92/linux-samus

    linux-samus: remove
    Mic92 authored Nov 4, 2018
    Copy the full SHA
    e9f2267 View commit details
  8. Merge pull request #49411 from timor/libmtp-1.1.16

    libmtp: 1.1.15 -> 1.1.16
    c0bw3b authored Nov 4, 2018
    Copy the full SHA
    f4508c4 View commit details
  9. nixos: programs.bash: Fix comment about completion

    `XDG_DATA_DIRS` already includes what is typically the `share` directory.
    Adding an extra `share` breaks it.
    roberth authored Nov 4, 2018
    Copy the full SHA
    c4f6745 View commit details
  10. Merge pull request #49283 from aanderse/solr

    solr: 4.10.3 -> 7.5.0, refactor service to reflect major changes in version bump
    andir authored Nov 4, 2018
    Copy the full SHA
    c891dac View commit details
  11. Merge pull request #49746 from NixOS/fix-nixos-bash-completion-comment

    nixos: programs.bash: Fix comment about completion
    roberth authored Nov 4, 2018
    Copy the full SHA
    2adb521 View commit details
  12. Merge pull request #48047 from thefloweringash/fix-mutter-crash

    gnome3.mutter: fix crash on startup with nvidia drivers
    jtojnar authored Nov 4, 2018
    Copy the full SHA
    033dce3 View commit details
  13. timescaledb: fix license (Apache 2.0, not PostgreSQL)

    Signed-off-by: Austin Seipp <aseipp@pobox.com>
    thoughtpolice committed Nov 4, 2018
    Copy the full SHA
    b0f7c86 View commit details
  14. Copy the full SHA
    423f4f4 View commit details
  15. Copy the full SHA
    05f368b View commit details
  16. nixos/prometheus: add package option

    With a package option we can let the user decide what package to use for
    prometheus without requiring an overlay.
    andir authored and globin committed Nov 4, 2018
    Copy the full SHA
    0de150e View commit details
  17. nixos/prometheus: check configuration before starting service

    With `promtool` we can check the validity of a configuration before
    deploying it. This avoids situations where you would end up with a
    broken monitoring system without noticing it - since the monitoring
    broke down. :-)
    andir authored and globin committed Nov 4, 2018
    Copy the full SHA
    6795bdd View commit details
  18. vim-plugins: add jedi-vim

    As this is a python3 plugin it'd be nice to check for python3 support in
    the used vim, but apparently nobody else does this.
    schmittlauch committed Nov 4, 2018
    Copy the full SHA
    da0db21 View commit details
  19. vim-plugins: automatic version bumps

    The recommended ./update.py script for adding new plugins also bumps the
    version of already existing plugins.
    schmittlauch committed Nov 4, 2018
    Copy the full SHA
    f6b41dd View commit details
  20. Copy the full SHA
    965ae02 View commit details
  21. plv8: unbreak build, bump to version 2.3.8

    ee58a5b broke the plv8 build because it
    upgraded the v8_6_x expression everywhere to the 6.9 branch, which came
    with API changes. Notably, it seems plv8 only supports up-to v8 6.4.x at
    this time.
    
    This keeps a copy of the plv8_6_x expression inside the same directory
    as the other v8 versions (so patches, etc are easy to apply), but it is
    not exposed to the top-level of all-packages.nix.
    
    Signed-off-by: Austin Seipp <aseipp@pobox.com>
    thoughtpolice committed Nov 4, 2018
    Copy the full SHA
    4569ee7 View commit details
  22. Merge pull request #49592 from schmittlauch/jedi-vim

    vimPlugins: add jedi-vim
    andir authored Nov 4, 2018
    Copy the full SHA
    8deff07 View commit details
  23. Copy the full SHA
    be39781 View commit details
Showing with 693 additions and 231 deletions.
  1. +5 −0 maintainers/maintainer-list.nix
  2. +7 −0 nixos/doc/manual/release-notes/rl-1903.xml
  3. +2 −0 nixos/modules/misc/ids.nix
  4. +1 −1 nixos/modules/programs/bash/bash.nix
  5. +29 −4 nixos/modules/programs/sway-beta.nix
  6. +23 −6 nixos/modules/services/monitoring/prometheus/default.nix
  7. +72 −109 nixos/modules/services/search/solr.nix
  8. +1 −0 nixos/release.nix
  9. +47 −0 nixos/tests/solr.nix
  10. +6 −4 pkgs/applications/audio/pulseaudio-modules-bt/default.nix
  11. +12 −3 pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch
  12. +3 −3 pkgs/applications/audio/spotify/default.nix
  13. +25 −0 pkgs/applications/editors/rstudio/clang-location.patch
  14. +15 −0 pkgs/applications/editors/rstudio/fix-cmake.patch
  15. +119 −0 pkgs/applications/editors/rstudio/preview.nix
  16. +9 −1 pkgs/desktops/gnome-3/core/mutter/default.nix
  17. +2 −2 pkgs/development/libraries/libmtp/default.nix
  18. +187 −0 pkgs/development/libraries/v8/plv8_6_x.nix
  19. +1 −1 pkgs/development/libraries/xapian/default.nix
  20. +22 −0 pkgs/development/python-modules/sslib/default.nix
  21. +59 −48 pkgs/misc/vim-plugins/generated.nix
  22. +9 −0 pkgs/misc/vim-plugins/overrides.nix
  23. +2 −1 pkgs/misc/vim-plugins/vim-plugin-names
  24. +0 −16 pkgs/os-specific/linux/kernel/linux-samus-4.12.nix
  25. +15 −8 pkgs/servers/search/solr/default.nix
  26. +8 −4 pkgs/servers/sql/postgresql/plv8/default.nix
  27. +1 −1 pkgs/servers/sql/postgresql/timescaledb/default.nix
  28. +2 −2 pkgs/tools/misc/jdupes/default.nix
  29. +7 −17 pkgs/top-level/all-packages.nix
  30. +2 −0 pkgs/top-level/python-packages.nix
5 changes: 5 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -406,6 +406,11 @@
github = "AveryLychee";
name = "Avery Lychee";
};
averelld = {
email = "averell+nixos@rxd4.com";
github = "averelld";
name = "averelld";
};
avnik = {
email = "avn@avnik.info";
github = "avnik";
7 changes: 7 additions & 0 deletions nixos/doc/manual/release-notes/rl-1903.xml
Original file line number Diff line number Diff line change
@@ -192,6 +192,13 @@
options can occour more than once in the configuration.
</para>
</listitem>
<listitem>
<para>
The <literal>solr</literal> package has been upgraded from 4.10.3 to 7.5.0 and has undergone
some major changes. The <literal>services.solr</literal> module has been updated to reflect
these changes. Please review http://lucene.apache.org/solr/ carefully before upgrading.
</para>
</listitem>
</itemizedlist>
</section>

2 changes: 2 additions & 0 deletions nixos/modules/misc/ids.nix
Original file line number Diff line number Diff line change
@@ -333,6 +333,7 @@
lidarr = 306;
slurm = 307;
kapacitor = 308;
solr = 309;

# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!

@@ -626,6 +627,7 @@
lidarr = 306;
slurm = 307;
kapacitor = 308;
solr = 309;

# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal
2 changes: 1 addition & 1 deletion nixos/modules/programs/bash/bash.nix
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ let
# programmable completion. If we do, enable all modules installed in
# the system and user profile in obsolete /etc/bash_completion.d/
# directories. Bash loads completions in all
# $XDG_DATA_DIRS/share/bash-completion/completions/
# $XDG_DATA_DIRS/bash-completion/completions/
# on demand, so they do not need to be sourced here.
if shopt -q progcomp &>/dev/null; then
. "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh"
33 changes: 29 additions & 4 deletions nixos/modules/programs/sway-beta.nix
Original file line number Diff line number Diff line change
@@ -5,6 +5,15 @@ with lib;
let
cfg = config.programs.sway-beta;
swayPackage = cfg.package;

swayWrapped = pkgs.writeShellScriptBin "sway" ''
${cfg.extraSessionCommands}
exec ${pkgs.dbus.dbus-launch} --exit-with-session ${swayPackage}/bin/sway
'';
swayJoined = pkgs.symlinkJoin {
name = "sway-joined";
paths = [ swayWrapped swayPackage ];
};
in {
options.programs.sway-beta = {
enable = mkEnableOption ''
@@ -20,13 +29,30 @@ in {
'';
};

extraSessionCommands = mkOption {
type = types.lines;
default = "";
example = ''
export SDL_VIDEODRIVER=wayland
# needs qt5.qtwayland in systemPackages
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
# Fix for some Java AWT applications (e.g. Android Studio),
# use this if they aren't displayed properly:
export _JAVA_AWT_WM_NONREPARENTING=1
'';
description = ''
Shell commands executed just before Sway is started.
'';
};

extraPackages = mkOption {
type = with types; listOf package;
default = with pkgs; [
xwayland dmenu
xwayland rxvt_unicode dmenu
];
defaultText = literalExample ''
with pkgs; [ xwayland dmenu ];
with pkgs; [ xwayland rxvt_unicode dmenu ];
'';
example = literalExample ''
with pkgs; [
@@ -42,7 +68,7 @@ in {
};

config = mkIf cfg.enable {
environment.systemPackages = [ swayPackage ] ++ cfg.extraPackages;
environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages;
security.pam.services.swaylock = {};
hardware.opengl.enable = mkDefault true;
fonts.enableDefaultFonts = mkDefault true;
@@ -51,4 +77,3 @@ in {

meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];
}

29 changes: 23 additions & 6 deletions nixos/modules/services/monitoring/prometheus/default.nix
Original file line number Diff line number Diff line change
@@ -10,6 +10,13 @@ let
# Get a submodule without any embedded metadata:
_filter = x: filterAttrs (k: v: k != "_module") x;

# a wrapper that verifies that the configuration is valid
promtoolCheck = what: name: file: pkgs.runCommand "${name}-${what}-checked"
{ buildInputs = [ cfg.package ]; } ''
ln -s ${file} $out
promtool ${what} $out
'';

# Pretty-print JSON to a file
writePrettyJSON = name: x:
pkgs.runCommand name { } ''
@@ -19,18 +26,19 @@ let
# This becomes the main config file
promConfig = {
global = cfg.globalConfig;
rule_files = cfg.ruleFiles ++ [
rule_files = map (promtoolCheck "check-rules" "rules") (cfg.ruleFiles ++ [
(pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
];
]);
scrape_configs = cfg.scrapeConfigs;
};

generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;

prometheusYml =
if cfg.configText != null then
prometheusYml = let
yml = if cfg.configText != null then
pkgs.writeText "prometheus.yml" cfg.configText
else generatedPrometheusYml;
else generatedPrometheusYml;
in promtoolCheck "check-config" "prometheus.yml" yml;

cmdlineArgs = cfg.extraFlags ++ [
"-storage.local.path=${cfg.dataDir}/metrics"
@@ -376,6 +384,15 @@ in {
'';
};

package = mkOption {
type = types.package;
default = pkgs.prometheus;
defaultText = "pkgs.prometheus";
description = ''
The prometheus package that should be used.
'';
};

listenAddress = mkOption {
type = types.str;
default = "0.0.0.0:9090";
@@ -495,7 +512,7 @@ in {
after = [ "network.target" ];
script = ''
#!/bin/sh
exec ${pkgs.prometheus}/bin/prometheus \
exec ${cfg.package}/bin/prometheus \
${concatStringsSep " \\\n " cmdlineArgs}
'';
serviceConfig = {
181 changes: 72 additions & 109 deletions nixos/modules/services/search/solr.nix
Original file line number Diff line number Diff line change
@@ -6,142 +6,105 @@ let

cfg = config.services.solr;

# Assemble all jars needed for solr
solrJars = pkgs.stdenv.mkDerivation {
name = "solr-jars";

src = pkgs.fetchurl {
url = http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.36/bin/apache-tomcat-5.5.36.tar.gz;
sha256 = "01mzvh53wrs1p2ym765jwd00gl6kn8f9k3nhdrnhdqr8dhimfb2p";
};

installPhase = ''
mkdir -p $out/lib
cp common/lib/*.jar $out/lib/
ln -s ${pkgs.ant}/lib/ant/lib/ant.jar $out/lib/
ln -s ${cfg.solrPackage}/lib/ext/* $out/lib/
ln -s ${pkgs.jdk.home}/lib/tools.jar $out/lib/
'' + optionalString (cfg.extraJars != []) ''
for f in ${concatStringsSep " " cfg.extraJars}; do
cp $f $out/lib
done
'';
};

in {
in

{
options = {
services.solr = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enables the solr service.
'';
};

javaPackage = mkOption {
type = types.package;
default = pkgs.jre;
defaultText = "pkgs.jre";
description = ''
Which Java derivation to use for running solr.
'';
};
enable = mkEnableOption "Enables the solr service.";

solrPackage = mkOption {
package = mkOption {
type = types.package;
default = pkgs.solr;
defaultText = "pkgs.solr";
description = ''
Which solr derivation to use for running solr.
'';
description = "Which Solr package to use.";
};

extraJars = mkOption {
type = types.listOf types.path;
default = [];
description = ''
List of paths pointing to jars. Jars are copied to commonLibFolder to be available to java/solr.
'';
port = mkOption {
type = types.int;
default = 8983;
description = "Port on which Solr is ran.";
};

log4jConfiguration = mkOption {
type = types.lines;
default = ''
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
'';
description = ''
Contents of the <literal>log4j.properties</literal> used. By default,
everything is logged to stdout (picked up by systemd) with level INFO.
'';
stateDir = mkOption {
type = types.path;
default = "/var/lib/solr";
description = "The solr home directory containing config, data, and logging files.";
};

user = mkOption {
type = types.str;
description = ''
The user that should run the solr process and.
the working directories.
'';
extraJavaOptions = mkOption {
type = types.listOf types.str;
default = [];
description = "Extra command line options given to the java process running Solr.";
};

group = mkOption {
user = mkOption {
type = types.str;
description = ''
The group that will own the working directory.
'';
default = "solr";
description = "User under which Solr is ran.";
};

solrHome = mkOption {
group = mkOption {
type = types.str;
description = ''
The solr home directory. It is your own responsibility to
make sure this directory contains a working solr configuration,
and is writeable by the the user running the solr service.
Failing to do so, the solr will not start properly.
'';
};

extraJavaOptions = mkOption {
type = types.listOf types.str;
default = [];
description = ''
Extra command line options given to the java process running
solr.
'';
};

extraWinstoneOptions = mkOption {
type = types.listOf types.str;
default = [];
description = ''
Extra command line options given to the Winstone, which is
the servlet container hosting solr.
'';
default = "solr";
description = "Group under which Solr is ran.";
};
};
};

config = mkIf cfg.enable {

services.winstone.solr = {
serviceName = "solr";
inherit (cfg) user group javaPackage;
warFile = "${cfg.solrPackage}/lib/solr.war";
extraOptions = [
"--commonLibFolder=${solrJars}/lib"
"--useJasper"
] ++ cfg.extraWinstoneOptions;
extraJavaOptions = [
"-Dsolr.solr.home=${cfg.solrHome}"
"-Dlog4j.configuration=file://${pkgs.writeText "log4j.properties" cfg.log4jConfiguration}"
] ++ cfg.extraJavaOptions;
environment.systemPackages = [ cfg.package ];

systemd.services.solr = {
after = [ "network.target" "remote-fs.target" "nss-lookup.target" "systemd-journald-dev-log.socket" ];
wantedBy = [ "multi-user.target" ];

environment = {
SOLR_HOME = "${cfg.stateDir}/data";
LOG4J_PROPS = "${cfg.stateDir}/log4j2.xml";
SOLR_LOGS_DIR = "${cfg.stateDir}/logs";
SOLR_PORT = "${toString cfg.port}";
};
path = with pkgs; [
gawk
procps
];
preStart = ''
mkdir -p "${cfg.stateDir}/data";
mkdir -p "${cfg.stateDir}/logs";
if ! test -e "${cfg.stateDir}/data/solr.xml"; then
install -D -m0640 ${cfg.package}/server/solr/solr.xml "${cfg.stateDir}/data/solr.xml"
install -D -m0640 ${cfg.package}/server/solr/zoo.cfg "${cfg.stateDir}/data/zoo.cfg"
fi
if ! test -e "${cfg.stateDir}/log4j2.xml"; then
install -D -m0640 ${cfg.package}/server/resources/log4j2.xml "${cfg.stateDir}/log4j2.xml"
fi
'';

serviceConfig = {
User = cfg.user;
Group = cfg.group;
ExecStart="${cfg.package}/bin/solr start -f -a \"${concatStringsSep " " cfg.extraJavaOptions}\"";
ExecStop="${cfg.package}/bin/solr stop";
};
};

users.users = optionalAttrs (cfg.user == "solr") (singleton
{ name = "solr";
group = cfg.group;
home = cfg.stateDir;
createHome = true;
uid = config.ids.uids.solr;
});

users.groups = optionalAttrs (cfg.group == "solr") (singleton
{ name = "solr";
gid = config.ids.gids.solr;
});

};

}
Loading