diff --git a/nixos/modules/services/backup/duplicati.nix b/nixos/modules/services/backup/duplicati.nix index a3af3d9b5c9f..d2fe4698e885 100644 --- a/nixos/modules/services/backup/duplicati.nix +++ b/nixos/modules/services/backup/duplicati.nix @@ -26,6 +26,15 @@ in Set it to "any" to listen on all available interfaces ''; }; + + user = mkOption { + default = "duplicati"; + type = types.str; + description = '' + Duplicati runs as it's own user. It will only be able to backup world-readable files. + Run as root with special care. + ''; + }; }; }; @@ -37,14 +46,19 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { - User = "duplicati"; + User = cfg.user; + PermissionsStartOnly = true; Group = "duplicati"; ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=${cfg.interface} --webservice-port=${toString cfg.port} --server-datafolder=/var/lib/duplicati"; Restart = "on-failure"; }; + preStart = '' + mkdir -p /var/lib/duplicati + chown -R ${cfg.user}:duplicati /var/lib/duplicati + ''; }; - users.users.duplicati = { + users.users.duplicati = lib.optionalAttrs (cfg.user == "duplicati") { uid = config.ids.uids.duplicati; home = "/var/lib/duplicati"; createHome = true; diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix index e2ea9fcda6b0..a9da3a3c5620 100644 --- a/nixos/modules/services/databases/cassandra.nix +++ b/nixos/modules/services/databases/cassandra.nix @@ -71,7 +71,7 @@ in { ''; clusterName = mkOption { type = types.str; - default = "NixOS Test Cluster"; + default = "Test Cluster"; description = '' The name of the cluster. This setting prevents nodes in one logical cluster from joining diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 2235eec9d95a..c10e2b162ccc 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -445,7 +445,7 @@ in type = types.bool; default = !config.boot.isContainer; description = '' - Whether to enable support for nixos containers. + Whether to enable support for NixOS containers. ''; }; diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix index 9b1252e4284d..a819361f4d45 100644 --- a/pkgs/development/compilers/elm/default.nix +++ b/pkgs/development/compilers/elm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv +{ lib, stdenv, pkgs , haskell, nodejs , fetchurl, fetchpatch, makeWrapper, writeScriptBin }: let @@ -8,7 +8,7 @@ let elmNodePackages = import ./packages/node-composition.nix { - inherit nodejs; + inherit nodejs pkgs; inherit (stdenv.hostPlatform) system; }; diff --git a/pkgs/development/libraries/wxwidgets/3.1/default.nix b/pkgs/development/libraries/wxwidgets/3.1/default.nix index 76d9939f73ae..60d026e9bebd 100644 --- a/pkgs/development/libraries/wxwidgets/3.1/default.nix +++ b/pkgs/development/libraries/wxwidgets/3.1/default.nix @@ -77,7 +77,7 @@ stdenv.mkDerivation rec { "; passthru = { - inherit compat24 compat26 unicode; + inherit compat28 compat30 unicode; gtk = if withGtk2 then gtk2 else gtk3; }; diff --git a/pkgs/development/python-modules/pycategories/default.nix b/pkgs/development/python-modules/pycategories/default.nix new file mode 100644 index 000000000000..55f30f9e55a9 --- /dev/null +++ b/pkgs/development/python-modules/pycategories/default.nix @@ -0,0 +1,35 @@ +{ buildPythonPackage +, callPackage +, pytestcov +, fetchPypi +, lib +, pytest +, pythonOlder +, pytestrunner +}: + +buildPythonPackage rec { + pname = "pycategories"; + version = "1.2.0"; + disabled = pythonOlder "3.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "bd70ecb5e94e7659e564ea153f0c7673291dc37c526c246800fc08d6c5378099"; + }; + + nativeBuildInputs = [ pytestrunner ]; + + # Is private because the author states it's unmaintained + # and shouldn't be used in production code + propagatedBuildInputs = [ (callPackage ./infix.nix { }) ]; + + checkInputs = [ pytest pytestcov ]; + + meta = with lib; { + homepage = "https://gitlab.com/danielhones/pycategories"; + description = "Implementation of some concepts from category theory"; + license = licenses.mit; + maintainers = with maintainers; [ dmvianna ]; + }; +} diff --git a/pkgs/development/python-modules/pycategories/infix.nix b/pkgs/development/python-modules/pycategories/infix.nix new file mode 100644 index 000000000000..f3b4d2548181 --- /dev/null +++ b/pkgs/development/python-modules/pycategories/infix.nix @@ -0,0 +1,23 @@ +{ buildPythonPackage +, lib +, fetchPypi +}: + +buildPythonPackage rec { + pname = "infix"; + version = "1.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "a1bfdcf875bc072f41e426d0673f2e3017750743bb90cc725fffb292eb09648c"; + }; + + # No tests + doCheck = false; + + meta = { + homepage = "https://github.com/borntyping/python-infix"; + description = "A decorator that allows functions to be used as infix functions"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix index 5d7883c18949..9fc260e74062 100644 --- a/pkgs/games/freeciv/default.nix +++ b/pkgs/games/freeciv/default.nix @@ -1,6 +1,8 @@ -{ stdenv, fetchurl, zlib, bzip2, pkgconfig, curl, lzma, gettext, libiconv +{ stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkgconfig, python +, zlib, bzip2, curl, lzma, gettext, libiconv , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth -, gtkClient ? false, gtk2 +, gtkClient ? false, gtk3 +, qtClient ? false, qt5 , server ? true, readline , enableSqlite ? true, sqlite }: @@ -8,31 +10,42 @@ let inherit (stdenv.lib) optional optionals; - name = "freeciv"; +in stdenv.mkDerivation rec { + pname = "freeciv"; version = "2.6.0"; -in -stdenv.mkDerivation { - name = "${name}-${version}"; - inherit version; - src = fetchurl { - url = "mirror://sourceforge/freeciv/${name}-${version}.tar.bz2"; - sha256 = "16f9wsnn7073s6chzbm3819swd0iw019p9nrzr3diiynk28kj83w"; + src = fetchFromGitHub { + owner = "freeciv"; + repo = "freeciv"; + rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}"; + sha256 = "1b3q5k9wpv7z24svz01ybw8d8wlzkkdr6ia5hgp6cxk6vq67n67s"; }; - nativeBuildInputs = [ pkgconfig ]; + postPatch = '' + for f in {common,utility}/*.py; do + substituteInPlace $f \ + --replace '/usr/bin/env python' ${python.interpreter} + done + ''; - buildInputs = [ zlib bzip2 curl lzma gettext libiconv ] + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + buildInputs = [ lua5_3 zlib bzip2 curl lzma gettext libiconv ] ++ optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype fluidsynth ] - ++ optionals gtkClient [ gtk2 ] + ++ optionals gtkClient [ gtk3 ] + ++ optionals qtClient [ qt5.qtbase ] ++ optional server readline ++ optional enableSqlite sqlite; configureFlags = [ "--enable-shared" ] ++ optional sdlClient "--enable-client=sdl" + ++ optionals qtClient [ + "--enable-client=qt" + "--with-qt5-includes=${qt5.qtbase.dev}/include" + ] ++ optional enableSqlite "--enable-fcdb=sqlite3" ++ optional (!gtkClient) "--enable-fcmp=cli" - ++ optional (!server) "--disable-server"; + ++ optional (!server) "--disable-server"; enableParallelBuilding = true; @@ -46,11 +59,11 @@ stdenv.mkDerivation { to the space age... ''; - homepage = http://freeciv.wikia.com/; + homepage = http://www.freeciv.org; # http only license = licenses.gpl2; maintainers = with maintainers; [ pierron ]; platforms = platforms.unix; - hydraPlatforms = stdenv.lib.platforms.linux; # sdl-config times out on darwin + hydraPlatforms = platforms.linux; # sdl-config times out on darwin }; } diff --git a/pkgs/misc/acpilight/default.nix b/pkgs/misc/acpilight/default.nix index 50f4fe87ed83..4076a8c3a3af 100644 --- a/pkgs/misc/acpilight/default.nix +++ b/pkgs/misc/acpilight/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "acpilight"; - version = "1.1"; + version = "1.2"; src = fetchgit { url = "https://gitlab.com/wavexx/acpilight.git"; rev = "v${version}"; - sha256 = "0kykrl71fb146vaq8207c3qp03h2djkn8hn6psryykk8gdzkv3xd"; + sha256 = "1r0r3nx6x6vkpal6vci0zaa1n9dfacypldf6k8fxg7919vzxdn1w"; }; pyenv = python3.withPackages (pythonPackages: with pythonPackages; [ diff --git a/pkgs/servers/couchpotato/default.nix b/pkgs/servers/couchpotato/default.nix index a996cec0d5b5..8b2895392bec 100644 --- a/pkgs/servers/couchpotato/default.nix +++ b/pkgs/servers/couchpotato/default.nix @@ -29,9 +29,8 @@ buildPythonApplication rec { chmod +x $out/bin/* ''; - fixupPhase = '' - wrapProgram "$out/bin/couchpotato" --set PYTHONPATH "$PYTHONPATH:$out/${python.sitePackages}" \ - --set PATH ${python}/bin + postFixup = '' + wrapProgram "$out/bin/couchpotato" --set PYTHONPATH "$PYTHONPATH:$out/${python.sitePackages}" ''; meta = { diff --git a/pkgs/tools/package-management/cargo-license/default.nix b/pkgs/tools/package-management/cargo-license/default.nix index 1230b90c270c..619fbb115976 100644 --- a/pkgs/tools/package-management/cargo-license/default.nix +++ b/pkgs/tools/package-management/cargo-license/default.nix @@ -16,6 +16,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Cargo subcommand to see license of dependencies"; + homepage = "https://github.com/onur/cargo-license"; license = with licenses; [ mit ]; maintainers = with maintainers; [ basvandijk ]; platforms = platforms.all; diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix index 3d911271ba91..3e436b80be8a 100644 --- a/pkgs/tools/text/vale/default.nix +++ b/pkgs/tools/text/vale/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "vale-${version}"; - version = "1.4.2"; + version = "1.4.3"; goPackagePath = "github.com/errata-ai/vale"; @@ -12,7 +12,7 @@ buildGoPackage rec { owner = "errata-ai"; repo = "vale"; rev = "v${version}"; - sha256 = "180532jp6m2ryppkjszs8b8gmvx9h54c8423par3907bgdxyzqj8"; + sha256 = "1dgh2frf577048cacwnrl0xx5hha055z42sqq38lf07ybwyxdxms"; }; meta = with stdenv.lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2857cb33790d..ef600b43b86f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21527,6 +21527,11 @@ in sdlClient = false; }; + freeciv_qt = freeciv.override { + qtClient = true; + sdlClient = false; + }; + freedink = callPackage ../games/freedink { }; freeorion = callPackage ../games/freeorion { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4ceffe0eda46..c06cf060d6e0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -686,6 +686,8 @@ in { inherit (pkgs) pkgconfig; }; + pycategories = callPackage ../development/python-modules/pycategories { }; + pycangjie = disabledIf (!isPy3k) (callPackage ../development/python-modules/pycangjie { inherit (pkgs) pkgconfig; });