diff --git a/.editorconfig b/.editorconfig
index f5df33889e6b..f272739f240a 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -13,8 +13,8 @@ charset = utf-8
# see https://nixos.org/nixpkgs/manual/#chap-conventions
-# Match nix/ruby files, set indent to spaces with width of two
-[*.{nix,rb}]
+# Match nix/ruby/docbook files, set indent to spaces with width of two
+[*.{nix,rb,xml}]
indent_style = space
indent_size = 2
@@ -26,7 +26,3 @@ indent_size = 4
# Match diffs, avoid to trim trailing whitespace
[*.{diff,patch}]
trim_trailing_whitespace = false
-
-# https://github.com/NixOS/nixpkgs/pull/39336#discussion_r183387754
-[.version]
-insert_final_newline = false
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 4e508d739e6a..3d4855c5cf40 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -14,6 +14,7 @@
/lib @edolstra @nbp
/lib/systems @nbp @ericson2314
/lib/generators.nix @edolstra @nbp @Profpatsch
+/lib/debug.nix @edolstra @nbp @Profpatsch
# Nixpkgs Internals
/default.nix @nbp
diff --git a/.version b/.version
index c1b80a502792..770bde1f44b3 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-18.09
\ No newline at end of file
+18.09
diff --git a/doc/Makefile b/doc/Makefile
index 0ddae8631f3c..952ef4bfcbb9 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -64,7 +64,7 @@ manual-full.xml: ${MD_TARGETS} .version *.xml
.version:
nix-instantiate --eval \
- -E '(import ../lib).nixpkgsVersion' > .version
+ -E '(import ../lib).version' > .version
%.section.xml: %.section.md
pandoc $^ -w docbook+smart \
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index 10e4706b0590..0b2b85aeeef6 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -75,7 +75,7 @@
An example of such a tool is LLVM.
- Although the existance of a "target platfom" is arguably a historical mistake, it is a common one: examples of tools that suffer from it are GCC, Binutils, GHC and Autoconf.
+ Although the existence of a "target platfom" is arguably a historical mistake, it is a common one: examples of tools that suffer from it are GCC, Binutils, GHC and Autoconf.
Nixpkgs tries to avoid sharing in the mistake where possible.
Still, because the concept of a target platform is so ingrained, it is best to support it as is.
diff --git a/doc/default.nix b/doc/default.nix
index 8abde58bb114..e5be364506ff 100644
--- a/doc/default.nix
+++ b/doc/default.nix
@@ -30,7 +30,7 @@ pkgs.stdenv.mkDerivation {
];
postPatch = ''
- echo ${lib.nixpkgsVersion} > .version
+ echo ${lib.version} > .version
'';
installPhase = ''
diff --git a/doc/functions.xml b/doc/functions.xml
index f790512e7db1..b2e450972947 100644
--- a/doc/functions.xml
+++ b/doc/functions.xml
@@ -294,6 +294,22 @@ merge:"diff3"
+
+ Debugging Nix Expressions
+
+ Nix is a unityped, dynamic language, this means every value can
+ potentially appear anywhere. Since it is also non-strict, evaluation order
+ and what ultimately is evaluated might surprise you. Therefore it is important
+ to be able to debug nix expressions.
+
+
+ In the lib/debug.nix file you will find a number of
+ functions that help (pretty-)printing values while evaluation is runnnig. You
+ can even specify how deep these values should be printed recursively, and
+ transform them on the fly. Please consult the docstrings in
+ lib/debug.nix for usage information.
+
+
buildFHSUserEnv
diff --git a/lib/debug.nix b/lib/debug.nix
index d163e60b6957..91a9265a6b5e 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -1,34 +1,67 @@
+/* Collection of functions useful for debugging
+ broken nix expressions.
+
+ * `trace`-like functions take two values, print
+ the first to stderr and return the second.
+ * `traceVal`-like functions take one argument
+ which both printed and returned.
+ * `traceSeq`-like functions fully evaluate their
+ traced value before printing (not just to “weak
+ head normal form” like trace does by default).
+ * Functions that end in `-Fn` take an additional
+ function as their first argument, which is applied
+ to the traced value before it is printed.
+*/
{ lib }:
-
let
-
-inherit (builtins) trace attrNamesToStr isAttrs isList isInt
- isString isBool head substring attrNames;
-
-inherit (lib) all id mapAttrsFlatten elem isFunction;
-
+ inherit (builtins) trace isAttrs isList isInt
+ head substring attrNames;
+ inherit (lib) id elem isFunction;
in
rec {
- inherit (builtins) addErrorContext;
+ # -- TRACING --
- addErrorContextToAttrs = lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v);
+ /* Trace msg, but only if pred is true.
- traceIf = p: msg: x: if p then trace msg x else x;
+ Example:
+ traceIf true "hello" 3
+ trace: hello
+ => 3
+ */
+ traceIf = pred: msg: x: if pred then trace msg x else x;
- traceVal = x: trace x x;
- traceXMLVal = x: trace (builtins.toXML x) x;
- traceXMLValMarked = str: x: trace (str + builtins.toXML x) x;
+ /* Trace the value and also return it.
- # strict trace functions (traced structure is fully evaluated and printed)
+ Example:
+ traceValFn (v: "mystring ${v}") "foo"
+ trace: mystring foo
+ => "foo"
+ */
+ traceValFn = f: x: trace (f x) x;
+ traceVal = traceValFn id;
- /* `builtins.trace`, but the value is `builtins.deepSeq`ed first. */
+ /* `builtins.trace`, but the value is `builtins.deepSeq`ed first.
+
+ Example:
+ trace { a.b.c = 3; } null
+ trace: { a = ; }
+ => null
+ traceSeq { a.b.c = 3; } null
+ trace: { a = { b = { c = 3; }; }; }
+ => null
+ */
traceSeq = x: y: trace (builtins.deepSeq x x) y;
- /* Like `traceSeq`, but only down to depth n.
- * This is very useful because lots of `traceSeq` usages
- * lead to an infinite recursion.
+ /* Like `traceSeq`, but only evaluate down to depth n.
+ This is very useful because lots of `traceSeq` usages
+ lead to an infinite recursion.
+
+ Example:
+ traceSeqN 2 { a.b.c = 3; } null
+ trace: { a = { b = {…}; }; }
+ => null
*/
traceSeqN = depth: x: y: with lib;
let snip = v: if isList v then noQuotes "[…]" v
@@ -43,39 +76,16 @@ rec {
in trace (generators.toPretty { allowPrettyValues = true; }
(modify depth snip x)) y;
- /* `traceSeq`, but the same value is traced and returned */
- traceValSeq = v: traceVal (builtins.deepSeq v v);
- /* `traceValSeq` but with fixed depth */
- traceValSeqN = depth: v: traceSeqN depth v v;
+ /* A combination of `traceVal` and `traceSeq` */
+ traceValSeqFn = f: v: traceVal f (builtins.deepSeq v v);
+ traceValSeq = traceValSeqFn id;
+
+ /* A combination of `traceVal` and `traceSeqN`. */
+ traceValSeqNFn = f: depth: v: traceSeqN depth (f v) v;
+ traceValSeqN = traceValSeqNFn id;
- # this can help debug your code as well - designed to not produce thousands of lines
- traceShowVal = x: trace (showVal x) x;
- traceShowValMarked = str: x: trace (str + showVal x) x;
- attrNamesToStr = a: lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a));
- showVal = x:
- if isAttrs x then
- if x ? outPath then "x is a derivation, name ${if x ? name then x.name else ""}, { ${attrNamesToStr x} }"
- else "x is attr set { ${attrNamesToStr x} }"
- else if isFunction x then "x is a function"
- else if x == [] then "x is an empty list"
- else if isList x then "x is a list, first element is: ${showVal (head x)}"
- else if x == true then "x is boolean true"
- else if x == false then "x is boolean false"
- else if x == null then "x is null"
- else if isInt x then "x is an integer `${toString x}'"
- else if isString x then "x is a string `${substring 0 50 x}...'"
- else "x is probably a path `${substring 0 50 (toString x)}...'";
-
- # trace the arguments passed to function and its result
- # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
- traceCall = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
- traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
- traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
-
- # FIXME: rename this?
- traceValIfNot = c: x:
- if c x then true else trace (showVal x) false;
+ # -- TESTING --
/* Evaluate a set of tests. A test is an attribute set {expr,
expected}, denoting an expression and its expected result. The
@@ -99,9 +109,68 @@ rec {
# usage: { testX = allTrue [ true ]; }
testAllTrue = expr: { inherit expr; expected = map (x: true) expr; };
- strict = v:
- trace "Warning: strict is deprecated and will be removed in the next release"
- (builtins.seq v v);
+
+ # -- DEPRECATED --
+
+ traceShowVal = x: trace (showVal x) x;
+ traceShowValMarked = str: x: trace (str + showVal x) x;
+
+ attrNamesToStr = a:
+ trace ( "Warning: `attrNamesToStr` is deprecated "
+ + "and will be removed in the next release. "
+ + "Please use more specific concatenation "
+ + "for your uses (`lib.concat(Map)StringsSep`)." )
+ (lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a)));
+
+ showVal = with lib;
+ trace ( "Warning: `showVal` is deprecated "
+ + "and will be removed in the next release, "
+ + "please use `traceSeqN`" )
+ (let
+ modify = v:
+ let pr = f: { __pretty = f; val = v; };
+ in if isDerivation v then pr
+ (drv: "<δ:${drv.name}:${concatStringsSep ","
+ (attrNames drv)}>")
+ else if [] == v then pr (const "[]")
+ else if isList v then pr (l: "[ ${go (head l)}, … ]")
+ else if isAttrs v then pr
+ (a: "{ ${ concatStringsSep ", " (attrNames a)} }")
+ else v;
+ go = x: generators.toPretty
+ { allowPrettyValues = true; }
+ (modify x);
+ in go);
+
+ traceXMLVal = x:
+ trace ( "Warning: `traceXMLVal` is deprecated "
+ + "and will be removed in the next release. "
+ + "Please use `traceValFn builtins.toXML`." )
+ (trace (builtins.toXML x) x);
+ traceXMLValMarked = str: x:
+ trace ( "Warning: `traceXMLValMarked` is deprecated "
+ + "and will be removed in the next release. "
+ + "Please use `traceValFn (x: str + builtins.toXML x)`." )
+ (trace (str + builtins.toXML x) x);
+
+ # trace the arguments passed to function and its result
+ # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
+ traceCall = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
+ traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
+ traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
+
+ traceValIfNot = c: x:
+ trace ( "Warning: `traceValIfNot` is deprecated "
+ + "and will be removed in the next release. "
+ + "Please use `if/then/else` and `traceValSeq 1`.")
+ (if c x then true else traceSeq (showVal x) false);
+
+
+ addErrorContextToAttrs = attrs:
+ trace ( "Warning: `addErrorContextToAttrs` is deprecated "
+ + "and will be removed in the next release. "
+ + "Please use `builtins.addErrorContext` directly." )
+ (lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v) attrs);
# example: (traceCallXml "myfun" id 3) will output something like
# calling myfun arg 1: 3 result: 3
@@ -109,17 +178,20 @@ rec {
# note: if result doesn't evaluate you'll get no trace at all (FIXME)
# args should be printed in any case
traceCallXml = a:
- if !isInt a then
+ trace ( "Warning: `traceCallXml` is deprecated "
+ + "and will be removed in the next release. "
+ + "Please complain if you use the function regularly." )
+ (if !isInt a then
traceCallXml 1 "calling ${a}\n"
else
let nr = a;
in (str: expr:
if isFunction expr then
(arg:
- traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (strict arg)}" (expr arg)
+ traceCallXml (builtins.add 1 nr) "${str}\n arg ${builtins.toString nr} is \n ${builtins.toXML (builtins.seq arg arg)}" (expr arg)
)
else
- let r = strict expr;
+ let r = builtins.seq expr expr;
in trace "${str}\n result:\n${builtins.toXML r}" r
- );
+ ));
}
diff --git a/lib/default.nix b/lib/default.nix
index c292ed33e1da..60ce01a93cd2 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -58,7 +58,7 @@ let
replaceStrings seq stringLength sub substring tail;
inherit (trivial) id const concat or and boolToString mergeAttrs
flip mapNullable inNixShell min max importJSON warn info
- nixpkgsVersion mod compare splitByAndCompare
+ nixpkgsVersion version mod compare splitByAndCompare
functionArgs setFunctionArgs isFunction;
inherit (fixedPoints) fix fix' extends composeExtensions
@@ -115,11 +115,12 @@ let
unknownModule mkOption;
inherit (types) isType setType defaultTypeMerge defaultFunctor
isOptionType mkOptionType;
- inherit (debug) addErrorContextToAttrs traceIf traceVal
+ inherit (debug) addErrorContextToAttrs traceIf traceVal traceValFn
traceXMLVal traceXMLValMarked traceSeq traceSeqN traceValSeq
- traceValSeqN traceShowVal traceShowValMarked
- showVal traceCall traceCall2 traceCall3 traceValIfNot runTests
- testAllTrue strict traceCallXml attrNamesToStr;
+ traceValSeqFn traceValSeqN traceValSeqNFn traceShowVal
+ traceShowValMarked showVal traceCall traceCall2 traceCall3
+ traceValIfNot runTests testAllTrue traceCallXml
+ attrNamesToStr;
inherit (misc) maybeEnv defaultMergeArg defaultMerge foldArgs
defaultOverridableDelayableArgs composedArgsAndFun
maybeAttrNullable maybeAttr ifEnable checkFlag getValue
diff --git a/lib/generators.nix b/lib/generators.nix
index d1a8f6bf8dcd..c09384c00f57 100644
--- a/lib/generators.nix
+++ b/lib/generators.nix
@@ -143,18 +143,13 @@ rec {
(This means fn is type Val -> String.) */
allowPrettyValues ? false
}@args: v: with builtins;
- if isInt v then toString v
+ let isPath = v: typeOf v == "path";
+ in if isInt v then toString v
else if isString v then ''"${libStr.escape [''"''] v}"''
else if true == v then "true"
else if false == v then "false"
- else if null == v then "null"
- else if isFunction v then
- let fna = lib.functionArgs v;
- showFnas = concatStringsSep "," (libAttr.mapAttrsToList
- (name: hasDefVal: if hasDefVal then "(${name})" else name)
- fna);
- in if fna == {} then "<λ>"
- else "<λ:{${showFnas}}>"
+ else if null == v then "null"
+ else if isPath v then toString v
else if isList v then "[ "
+ libStr.concatMapStringsSep " " (toPretty args) v
+ " ]"
@@ -163,12 +158,21 @@ rec {
if attrNames v == [ "__pretty" "val" ] && allowPrettyValues
then v.__pretty v.val
# TODO: there is probably a better representation?
- else if v ? type && v.type == "derivation" then "<δ>"
+ else if v ? type && v.type == "derivation" then
+ "<δ:${v.name}>"
+ # "<δ:${concatStringsSep "," (builtins.attrNames v)}>"
else "{ "
+ libStr.concatStringsSep " " (libAttr.mapAttrsToList
(name: value:
"${toPretty args name} = ${toPretty args value};") v)
+ " }"
- else abort "generators.toPretty: should never happen (v = ${v})";
+ else if isFunction v then
+ let fna = lib.functionArgs v;
+ showFnas = concatStringsSep "," (libAttr.mapAttrsToList
+ (name: hasDefVal: if hasDefVal then "(${name})" else name)
+ fna);
+ in if fna == {} then "<λ>"
+ else "<λ:{${showFnas}}>"
+ else abort "toPretty: should never happen (v = ${v})";
}
diff --git a/lib/modules.nix b/lib/modules.nix
index 4ef982c7ec96..6c8033322a54 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -159,7 +159,7 @@ rec {
context = name: ''while evaluating the module argument `${name}' in "${key}":'';
extraArgs = builtins.listToAttrs (map (name: {
inherit name;
- value = addErrorContext (context name)
+ value = builtins.addErrorContext (context name)
(args.${name} or config._module.args.${name});
}) requiredArgs);
@@ -309,7 +309,7 @@ rec {
res.mergedValue;
in opt //
- { value = addErrorContext "while evaluating the option `${showOption loc}':" value;
+ { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
definitions = map (def: def.value) res.defsFinal;
files = map (def: def.file) res.defsFinal;
inherit (res) isDefined;
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 012a1786a3cc..c6618083ce72 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -26,7 +26,7 @@ in rec {
none = [];
- arm = filterDoubles predicates.isArm;
+ arm = filterDoubles predicates.isAarch32;
aarch64 = filterDoubles predicates.isAarch64;
x86 = filterDoubles predicates.isx86;
i686 = filterDoubles predicates.isi686;
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 848737700b0b..e229cccb365c 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -88,16 +88,36 @@ rec {
#
iphone64 = {
- config = "aarch64-apple-darwin14";
- arch = "arm64";
- libc = "libSystem";
+ config = "aarch64-apple-ios";
+ # config = "aarch64-apple-darwin14";
+ sdkVer = "10.2";
+ useiOSPrebuilt = true;
platform = {};
};
iphone32 = {
- config = "arm-apple-darwin10";
- arch = "armv7-a";
- libc = "libSystem";
+ config = "armv7-apple-ios";
+ # config = "arm-apple-darwin10";
+ sdkVer = "10.2";
+ useiOSPrebuilt = true;
+ platform = {};
+ };
+
+ iphone64-simulator = {
+ config = "x86_64-apple-ios";
+ # config = "x86_64-apple-darwin14";
+ sdkVer = "10.2";
+ useiOSPrebuilt = true;
+ isiPhoneSimulator = true;
+ platform = {};
+ };
+
+ iphone32-simulator = {
+ config = "i686-apple-ios";
+ # config = "i386-apple-darwin11";
+ sdkVer = "10.2";
+ useiOSPrebuilt = true;
+ isiPhoneSimulator = true;
platform = {};
};
diff --git a/lib/systems/for-meta.nix b/lib/systems/for-meta.nix
index 43c0195c3f18..9e85cea3ad11 100644
--- a/lib/systems/for-meta.nix
+++ b/lib/systems/for-meta.nix
@@ -7,7 +7,7 @@ in rec {
all = [ {} ]; # `{}` matches anything
none = [];
- arm = [ patterns.isArm ];
+ arm = [ patterns.isAarch32 ];
aarch64 = [ patterns.isAarch64 ];
x86 = [ patterns.isx86 ];
i686 = [ patterns.isi686 ];
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index d7fabf684b72..63f9fab4f675 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -9,8 +9,8 @@ rec {
isx86_64 = { cpu = cpuTypes.x86_64; };
isPowerPC = { cpu = cpuTypes.powerpc; };
isx86 = { cpu = { family = "x86"; }; };
- isArm = { cpu = { family = "arm"; }; };
- isAarch64 = { cpu = { family = "aarch64"; }; };
+ isAarch32 = { cpu = { family = "arm"; bits = 32; }; };
+ isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
isMips = { cpu = { family = "mips"; }; };
isRiscV = { cpu = { family = "riscv"; }; };
isWasm = { cpu = { family = "wasm"; }; };
@@ -41,6 +41,9 @@ rec {
isEfi = map (family: { cpu.family = family; })
[ "x86" "arm" "aarch64" ];
+
+ # Deprecated after 18.03
+ isArm = isAarch32;
};
matchAnyAttrs = patterns:
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 381108d76fe2..018fd172e687 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -72,7 +72,7 @@ rec {
armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; };
- aarch64 = { bits = 64; significantByte = littleEndian; family = "aarch64"; };
+ aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; };
i686 = { bits = 32; significantByte = littleEndian; family = "x86"; };
x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; };
mips = { bits = 32; significantByte = bigEndian; family = "mips"; };
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index 5f19dd63f2d8..c683df7d7ca3 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -317,7 +317,8 @@ runTests {
expr = mapAttrs (const (generators.toPretty {})) rec {
int = 42;
bool = true;
- string = "fnord";
+ string = ''fno"rd'';
+ path = /. + "/foo"; # toPath returns a string
null_ = null;
function = x: x;
functionArgs = { arg ? 4, foo }: arg;
@@ -328,13 +329,14 @@ runTests {
expected = rec {
int = "42";
bool = "true";
- string = "\"fnord\"";
+ string = ''"fno\"rd"'';
+ path = "/foo";
null_ = "null";
function = "<λ>";
functionArgs = "<λ:{(arg),foo}>";
list = "[ 3 4 ${function} [ false ] ]";
attrs = "{ \"foo\" = null; \"foo bar\" = \"baz\"; }";
- drv = "<δ>";
+ drv = "<δ:test>";
};
};
diff --git a/lib/trivial.nix b/lib/trivial.nix
index a928e1dbca98..251cb796db0e 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -58,11 +58,14 @@ rec {
inherit (lib.strings) fileContents;
+ release = fileContents ../.version;
+ versionSuffix = let suffixFile = ../.version-suffix; in
+ if pathExists suffixFile then fileContents suffixFile else "pre-git";
+
# Return the Nixpkgs version number.
- nixpkgsVersion =
- let suffixFile = ../.version-suffix; in
- fileContents ../.version
- + (if pathExists suffixFile then fileContents suffixFile else "pre-git");
+ version = release + versionSuffix;
+
+ nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version;
# Whether we're being called by nix-shell.
inNixShell = builtins.getEnv "IN_NIX_SHELL" != "";
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 0f05c363a656..14fd53b2f492 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1241,7 +1241,7 @@
name = "Mabry Cervin";
};
eqyiel = {
- email = "r@rkm.id.au";
+ email = "ruben@maher.fyi";
github = "eqyiel";
name = "Ruben Maher";
};
@@ -1726,6 +1726,11 @@
github = "jbedo";
name = "Justin Bedő";
};
+ jbgi = {
+ email = "jb@giraudeau.info";
+ github = "jbgi";
+ name = "Jean-Baptiste Giraudeau";
+ };
jcumming = {
email = "jack@mudshark.org";
name = "Jack Cummings";
@@ -1755,6 +1760,11 @@
github = "tftio";
name = "James Felix Black";
};
+ jflanglois = {
+ email = "yourstruly@julienlanglois.me";
+ github = "jflanglois";
+ name = "Julien Langlois";
+ };
jfrankenau = {
email = "johannes@frankenau.net";
github = "jfrankenau";
@@ -2521,6 +2531,11 @@
github = "fstamour";
name = "Francis St-Amour";
};
+ mrkkrp = {
+ email = "markkarpov92@gmail.com";
+ github = "mrkkrp";
+ name = "Mark Karpov";
+ };
mrVanDalo = {
email = "contact@ingolf-wagner.de";
github = "mrVanDalo";
@@ -4039,7 +4054,7 @@
xeji = {
email = "xeji@cat3.de";
github = "xeji";
- name = "xeji";
+ name = "Uli Baum";
};
xnaveira = {
email = "xnaveira@gmail.com";
diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile
new file mode 100644
index 000000000000..b15fbaa270fc
--- /dev/null
+++ b/nixos/doc/manual/Makefile
@@ -0,0 +1,8 @@
+debug:
+ nix-shell --packages xmloscopy \
+ --run 'xmloscopy --docbook5 ./manual.xml ./manual-combined.xml'
+
+generated: ./options-to-docbook.xsl
+ nix-build ../../release.nix \
+ --attr manualGeneratedSources.x86_64-linux \
+ --out-link ./generated
diff --git a/nixos/doc/manual/administration/cleaning-store.xml b/nixos/doc/manual/administration/cleaning-store.xml
index 4cf62947f528..52512b8f1270 100644
--- a/nixos/doc/manual/administration/cleaning-store.xml
+++ b/nixos/doc/manual/administration/cleaning-store.xml
@@ -29,8 +29,8 @@ this unit automatically at certain points in time, for instance, every
night at 03:15:
-nix.gc.automatic = true;
-nix.gc.dates = "03:15";
+ = true;
+ = "03:15";
diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml
index d89d262eff4e..2fc353059dfc 100644
--- a/nixos/doc/manual/administration/container-networking.xml
+++ b/nixos/doc/manual/administration/container-networking.xml
@@ -39,9 +39,9 @@ IP address. This can be accomplished using the following configuration
on the host:
-networking.nat.enable = true;
-networking.nat.internalInterfaces = ["ve-+"];
-networking.nat.externalInterface = "eth0";
+ = true;
+ = ["ve-+"];
+ = "eth0";
where eth0 should be replaced with the desired
external interface. Note that ve-+ is a wildcard
diff --git a/nixos/doc/manual/administration/control-groups.xml b/nixos/doc/manual/administration/control-groups.xml
index 0d7b8ae910a7..03db40a3bc52 100644
--- a/nixos/doc/manual/administration/control-groups.xml
+++ b/nixos/doc/manual/administration/control-groups.xml
@@ -47,7 +47,7 @@ would get 1/1001 of the cgroup’s CPU time.) You can limit a service’s
CPU share in configuration.nix:
-systemd.services.httpd.serviceConfig.CPUShares = 512;
+systemd.services.httpd.serviceConfig.CPUShares = 512;
By default, every cgroup has 1024 CPU shares, so this will halve the
@@ -61,7 +61,7 @@ available memory. Per-cgroup memory limits can be specified in
httpd.service to 512 MiB of RAM (excluding swap):
-systemd.services.httpd.serviceConfig.MemoryLimit = "512M";
+systemd.services.httpd.serviceConfig.MemoryLimit = "512M";
diff --git a/nixos/doc/manual/administration/declarative-containers.xml b/nixos/doc/manual/administration/declarative-containers.xml
index 94f03a2ee116..79b230e5fc7f 100644
--- a/nixos/doc/manual/administration/declarative-containers.xml
+++ b/nixos/doc/manual/administration/declarative-containers.xml
@@ -15,8 +15,8 @@ following specifies that there shall be a container named
containers.database =
{ config =
{ config, pkgs, ... }:
- { services.postgresql.enable = true;
- services.postgresql.package = pkgs.postgresql96;
+ { = true;
+ = pkgs.postgresql96;
};
};
@@ -33,11 +33,11 @@ ports. However, they cannot change the network configuration. You can
give a container its own network as follows:
-containers.database =
- { privateNetwork = true;
- hostAddress = "192.168.100.10";
- localAddress = "192.168.100.11";
- };
+containers.database = {
+ privateNetwork = true;
+ hostAddress = "192.168.100.10";
+ localAddress = "192.168.100.11";
+};
This gives the container a private virtual Ethernet interface with IP
diff --git a/nixos/doc/manual/administration/imperative-containers.xml b/nixos/doc/manual/administration/imperative-containers.xml
index d5d8140e0764..d39ac7f8bef4 100644
--- a/nixos/doc/manual/administration/imperative-containers.xml
+++ b/nixos/doc/manual/administration/imperative-containers.xml
@@ -30,8 +30,8 @@ line. For instance, to create a container that has
# nixos-container create foo --config '
- services.openssh.enable = true;
- users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];
+ = true;
+ users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];
'
@@ -100,9 +100,9 @@ specify a new configuration on the command line:
# nixos-container update foo --config '
- services.httpd.enable = true;
- services.httpd.adminAddr = "foo@example.org";
- networking.firewall.allowedTCPPorts = [ 80 ];
+ = true;
+ = "foo@example.org";
+ = [ 80 ];
'
# curl http://$(nixos-container show-ip foo)/
diff --git a/nixos/doc/manual/configuration/abstractions.xml b/nixos/doc/manual/configuration/abstractions.xml
index cbd54bca62f9..f794085295cf 100644
--- a/nixos/doc/manual/configuration/abstractions.xml
+++ b/nixos/doc/manual/configuration/abstractions.xml
@@ -11,7 +11,7 @@ to abstract. Take, for instance, this Apache HTTP Server configuration:
{
- services.httpd.virtualHosts =
+ =
[ { hostName = "example.org";
documentRoot = "/webroot";
adminAddr = "alice@example.org";
@@ -43,7 +43,7 @@ let
};
in
{
- services.httpd.virtualHosts =
+ =
[ exampleOrgCommon
(exampleOrgCommon // {
enableSSL = true;
@@ -66,7 +66,7 @@ allowed. Thus, you also could have written:
{
- services.httpd.virtualHosts =
+ =
let exampleOrgCommon = ...; in
[ exampleOrgCommon
(exampleOrgCommon // { ... })
@@ -86,7 +86,7 @@ the host name. This can be done as follows:
{
- services.httpd.virtualHosts =
+ =
let
makeVirtualHost = name:
{ hostName = name;
@@ -113,7 +113,7 @@ element in a list:
{
- services.httpd.virtualHosts =
+ =
let
makeVirtualHost = ...;
in map makeVirtualHost
@@ -132,7 +132,7 @@ function that takes a set as its argument, like this:
{
- services.httpd.virtualHosts =
+ =
let
makeVirtualHost = { name, root }:
{ hostName = name;
diff --git a/nixos/doc/manual/configuration/ad-hoc-network-config.xml b/nixos/doc/manual/configuration/ad-hoc-network-config.xml
index 26a572ba1fb5..c53b9598109c 100644
--- a/nixos/doc/manual/configuration/ad-hoc-network-config.xml
+++ b/nixos/doc/manual/configuration/ad-hoc-network-config.xml
@@ -6,14 +6,14 @@
Ad-Hoc Configuration
-You can use to specify
+You can use to specify
shell commands to be run at the end of
network-setup.service. This is useful for doing
network configuration not covered by the existing NixOS modules. For
instance, to statically configure an IPv6 address:
-networking.localCommands =
+ =
''
ip -6 addr add 2001:610:685:1::1/64 dev eth0
'';
diff --git a/nixos/doc/manual/configuration/adding-custom-packages.xml b/nixos/doc/manual/configuration/adding-custom-packages.xml
index ab3665bae504..ae58f61d73ed 100644
--- a/nixos/doc/manual/configuration/adding-custom-packages.xml
+++ b/nixos/doc/manual/configuration/adding-custom-packages.xml
@@ -24,7 +24,7 @@ manual. Finally, you add it to
environment.systemPackages, e.g.
-environment.systemPackages = [ pkgs.my-package ];
+ = [ pkgs.my-package ];
and you run nixos-rebuild, specifying your own
@@ -41,7 +41,7 @@ Nixpkgs tree. For instance, here is how you specify a build of the
package directly in configuration.nix:
-environment.systemPackages =
+ =
let
my-hello = with pkgs; stdenv.mkDerivation rec {
name = "hello-2.8";
@@ -57,7 +57,7 @@ environment.systemPackages =
Of course, you can also move the definition of
my-hello into a separate Nix expression, e.g.
-environment.systemPackages = [ (import ./my-hello.nix) ];
+ = [ (import ./my-hello.nix) ];
where my-hello.nix contains:
diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml
index 3d1cdaf4c4ab..d4ca15bb3e72 100644
--- a/nixos/doc/manual/configuration/config-file.xml
+++ b/nixos/doc/manual/configuration/config-file.xml
@@ -28,9 +28,9 @@ form name =
{ config, pkgs, ... }:
-{ services.httpd.enable = true;
- services.httpd.adminAddr = "alice@example.org";
- services.httpd.documentRoot = "/webroot";
+{ = true;
+ = "alice@example.org";
+ = "/webroot";
}
@@ -40,7 +40,7 @@ the document root.
Sets can be nested, and in fact dots in option names are
shorthand for defining a set containing another set. For instance,
- defines a set named
+ defines a set named
services that contains a set named
httpd, which in turn contains an option definition
named enable with value true.
@@ -89,7 +89,7 @@ The option value `services.httpd.enable' in `/etc/nixos/configuration.nix' is no
Strings are enclosed in double quotes, e.g.
-networking.hostName = "dexter";
+ = "dexter";
Special characters can be escaped by prefixing them with a
@@ -99,7 +99,7 @@ networking.hostName = "dexter";
single quotes, e.g.
-networking.extraHosts =
+ =
''
127.0.0.2 other-localhost
10.0.0.1 server
@@ -125,8 +125,8 @@ networking.extraHosts =
false, e.g.
-networking.firewall.enable = true;
-networking.firewall.allowPing = false;
+ = true;
+ = false;
@@ -138,7 +138,7 @@ networking.firewall.allowPing = false;
For example,
-boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 60;
+."net.ipv4.tcp_keepalive_time" = 60;
(Note that here the attribute name
@@ -158,7 +158,7 @@ boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 60;
enclosed in braces, as in the option definition
-fileSystems."/boot" =
+."/boot" =
{ device = "/dev/sda1";
fsType = "ext4";
options = [ "rw" "data=ordered" "relatime" ];
@@ -175,7 +175,7 @@ fileSystems."/boot" =
elements are separated by whitespace, like this:
-boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ];
+ = [ "fuse" "kvm-intel" "coretemp" ];
List elements can be any other type, e.g. sets:
@@ -195,12 +195,12 @@ swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
the function argument pkgs. Typical uses:
-environment.systemPackages =
+ =
[ pkgs.thunderbird
pkgs.emacs
];
-postgresql.package = pkgs.postgresql90;
+ = pkgs.postgresql90;
The latter option definition changes the default PostgreSQL
diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml
index 8677c13db40f..f092c7e207ff 100644
--- a/nixos/doc/manual/configuration/configuration.xml
+++ b/nixos/doc/manual/configuration/configuration.xml
@@ -25,9 +25,8 @@ effect after you run nixos-rebuild.
-
+
-
diff --git a/nixos/doc/manual/configuration/customizing-packages.xml b/nixos/doc/manual/configuration/customizing-packages.xml
index 8aa01fb57a09..8b7654e9b42e 100644
--- a/nixos/doc/manual/configuration/customizing-packages.xml
+++ b/nixos/doc/manual/configuration/customizing-packages.xml
@@ -28,7 +28,7 @@ has a dependency on GTK+ 2. If you want to build it against GTK+ 3,
you can specify that as follows:
-environment.systemPackages = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ];
+ = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ];
The function override performs the call to the Nix
@@ -38,7 +38,7 @@ the set of arguments specified by you. So here the function argument
causing Emacs to depend on GTK+ 3. (The parentheses are necessary
because in Nix, function application binds more weakly than list
construction, so without them,
-environment.systemPackages would be a list with two
+ would be a list with two
elements.)
Even greater customisation is possible using the function
@@ -51,7 +51,7 @@ For instance, if you want to override the source code of Emacs, you
can say:
-environment.systemPackages = [
+ = [
(pkgs.emacs.overrideAttrs (oldAttrs: {
name = "emacs-25.0-pre";
src = /path/to/my/emacs/tree;
diff --git a/nixos/doc/manual/configuration/declarative-packages.xml b/nixos/doc/manual/configuration/declarative-packages.xml
index dc2fa715097c..4c875e6f037f 100644
--- a/nixos/doc/manual/configuration/declarative-packages.xml
+++ b/nixos/doc/manual/configuration/declarative-packages.xml
@@ -8,12 +8,12 @@
With declarative package management, you specify which packages
you want on your system by setting the option
-. For instance, adding the
+. For instance, adding the
following line to configuration.nix enables the
Mozilla Thunderbird email application:
-environment.systemPackages = [ pkgs.thunderbird ];
+ = [ pkgs.thunderbird ];
The effect of this specification is that the Thunderbird package from
@@ -34,7 +34,7 @@ name, such as
different channels that you might have.)
To “uninstall” a package, simply remove it from
- and run
+ and run
nixos-rebuild switch.
diff --git a/nixos/doc/manual/configuration/file-systems.xml b/nixos/doc/manual/configuration/file-systems.xml
index ae3d124cd6bb..0ff37c38d8b0 100644
--- a/nixos/doc/manual/configuration/file-systems.xml
+++ b/nixos/doc/manual/configuration/file-systems.xml
@@ -13,21 +13,21 @@ device /dev/disk/by-label/data onto the mount
point /data:
-fileSystems."/data" =
+."/data" =
{ device = "/dev/disk/by-label/data";
fsType = "ext4";
};
Mount points are created automatically if they don’t already exist.
-For , it’s best to use the topology-independent
+For , it’s best to use the topology-independent
device aliases in /dev/disk/by-label and
/dev/disk/by-uuid, as these don’t change if the
topology changes (e.g. if a disk is moved to another IDE
controller).
You can usually omit the file system type
-(), since mount can usually
+(), since mount can usually
detect the type and load the necessary kernel module automatically.
However, if the file system is needed at early boot (in the initial
ramdisk) and is not ext2, ext3
@@ -38,7 +38,7 @@ available.
System startup will fail if any of the filesystems fails to mount,
dropping you to the emergency shell.
You can make a mount asynchronous and non-critical by adding
-options = [ "nofail" ];.
+options = [ "nofail" ];.
diff --git a/nixos/doc/manual/configuration/firewall.xml b/nixos/doc/manual/configuration/firewall.xml
index 75cccef95b38..ecc21a3bdf51 100644
--- a/nixos/doc/manual/configuration/firewall.xml
+++ b/nixos/doc/manual/configuration/firewall.xml
@@ -12,37 +12,37 @@ both IPv4 and IPv6 traffic. It is enabled by default. It can be
disabled as follows:
-networking.firewall.enable = false;
+ = false;
If the firewall is enabled, you can open specific TCP ports to the
outside world:
-networking.firewall.allowedTCPPorts = [ 80 443 ];
+ = [ 80 443 ];
Note that TCP port 22 (ssh) is opened automatically if the SSH daemon
-is enabled (). UDP
+is enabled (). UDP
ports can be opened through
-.
+.
To open ranges of TCP ports:
-networking.firewall.allowedTCPPortRanges = [
+ = [
{ from = 4000; to = 4007; }
{ from = 8000; to = 8010; }
];
Similarly, UDP port ranges can be opened through
-.
+.
Also of interest is
-networking.firewall.allowPing = true;
+ = true;
to allow the machine to respond to ping requests. (ICMPv6 pings are
diff --git a/nixos/doc/manual/configuration/ipv4-config.xml b/nixos/doc/manual/configuration/ipv4-config.xml
index 68238b547d60..fbc9695c6014 100644
--- a/nixos/doc/manual/configuration/ipv4-config.xml
+++ b/nixos/doc/manual/configuration/ipv4-config.xml
@@ -12,15 +12,18 @@ interfaces. However, you can configure an interface manually as
follows:
-networking.interfaces.eth0.ipv4.addresses = [ { address = "192.168.1.2"; prefixLength = 24; } ];
+networking.interfaces.eth0.ipv4.addresses = [ {
+ address = "192.168.1.2";
+ prefixLength = 24;
+} ];
Typically you’ll also want to set a default gateway and set of name
servers:
-networking.defaultGateway = "192.168.1.1";
-networking.nameservers = [ "8.8.8.8" ];
+ = "192.168.1.1";
+ = [ "8.8.8.8" ];
@@ -31,10 +34,10 @@ service
The default gateway and name server configuration is performed by
network-setup.service.
-The host name is set using :
+The host name is set using :
-networking.hostName = "cartman";
+ = "cartman";
The default host name is nixos. Set it to the
diff --git a/nixos/doc/manual/configuration/ipv6-config.xml b/nixos/doc/manual/configuration/ipv6-config.xml
index 74a21e18ec3f..e8960dc8930c 100644
--- a/nixos/doc/manual/configuration/ipv6-config.xml
+++ b/nixos/doc/manual/configuration/ipv6-config.xml
@@ -11,14 +11,14 @@ is used to automatically assign IPv6 addresses to all interfaces. You
can disable IPv6 support globally by setting:
-networking.enableIPv6 = false;
+ = false;
You can disable IPv6 on a single interface using a normal sysctl (in this
example, we use interface eth0):
-boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true;
+."net.ipv6.conf.eth0.disable_ipv6" = true;
@@ -26,14 +26,17 @@ boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true;
DHCPv6. You can configure an interface manually:
-networking.interfaces.eth0.ipv6.addresses = [ { address = "fe00:aa:bb:cc::2"; prefixLength = 64; } ];
+networking.interfaces.eth0.ipv6.addresses = [ {
+ address = "fe00:aa:bb:cc::2";
+ prefixLength = 64;
+} ];
For configuring a gateway, optionally with explicitly specified interface:
-networking.defaultGateway6 = {
+ = {
address = "fe00::1";
interface = "enp0s3";
}
diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml
index 52be26d6024a..b9325629256a 100644
--- a/nixos/doc/manual/configuration/linux-kernel.xml
+++ b/nixos/doc/manual/configuration/linux-kernel.xml
@@ -10,7 +10,7 @@
the option . For instance, this
selects the Linux 3.10 kernel:
-boot.kernelPackages = pkgs.linuxPackages_3_10;
+ = pkgs.linuxPackages_3_10;
Note that this not only replaces the kernel, but also packages that
are specific to the kernel version, such as the NVIDIA video drivers.
@@ -45,23 +45,23 @@ is typically y, n or
Kernel modules for hardware devices are generally loaded
automatically by udev. You can force a module to
-be loaded via , e.g.
+be loaded via , e.g.
-boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ];
+ = [ "fuse" "kvm-intel" "coretemp" ];
If the module is required early during the boot (e.g. to mount the
root file system), you can use
-:
+:
-boot.initrd.extraKernelModules = [ "cifs" ];
+ = [ "cifs" ];
This causes the specified modules and their dependencies to be added
to the initial ramdisk.
Kernel runtime parameters can be set through
-, e.g.
+, e.g.
-boot.kernel.sysctl."net.ipv4.tcp_keepalive_time" = 120;
+."net.ipv4.tcp_keepalive_time" = 120;
sets the kernel’s TCP keepalive time to 120 seconds. To see the
available parameters, run sysctl -a.
diff --git a/nixos/doc/manual/configuration/luks-file-systems.xml b/nixos/doc/manual/configuration/luks-file-systems.xml
index 00c795cd0898..6c2b4cc60b5b 100644
--- a/nixos/doc/manual/configuration/luks-file-systems.xml
+++ b/nixos/doc/manual/configuration/luks-file-systems.xml
@@ -33,13 +33,13 @@ as /, add the following to
configuration.nix:
-boot.initrd.luks.devices.crypted.device = "/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d";
-fileSystems."/".device = "/dev/mapper/crypted";
+boot.initrd.luks.devices.crypted.device = "/dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d";
+."/".device = "/dev/mapper/crypted";
Should grub be used as bootloader, and /boot is located
on an encrypted partition, it is necessary to add the following grub option:
-boot.loader.grub.enableCryptodisk = true;
+ = true;
diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml
index 5420c7f88385..2f76459a24e9 100644
--- a/nixos/doc/manual/configuration/modularity.xml
+++ b/nixos/doc/manual/configuration/modularity.xml
@@ -22,8 +22,8 @@ use other modules by including them from
{ config, pkgs, ... }:
{ imports = [ ./vpn.nix ./kde.nix ];
- services.httpd.enable = true;
- environment.systemPackages = [ pkgs.emacs ];
+ = true;
+ = [ pkgs.emacs ];
...
}
@@ -35,25 +35,25 @@ latter might look like this:
{ config, pkgs, ... }:
-{ services.xserver.enable = true;
- services.xserver.displayManager.sddm.enable = true;
- services.xserver.desktopManager.plasma5.enable = true;
+{ = true;
+ = true;
+ = true;
}
Note that both configuration.nix and
kde.nix define the option
-. When multiple modules
+. When multiple modules
define an option, NixOS will try to merge the
definitions. In the case of
-, that’s easy: the lists of
+, that’s easy: the lists of
packages can simply be concatenated. The value in
configuration.nix is merged last, so for
list-type options, it will appear at the end of the merged list. If
you want it to appear first, you can use mkBefore:
-boot.kernelModules = mkBefore [ "kvm-intel" ];
+ = mkBefore [ "kvm-intel" ];
This causes the kvm-intel kernel module to be
@@ -61,7 +61,7 @@ loaded before any other kernel modules.
For other types of options, a merge may not be possible. For
instance, if two modules define
-,
+,
nixos-rebuild will give an error:
@@ -72,7 +72,7 @@ When that happens, it’s possible to force one definition take
precedence over the others:
-services.httpd.adminAddr = pkgs.lib.mkForce "bob@example.org";
+ = pkgs.lib.mkForce "bob@example.org";
@@ -89,15 +89,15 @@ wondering how it’s possible that the (indirect)
is a “lazy” language — it only computes values when they are needed.
This works as long as no individual configuration value depends on
itself.. For example, here is a module that adds
-some packages to only if
- is set to
+some packages to only if
+ is set to
true somewhere else:
{ config, pkgs, ... }:
-{ environment.systemPackages =
- if config.services.xserver.enable then
+{ =
+ if config. then
[ pkgs.firefox
pkgs.thunderbird
]
@@ -113,10 +113,10 @@ value of a configuration option is. The command
allows you to find out:
-$ nixos-option services.xserver.enable
+$ nixos-option
true
-$ nixos-option boot.kernelModules
+$ nixos-option
[ "tun" "ipv6" "loop" ... ]
@@ -130,10 +130,10 @@ typical use:
$ nix-repl '<nixpkgs/nixos>'
-nix-repl> config.networking.hostName
+nix-repl> config.
"mandark"
-nix-repl> map (x: x.hostName) config.services.httpd.virtualHosts
+nix-repl> map (x: x.hostName) config.
[ "example.org" "example.gov" ]
diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml
index b4808e74ff9d..bbbee3a52ed5 100644
--- a/nixos/doc/manual/configuration/network-manager.xml
+++ b/nixos/doc/manual/configuration/network-manager.xml
@@ -10,7 +10,7 @@
use NetworkManager. You can enable NetworkManager by setting:
-networking.networkmanager.enable = true;
+ = true;
some desktop managers (e.g., GNOME) enable NetworkManager
@@ -20,7 +20,7 @@ automatically for you.
belong to the networkmanager group:
-users.extraUsers.youruser.extraGroups = [ "networkmanager" ];
+users.extraUsers.youruser.extraGroups = [ "networkmanager" ];
diff --git a/nixos/doc/manual/configuration/ssh.xml b/nixos/doc/manual/configuration/ssh.xml
index 7c928baaf896..7dbe598cffe2 100644
--- a/nixos/doc/manual/configuration/ssh.xml
+++ b/nixos/doc/manual/configuration/ssh.xml
@@ -10,12 +10,12 @@
setting:
-services.openssh.enable = true;
+ = true;
By default, root logins using a password are disallowed. They can be
disabled entirely by setting
-services.openssh.permitRootLogin to
+ to
"no".
You can declaratively specify authorised RSA/DSA public keys for
@@ -23,7 +23,7 @@ a user as follows:
-users.extraUsers.alice.openssh.authorizedKeys.keys =
+users.extraUsers.alice.openssh.authorizedKeys.keys =
[ "ssh-dss AAAAB3NzaC1kc3MAAACBAPIkGWVEt4..." ];
diff --git a/nixos/doc/manual/configuration/summary.xml b/nixos/doc/manual/configuration/summary.xml
index be1f2263149e..38032c5d9dc3 100644
--- a/nixos/doc/manual/configuration/summary.xml
+++ b/nixos/doc/manual/configuration/summary.xml
@@ -53,7 +53,7 @@ manual for the rest.
{ x = 1; y = 2; }
- An set with attributes names x and y
+ A set with attributes named x and y
{ foo.bar = 1; }
diff --git a/nixos/doc/manual/configuration/user-mgmt.xml b/nixos/doc/manual/configuration/user-mgmt.xml
index c6656edff6c8..1456a5894119 100644
--- a/nixos/doc/manual/configuration/user-mgmt.xml
+++ b/nixos/doc/manual/configuration/user-mgmt.xml
@@ -12,13 +12,13 @@ management. In the declarative style, users are specified in
states that a user account named alice shall exist:
-users.users.alice =
- { isNormalUser = true;
- home = "/home/alice";
- description = "Alice Foobar";
- extraGroups = [ "wheel" "networkmanager" ];
- openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
- };
+.alice = {
+ isNormalUser = true;
+ home = "/home/alice";
+ description = "Alice Foobar";
+ extraGroups = [ "wheel" "networkmanager" ];
+ openssh.authorizedKeys.keys = [ "ssh-dss AAAAB3Nza... alice@foobar" ];
+};
Note that alice is a member of the
@@ -32,13 +32,13 @@ a password. However, you can use the passwd program
to set a password, which is retained across invocations of
nixos-rebuild.
-If you set users.mutableUsers to false, then the contents of /etc/passwd
-and /etc/group will be congruent to your NixOS configuration. For instance,
-if you remove a user from users.users and run nixos-rebuild, the user
-account will cease to exist. Also, imperative commands for managing users
+If you set to false, then the contents of
+/etc/passwd and /etc/group will be congruent to
+your NixOS configuration. For instance, if you remove a user from
+and run nixos-rebuild, the user account will cease to exist. Also, imperative commands for managing users
and groups, such as useradd, are no longer available. Passwords may still be
-assigned by setting the user's hashedPassword option. A
-hashed password can be generated using mkpasswd -m sha-512
+assigned by setting the user's hashedPassword
+option. A hashed password can be generated using mkpasswd -m sha-512
after installing the mkpasswd package.
A user ID (uid) is assigned automatically. You can also specify
@@ -54,7 +54,7 @@ to the user specification.
group named students shall exist:
-users.groups.students.gid = 1000;
+.students.gid = 1000;
As with users, the group ID (gid) is optional and will be assigned
diff --git a/nixos/doc/manual/configuration/wireless.xml b/nixos/doc/manual/configuration/wireless.xml
index 1868380dcbfa..6ce43a437009 100644
--- a/nixos/doc/manual/configuration/wireless.xml
+++ b/nixos/doc/manual/configuration/wireless.xml
@@ -15,12 +15,12 @@ section on wireless networks.
NixOS will start wpa_supplicant for you if you enable this setting:
-networking.wireless.enable = true;
+ = true;
NixOS lets you specify networks for wpa_supplicant declaratively:
-networking.wireless.networks = {
+ = {
echelon = {
psk = "abcdefgh";
};
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index 9c2c59006f15..fd0daf6c6e57 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -9,14 +9,14 @@
The X Window System (X11) provides the basis of NixOS’ graphical
user interface. It can be enabled as follows:
-services.xserver.enable = true;
+ = true;
The X server will automatically detect and use the appropriate video
driver from a set of X.org drivers (such as vesa
and intel). You can also specify a driver
manually, e.g.
-services.xserver.videoDrivers = [ "r128" ];
+ = [ "r128" ];
to enable X.org’s xf86-video-r128 driver.
@@ -25,13 +25,13 @@ Otherwise, you can only log into a plain undecorated
xterm window. Thus you should pick one or more of
the following lines:
-services.xserver.desktopManager.plasma5.enable = true;
-services.xserver.desktopManager.xfce.enable = true;
-services.xserver.desktopManager.gnome3.enable = true;
-services.xserver.windowManager.xmonad.enable = true;
-services.xserver.windowManager.twm.enable = true;
-services.xserver.windowManager.icewm.enable = true;
-services.xserver.windowManager.i3.enable = true;
+ = true;
+ = true;
+ = true;
+ = true;
+ = true;
+ = true;
+ = true;
@@ -40,22 +40,22 @@ program that provides a graphical login prompt and manages the X
server) is SLiM. You can select an alternative one by picking one
of the following lines:
-services.xserver.displayManager.sddm.enable = true;
-services.xserver.displayManager.lightdm.enable = true;
+ = true;
+ = true;
You can set the keyboard layout (and optionally the layout variant):
-services.xserver.layout = "de";
-services.xserver.xkbVariant = "neo";
+ = "de";
+ = "neo";
The X server is started automatically at boot time. If you
don’t want this to happen, you can set:
-services.xserver.autorun = false;
+ = false;
The X server can then be started manually:
@@ -70,13 +70,13 @@ The X server can then be started manually:
has better 3D performance than the X.org drivers. It is not enabled
by default because it’s not free software. You can enable it as follows:
-services.xserver.videoDrivers = [ "nvidia" ];
+ = [ "nvidia" ];
Or if you have an older card, you may have to use one of the legacy drivers:
-services.xserver.videoDrivers = [ "nvidiaLegacy340" ];
-services.xserver.videoDrivers = [ "nvidiaLegacy304" ];
-services.xserver.videoDrivers = [ "nvidiaLegacy173" ];
+ = [ "nvidiaLegacy340" ];
+ = [ "nvidiaLegacy304" ];
+ = [ "nvidiaLegacy173" ];
You may need to reboot after enabling this driver to prevent a clash
with other kernel modules.
@@ -84,7 +84,7 @@ with other kernel modules.
On 64-bit systems, if you want full acceleration for 32-bit
programs such as Wine, you should also set the following:
-hardware.opengl.driSupport32Bit = true;
+ = true;
@@ -96,7 +96,7 @@ hardware.opengl.driSupport32Bit = true;
has better 3D performance than the X.org drivers. It is not enabled
by default because it’s not free software. You can enable it as follows:
-services.xserver.videoDrivers = [ "ati_unfree" ];
+ = [ "ati_unfree" ];
You will need to reboot after enabling this driver to prevent a clash
with other kernel modules.
@@ -104,7 +104,7 @@ with other kernel modules.
On 64-bit systems, if you want full acceleration for 32-bit
programs such as Wine, you should also set the following:
-hardware.opengl.driSupport32Bit = true;
+ = true;
@@ -115,12 +115,12 @@ hardware.opengl.driSupport32Bit = true;
Support for Synaptics touchpads (found in many laptops such as
the Dell Latitude series) can be enabled as follows:
-services.xserver.libinput.enable = true;
+ = true;
The driver has many options (see ). For
instance, the following disables tap-to-click behavior:
-services.xserver.libinput.tapping = false;
+ = false;
Note: the use of services.xserver.synaptics is deprecated since NixOS 17.09.
diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml
index 18804d2c08be..8cb592faed53 100644
--- a/nixos/doc/manual/configuration/xfce.xml
+++ b/nixos/doc/manual/configuration/xfce.xml
@@ -9,9 +9,9 @@
To enable the Xfce Desktop Environment, set
-services.xserver.desktopManager = {
- xfce.enable = true;
- default = "xfce";
+services.xserver.desktopManager = {
+ xfce.enable = true;
+ default = "xfce";
};
@@ -20,12 +20,12 @@ services.xserver.desktopManager = {
Optionally, compton
can be enabled for nice graphical effects, some example settings:
-services.compton = {
- enable = true;
- fade = true;
- inactiveOpacity = "0.9";
- shadow = true;
- fadeDelta = 4;
+services.compton = {
+ enable = true;
+ fade = true;
+ inactiveOpacity = "0.9";
+ shadow = true;
+ fadeDelta = 4;
};
@@ -33,9 +33,9 @@ services.compton = {
Some Xfce programs are not installed automatically.
To install them manually (system wide), put them into your
- environment.systemPackages.
+ .
-
+
Thunar Volume Support
@@ -44,7 +44,7 @@ services.compton = {
Thunar
volume support, put
-services.xserver.desktopManager.xfce.enable = true;
+ = true;
into your configuration.nix.
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index ac22712baf87..2c6309474b37 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -102,13 +102,18 @@ let
'';
+ generatedSources = runCommand "generated-docbook" {} ''
+ mkdir $out
+ ln -s ${modulesDoc} $out/modules.xml
+ ln -s ${optionsDocBook} $out/options-db.xml
+ printf "%s" "${version}" > $out/version
+ '';
+
copySources =
''
cp -prd $sources/* . # */
+ ln -s ${generatedSources} ./generated
chmod -R u+w .
- ln -s ${modulesDoc} configuration/modules.xml
- ln -s ${optionsDocBook} options-db.xml
- printf "%s" "${version}" > version
'';
toc = builtins.toFile "toc.xml"
@@ -224,6 +229,7 @@ let
'';
in rec {
+ inherit generatedSources;
# The NixOS options in JSON format.
optionsJSON = runCommand "options-json"
diff --git a/nixos/doc/manual/development/importing-modules.xml b/nixos/doc/manual/development/importing-modules.xml
new file mode 100644
index 000000000000..ec1da09b9507
--- /dev/null
+++ b/nixos/doc/manual/development/importing-modules.xml
@@ -0,0 +1,59 @@
+
+
+Importing Modules
+
+
+ Sometimes NixOS modules need to be used in configuration but exist
+ outside of Nixpkgs. These modules can be imported:
+
+
+
+{ config, lib, pkgs, ... }:
+
+{
+ imports =
+ [ # Use a locally-available module definition in
+ # ./example-module/default.nix
+ ./example-module
+ ];
+
+ services.exampleModule.enable = true;
+}
+
+
+
+ The environment variable NIXOS_EXTRA_MODULE_PATH is
+ an absolute path to a NixOS module that is included alongside the
+ Nixpkgs NixOS modules. Like any NixOS module, this module can import
+ additional modules:
+
+
+
+# ./module-list/default.nix
+[
+ ./example-module1
+ ./example-module2
+]
+
+
+
+# ./extra-module/default.nix
+{ imports = import ./module-list.nix; }
+
+
+
+# NIXOS_EXTRA_MODULE_PATH=/absolute/path/to/extra-module
+{ config, lib, pkgs, ... }:
+
+{
+ # No `imports` needed
+
+ services.exampleModule1.enable = true;
+}
+
+
+
diff --git a/nixos/doc/manual/development/writing-documentation.xml b/nixos/doc/manual/development/writing-documentation.xml
index 59a287717acb..8b787fae1fe0 100644
--- a/nixos/doc/manual/development/writing-documentation.xml
+++ b/nixos/doc/manual/development/writing-documentation.xml
@@ -18,13 +18,25 @@
The DocBook sources of the are in the
nixos/doc/manual
- subdirectory of the Nixpkgs repository. If you make modifications to
- the manual, it's important to build it before committing. You can do
- that as follows:
-
- nix-build nixos/release.nix -A manual.x86_64-linux
+ subdirectory of the Nixpkgs repository.
+
+ You can quickly validate your edits with make:
+
+
+
+ $ cd /path/to/nixpkgs/nixos/doc/manual
+ $ make
+
+
+
+ Once you are done making modifications to the manual, it's important
+ to build it before committing. You can do that as follows:
+
+
+nix-build nixos/release.nix -A manual.x86_64-linux
+
When this command successfully finishes, it will tell you where the
manual got generated. The HTML will be accessible through the
diff --git a/nixos/doc/manual/development/writing-modules.xml b/nixos/doc/manual/development/writing-modules.xml
index cb363b45675b..a49f99cb2669 100644
--- a/nixos/doc/manual/development/writing-modules.xml
+++ b/nixos/doc/manual/development/writing-modules.xml
@@ -180,6 +180,7 @@ in {
+
diff --git a/nixos/doc/manual/installation/changing-config.xml b/nixos/doc/manual/installation/changing-config.xml
index 4db9020b9606..52d8a292f8be 100644
--- a/nixos/doc/manual/installation/changing-config.xml
+++ b/nixos/doc/manual/installation/changing-config.xml
@@ -75,7 +75,7 @@ have set mutableUsers = false. Another way is to
temporarily add the following to your configuration:
-users.extraUsers.your-user.initialPassword = "test"
+users.extraUsers.your-user.initialHashedPassword = "test";
Important: delete the $hostname.qcow2 file if you
diff --git a/nixos/doc/manual/installation/installing-from-other-distro.xml b/nixos/doc/manual/installation/installing-from-other-distro.xml
index ecd020a067a9..7e6ddb05cd66 100644
--- a/nixos/doc/manual/installation/installing-from-other-distro.xml
+++ b/nixos/doc/manual/installation/installing-from-other-distro.xml
@@ -111,7 +111,7 @@ $ nix-channel --add https://nixos.org/channels/nixos-versionconfiguration.nix:
-boot.loader.grub.extraEntries = ''
+ = ''
menuentry "Ubuntu" {
search --set=ubuntu --fs-uuid 3cc3e652-0c1f-4800-8451-033754f68e6e
configfile "($ubuntu)/boot/grub/grub.cfg"
@@ -183,7 +183,9 @@ $ sudo groupdel nixbld
account with sudo passwd -l root if you use
sudo)
- users.extraUsers.root.initialHashedPassword = "";
+
+users.extraUsers.root.initialHashedPassword = "";
+
@@ -243,13 +245,15 @@ $ sudo groupdel nixbld
$ sudo touch /etc/NIXOS
-$ sudo touch /etc/NIXOS_LUSTRATE
+$ sudo touch /etc/NIXOS_LUSTRATE
+
Let's also make sure the NixOS configuration files are kept
once we reboot on NixOS:
-$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE
+$ echo etc/nixos | sudo tee -a /etc/NIXOS_LUSTRATE
+
diff --git a/nixos/doc/manual/installation/installing-virtualbox-guest.xml b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
index 7fcd22a112cf..2b31b7ed3152 100644
--- a/nixos/doc/manual/installation/installing-virtualbox-guest.xml
+++ b/nixos/doc/manual/installation/installing-virtualbox-guest.xml
@@ -42,7 +42,7 @@
-boot.loader.grub.device = "/dev/sda";
+ = "/dev/sda";
@@ -51,7 +51,7 @@ boot.loader.grub.device = "/dev/sda";
-boot.initrd.checkJournalingFS = false;
+ = false;
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index 1f09704bce53..6b08bdb318bc 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -203,26 +203,29 @@ for a UEFI installation is by and large the same as a BIOS installation. The dif
BIOS systems
- You must set the option
- to specify on which disk
- the GRUB boot loader is to be installed. Without it, NixOS cannot
- boot.
+ You must set the option
+ to specify on which disk
+ the GRUB boot loader is to be installed. Without it, NixOS cannot
+ boot.
UEFI systems
- You must set the option
- to true.
- nixos-generate-config should do this automatically for new
- configurations when booted in
- UEFI mode.
- You may want to look at the options starting with
- and
- as well.
+ You must set the option
+ to true.
+ nixos-generate-config should do this automatically for new
+ configurations when booted in
+ UEFI mode.
+ You may want to look at the options starting with
+ and
+ as well.
+
+
+
If there are other operating systems running on the machine before
installing NixOS, the
- option can be set to
+ option can be set to
true to automatically add them to the grub menu.
Another critical option is ,
@@ -264,15 +267,15 @@ for a UEFI installation is by and large the same as a BIOS installation. The dif
As the last step, nixos-install will ask
you to set the password for the root user, e.g.
-
+
setting root password...
Enter new UNIX password: ***
Retype new UNIX password: ***
-
+
- To prevent the password prompt, set users.mutableUsers = false; in
+ To prevent the password prompt, set = false; in
configuration.nix, which allows unattended installation
necessary in automation.
@@ -285,20 +288,20 @@ Retype new UNIX password: ***
If everything went well:
-
-# reboot
+
+ # reboot
You should now be able to boot into the installed NixOS. The
- GRUB boot menu shows a list of available
- configurations (initially just one). Every time you
- change the NixOS configuration (see Changing Configuration ), a
- new item is added to the menu. This allows you to easily roll back
- to a previous configuration if something goes wrong.
+ GRUB boot menu shows a list of available
+ configurations (initially just one). Every time you
+ change the NixOS configuration (see Changing Configuration ), a
+ new item is added to the menu. This allows you to easily roll back
+ to a previous configuration if something goes wrong.
You should log in and change the root
password with passwd.
@@ -372,26 +375,25 @@ drive (here /dev/sda).
NixOS Configuration
-
-{ config, pkgs, ... }:
+
+{ config, pkgs, ... }: {
+ imports = [
+ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ ];
-{
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
-
- boot.loader.grub.device = "/dev/sda"; # (for BIOS systems only)
- boot.loader.systemd-boot.enable = true; # (for UEFI systems only)
+ = "/dev/sda"; # (for BIOS systems only)
+ = true; # (for UEFI systems only)
# Note: setting fileSystems is generally not
# necessary, since nixos-generate-config figures them out
# automatically in hardware-configuration.nix.
- #fileSystems."/".device = "/dev/disk/by-label/nixos";
+ #fileSystems."/".device = "/dev/disk/by-label/nixos";
# Enable the OpenSSH server.
services.sshd.enable = true;
-}
+}
+
diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml
index aee6523345c4..24881c8fec0f 100644
--- a/nixos/doc/manual/installation/upgrading.xml
+++ b/nixos/doc/manual/installation/upgrading.xml
@@ -119,7 +119,7 @@ able to go back to your original channel.
the following to configuration.nix:
-system.autoUpgrade.enable = true;
+ = true;
This enables a periodically executed systemd service named
@@ -130,7 +130,7 @@ runs, see systemctl list-timers.) You can also
specify a channel explicitly, e.g.
-system.autoUpgrade.channel = https://nixos.org/channels/nixos-17.03;
+ = https://nixos.org/channels/nixos-17.03;
diff --git a/nixos/doc/manual/man-configuration.xml b/nixos/doc/manual/man-configuration.xml
index 05531b3909a3..37ffb9d648a9 100644
--- a/nixos/doc/manual/man-configuration.xml
+++ b/nixos/doc/manual/man-configuration.xml
@@ -31,7 +31,8 @@ therein.
You can use the following options in
configuration.nix.
-
+
diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml
index c9887146989b..d6e70d16098b 100644
--- a/nixos/doc/manual/man-nixos-install.xml
+++ b/nixos/doc/manual/man-nixos-install.xml
@@ -57,9 +57,6 @@
-
-
-
@@ -177,14 +174,6 @@ it.
-
-
-
- Chroot into given installation. Any additional arguments passed are going to be executed inside the chroot.
-
-
-
-
diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml
index 9aa332f026da..676924e5c8b2 100644
--- a/nixos/doc/manual/manual.xml
+++ b/nixos/doc/manual/manual.xml
@@ -6,7 +6,7 @@
NixOS Manual
- Version
+ Version
@@ -39,7 +39,8 @@
Configuration Options
-
+
diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl
index 7b45b233ab2a..43a69806a2b0 100644
--- a/nixos/doc/manual/options-to-docbook.xsl
+++ b/nixos/doc/manual/options-to-docbook.xsl
@@ -15,9 +15,9 @@
-
-
-
+
+ Configuration Options
+
@@ -100,7 +100,7 @@
-
+
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
index 61f9ec8ba995..0743a05ba38c 100644
--- a/nixos/doc/manual/release-notes/rl-1809.xml
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -20,10 +20,21 @@ has the following highlights:
- TODO
+ User channels are now in the default NIX_PATH,
+ allowing users to use their personal nix-channel
+ defined channels in nix-build and
+ nix-shell commands, as well as in imports like
+ import <mychannel>.
+ For example
+
+$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgsunstable
+$ nix-channel --update
+$ nix-build '<nixpkgsunstable>' -A gitFull
+$ nix run -f '<nixpkgsunstable>' gitFull
+$ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull'
+
-
@@ -56,6 +67,11 @@ has the following highlights:
following incompatible changes:
+
+
+ lib.strict is removed. Use builtins.seq instead.
+
+
The clementine package points now to the free derivation.
@@ -63,6 +79,15 @@ following incompatible changes:
points to the package which is bundled with the unfree libspotify package.
+
+
+ The netcat package is now taken directly from OpenBSD's
+ libressl, instead of relying on Debian's fork. The new
+ version should be very close to the old version, but there are some minor
+ differences. Importantly, flags like -b, -q, -C, and -Z are no longer
+ accepted by the nc command.
+
+
@@ -77,6 +102,51 @@ following incompatible changes:
+ lib.attrNamesToStr has been deprecated. Use
+ more specific concatenation (lib.concat(Map)StringsSep)
+ instead.
+
+
+
+
+ lib.addErrorContextToAttrs has been deprecated. Use
+ builtins.addErrorContext directly.
+
+
+
+
+ lib.showVal has been deprecated. Use
+ lib.traceSeqN instead.
+
+
+
+
+ lib.traceXMLVal has been deprecated. Use
+ lib.traceValFn builtins.toXml instead.
+
+
+
+
+ lib.traceXMLValMarked has been deprecated. Use
+ lib.traceValFn (x: str + builtins.toXML x) instead.
+
+
+
+
+ lib.traceValIfNot has been deprecated. Use
+ if/then/else and lib.traceValSeq
+ instead.
+
+
+
+
+ lib.traceCallXml has been deprecated. Please complain
+ if you use the function regularly.
+
+
+ The attribute lib.nixpkgsVersion has been deprecated in favor of
+ lib.version. Please refer to the discussion in
+ NixOS/nixpkgs#39416 for further reference.
diff --git a/nixos/lib/qemu-flags.nix b/nixos/lib/qemu-flags.nix
index fcdcbf1b0077..e4c95ebdfb0d 100644
--- a/nixos/lib/qemu-flags.nix
+++ b/nixos/lib/qemu-flags.nix
@@ -9,7 +9,7 @@
];
qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
- else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0"
+ else if pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64 then "ttyAMA0"
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
qemuBinary = qemuPkg: {
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index 7e269b43e70f..b18f48464cee 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -33,9 +33,20 @@ sub new {
$startCommand =
"qemu-kvm -m 384 " .
"-net nic,model=virtio \$QEMU_OPTS ";
- my $iface = $args->{hdaInterface} || "virtio";
- $startCommand .= "-drive file=" . Cwd::abs_path($args->{hda}) . ",if=$iface,werror=report "
- if defined $args->{hda};
+
+ if (defined $args->{hda}) {
+ if ($args->{hdaInterface} eq "scsi") {
+ $startCommand .= "-drive id=hda,file="
+ . Cwd::abs_path($args->{hda})
+ . ",werror=report,if=none "
+ . "-device scsi-hd,drive=hda ";
+ } else {
+ $startCommand .= "-drive file=" . Cwd::abs_path($args->{hda})
+ . ",if=" . $args->{hdaInterface}
+ . ",werror=report ";
+ }
+ }
+
$startCommand .= "-cdrom $args->{cdrom} "
if defined $args->{cdrom};
$startCommand .= "-device piix3-usb-uhci -drive id=usbdisk,file=$args->{usb},if=none,readonly -device usb-storage,drive=usbdisk "
diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh
index 347e6b9c6e0d..9461144fad5a 100755
--- a/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -6,7 +6,7 @@
set -e
set -o pipefail
-version=$(nix-instantiate --eval --strict '' -A lib.nixpkgsVersion | sed s/'"'//g)
+version=$(nix-instantiate --eval --strict '' -A lib.version | sed s/'"'//g)
major=${version:0:5}
echo "NixOS version is $version ($major)"
diff --git a/nixos/modules/config/gnu.nix b/nixos/modules/config/gnu.nix
index ef48ccb7b4fe..93d130970190 100644
--- a/nixos/modules/config/gnu.nix
+++ b/nixos/modules/config/gnu.nix
@@ -26,11 +26,11 @@ with lib;
nano zile
texinfo # for the stand-alone Info reader
]
- ++ stdenv.lib.optional (!stdenv.isArm) grub2;
+ ++ stdenv.lib.optional (!stdenv.isAarch32) grub2;
# GNU GRUB, where available.
- boot.loader.grub.enable = !pkgs.stdenv.isArm;
+ boot.loader.grub.enable = !pkgs.stdenv.isAarch32;
boot.loader.grub.version = 2;
# GNU lsh.
diff --git a/nixos/modules/i18n/input-method/default.xml b/nixos/modules/i18n/input-method/default.xml
index 45d6daf068b3..76ffa8cb7e37 100644
--- a/nixos/modules/i18n/input-method/default.xml
+++ b/nixos/modules/i18n/input-method/default.xml
@@ -6,56 +6,56 @@
Input Methods
-Input methods are an operating system component that allows any data, such
- as keyboard strokes or mouse movements, to be received as input. In this way
- users can enter characters and symbols not found on their input devices. Using
- an input method is obligatory for any language that has more graphemes than
+Input methods are an operating system component that allows any data, such
+ as keyboard strokes or mouse movements, to be received as input. In this way
+ users can enter characters and symbols not found on their input devices. Using
+ an input method is obligatory for any language that has more graphemes than
there are keys on the keyboard.
The following input methods are available in NixOS:
IBus: The intelligent input bus.
- Fcitx: A customizable lightweight input
+ Fcitx: A customizable lightweight input
method.
Nabi: A Korean input method based on XIM.
- Uim: The universal input method, is a library with a XIM
+ Uim: The universal input method, is a library with a XIM
bridge.
IBus
-IBus is an Intelligent Input Bus. It provides full featured and user
+IBus is an Intelligent Input Bus. It provides full featured and user
friendly input method user interface.
The following snippet can be used to configure IBus:
i18n.inputMethod = {
- enabled = "ibus";
- ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
+ enabled = "ibus";
+ ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
};
-i18n.inputMethod.ibus.engines is optional and can be
+i18n.inputMethod.ibus.engines is optional and can be
used to add extra IBus engines.
Available extra IBus engines are:
- Anthy (ibus-engines.anthy): Anthy is a
- system for Japanese input method. It converts Hiragana text to Kana Kanji
+ Anthy (ibus-engines.anthy): Anthy is a
+ system for Japanese input method. It converts Hiragana text to Kana Kanji
mixed text.
- Hangul (ibus-engines.hangul): Korean input
+ Hangul (ibus-engines.hangul): Korean input
method.
- m17n (ibus-engines.m17n): m17n is an input
- method that uses input methods and corresponding icons in the m17n
+ m17n (ibus-engines.m17n): m17n is an input
+ method that uses input methods and corresponding icons in the m17n
database.
- mozc (ibus-engines.mozc): A Japanese input
+ mozc (ibus-engines.mozc): A Japanese input
method from Google.
- Table (ibus-engines.table): An input method
+ Table (ibus-engines.table): An input method
that load tables of input methods.
- table-others (ibus-engines.table-others):
+ table-others (ibus-engines.table-others):
Various table-based input methods. To use this, and any other table-based
input methods, it must appear in the list of engines along with
table. For example:
@@ -72,71 +72,71 @@ ibus.engines = with pkgs.ibus-engines; [ table table-others ];
Fcitx
-Fcitx is an input method framework with extension support. It has three
- built-in Input Method Engine, Pinyin, QuWei and Table-based input
+Fcitx is an input method framework with extension support. It has three
+ built-in Input Method Engine, Pinyin, QuWei and Table-based input
methods.
The following snippet can be used to configure Fcitx:
i18n.inputMethod = {
- enabled = "fcitx";
- fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ];
+ enabled = "fcitx";
+ fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ];
};
-i18n.inputMethod.fcitx.engines is optional and can be
+i18n.inputMethod.fcitx.engines is optional and can be
used to add extra Fcitx engines.
Available extra Fcitx engines are:
- Anthy (fcitx-engines.anthy): Anthy is a
- system for Japanese input method. It converts Hiragana text to Kana Kanji
+ Anthy (fcitx-engines.anthy): Anthy is a
+ system for Japanese input method. It converts Hiragana text to Kana Kanji
mixed text.
- Chewing (fcitx-engines.chewing): Chewing is
- an intelligent Zhuyin input method. It is one of the most popular input
+ Chewing (fcitx-engines.chewing): Chewing is
+ an intelligent Zhuyin input method. It is one of the most popular input
methods among Traditional Chinese Unix users.
- Hangul (fcitx-engines.hangul): Korean input
+ Hangul (fcitx-engines.hangul): Korean input
method.
- Unikey (fcitx-engines.unikey): Vietnamese input
+ Unikey (fcitx-engines.unikey): Vietnamese input
method.
- m17n (fcitx-engines.m17n): m17n is an input
- method that uses input methods and corresponding icons in the m17n
+ m17n (fcitx-engines.m17n): m17n is an input
+ method that uses input methods and corresponding icons in the m17n
database.
- mozc (fcitx-engines.mozc): A Japanese input
+ mozc (fcitx-engines.mozc): A Japanese input
method from Google.
- table-others (fcitx-engines.table-others):
+ table-others (fcitx-engines.table-others):
Various table-based input methods.
Nabi
-Nabi is an easy to use Korean X input method. It allows you to enter
- phonetic Korean characters (hangul) and pictographic Korean characters
+Nabi is an easy to use Korean X input method. It allows you to enter
+ phonetic Korean characters (hangul) and pictographic Korean characters
(hanja).
The following snippet can be used to configure Nabi:
i18n.inputMethod = {
- enabled = "nabi";
+ enabled = "nabi";
};
Uim
-Uim (short for "universal input method") is a multilingual input method
+Uim (short for "universal input method") is a multilingual input method
framework. Applications can use it through so-called bridges.
The following snippet can be used to configure uim:
i18n.inputMethod = {
- enabled = "uim";
+ enabled = "uim";
};
-Note: The i18n.inputMethod.uim.toolbar option can be
+Note: The option can be
used to choose uim toolbar.
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 83f8a2586bd3..08923970cd38 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -73,7 +73,8 @@ let
APPEND ${toString config.boot.loader.grub.memtest86.params}
'';
- isolinuxCfg = baseIsolinuxCfg + (optionalString config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
+ isolinuxCfg = concatStringsSep "\n"
+ ([ baseIsolinuxCfg ] ++ optional config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
# The EFI boot image.
efiDir = pkgs.runCommand "efi-directory" {} ''
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 14c611e18bc3..74b61a64667e 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -577,8 +577,8 @@ $bootLoaderConfig
# Set your time zone.
# time.timeZone = "Europe/Amsterdam";
- # List packages installed in system profile. To search by name, run:
- # \$ nix-env -qaP | grep wget
+ # List packages installed in system profile. To search, run:
+ # \$ nix search wget
# environment.systemPackages = with pkgs; [
# wget vim
# ];
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index ab3cbcab0646..0ed820a32acc 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -138,7 +138,6 @@
ngircd = 112;
btsync = 113;
minecraft = 114;
- #monetdb = 115; # unused (not packaged), removed 2016-09-19
vault = 115;
rippled = 116;
murmur = 117;
@@ -306,6 +305,7 @@
monero = 287;
ceph = 288;
duplicati = 289;
+ monetdb = 290;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@@ -424,7 +424,6 @@
#ngircd = 112; # unused
btsync = 113;
#minecraft = 114; # unused
- #monetdb = 115; # unused (not packaged), removed 2016-09-19
vault = 115;
#ripped = 116; # unused
#murmur = 117; # unused
@@ -580,6 +579,7 @@
monero = 287;
ceph = 288;
duplicati = 289;
+ monetdb = 290;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index b8a55a24394e..8fbe218b232a 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -33,7 +33,11 @@ let
configType = mkOptionType {
name = "nixpkgs-config";
description = "nixpkgs config";
- check = traceValIfNot isConfig;
+ check = x:
+ let traceXIfNot = c:
+ if c x then true
+ else lib.traceSeqN 1 x false;
+ in traceXIfNot isConfig;
merge = args: fold (def: mergeConfig def.value) {};
};
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index b8f0a223c910..74c86443ab90 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -5,8 +5,6 @@ with lib;
let
cfg = config.system.nixos;
- releaseFile = "${toString pkgs.path}/.version";
- suffixFile = "${toString pkgs.path}/.version-suffix";
revisionFile = "${toString pkgs.path}/.git-revision";
gitRepo = "${toString pkgs.path}/.git";
gitCommitId = lib.substring 0 7 (commitIdFromGitRepo gitRepo);
@@ -25,14 +23,14 @@ in
nixos.release = mkOption {
readOnly = true;
type = types.str;
- default = fileContents releaseFile;
+ default = trivial.release;
description = "The NixOS release (e.g. 16.03).";
};
nixos.versionSuffix = mkOption {
internal = true;
type = types.str;
- default = if pathExists suffixFile then fileContents suffixFile else "pre-git";
+ default = trivial.versionSuffix;
description = "The NixOS version suffix (e.g. 1160.f2d4ee1).";
};
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 1261fe950928..505c5497d36d 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -199,6 +199,7 @@
./services/databases/hbase.nix
./services/databases/influxdb.nix
./services/databases/memcached.nix
+ ./services/databases/monetdb.nix
./services/databases/mongodb.nix
./services/databases/mysql.nix
./services/databases/neo4j.nix
@@ -250,6 +251,7 @@
./services/hardware/illum.nix
./services/hardware/interception-tools.nix
./services/hardware/irqbalance.nix
+ ./services/hardware/lcd.nix
./services/hardware/nvidia-optimus.nix
./services/hardware/pcscd.nix
./services/hardware/pommed.nix
@@ -327,7 +329,7 @@
./services/misc/geoip-updater.nix
./services/misc/gitea.nix
#./services/misc/gitit.nix
- #./services/misc/gitlab.nix
+ ./services/misc/gitlab.nix
./services/misc/gitolite.nix
./services/misc/gitweb.nix
./services/misc/gogs.nix
@@ -650,6 +652,7 @@
./services/web-servers/apache-httpd/default.nix
./services/web-servers/caddy.nix
./services/web-servers/fcgiwrap.nix
+ ./services/web-servers/hitch/default.nix
./services/web-servers/jboss/default.nix
./services/web-servers/lighttpd/cgit.nix
./services/web-servers/lighttpd/collectd.nix
diff --git a/nixos/modules/programs/digitalbitbox/doc.xml b/nixos/modules/programs/digitalbitbox/doc.xml
index 7acbc2fc4dde..a26653dda535 100644
--- a/nixos/modules/programs/digitalbitbox/doc.xml
+++ b/nixos/modules/programs/digitalbitbox/doc.xml
@@ -15,9 +15,9 @@
installed by setting programs.digitalbitbox
to true in a manner similar to
-
- programs.digitalbitbox.enable = true;
-
+
+ = true;
+
and bundles the digitalbitbox package (see ), which contains the
@@ -46,11 +46,11 @@
digitalbitbox package which could be installed
as follows:
-
- environment.systemPackages = [
- pkgs.digitalbitbox
- ];
-
+
+ = [
+ pkgs.digitalbitbox
+];
+
@@ -62,9 +62,9 @@
The digitalbitbox hardware package enables the udev rules for
Digital Bitbox devices and may be installed as follows:
-
- hardware.digitalbitbox.enable = true;
-
+
+ = true;
+
@@ -72,14 +72,14 @@
the udevRule51 and udevRule52
attributes by means of overriding as follows:
-
- programs.digitalbitbox = {
- enable = true;
- package = pkgs.digitalbitbox.override {
- udevRule51 = "something else";
- };
- };
-
+
+programs.digitalbitbox = {
+ enable = true;
+ package = pkgs.digitalbitbox.override {
+ udevRule51 = "something else";
+ };
+};
+
diff --git a/nixos/modules/programs/plotinus.xml b/nixos/modules/programs/plotinus.xml
index 85b0e023e6c1..91740ee16ec2 100644
--- a/nixos/modules/programs/plotinus.xml
+++ b/nixos/modules/programs/plotinus.xml
@@ -17,7 +17,7 @@
To enable Plotinus, add the following to your configuration.nix:
-programs.plotinus.enable = true;
+ = true;
diff --git a/nixos/modules/security/acme.xml b/nixos/modules/security/acme.xml
index 6130ed82ed38..7cdc554989ea 100644
--- a/nixos/modules/security/acme.xml
+++ b/nixos/modules/security/acme.xml
@@ -48,9 +48,9 @@ http {
configuration.nix:
-security.acme.certs."foo.example.com" = {
- webroot = "/var/www/challenges";
- email = "foo@example.com";
+."foo.example.com" = {
+ webroot = "/var/www/challenges";
+ email = "foo@example.com";
};
@@ -58,17 +58,17 @@ security.acme.certs."foo.example.com" = {
The private key key.pem and certificate
fullchain.pem will be put into
/var/lib/acme/foo.example.com. The target directory can
-be configured with the option security.acme.directory.
+be configured with the option .
Refer to for all available configuration
-options for the security.acme module.
+options for the security.acme module.
Using ACME certificates in Nginx
NixOS supports fetching ACME certificates for you by setting
-enableACME = true; in a virtualHost config. We
+ enableACME = true; in a virtualHost config. We
first create self-signed placeholder certificates in place of the
real ACME certs. The placeholder certs are overwritten when the ACME
certs arrive. For foo.example.com the config would
@@ -77,13 +77,13 @@ look like.
services.nginx = {
- enable = true;
- virtualHosts = {
+ enable = true;
+ virtualHosts = {
"foo.example.com" = {
- forceSSL = true;
- enableACME = true;
+ forceSSL = true;
+ enableACME = true;
locations."/" = {
- root = "/var/www";
+ root = "/var/www";
};
};
};
diff --git a/nixos/modules/security/hidepid.xml b/nixos/modules/security/hidepid.xml
index 5715ee7ac165..d69341eb3cde 100644
--- a/nixos/modules/security/hidepid.xml
+++ b/nixos/modules/security/hidepid.xml
@@ -8,9 +8,9 @@
Setting
-
- security.hideProcessInformation = true;
-
+
+ = true;
+
ensures that access to process information is restricted to the
owning user. This implies, among other things, that command-line
arguments remain private. Unless your deployment relies on unprivileged
@@ -25,9 +25,9 @@
To allow a service foo to run without process information hiding, set
-
- systemd.services.foo.serviceConfig.SupplementaryGroups = [ "proc" ];
-
+
+systemd.services.foo.serviceConfig.SupplementaryGroups = [ "proc" ];
+
diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix
index e3e8bb28c58b..376aad66e236 100644
--- a/nixos/modules/services/audio/alsa.nix
+++ b/nixos/modules/services/audio/alsa.nix
@@ -54,6 +54,11 @@ in
description = ''
Whether to enable volume and capture control with keyboard media keys.
+ You want to leave this disabled if you run a desktop environment
+ like KDE, Gnome, Xfce, etc, as those handle such things themselves.
+ You might want to enable this if you run a minimalistic desktop
+ environment or work from bare linux ttys/framebuffers.
+
Enabling this will turn on .
'';
};
diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix
index 03af9a7859ec..d647b7b9fa49 100644
--- a/nixos/modules/services/continuous-integration/buildkite-agent.nix
+++ b/nixos/modules/services/continuous-integration/buildkite-agent.nix
@@ -17,7 +17,7 @@ let
hooksDir = let
mkHookEntry = name: value: ''
- cat > $out/${name} < $out/${name} <<'EOF'
#! ${pkgs.runtimeShell}
set -e
${value}
diff --git a/nixos/modules/services/databases/foundationdb.nix b/nixos/modules/services/databases/foundationdb.nix
index ba921a9c1521..22acddc8ca91 100644
--- a/nixos/modules/services/databases/foundationdb.nix
+++ b/nixos/modules/services/databases/foundationdb.nix
@@ -206,7 +206,7 @@ in
default = null;
type = types.nullOr types.str;
description = ''
- Machine identifier key. All processes on a machine should share a
+ Machine identifier key. All processes on a machine should share a
unique id. By default, processes on a machine determine a unique id to share.
This does not generally need to be set.
'';
@@ -216,7 +216,7 @@ in
default = null;
type = types.nullOr types.str;
description = ''
- Zone identifier key. Processes that share a zone id are
+ Zone identifier key. Processes that share a zone id are
considered non-unique for the purposes of data replication.
If unset, defaults to machine id.
'';
@@ -226,7 +226,7 @@ in
default = null;
type = types.nullOr types.str;
description = ''
- Data center identifier key. All processes physically located in a
+ Data center identifier key. All processes physically located in a
data center should share the id. If you are depending on data
center based replication this must be set on all processes.
'';
@@ -236,7 +236,7 @@ in
default = null;
type = types.nullOr types.str;
description = ''
- Data hall identifier key. All processes physically located in a
+ Data hall identifier key. All processes physically located in a
data hall should share the id. If you are depending on data
hall based replication this must be set on all processes.
'';
diff --git a/nixos/modules/services/databases/foundationdb.xml b/nixos/modules/services/databases/foundationdb.xml
index d10a5cfe836e..2a0e3c76c9d8 100644
--- a/nixos/modules/services/databases/foundationdb.xml
+++ b/nixos/modules/services/databases/foundationdb.xml
@@ -16,8 +16,8 @@
FoundationDB (or "FDB") is a distributed, open source, high performance,
transactional key-value store. It can store petabytes of data and deliver
-exceptional performance while maintaining consistency and ACID semantics over a
-large cluster.
+exceptional performance while maintaining consistency and ACID semantics
+(serializable transactions) over a large cluster.
Configuring and basic setup
@@ -101,7 +101,7 @@ FoundationDB worker processes that should be started on the machine.
FoundationDB worker processes typically require 4GB of RAM per-process at
minimum for good performance, so this option is set to 1 by default since the
-maximum aount of RAM is unknown. You're advised to abide by this restriction,
+maximum amount of RAM is unknown. You're advised to abide by this restriction,
so pick a number of processes so that each has 4GB or more.
A similar option exists in order to scale backup agent processes,
@@ -129,7 +129,8 @@ client applications will use to find and join coordinators. Note that this file
can not be managed by NixOS so easily: FoundationDB is
designed so that it will rewrite the file at runtime for all clients and nodes
when cluster coordinators change, with clients transparently handling this
-without intervention.
+without intervention. It is fundamentally a mutable file, and you should not
+try to manage it in any way in NixOS.
When dealing with a cluster, there are two main things you want to
do:
diff --git a/nixos/modules/services/databases/monetdb.nix b/nixos/modules/services/databases/monetdb.nix
new file mode 100644
index 000000000000..5c66fc7b2e36
--- /dev/null
+++ b/nixos/modules/services/databases/monetdb.nix
@@ -0,0 +1,100 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.monetdb;
+
+in {
+ meta.maintainers = with maintainers; [ StillerHarpo primeos ];
+
+ ###### interface
+ options = {
+ services.monetdb = {
+
+ enable = mkEnableOption "the MonetDB database server";
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.monetdb;
+ defaultText = "pkgs.monetdb";
+ description = "MonetDB package to use.";
+ };
+
+ user = mkOption {
+ type = types.str;
+ default = "monetdb";
+ description = "User account under which MonetDB runs.";
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "monetdb";
+ description = "Group under which MonetDB runs.";
+ };
+
+ dataDir = mkOption {
+ type = types.path;
+ default = "/var/lib/monetdb";
+ description = "Data directory for the dbfarm.";
+ };
+
+ port = mkOption {
+ type = types.ints.u16;
+ default = 50000;
+ description = "Port to listen on.";
+ };
+
+ listenAddress = mkOption {
+ type = types.str;
+ default = "127.0.0.1";
+ example = "0.0.0.0";
+ description = "Address to listen on.";
+ };
+ };
+ };
+
+ ###### implementation
+ config = mkIf cfg.enable {
+
+ users.users.monetdb = mkIf (cfg.user == "monetdb") {
+ uid = config.ids.uids.monetdb;
+ group = cfg.group;
+ description = "MonetDB user";
+ home = cfg.dataDir;
+ createHome = true;
+ };
+
+ users.groups.monetdb = mkIf (cfg.group == "monetdb") {
+ gid = config.ids.gids.monetdb;
+ members = [ cfg.user ];
+ };
+
+ environment.systemPackages = [ cfg.package ];
+
+ systemd.services.monetdb = {
+ description = "MonetDB database server";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+ path = [ cfg.package ];
+ unitConfig.RequiresMountsFor = "${cfg.dataDir}";
+ serviceConfig = {
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart = "${cfg.package}/bin/monetdbd start -n ${cfg.dataDir}";
+ ExecStop = "${cfg.package}/bin/monetdbd stop ${cfg.dataDir}";
+ };
+ preStart = ''
+ if [ ! -e ${cfg.dataDir}/.merovingian_properties ]; then
+ # Create the dbfarm (as cfg.user)
+ ${cfg.package}/bin/monetdbd create ${cfg.dataDir}
+ fi
+
+ # Update the properties
+ ${cfg.package}/bin/monetdbd set port=${toString cfg.port} ${cfg.dataDir}
+ ${cfg.package}/bin/monetdbd set listenaddr=${cfg.listenAddress} ${cfg.dataDir}
+ '';
+ };
+
+ };
+}
diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml
index a98026942959..98a631c0cd32 100644
--- a/nixos/modules/services/databases/postgresql.xml
+++ b/nixos/modules/services/databases/postgresql.xml
@@ -23,15 +23,15 @@
configuration.nix:
-services.postgresql.enable = true;
-services.postgresql.package = pkgs.postgresql94;
+ = true;
+ = pkgs.postgresql94;
Note that you are required to specify the desired version of
PostgreSQL (e.g. pkgs.postgresql94). Since
upgrading your PostgreSQL version requires a database dump and reload
(see below), NixOS cannot provide a default value for
- such as the most recent
+ such as the most recent
release of PostgreSQL.
- If services.emacs.defaultEditor is
+ If is
true, the EDITOR variable
will be set to a wrapper script which launches
emacsclient.
@@ -497,10 +497,10 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal
Emacs daemon is not wanted for all users, it is possible to
install the service but not globally enable it:
-
+
+ = false;
+ = true;
+
@@ -582,7 +582,7 @@ services.emacs.install = true;
To install the DocBook 5.0 schemas, either add
pkgs.docbook5 to
- environment.systemPackages ( (NixOS), or run
nix-env -i pkgs.docbook5
(Nix).
diff --git a/nixos/modules/services/editors/infinoted.nix b/nixos/modules/services/editors/infinoted.nix
index 963147b18a04..9074a4345eae 100644
--- a/nixos/modules/services/editors/infinoted.nix
+++ b/nixos/modules/services/editors/infinoted.nix
@@ -129,7 +129,7 @@ in {
serviceConfig = {
Type = "simple";
Restart = "always";
- ExecStart = "${cfg.package}/bin/infinoted-0.6 --config-file=/var/lib/infinoted/infinoted.conf";
+ ExecStart = "${cfg.package}/bin/infinoted-${versions.majorMinor cfg.package.version} --config-file=/var/lib/infinoted/infinoted.conf";
User = cfg.user;
Group = cfg.group;
PermissionsStartOnly = true;
diff --git a/nixos/modules/services/hardware/lcd.nix b/nixos/modules/services/hardware/lcd.nix
new file mode 100644
index 000000000000..d78d742cd318
--- /dev/null
+++ b/nixos/modules/services/hardware/lcd.nix
@@ -0,0 +1,172 @@
+{ config, lib, pkgs, ... }:
+
+let
+ cfg = config.services.hardware.lcd;
+ pkg = lib.getBin pkgs.lcdproc;
+
+ serverCfg = pkgs.writeText "lcdd.conf" ''
+ [server]
+ DriverPath=${pkg}/lib/lcdproc/
+ ReportToSyslog=false
+ Bind=${cfg.serverHost}
+ Port=${toString cfg.serverPort}
+ ${cfg.server.extraConfig}
+ '';
+
+ clientCfg = pkgs.writeText "lcdproc.conf" ''
+ [lcdproc]
+ Server=${cfg.serverHost}
+ Port=${toString cfg.serverPort}
+ ReportToSyslog=false
+ ${cfg.client.extraConfig}
+ '';
+
+ serviceCfg = {
+ DynamicUser = true;
+ Restart = "on-failure";
+ Slice = "lcd.slice";
+ };
+
+in with lib; {
+
+ meta.maintainers = with maintainers; [ peterhoeg ];
+
+ options = with types; {
+ services.hardware.lcd = {
+ serverHost = mkOption {
+ type = str;
+ default = "localhost";
+ description = "Host on which LCDd is listening.";
+ };
+
+ serverPort = mkOption {
+ type = int;
+ default = 13666;
+ description = "Port on which LCDd is listening.";
+ };
+
+ server = {
+ enable = mkOption {
+ type = bool;
+ default = false;
+ description = "Enable the LCD panel server (LCDd)";
+ };
+
+ openPorts = mkOption {
+ type = bool;
+ default = false;
+ description = "Open the ports in the firewall";
+ };
+
+ usbPermissions = mkOption {
+ type = bool;
+ default = false;
+ description = ''
+ Set group-write permissions on a USB device.
+
+
+ A USB connected LCD panel will most likely require having its
+ permissions modified for lcdd to write to it. Enabling this option
+ sets group-write permissions on the device identified by
+ and
+ . In order to find the
+ values, you can run the lsusb command. Example
+ output:
+
+
+
+ Bus 005 Device 002: ID 0403:c630 Future Technology Devices International, Ltd lcd2usb interface
+
+
+
+ In this case the vendor id is 0403 and the product id is c630.
+ '';
+ };
+
+ usbVid = mkOption {
+ type = str;
+ default = "";
+ description = "The vendor ID of the USB device to claim.";
+ };
+
+ usbPid = mkOption {
+ type = str;
+ default = "";
+ description = "The product ID of the USB device to claim.";
+ };
+
+ usbGroup = mkOption {
+ type = str;
+ default = "dialout";
+ description = "The group to use for settings permissions. This group must exist or you will have to create it.";
+ };
+
+ extraConfig = mkOption {
+ type = lines;
+ default = "";
+ description = "Additional configuration added verbatim to the server config.";
+ };
+ };
+
+ client = {
+ enable = mkOption {
+ type = bool;
+ default = false;
+ description = "Enable the LCD panel client (LCDproc)";
+ };
+
+ extraConfig = mkOption {
+ type = lines;
+ default = "";
+ description = "Additional configuration added verbatim to the client config.";
+ };
+
+ restartForever = mkOption {
+ type = bool;
+ default = true;
+ description = "Try restarting the client forever.";
+ };
+ };
+ };
+ };
+
+ config = mkIf (cfg.server.enable || cfg.client.enable) {
+ networking.firewall.allowedTCPPorts = mkIf (cfg.server.enable && cfg.server.openPorts) [ cfg.serverPort ];
+
+ services.udev.extraRules = mkIf (cfg.server.enable && cfg.server.usbPermissions) ''
+ ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="${cfg.server.usbVid}", ATTRS{idProduct}=="${cfg.server.usbPid}", MODE="660", GROUP="${cfg.server.usbGroup}"
+ '';
+
+ systemd.services = {
+ lcdd = mkIf cfg.server.enable {
+ description = "LCDproc - server";
+ wantedBy = [ "lcd.target" ];
+ serviceConfig = serviceCfg // {
+ ExecStart = "${pkg}/bin/LCDd -f -c ${serverCfg}";
+ SupplementaryGroups = cfg.server.usbGroup;
+ };
+ };
+
+ lcdproc = mkIf cfg.client.enable {
+ description = "LCDproc - client";
+ after = [ "lcdd.service" ];
+ wantedBy = [ "lcd.target" ];
+ serviceConfig = serviceCfg // {
+ ExecStart = "${pkg}/bin/lcdproc -f -c ${clientCfg}";
+ # If the server is being restarted at the same time, the client will
+ # fail as it cannot connect, so space it out a bit.
+ RestartSec = "5";
+ # Allow restarting for eternity
+ StartLimitIntervalSec = lib.mkIf cfg.client.restartForever "0";
+ StartLimitBurst = lib.mkIf cfg.client.restartForever "0";
+ };
+ };
+ };
+
+ systemd.targets.lcd = {
+ description = "LCD client/server";
+ after = [ "lcdd.service" "lcdproc.service" ];
+ wantedBy = [ "multi-user.target" ];
+ };
+ };
+}
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 20d7ec90dcc9..be13fed860bd 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -8,9 +8,6 @@ let
cfg = config.services.gitlab;
ruby = cfg.packages.gitlab.ruby;
- bundler = pkgs.bundler;
-
- gemHome = "${cfg.packages.gitlab.rubyEnv}/${ruby.gemPath}";
gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
@@ -137,8 +134,6 @@ let
gitlabEnv = {
HOME = "${cfg.statePath}/home";
- GEM_HOME = gemHome;
- BUNDLE_GEMFILE = "${cfg.packages.gitlab}/share/gitlab/Gemfile";
UNICORN_PATH = "${cfg.statePath}/";
GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/";
GITLAB_STATE_PATH = "${cfg.statePath}";
@@ -158,19 +153,17 @@ let
gitlab-rake = pkgs.stdenv.mkDerivation rec {
name = "gitlab-rake";
- buildInputs = [ cfg.packages.gitlab cfg.packages.gitlab.rubyEnv pkgs.makeWrapper ];
- phases = "installPhase fixupPhase";
- buildPhase = "";
+ buildInputs = [ pkgs.makeWrapper ];
+ dontBuild = true;
+ unpackPhase = ":";
installPhase = ''
mkdir -p $out/bin
- makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/bundle $out/bin/gitlab-bundle \
+ makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
--set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package ]}:$PATH' \
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
- makeWrapper $out/bin/gitlab-bundle $out/bin/gitlab-rake \
- --add-flags "exec rake"
'';
};
@@ -482,10 +475,10 @@ in {
Type = "simple";
User = cfg.user;
Group = cfg.group;
- TimeoutSec = "300";
+ TimeoutSec = "infinity";
Restart = "on-failure";
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
- ExecStart="${cfg.packages.gitlab.rubyEnv}/bin/bundle exec \"sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
+ ExecStart="${cfg.packages.gitlab.rubyEnv}/bin/sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid";
};
};
@@ -493,11 +486,9 @@ in {
after = [ "network.target" "gitlab.service" ];
wantedBy = [ "multi-user.target" ];
environment.HOME = gitlabEnv.HOME;
- environment.GEM_HOME = "${cfg.packages.gitaly.rubyEnv}/${ruby.gemPath}";
environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
- path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv ruby ];
+ path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv cfg.packages.gitaly.rubyEnv.wrappedRuby ];
serviceConfig = {
- #PermissionsStartOnly = true; # preStart must be run as root
Type = "simple";
User = cfg.user;
Group = cfg.group;
@@ -529,7 +520,7 @@ in {
Type = "simple";
User = cfg.user;
Group = cfg.group;
- TimeoutSec = "300";
+ TimeoutSec = "infinity";
Restart = "on-failure";
WorkingDirectory = gitlabEnv.HOME;
ExecStart =
@@ -658,10 +649,10 @@ in {
Type = "simple";
User = cfg.user;
Group = cfg.group;
- TimeoutSec = "300";
+ TimeoutSec = "infinity";
Restart = "on-failure";
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
- ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
+ ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/unicorn -c ${cfg.statePath}/config/unicorn.rb -E production";
};
};
diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml
index 4b00f50abd63..3306ba8e9b11 100644
--- a/nixos/modules/services/misc/gitlab.xml
+++ b/nixos/modules/services/misc/gitlab.xml
@@ -18,19 +18,18 @@ webserver to proxy HTTP requests to the socket.
frontend proxy:
- services.nginx = {
- enable = true;
- recommendedGzipSettings = true;
- recommendedOptimisation = true;
- recommendedProxySettings = true;
- recommendedTlsSettings = true;
- virtualHosts."git.example.com" = {
- enableACME = true;
- forceSSL = true;
- locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket";
- };
- };
-'';
+services.nginx = {
+ enable = true;
+ recommendedGzipSettings = true;
+ recommendedOptimisation = true;
+ recommendedProxySettings = true;
+ recommendedTlsSettings = true;
+ virtualHosts."git.example.com" = {
+ enableACME = true;
+ forceSSL = true;
+ locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket";
+ };
+};
@@ -49,24 +48,24 @@ all data like the repositories and uploads will be stored.
services.gitlab = {
- enable = true;
- databasePassword = "eXaMpl3";
- initialRootPassword = "UseNixOS!";
- https = true;
- host = "git.example.com";
- port = 443;
- user = "git";
- group = "git";
+ enable = true;
+ databasePassword = "eXaMpl3";
+ initialRootPassword = "UseNixOS!";
+ https = true;
+ host = "git.example.com";
+ port = 443;
+ user = "git";
+ group = "git";
smtp = {
- enable = true;
- address = "localhost";
- port = 25;
+ enable = true;
+ address = "localhost";
+ port = 25;
};
secrets = {
- db = "uPgq1gtwwHiatiuE0YHqbGa5lEIXH7fMsvuTNgdzJi8P0Dg12gibTzBQbq5LT7PNzcc3BP9P1snHVnduqtGF43PgrQtU7XL93ts6gqe9CBNhjtaqUwutQUDkygP5NrV6";
- secret = "devzJ0Tz0POiDBlrpWmcsjjrLaltyiAdS8TtgT9YNBOoUcDsfppiY3IXZjMVtKgXrFImIennFGOpPN8IkP8ATXpRgDD5rxVnKuTTwYQaci2NtaV1XxOQGjdIE50VGsR3";
- otp = "e1GATJVuS2sUh7jxiPzZPre4qtzGGaS22FR50Xs1TerRVdgI3CBVUi5XYtQ38W4xFeS4mDqi5cQjExE838iViSzCdcG19XSL6qNsfokQP9JugwiftmhmCadtsnHErBMI";
- jws = ''
+ db = "uPgq1gtwwHiatiuE0YHqbGa5lEIXH7fMsvuTNgdzJi8P0Dg12gibTzBQbq5LT7PNzcc3BP9P1snHVnduqtGF43PgrQtU7XL93ts6gqe9CBNhjtaqUwutQUDkygP5NrV6";
+ secret = "devzJ0Tz0POiDBlrpWmcsjjrLaltyiAdS8TtgT9YNBOoUcDsfppiY3IXZjMVtKgXrFImIennFGOpPN8IkP8ATXpRgDD5rxVnKuTTwYQaci2NtaV1XxOQGjdIE50VGsR3";
+ otp = "e1GATJVuS2sUh7jxiPzZPre4qtzGGaS22FR50Xs1TerRVdgI3CBVUi5XYtQ38W4xFeS4mDqi5cQjExE838iViSzCdcG19XSL6qNsfokQP9JugwiftmhmCadtsnHErBMI";
+ jws = ''
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEArrtx4oHKwXoqUbMNqnHgAklnnuDon3XG5LJB35yPsXKv/8GK
ke92wkI+s1Xkvsp8tg9BIY/7c6YK4SR07EWL+dB5qwctsWR2Q8z+/BKmTx9D99pm
@@ -96,7 +95,7 @@ services.gitlab = {
-----END RSA PRIVATE KEY-----
'';
};
- extraConfig = {
+ extraConfig = {
gitlab = {
email_from = "gitlab-no-reply@example.com";
email_display_name = "Example GitLab";
@@ -116,7 +115,7 @@ secret from config/secrets.yml located in your Gitlab state
folder.
Refer to for all available configuration
-options for the services.gitlab module.
+options for the services.gitlab module.
diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix
index ac37c11106ef..1dc7b44ee37b 100644
--- a/nixos/modules/services/misc/home-assistant.nix
+++ b/nixos/modules/services/misc/home-assistant.nix
@@ -5,7 +5,10 @@ with lib;
let
cfg = config.services.home-assistant;
- configFile = pkgs.writeText "configuration.yaml" (builtins.toJSON cfg.config);
+ # cfg.config != null can be assumed here
+ configFile = pkgs.writeText "configuration.json"
+ (builtins.toJSON (if cfg.applyDefaultConfig then
+ (lib.recursiveUpdate defaultConfig cfg.config) else cfg.config));
availableComponents = pkgs.home-assistant.availableComponents;
@@ -38,6 +41,12 @@ let
then (cfg.package.override { inherit extraComponents; })
else cfg.package;
+ # If you are changing this, please update the description in applyDefaultConfig
+ defaultConfig = {
+ homeassistant.time_zone = config.time.timeZone;
+ http.server_port = (toString cfg.port);
+ };
+
in {
meta.maintainers = with maintainers; [ dotlambda ];
@@ -50,6 +59,26 @@ in {
description = "The config directory, where your configuration.yaml is located.";
};
+ port = mkOption {
+ default = 8123;
+ type = types.int;
+ description = "The port on which to listen.";
+ };
+
+ applyDefaultConfig = mkOption {
+ default = true;
+ type = types.bool;
+ description = ''
+ Setting this option enables a few configuration options for HA based on NixOS configuration (such as time zone) to avoid having to manually specify configuration we already have.
+
+
+ Currently one side effect of enabling this is that the http component will be enabled.
+
+
+ This only takes effect if config != null in order to ensure that a manually managed configuration.yaml is not overwritten.
+ '';
+ };
+
config = mkOption {
default = null;
type = with types; nullOr attrs;
@@ -106,19 +135,20 @@ in {
description = "Home Assistant";
after = [ "network.target" ];
preStart = lib.optionalString (cfg.config != null) ''
- rm -f ${cfg.configDir}/configuration.yaml
- ln -s ${configFile} ${cfg.configDir}/configuration.yaml
+ config=${cfg.configDir}/configuration.yaml
+ rm -f $config
+ ${pkgs.remarshal}/bin/json2yaml -i ${configFile} -o $config
+ chmod 444 $config
'';
serviceConfig = {
- ExecStart = ''
- ${package}/bin/hass --config "${cfg.configDir}"
- '';
+ ExecStart = "${package}/bin/hass --config '${cfg.configDir}'";
User = "hass";
Group = "hass";
Restart = "on-failure";
ProtectSystem = "strict";
ReadWritePaths = "${cfg.configDir}";
PrivateTmp = true;
+ RemoveIPC = true;
};
path = [
"/run/wrappers" # needed for ping
diff --git a/nixos/modules/services/misc/logkeys.nix b/nixos/modules/services/misc/logkeys.nix
index df0b3ae24c90..ad13d9eaa674 100644
--- a/nixos/modules/services/misc/logkeys.nix
+++ b/nixos/modules/services/misc/logkeys.nix
@@ -7,6 +7,13 @@ let
in {
options.services.logkeys = {
enable = mkEnableOption "logkeys service";
+
+ device = mkOption {
+ description = "Use the given device as keyboard input event device instead of /dev/input/eventX default.";
+ default = null;
+ type = types.nullOr types.string;
+ example = "/dev/input/event15";
+ };
};
config = mkIf cfg.enable {
@@ -14,7 +21,7 @@ in {
description = "LogKeys Keylogger Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
- ExecStart = "${pkgs.logkeys}/bin/logkeys -s";
+ ExecStart = "${pkgs.logkeys}/bin/logkeys -s${lib.optionalString (cfg.device != null) " -d ${cfg.device}"}";
ExecStop = "${pkgs.logkeys}/bin/logkeys -k";
Type = "forking";
};
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index 9c428d7a422d..6aa6d9b271ff 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -342,7 +342,9 @@ in
nixPath = mkOption {
type = types.listOf types.str;
default =
- [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs"
+ [
+ "$HOME/.nix-defexpr/channels"
+ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs"
"nixos-config=/etc/nixos/configuration.nix"
"/nix/var/nix/profiles/per-user/root/channels"
];
diff --git a/nixos/modules/services/misc/taskserver/doc.xml b/nixos/modules/services/misc/taskserver/doc.xml
index 6d4d2a9b488c..75493ac1394f 100644
--- a/nixos/modules/services/misc/taskserver/doc.xml
+++ b/nixos/modules/services/misc/taskserver/doc.xml
@@ -55,7 +55,7 @@
Because Taskserver by default only provides scripts to setup users
imperatively, the nixos-taskserver tool is used for
addition and deletion of organisations along with users and groups defined
- by and as well for
+ by and as well for
imperative set up.
@@ -99,10 +99,10 @@
For example, let's say you have the following configuration:
{
- services.taskserver.enable = true;
- services.taskserver.fqdn = "server";
- services.taskserver.listenHost = "::";
- services.taskserver.organisations.my-company.users = [ "alice" ];
+ = true;
+ = "server";
+ = "::";
+ services.taskserver.organisations.my-company.users = [ "alice" ];
}
This creates an organisation called my-company with the
@@ -136,7 +136,7 @@ $ ssh server nixos-taskserver user export my-company alice | sh
If you set any options within
- ,
+ service.taskserver.pki.manual.*,
nixos-taskserver won't issue certificates, but you can
still use it for adding or removing user accounts.
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
index 6a3ba2d0457c..39054c2b73dd 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/nginx.nix
@@ -9,21 +9,37 @@ in
port = 9113;
extraOpts = {
scrapeUri = mkOption {
- type = types.string;
+ type = types.str;
default = "http://localhost/nginx_status";
description = ''
Address to access the nginx status page.
Can be enabled with services.nginx.statusPage = true.
'';
};
+ telemetryEndpoint = mkOption {
+ type = types.str;
+ default = "/metrics";
+ description = ''
+ Path under which to expose metrics.
+ '';
+ };
+ insecure = mkOption {
+ type = types.bool;
+ default = true;
+ description = ''
+ Ignore server certificate if using https.
+ '';
+ };
};
serviceOpts = {
serviceConfig = {
DynamicUser = true;
ExecStart = ''
${pkgs.prometheus-nginx-exporter}/bin/nginx_exporter \
- -nginx.scrape_uri '${cfg.scrapeUri}' \
- -telemetry.address ${cfg.listenAddress}:${toString cfg.port} \
+ --nginx.scrape_uri '${cfg.scrapeUri}' \
+ --telemetry.address ${cfg.listenAddress}:${toString cfg.port} \
+ --telemetry.endpoint ${cfg.telemetryEndpoint} \
+ --insecure ${cfg.insecure} \
${concatStringsSep " \\\n " cfg.extraFlags}
'';
};
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
index b439a83e7aa2..8dbf2d735ab9 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
@@ -7,14 +7,80 @@ let
in
{
port = 9131;
+ extraOpts = {
+ noExit = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Do not exit server on Varnish scrape errors.
+ '';
+ };
+ withGoMetrics = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Export go runtime and http handler metrics.
+ '';
+ };
+ verbose = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enable verbose logging.
+ '';
+ };
+ raw = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enable raw stdout logging without timestamps.
+ '';
+ };
+ varnishStatPath = mkOption {
+ type = types.str;
+ default = "varnishstat";
+ description = ''
+ Path to varnishstat.
+ '';
+ };
+ instance = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ varnishstat -n value.
+ '';
+ };
+ healthPath = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = ''
+ Path under which to expose healthcheck. Disabled unless configured.
+ '';
+ };
+ telemetryPath = mkOption {
+ type = types.str;
+ default = "/metrics";
+ description = ''
+ Path under which to expose metrics.
+ '';
+ };
+ };
serviceOpts = {
path = [ pkgs.varnish ];
serviceConfig = {
DynamicUser = true;
ExecStart = ''
${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \
- -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
- ${concatStringsSep " \\\n " cfg.extraFlags}
+ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+ --web.telemetry-path ${cfg.telemetryPath} \
+ --varnishstat-path ${cfg.varnishStatPath} \
+ ${concatStringsSep " \\\n " (cfg.extraFlags
+ ++ optional (cfg.healthPath != null) "--web.health-path ${cfg.healthPath}"
+ ++ optional (cfg.instance != null) "-n ${cfg.instance}"
+ ++ optional cfg.noExit "--no-exit"
+ ++ optional cfg.withGoMetrics "--with-go-metrics"
+ ++ optional cfg.verbose "--verbose"
+ ++ optional cfg.raw "--raw")}
'';
};
};
diff --git a/nixos/modules/services/networking/dante.nix b/nixos/modules/services/networking/dante.nix
index 32acce51e692..20d4faa1cdb1 100644
--- a/nixos/modules/services/networking/dante.nix
+++ b/nixos/modules/services/networking/dante.nix
@@ -6,6 +6,7 @@ let
confFile = pkgs.writeText "dante-sockd.conf" ''
user.privileged: root
user.unprivileged: dante
+ logoutput: syslog
${cfg.config}
'';
@@ -21,11 +22,10 @@ in
enable = mkEnableOption "Dante SOCKS proxy";
config = mkOption {
- default = null;
- type = types.nullOr types.str;
+ type = types.lines;
description = ''
- Contents of Dante's configuration file
- NOTE: user.privileged/user.unprivileged are set by the service
+ Contents of Dante's configuration file.
+ NOTE: user.privileged, user.unprivileged and logoutput are set by the service.
'';
};
};
@@ -33,7 +33,7 @@ in
config = mkIf cfg.enable {
assertions = [
- { assertion = cfg.config != null;
+ { assertion = cfg.config != "";
message = "please provide Dante configuration file contents";
}
];
@@ -54,7 +54,8 @@ in
Type = "simple";
ExecStart = "${pkgs.dante}/bin/sockd -f ${confFile}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
- Restart = "always";
+ # Can crash sometimes; see https://github.com/NixOS/nixpkgs/pull/39005#issuecomment-381828708
+ Restart = "on-failure";
};
};
};
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.xml b/nixos/modules/services/networking/dnscrypt-proxy.xml
index 555c6df4d551..ff1088698589 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.xml
+++ b/nixos/modules/services/networking/dnscrypt-proxy.xml
@@ -19,7 +19,7 @@
To enable the client proxy, set
- services.dnscrypt-proxy.enable = true;
+ = true;
@@ -38,17 +38,17 @@
DNS client, change the default proxy listening port to a
non-standard value and point the other client to it:
- services.dnscrypt-proxy.localPort = 43;
+ = 43;
dnsmasq
- {
- services.dnsmasq.enable = true;
- services.dnsmasq.servers = [ "127.0.0.1#43" ];
- }
+{
+ = true;
+ = [ "127.0.0.1#43" ];
+}
@@ -56,10 +56,10 @@
unbound
- {
- services.unbound.enable = true;
- services.unbound.forwardAddresses = [ "127.0.0.1@43" ];
- }
+{
+ = true;
+ = [ "127.0.0.1@43" ];
+}
diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix
index 8e5f0bfc070d..94958bfdd83e 100644
--- a/nixos/modules/services/networking/unifi.nix
+++ b/nixos/modules/services/networking/unifi.nix
@@ -4,22 +4,22 @@ let
cfg = config.services.unifi;
stateDir = "/var/lib/unifi";
cmd = ''
- @${pkgs.jre}/bin/java java \
+ @${cfg.jrePackage}/bin/java java \
${optionalString (cfg.initialJavaHeapSize != null) "-Xms${(toString cfg.initialJavaHeapSize)}m"} \
${optionalString (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m"} \
-jar ${stateDir}/lib/ace.jar
'';
mountPoints = [
{
- what = "${pkgs.unifi}/dl";
+ what = "${cfg.unifiPackage}/dl";
where = "${stateDir}/dl";
}
{
- what = "${pkgs.unifi}/lib";
+ what = "${cfg.unifiPackage}/lib";
where = "${stateDir}/lib";
}
{
- what = "${pkgs.mongodb}/bin";
+ what = "${cfg.mongodbPackage}/bin";
where = "${stateDir}/bin";
}
{
@@ -41,6 +41,33 @@ in
'';
};
+ services.unifi.jrePackage = mkOption {
+ type = types.package;
+ default = pkgs.jre8;
+ defaultText = "pkgs.jre8";
+ description = ''
+ The JRE package to use. Check the release notes to ensure it is supported.
+ '';
+ };
+
+ services.unifi.unifiPackage = mkOption {
+ type = types.package;
+ default = pkgs.unifiLTS;
+ defaultText = "pkgs.unifiLTS";
+ description = ''
+ The unifi package to use.
+ '';
+ };
+
+ services.unifi.mongodbPackage = mkOption {
+ type = types.package;
+ default = pkgs.mongodb;
+ defaultText = "pkgs.mongodb";
+ description = ''
+ The mongodb package to use.
+ '';
+ };
+
services.unifi.dataDir = mkOption {
type = types.str;
default = "${stateDir}/data";
@@ -137,7 +164,7 @@ in
rm -rf "${stateDir}/webapps"
mkdir -p "${stateDir}/webapps"
chown unifi "${stateDir}/webapps"
- ln -s "${pkgs.unifi}/webapps/ROOT" "${stateDir}/webapps/ROOT"
+ ln -s "${cfg.unifiPackage}/webapps/ROOT" "${stateDir}/webapps/ROOT"
'';
postStop = ''
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index ecab8cfc7df9..c4147986439c 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -83,6 +83,8 @@ let
WebInterface ${if cfg.webInterface then "Yes" else "No"}
+ LogLevel ${cfg.logLevel}
+
${cfg.extraConf}
'';
@@ -165,6 +167,15 @@ in
'';
};
+ logLevel = mkOption {
+ type = types.str;
+ default = "info";
+ example = "debug";
+ description = ''
+ Specifies the cupsd logging verbosity.
+ '';
+ };
+
extraFilesConf = mkOption {
type = types.lines;
default = "";
@@ -180,7 +191,7 @@ in
example =
''
BrowsePoll cups.example.com
- LogLevel debug
+ MaxCopies 42
'';
description = ''
Extra contents of the configuration file of the CUPS daemon
@@ -345,8 +356,6 @@ in
services.printing.extraConf =
''
- LogLevel info
-
DefaultAuthType Basic
diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix
index ef48d52e7a94..433d97c2a7d7 100644
--- a/nixos/modules/services/security/oauth2_proxy.nix
+++ b/nixos/modules/services/security/oauth2_proxy.nix
@@ -6,70 +6,81 @@ with lib;
let
cfg = config.services.oauth2_proxy;
- # Use like:
- # repeatedArgs (arg: "--arg=${arg}") args
- repeatedArgs = concatMapStringsSep " ";
-
# oauth2_proxy provides many options that are only relevant if you are using
# a certain provider. This set maps from provider name to a function that
# takes the configuration and returns a string that can be inserted into the
# command-line to launch oauth2_proxy.
providerSpecificOptions = {
- azure = cfg: ''
- --azure-tenant=${cfg.azure.tenant} \
- --resource=${cfg.azure.resource} \
- '';
+ azure = cfg: {
+ azure.tenant = cfg.azure.tenant;
+ resource = cfg.azure.resource;
+ };
- github = cfg: ''
- ${optionalString (!isNull cfg.github.org) "--github-org=${cfg.github.org}"} \
- ${optionalString (!isNull cfg.github.team) "--github-org=${cfg.github.team}"} \
- '';
+ github = cfg: { github = {
+ inherit (cfg.github) org team;
+ }; };
- google = cfg: ''
- --google-admin-email=${cfg.google.adminEmail} \
- --google-service-account=${cfg.google.serviceAccountJSON} \
- ${repeatedArgs (group: "--google-group=${group}") cfg.google.groups} \
- '';
+ google = cfg: { google = with cfg.google; optionalAttrs (groups != []) {
+ admin-email = adminEmail;
+ service-account = serviceAccountJSON;
+ group = groups;
+ }; };
};
authenticatedEmailsFile = pkgs.writeText "authenticated-emails" cfg.email.addresses;
- getProviderOptions = cfg: provider: providerSpecificOptions.${provider} or (_: "") cfg;
+ getProviderOptions = cfg: provider: providerSpecificOptions.${provider} or (_: {}) cfg;
- mkCommandLine = cfg: ''
- --provider='${cfg.provider}' \
- ${optionalString (!isNull cfg.email.addresses) "--authenticated-emails-file='${authenticatedEmailsFile}'"} \
- --approval-prompt='${cfg.approvalPrompt}' \
- ${optionalString (cfg.passBasicAuth && !isNull cfg.basicAuthPassword) "--basic-auth-password='${cfg.basicAuthPassword}'"} \
- --client-id='${cfg.clientID}' \
- --client-secret='${cfg.clientSecret}' \
- ${optionalString (!isNull cfg.cookie.domain) "--cookie-domain='${cfg.cookie.domain}'"} \
- --cookie-expire='${cfg.cookie.expire}' \
- --cookie-httponly=${boolToString cfg.cookie.httpOnly} \
- --cookie-name='${cfg.cookie.name}' \
- --cookie-secret='${cfg.cookie.secret}' \
- --cookie-secure=${boolToString cfg.cookie.secure} \
- ${optionalString (!isNull cfg.cookie.refresh) "--cookie-refresh='${cfg.cookie.refresh}'"} \
- ${optionalString (!isNull cfg.customTemplatesDir) "--custom-templates-dir='${cfg.customTemplatesDir}'"} \
- ${repeatedArgs (x: "--email-domain='${x}'") cfg.email.domains} \
- --http-address='${cfg.httpAddress}' \
- ${optionalString (!isNull cfg.htpasswd.file) "--htpasswd-file='${cfg.htpasswd.file}' --display-htpasswd-form=${boolToString cfg.htpasswd.displayForm}"} \
- ${optionalString (!isNull cfg.loginURL) "--login-url='${cfg.loginURL}'"} \
- --pass-access-token=${boolToString cfg.passAccessToken} \
- --pass-basic-auth=${boolToString cfg.passBasicAuth} \
- --pass-host-header=${boolToString cfg.passHostHeader} \
- --proxy-prefix='${cfg.proxyPrefix}' \
- ${optionalString (!isNull cfg.profileURL) "--profile-url='${cfg.profileURL}'"} \
- ${optionalString (!isNull cfg.redeemURL) "--redeem-url='${cfg.redeemURL}'"} \
- ${optionalString (!isNull cfg.redirectURL) "--redirect-url='${cfg.redirectURL}'"} \
- --request-logging=${boolToString cfg.requestLogging} \
- ${optionalString (!isNull cfg.scope) "--scope='${cfg.scope}'"} \
- ${repeatedArgs (x: "--skip-auth-regex='${x}'") cfg.skipAuthRegexes} \
- ${optionalString (!isNull cfg.signatureKey) "--signature-key='${cfg.signatureKey}'"} \
- --upstream='${cfg.upstream}' \
- ${optionalString (!isNull cfg.validateURL) "--validate-url='${cfg.validateURL}'"} \
- ${optionalString cfg.tls.enable "--tls-cert='${cfg.tls.certificate}' --tls-key='${cfg.tls.key}' --https-address='${cfg.tls.httpsAddress}'"} \
- '' + getProviderOptions cfg cfg.provider;
+ allConfig = with cfg; {
+ inherit (cfg) provider scope upstream;
+ approval-prompt = approvalPrompt;
+ basic-auth-password = basicAuthPassword;
+ client-id = clientID;
+ client-secret = clientSecret;
+ custom-templates-dir = customTemplatesDir;
+ email-domain = email.domains;
+ http-address = httpAddress;
+ login-url = loginURL;
+ pass-access-token = passAccessToken;
+ pass-basic-auth = passBasicAuth;
+ pass-host-header = passHostHeader;
+ proxy-prefix = proxyPrefix;
+ profile-url = profileURL;
+ redeem-url = redeemURL;
+ redirect-url = redirectURL;
+ request-logging = requestLogging;
+ skip-auth-regex = skipAuthRegexes;
+ signature-key = signatureKey;
+ validate-url = validateURL;
+ htpasswd-file = htpasswd.file;
+ cookie = {
+ inherit (cookie) domain secure expire name secret refresh;
+ httponly = cookie.httpOnly;
+ };
+ set-xauthrequest = setXauthrequest;
+ } // lib.optionalAttrs (!isNull cfg.email.addresses) {
+ authenticated-emails-file = authenticatedEmailsFile;
+ } // lib.optionalAttrs (cfg.passBasicAuth) {
+ basic-auth-password = cfg.basicAuthPassword;
+ } // lib.optionalAttrs (!isNull cfg.htpasswd.file) {
+ display-htpasswd-file = cfg.htpasswd.displayForm;
+ } // lib.optionalAttrs tls.enable {
+ tls-cert = tls.certificate;
+ tls-key = tls.key;
+ https-address = tls.httpsAddress;
+ } // (getProviderOptions cfg cfg.provider) // cfg.extraConfig;
+
+ mapConfig = key: attr:
+ if (!isNull attr && attr != []) then (
+ if (builtins.typeOf attr) == "set" then concatStringsSep " "
+ (mapAttrsToList (name: value: mapConfig (key + "-" + name) value) attr) else
+ if (builtins.typeOf attr) == "list" then concatMapStringsSep " " (mapConfig key) attr else
+ if (builtins.typeOf attr) == "bool" then "--${key}=${boolToString attr}" else
+ if (builtins.typeOf attr) == "string" then "--${key}='${attr}'" else
+ "--${key}=${toString attr}")
+ else "";
+
+ configString = concatStringsSep " " (mapAttrsToList mapConfig allConfig);
in
{
options.services.oauth2_proxy = {
@@ -110,7 +121,7 @@ in
};
clientID = mkOption {
- type = types.str;
+ type = types.nullOr types.str;
description = ''
The OAuth Client ID.
'';
@@ -118,7 +129,7 @@ in
};
clientSecret = mkOption {
- type = types.str;
+ type = types.nullOr types.str;
description = ''
The OAuth Client Secret.
'';
@@ -272,7 +283,8 @@ in
####################################################
# UPSTREAM Configuration
upstream = mkOption {
- type = types.commas;
+ type = with types; coercedTo string (x: [x]) (listOf string);
+ default = [];
description = ''
The http url(s) of the upstream endpoint or file://
paths for static files. Routing is based on the path.
@@ -365,7 +377,7 @@ in
};
secret = mkOption {
- type = types.str;
+ type = types.nullOr types.str;
description = ''
The seed string for secure cookies.
'';
@@ -494,10 +506,43 @@ in
'';
};
+ setXauthrequest = mkOption {
+ type = types.nullOr types.bool;
+ default = false;
+ description = ''
+ Set X-Auth-Request-User and X-Auth-Request-Email response headers (useful in Nginx auth_request mode). Setting this to 'null' means using the upstream default (false).
+ '';
+ };
+
+ extraConfig = mkOption {
+ default = {};
+ description = ''
+ Extra config to pass to oauth2_proxy.
+ '';
+ };
+
+ keyFile = mkOption {
+ type = types.nullOr types.string;
+ default = null;
+ description = ''
+ oauth2_proxy allows passing sensitive configuration via environment variables.
+ Make a file that contains lines like
+ OAUTH2_PROXY_CLIENT_SECRET=asdfasdfasdf.apps.googleuserscontent.com
+ and specify the path here.
+ '';
+ example = "/run/keys/oauth2_proxy";
+ };
+
};
config = mkIf cfg.enable {
+ services.oauth2_proxy = mkIf (!isNull cfg.keyFile) {
+ clientID = mkDefault null;
+ clientSecret = mkDefault null;
+ cookie.secret = mkDefault null;
+ };
+
users.extraUsers.oauth2_proxy = {
description = "OAuth2 Proxy";
};
@@ -511,7 +556,8 @@ in
serviceConfig = {
User = "oauth2_proxy";
Restart = "always";
- ExecStart = "${cfg.package.bin}/bin/oauth2_proxy ${mkCommandLine cfg}";
+ ExecStart = "${cfg.package.bin}/bin/oauth2_proxy ${configString}";
+ EnvironmentFile = mkIf (cfg.keyFile != null) cfg.keyFile;
};
};
diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix
index ec1e97f4125e..bff22cd13594 100644
--- a/nixos/modules/services/torrent/deluge.nix
+++ b/nixos/modules/services/torrent/deluge.nix
@@ -11,10 +11,7 @@ in {
options = {
services = {
deluge = {
- enable = mkOption {
- default = false;
- description = "Start the Deluge daemon";
- };
+ enable = mkEnableOption "Deluge daemon";
openFilesLimit = mkOption {
default = openFilesLimit;
@@ -25,14 +22,7 @@ in {
};
};
- deluge.web = {
- enable = mkOption {
- default = false;
- description = ''
- Start Deluge Web daemon.
- '';
- };
- };
+ deluge.web.enable = mkEnableOption "Deluge Web daemon";
};
};
diff --git a/nixos/modules/services/web-apps/youtrack.nix b/nixos/modules/services/web-apps/youtrack.nix
new file mode 100644
index 000000000000..e057e3025629
--- /dev/null
+++ b/nixos/modules/services/web-apps/youtrack.nix
@@ -0,0 +1,177 @@
+{ config, lib, pkgs, options, ... }:
+
+with lib;
+
+let
+ cfg = config.services.youtrack;
+
+ extraAttr = concatStringsSep " " (mapAttrsToList (k: v: "-D${k}=${v}") (stdParams // cfg.extraParams));
+ mergeAttrList = lib.foldl' lib.mergeAttrs {};
+
+ stdParams = mergeAttrList [
+ (optionalAttrs (cfg.baseUrl != null) {
+ "jetbrains.youtrack.baseUrl" = cfg.baseUrl;
+ })
+ {
+ "java.aws.headless" = "true";
+ "jetbrains.youtrack.disableBrowser" = "true";
+ }
+ ];
+in
+{
+ options.services.youtrack = {
+
+ enable = mkEnableOption "YouTrack service";
+
+ address = mkOption {
+ description = ''
+ The interface youtrack will listen on.
+ '';
+ default = "127.0.0.1";
+ type = types.string;
+ };
+
+ baseUrl = mkOption {
+ description = ''
+ Base URL for youtrack. Will be auto-detected and stored in database.
+ '';
+ type = types.nullOr types.string;
+ default = null;
+ };
+
+ extraParams = mkOption {
+ default = {};
+ description = ''
+ Extra parameters to pass to youtrack. See
+ https://www.jetbrains.com/help/youtrack/standalone/YouTrack-Java-Start-Parameters.html
+ for more information.
+ '';
+ example = {
+ "jetbrains.youtrack.overrideRootPassword" = "tortuga";
+ };
+ type = types.attrsOf types.string;
+ };
+
+ package = mkOption {
+ description = ''
+ Package to use.
+ '';
+ type = types.package;
+ default = pkgs.youtrack;
+ defaultText = "pkgs.youtrack";
+ };
+
+ port = mkOption {
+ description = ''
+ The port youtrack will listen on.
+ '';
+ default = 8080;
+ type = types.int;
+ };
+
+ statePath = mkOption {
+ description = ''
+ Where to keep the youtrack database.
+ '';
+ type = types.string;
+ default = "/var/lib/youtrack";
+ };
+
+ virtualHost = mkOption {
+ description = ''
+ Name of the nginx virtual host to use and setup.
+ If null, do not setup anything.
+ '';
+ default = null;
+ type = types.nullOr types.string;
+ };
+
+ jvmOpts = mkOption {
+ description = ''
+ Extra options to pass to the JVM.
+ See https://www.jetbrains.com/help/youtrack/standalone/Configure-JVM-Options.html
+ for more information.
+ '';
+ type = types.string;
+ example = "-XX:MetaspaceSize=250m";
+ default = "";
+ };
+
+ maxMemory = mkOption {
+ description = ''
+ Maximum Java heap size
+ '';
+ type = types.string;
+ default = "1g";
+ };
+
+ maxMetaspaceSize = mkOption {
+ description = ''
+ Maximum java Metaspace memory.
+ '';
+ type = types.string;
+ default = "350m";
+ };
+ };
+
+ config = mkIf cfg.enable {
+
+ systemd.services.youtrack = {
+ environment.HOME = cfg.statePath;
+ environment.YOUTRACK_JVM_OPTS = "-Xmx${cfg.maxMemory} -XX:MaxMetaspaceSize=${cfg.maxMetaspaceSize} ${cfg.jvmOpts} ${extraAttr}";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ Type = "simple";
+ User = "youtrack";
+ Group = "youtrack";
+ ExecStart = ''${cfg.package}/bin/youtrack ${cfg.address}:${toString cfg.port}'';
+ };
+ };
+
+ users.users.youtrack = {
+ description = "Youtrack service user";
+ isSystemUser = true;
+ home = cfg.statePath;
+ createHome = true;
+ group = "youtrack";
+ };
+
+ users.groups.youtrack = {};
+
+ services.nginx = mkIf (cfg.virtualHost != null) {
+ upstreams.youtrack.servers."${cfg.address}:${toString cfg.port}" = {};
+ virtualHosts.${cfg.virtualHost}.locations = {
+ "/" = {
+ proxyPass = "http://youtrack";
+ extraConfig = ''
+ client_max_body_size 10m;
+ proxy_http_version 1.1;
+ proxy_set_header X-Forwarded-Host $http_host;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ '';
+ };
+
+ "/api/eventSourceBus" = {
+ proxyPass = "http://youtrack";
+ extraConfig = ''
+ proxy_cache off;
+ proxy_buffering off;
+ proxy_read_timeout 86400s;
+ proxy_send_timeout 86400s;
+ proxy_set_header Connection "";
+ chunked_transfer_encoding off;
+ client_max_body_size 10m;
+ proxy_http_version 1.1;
+ proxy_set_header X-Forwarded-Host $http_host;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ '';
+ };
+
+ };
+ };
+
+ };
+}
diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix
index d8efa24bc6d5..2124a42f01a1 100644
--- a/nixos/modules/services/web-servers/caddy.nix
+++ b/nixos/modules/services/web-servers/caddy.nix
@@ -25,8 +25,8 @@ in {
};
ca = mkOption {
- default = "https://acme-v01.api.letsencrypt.org/directory";
- example = "https://acme-staging.api.letsencrypt.org/directory";
+ default = "https://acme-v02.api.letsencrypt.org/directory";
+ example = "https://acme-staging-v02.api.letsencrypt.org/directory";
type = types.string;
description = "Certificate authority ACME server. The default (Let's Encrypt production server) should be fine for most people.";
};
diff --git a/nixos/modules/services/web-servers/hitch/default.nix b/nixos/modules/services/web-servers/hitch/default.nix
new file mode 100644
index 000000000000..895d02827f71
--- /dev/null
+++ b/nixos/modules/services/web-servers/hitch/default.nix
@@ -0,0 +1,108 @@
+{ config, lib, pkgs, ...}:
+let
+ cfg = config.services.hitch;
+ ocspDir = lib.optionalString cfg.ocsp-stapling.enabled "/var/cache/hitch/ocsp";
+ hitchConfig = with lib; pkgs.writeText "hitch.conf" (concatStringsSep "\n" [
+ ("backend = \"${cfg.backend}\"")
+ (concatMapStrings (s: "frontend = \"${s}\"\n") cfg.frontend)
+ (concatMapStrings (s: "pem-file = \"${s}\"\n") cfg.pem-files)
+ ("ciphers = \"${cfg.ciphers}\"")
+ ("ocsp-dir = \"${ocspDir}\"")
+ "user = \"${cfg.user}\""
+ "group = \"${cfg.group}\""
+ cfg.extraConfig
+ ]);
+in
+with lib;
+{
+ options = {
+ services.hitch = {
+ enable = mkEnableOption "Hitch Server";
+
+ backend = mkOption {
+ type = types.str;
+ description = ''
+ The host and port Hitch connects to when receiving
+ a connection in the form [HOST]:PORT
+ '';
+ };
+
+ ciphers = mkOption {
+ type = types.str;
+ default = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
+ description = "The list of ciphers to use";
+ };
+
+ frontend = mkOption {
+ type = types.either types.str (types.listOf types.str);
+ default = "[127.0.0.1]:443";
+ description = ''
+ The port and interface of the listen endpoint in the
++ form [HOST]:PORT[+CERT].
+ '';
+ apply = toList;
+ };
+
+ pem-files = mkOption {
+ type = types.listOf types.path;
+ default = [];
+ description = "PEM files to use";
+ };
+
+ ocsp-stapling = {
+ enabled = mkOption {
+ type = types.bool;
+ default = true;
+ description = "Whether to enable OCSP Stapling";
+ };
+ };
+
+ user = mkOption {
+ type = types.str;
+ default = "hitch";
+ description = "The user to run as";
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "hitch";
+ description = "The group to run as";
+ };
+
+ extraConfig = mkOption {
+ type = types.lines;
+ default = "";
+ description = "Additional configuration lines";
+ };
+ };
+
+ };
+
+ config = mkIf cfg.enable {
+
+ systemd.services.hitch = {
+ description = "Hitch";
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+ preStart = ''
+ ${pkgs.hitch}/sbin/hitch -t --config ${hitchConfig}
+ '' + (optionalString cfg.ocsp-stapling.enabled ''
+ mkdir -p ${ocspDir}
+ chown -R hitch:hitch ${ocspDir}
+ '');
+ serviceConfig = {
+ Type = "forking";
+ ExecStart = "${pkgs.hitch}/sbin/hitch --daemon --config ${hitchConfig}";
+ ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+ Restart = "always";
+ RestartSec = "5s";
+ LimitNOFILE = 131072;
+ };
+ };
+
+ environment.systemPackages = [ pkgs.hitch ];
+
+ users.extraUsers.hitch.group = "hitch";
+ users.extraGroups.hitch = {};
+ };
+}
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 938a8a1fe334..815c3147e647 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -218,7 +218,10 @@ let
ssl_certificate_key ${vhost.sslCertificateKey};
''}
- ${optionalString (vhost.basicAuth != {}) (mkBasicAuth vhostName vhost.basicAuth)}
+ ${optionalString (vhost.basicAuthFile != null || vhost.basicAuth != {}) ''
+ auth_basic secured;
+ auth_basic_user_file ${if vhost.basicAuthFile != null then vhost.basicAuthFile else mkHtpasswd vhostName vhost.basicAuth};
+ ''}
${mkLocations vhost.locations}
@@ -248,16 +251,11 @@ let
${optionalString (config.proxyPass != null && cfg.recommendedProxySettings) "include ${recommendedProxyConfig};"}
}
'') locations);
- mkBasicAuth = vhostName: authDef: let
- htpasswdFile = pkgs.writeText "${vhostName}.htpasswd" (
- concatStringsSep "\n" (mapAttrsToList (user: password: ''
- ${user}:{PLAIN}${password}
- '') authDef)
- );
- in ''
- auth_basic secured;
- auth_basic_user_file ${htpasswdFile};
- '';
+ mkHtpasswd = vhostName: authDef: pkgs.writeText "${vhostName}.htpasswd" (
+ concatStringsSep "\n" (mapAttrsToList (user: password: ''
+ ${user}:{PLAIN}${password}
+ '') authDef)
+ );
in
{
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index bf18108a1a3c..f014d817e80e 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -193,6 +193,14 @@ with lib;
'';
};
+ basicAuthFile = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ description = ''
+ Basic Auth password file for a vhost.
+ '';
+ };
+
locations = mkOption {
type = types.attrsOf (types.submodule (import ./location-options.nix {
inherit lib;
diff --git a/nixos/modules/services/x11/window-managers/bspwm.nix b/nixos/modules/services/x11/window-managers/bspwm.nix
index 6783ac3479e6..23cd4f6529a6 100644
--- a/nixos/modules/services/x11/window-managers/bspwm.nix
+++ b/nixos/modules/services/x11/window-managers/bspwm.nix
@@ -59,7 +59,7 @@ in
start = ''
export _JAVA_AWT_WM_NONREPARENTING=1
SXHKD_SHELL=/bin/sh ${cfg.sxhkd.package}/bin/sxhkd ${optionalString (cfg.sxhkd.configFile != null) "-c \"${cfg.sxhkd.configFile}\""} &
- ${cfg.package}/bin/bspwm ${optionalString (cfg.configFile != null) "-c \"${cfg.configFile}\""}
+ ${cfg.package}/bin/bspwm ${optionalString (cfg.configFile != null) "-c \"${cfg.configFile}\""} &
waitPID=$!
'';
};
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 5f0a0f278452..1404231f837e 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -240,7 +240,10 @@ in
type = types.listOf types.str;
# !!! We'd like "nv" here, but it segfaults the X server.
default = [ "ati" "cirrus" "intel" "vesa" "vmware" "modesetting" ];
- example = [ "vesa" ];
+ example = [
+ "ati_unfree" "amdgpu" "amdgpu-pro"
+ "nv" "nvidia" "nvidiaLegacy340" "nvidiaLegacy304"
+ ];
description = ''
The names of the video drivers the configuration
supports. They will be tried in order until one that
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index eea10613ea58..9aa557ac8595 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -146,12 +146,13 @@ let
# .network files have a [Link] section with different options than in .netlink files
checkNetworkLink = checkUnitConfig "Link" [
(assertOnlyFields [
- "MACAddress" "MTUBytes" "ARP" "Unmanaged"
+ "MACAddress" "MTUBytes" "ARP" "Unmanaged" "RequiredForOnline"
])
(assertMacAddress "MACAddress")
(assertByteFormat "MTUBytes")
(assertValueOneOf "ARP" boolValues)
(assertValueOneOf "Unmanaged" boolValues)
+ (assertValueOneOf "RquiredForOnline" boolValues)
];
@@ -712,6 +713,9 @@ in
systemd.services.systemd-networkd = {
wantedBy = [ "multi-user.target" ];
restartTriggers = map (f: f.source) (unitFiles);
+ # prevent race condition with interface renaming (#39069)
+ requires = [ "systemd-udev-settle.service" ];
+ after = [ "systemd-udev-settle.service" ];
};
systemd.services.systemd-networkd-wait-online = {
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 45325c6b0d8d..66ff43c8547d 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -27,6 +27,21 @@ let
kernelConsole = if cfg.graphics then "" else "console=${qemuSerialDevice}";
ttys = [ "tty1" "tty2" "tty3" "tty4" "tty5" "tty6" ];
+ # XXX: This is very ugly and in the future we really should use attribute
+ # sets to build ALL of the QEMU flags instead of this mixed mess of Nix
+ # expressions and shell script stuff.
+ mkDiskIfaceDriveFlag = idx: driveArgs: let
+ inherit (cfg.qemu) diskInterface;
+ # The drive identifier created by incrementing the index by one using the
+ # shell.
+ drvId = "drive$((${idx} + 1))";
+ # NOTE: DO NOT shell escape, because this may contain shell variables.
+ commonArgs = "index=${idx},id=${drvId},${driveArgs}";
+ isSCSI = diskInterface == "scsi";
+ devArgs = "${diskInterface}-hd,drive=${drvId}";
+ args = "-drive ${commonArgs},if=none -device lsi53c895a -device ${devArgs}";
+ in if isSCSI then args else "-drive ${commonArgs},if=${diskInterface}";
+
# Shell script to start the VM.
startVM =
''
@@ -68,7 +83,7 @@ let
if ! test -e "empty$idx.qcow2"; then
${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M"
fi
- extraDisks="$extraDisks -drive index=$idx,file=$(pwd)/empty$idx.qcow2,if=${cfg.qemu.diskInterface},werror=report"
+ extraDisks="$extraDisks ${mkDiskIfaceDriveFlag "$idx" "file=$(pwd)/empty$idx.qcow2,werror=report"}"
idx=$((idx + 1))
'')}
@@ -77,19 +92,20 @@ let
-name ${vmName} \
-m ${toString config.virtualisation.memorySize} \
-smp ${toString config.virtualisation.cores} \
+ -device virtio-rng-pci \
${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
-virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
${if cfg.useBootLoader then ''
- -drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=${cfg.qemu.diskInterface},cache=writeback,werror=report \
- -drive index=1,id=drive2,file=$TMPDIR/disk.img,media=disk \
+ ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
+ ${mkDiskIfaceDriveFlag "1" "file=$TMPDIR/disk.img,media=disk"} \
${if cfg.useEFIBoot then ''
-pflash $TMPDIR/bios.bin \
'' else ''
''}
'' else ''
- -drive index=0,id=drive1,file=$NIX_DISK_IMAGE,if=${cfg.qemu.diskInterface},cache=writeback,werror=report \
+ ${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
-kernel ${config.system.build.toplevel}/kernel \
-initrd ${config.system.build.toplevel}/initrd \
-append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${kernelConsole} $QEMU_KERNEL_PARAMS" \
@@ -337,11 +353,8 @@ in
mkOption {
default = "virtio";
example = "scsi";
- type = types.str;
- description = ''
- The interface used for the virtual hard disks
- (virtio or scsi).
- '';
+ type = types.enum [ "virtio" "scsi" "ide" ];
+ description = "The interface used for the virtual hard disks.";
};
};
@@ -437,7 +450,7 @@ in
# FIXME: Consolidate this one day.
virtualisation.qemu.options = mkMerge [
(mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [ "-vga std" "-usb" "-device usb-tablet,bus=usb-bus.0" ])
- (mkIf (pkgs.stdenv.isArm || pkgs.stdenv.isAarch64) [ "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" ])
+ (mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [ "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet" ])
];
# Mount the host filesystem via 9P, and bind-mount the Nix store
diff --git a/nixos/release.nix b/nixos/release.nix
index a54443f92cf1..8956d6df8551 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -124,7 +124,6 @@ let
preferLocalBuild = true;
};
-
in rec {
channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; };
@@ -132,6 +131,7 @@ in rec {
manual = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manual);
manualEpub = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manualEpub));
manpages = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manpages);
+ manualGeneratedSources = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.generatedSources);
options = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
@@ -268,6 +268,7 @@ in rec {
tests.containers-hosts = callTest tests/containers-hosts.nix {};
tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
tests.couchdb = callTest tests/couchdb.nix {};
+ tests.deluge = callTest tests/deluge.nix {};
tests.docker = callTestOnMatchingSystems ["x86_64-linux"] tests/docker.nix {};
tests.docker-tools = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools.nix {};
tests.docker-tools-overlay = callTestOnMatchingSystems ["x86_64-linux"] tests/docker-tools-overlay.nix {};
@@ -297,6 +298,7 @@ in rec {
tests.graphite = callTest tests/graphite.nix {};
tests.hardened = callTest tests/hardened.nix { };
tests.hibernate = callTest tests/hibernate.nix {};
+ tests.hitch = callTest tests/hitch {};
tests.home-assistant = callTest tests/home-assistant.nix { };
tests.hound = callTest tests/hound.nix {};
tests.hocker-fetchdocker = callTest tests/hocker-fetchdocker {};
@@ -307,6 +309,7 @@ in rec {
tests.influxdb = callTest tests/influxdb.nix {};
tests.ipv6 = callTest tests/ipv6.nix {};
tests.jenkins = callTest tests/jenkins.nix {};
+ tests.osquery = callTest tests/osquery.nix {};
tests.plasma5 = callTest tests/plasma5.nix {};
tests.plotinus = callTest tests/plotinus.nix {};
tests.keymap = callSubTests tests/keymap.nix {};
diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix
index 65c314e22e1d..c341e83961a8 100644
--- a/nixos/tests/chromium.nix
+++ b/nixos/tests/chromium.nix
@@ -94,6 +94,11 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
''}");
if ($status == 0) {
$ret = 1;
+
+ # XXX: Somehow Chromium is not accepting keystrokes for a few
+ # seconds after a new window has appeared, so let's wait a while.
+ $machine->sleep(10);
+
last;
}
$machine->sleep(1);
diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix
new file mode 100644
index 000000000000..6119fd58447c
--- /dev/null
+++ b/nixos/tests/deluge.nix
@@ -0,0 +1,29 @@
+import ./make-test.nix ({ pkgs, ...} : {
+ name = "deluge";
+ meta = with pkgs.stdenv.lib.maintainers; {
+ maintainers = [ flokli ];
+ };
+
+ nodes = {
+ server =
+ { pkgs, config, ... }:
+
+ { services.deluge = {
+ enable = true;
+ web.enable = true;
+ };
+ networking.firewall.allowedTCPPorts = [ 8112 ];
+ };
+
+ client = { };
+ };
+
+ testScript = ''
+ startAll;
+
+ $server->waitForUnit("deluged");
+ $server->waitForUnit("delugeweb");
+ $client->waitForUnit("network.target");
+ $client->waitUntilSucceeds("curl --fail http://server:8112");
+ '';
+})
diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix
index a95235887e89..3ae2bdffed90 100644
--- a/nixos/tests/hibernate.nix
+++ b/nixos/tests/hibernate.nix
@@ -37,7 +37,7 @@ import ./make-test.nix (pkgs: {
$machine->waitForShutdown;
$machine->start;
$probe->waitForUnit("network.target");
- $probe->waitUntilSucceeds("echo test | nc machine 4444 -q 0");
+ $probe->waitUntilSucceeds("echo test | nc machine 4444 -N");
'';
})
diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix
new file mode 100644
index 000000000000..b024306cde56
--- /dev/null
+++ b/nixos/tests/hitch/default.nix
@@ -0,0 +1,33 @@
+import ../make-test.nix ({ pkgs, ... }:
+{
+ name = "hitch";
+ meta = with pkgs.stdenv.lib.maintainers; {
+ maintainers = [ jflanglois ];
+ };
+ machine = { config, pkgs, ... }: {
+ environment.systemPackages = [ pkgs.curl ];
+ services.hitch = {
+ enable = true;
+ backend = "[127.0.0.1]:80";
+ pem-files = [
+ ./example.pem
+ ];
+ };
+
+ services.httpd = {
+ enable = true;
+ documentRoot = ./example;
+ adminAddr = "noone@testing.nowhere";
+ };
+ };
+
+ testScript =
+ ''
+ startAll;
+
+ $machine->waitForUnit('multi-user.target');
+ $machine->waitForUnit('hitch.service');
+ $machine->waitForOpenPort(443);
+ $machine->succeed('curl -k https://localhost:443/index.txt | grep "We are all good!"');
+ '';
+})
diff --git a/nixos/tests/hitch/example.pem b/nixos/tests/hitch/example.pem
new file mode 100644
index 000000000000..fde6f3cbd19a
--- /dev/null
+++ b/nixos/tests/hitch/example.pem
@@ -0,0 +1,53 @@
+-----BEGIN CERTIFICATE-----
+MIIEKTCCAxGgAwIBAgIJAIFAWQXSZ7lIMA0GCSqGSIb3DQEBCwUAMIGqMQswCQYD
+VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEVMBMGA1UEBwwMUmVkd29vZCBD
+aXR5MRkwFwYDVQQKDBBUZXN0aW5nIDEyMyBJbmMuMRQwEgYDVQQLDAtJVCBTZXJ2
+aWNlczEYMBYGA1UEAwwPdGVzdGluZy5ub3doZXJlMSQwIgYJKoZIhvcNAQkBFhVu
+b29uZUB0ZXN0aW5nLm5vd2hlcmUwHhcNMTgwNDIzMDcxMTI5WhcNMTkwNDIzMDcx
+MTI5WjCBqjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFTATBgNV
+BAcMDFJlZHdvb2QgQ2l0eTEZMBcGA1UECgwQVGVzdGluZyAxMjMgSW5jLjEUMBIG
+A1UECwwLSVQgU2VydmljZXMxGDAWBgNVBAMMD3Rlc3Rpbmcubm93aGVyZTEkMCIG
+CSqGSIb3DQEJARYVbm9vbmVAdGVzdGluZy5ub3doZXJlMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAxQq6AA9o/QErMbQwfgDF4mqXcvglRTwPr2zPE6Rv
+1g0ncRBSMM8iKbPapHM6qHNfg2e1fU2SFqzD6HkyZqHHLCgLzkdzswEcEjsMqiUP
+OR++5g4CWoQrdTi31itzYzCjnQ45BrAMrLEhBQgDTNwrEE+Tit0gpOGggtj/ktLk
+OD8BKa640lkmWEUGF18fd3rYTUC4hwM5qhAVXTe21vj9ZWsgprpQKdN61v0dCUap
+C5eAgvZ8Re+Cd0Id674hK4cJ4SekqfHKv/jLyIg3Vsdc9nkhmiC4O6KH5f1Zzq2i
+E4Kd5mnJDFxfSzIErKWmbhriLWsj3KEJ983AGLJ9hxQTAwIDAQABo1AwTjAdBgNV
+HQ4EFgQU76Mm6DP/BePJRQUNrJ9z038zjocwHwYDVR0jBBgwFoAU76Mm6DP/BePJ
+RQUNrJ9z038zjocwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAAZzt
+VdPaUqrvDAh5rMYqzYMJ3tj6daNYoX6CbTFoevK5J5D4FESM0D/FMKgpNiVz39kB
+8Cjaw5rPHMHY61rHz7JRDK1sWXsonwzCF21BK7Tx0G1CIfLpYHWYb/FfdWGROx+O
+hPgKuoMRWQB+txozkZp5BqWJmk5MOyFCDEXhMOmrfsJq0IYU6QaH3Lsf1oJRy4yU
+afFrT9o3DLOyYLG/j/HXijCu8DVjZVa4aboum79ecYzPjjGF1posrFUnvQiuAeYy
+t7cuHNUB8gW9lWR5J7tP8fzFWtIcyT2oRL8u3H+fXf0i4bW73wtOBOoeULBzBNE7
+6rphcSrQunSZQIc+hg==
+-----END CERTIFICATE-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDFCroAD2j9ASsx
+tDB+AMXiapdy+CVFPA+vbM8TpG/WDSdxEFIwzyIps9qkczqoc1+DZ7V9TZIWrMPo
+eTJmoccsKAvOR3OzARwSOwyqJQ85H77mDgJahCt1OLfWK3NjMKOdDjkGsAyssSEF
+CANM3CsQT5OK3SCk4aCC2P+S0uQ4PwEprrjSWSZYRQYXXx93ethNQLiHAzmqEBVd
+N7bW+P1layCmulAp03rW/R0JRqkLl4CC9nxF74J3Qh3rviErhwnhJ6Sp8cq/+MvI
+iDdWx1z2eSGaILg7oofl/VnOraITgp3mackMXF9LMgSspaZuGuItayPcoQn3zcAY
+sn2HFBMDAgMBAAECggEAcaR8HijFHpab+PC5vxJnDuz3KEHiDQpU6ZJR5DxEnCm+
+A8GsBaaRR4gJpCspO5o/DiS0Ue55QUanPt8XqIXJv7fhBznCiw0qyYDxDviMzR94
+FGskBFySS+tIa+dnh1+4HY7kaO0Egl0udB5o+N1KoP+kUsSyXSYcUxsgW+fx5FW9
+22Ya3HNWnWxMCSfSGGlTFXGj2whf25SkL25dM9iblO4ZOx4MX8kaXij7TaYy8hMM
+Vf6/OMnXqtPKho+ctZZVKZkE9PxdS4f/pnp5EsdoOZwNBtfQ1WqVLWd3DlGWhnsH
+7L8ZSP2HkoI4Pd1wtkpOKZc+yM2bFXWa8WY4TcmpUQKBgQD33HxGdtmtZehrexSA
+/ZwWJlMslUsNz4Ivv6s7J4WCRhdh94+r9TWQP/yHdT9Ry5bvn84I5ZLUdp+aA962
+mvjz+GIglkCGpA7HU/hqurB1O63pj2cIDB8qhV21zjVIoqXcQ7IBJ+tqD79nF8vm
+h3KfuHUhuu1rayGepbtIyNhLdwKBgQDLgw4TJBg/QB8RzYECk78QnfZpCExsQA/z
+YJpc+dF2/nsid5R2u9jWzfmgHM2Jjo2/+ofRUaTqcFYU0K57CqmQkOLIzsbNQoYt
+e2NOANNVHiZLuzTZC2r3BrrkNbo3YvQzhAesUA5lS6LfrxBLUKiwo2LU9NlmJs3b
+UPVFYI0/1QKBgCswxIcS1sOcam+wNtZzWuuRKhUuvrFdY3YmlBPuwxj8Vb7AgMya
+IgdM3xhLmgkKzPZchm6OcpOLSCxyWDDBuHfq5E6BYCUWGW0qeLNAbNdA2wFD99Qz
+KIskSjwP/sD1dql3MmF5L1CABf5U6zb0i0jBv8ds50o8lNMsVgJM3UPpAoGBAL1+
+nzllb4pdi1CJWKnspoizfQCZsIdPM0r71V/jYY36MO+MBtpz2NlSWzAiAaQm74gl
+oBdgfT2qMg0Zro11BSRONEykdOolGkj5TiMQk7b65s+3VeMPRZ8UTis2d9kgs5/Q
+PVDODkl1nwfGu1ZVmW04BUujXVZHpYCkJm1eFMetAoGAImE7gWj+qRMhpbtCCGCg
+z06gDKvMrF6S+GJsvUoSyM8oUtfdPodI6gWAC65NfYkIiqbpCaEVNzfui73f5Lnz
+p5X1IbzhuH5UZs/k5A3OR2PPDbPs3lqEw7YJdBdLVRmO1o824uaXaJJwkL/1C+lq
+8dh1wV3CnynNmZApkz4vpzQ=
+-----END PRIVATE KEY-----
diff --git a/nixos/tests/hitch/example/index.txt b/nixos/tests/hitch/example/index.txt
new file mode 100644
index 000000000000..0478b1c26351
--- /dev/null
+++ b/nixos/tests/hitch/example/index.txt
@@ -0,0 +1 @@
+We are all good!
diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix
index 2e45dc78471f..4ebccb7ab868 100644
--- a/nixos/tests/home-assistant.nix
+++ b/nixos/tests/home-assistant.nix
@@ -51,9 +51,9 @@ in {
startAll;
$hass->waitForUnit("home-assistant.service");
- # Since config is specified using a Nix attribute set,
- # configuration.yaml is a link to the Nix store
- $hass->succeed("test -L ${configDir}/configuration.yaml");
+ # The config is specified using a Nix attribute set,
+ # but then converted from JSON to YAML
+ $hass->succeed("test -f ${configDir}/configuration.yaml");
# Check that Home Assistant's web interface and API can be reached
$hass->waitForOpenPort(8123);
diff --git a/nixos/tests/kernel-copperhead.nix b/nixos/tests/kernel-copperhead.nix
index 0af978f1851f..aa133c9b0aa7 100644
--- a/nixos/tests/kernel-copperhead.nix
+++ b/nixos/tests/kernel-copperhead.nix
@@ -6,14 +6,14 @@ import ./make-test.nix ({ pkgs, ...} : {
machine = { config, lib, pkgs, ... }:
{
- boot.kernelPackages = pkgs.linuxPackages_copperhead_hardened;
+ boot.kernelPackages = pkgs.linuxPackages_copperhead_lts;
};
testScript =
''
$machine->succeed("uname -a");
$machine->succeed("uname -s | grep 'Linux'");
- $machine->succeed("uname -a | grep '${pkgs.linuxPackages_copperhead_hardened.kernel.modDirVersion}'");
+ $machine->succeed("uname -a | grep '${pkgs.linuxPackages_copperhead_lts.kernel.modDirVersion}'");
$machine->succeed("uname -a | grep 'hardened'");
'';
})
diff --git a/nixos/tests/keymap.nix b/nixos/tests/keymap.nix
index abff90d5047d..be880388314c 100644
--- a/nixos/tests/keymap.nix
+++ b/nixos/tests/keymap.nix
@@ -8,17 +8,19 @@ let
testReader = pkgs.writeScript "test-input-reader" ''
#!${pkgs.stdenv.shell}
- rm -f ${resultFile}
+ rm -f ${resultFile} ${resultFile}.tmp
logger "testReader: START: Waiting for $1 characters, expecting '$2'."
touch ${readyFile}
read -r -N $1 chars
rm -f ${readyFile}
if [ "$chars" == "$2" ]; then
- logger -s "testReader: PASS: Got '$2' as expected." 2>${resultFile}
+ logger -s "testReader: PASS: Got '$2' as expected." 2>${resultFile}.tmp
else
- logger -s "testReader: FAIL: Expected '$2' but got '$chars'." 2>${resultFile}
+ logger -s "testReader: FAIL: Expected '$2' but got '$chars'." 2>${resultFile}.tmp
fi
+ # rename after the file is written to prevent a race condition
+ mv ${resultFile}.tmp ${resultFile}
'';
@@ -52,7 +54,7 @@ let
if ($desc eq "Xorg keymap") {
# make sure the xterm window is open and has focus
$machine->waitForWindow(qr/testterm/);
- $machine->succeed("${pkgs.xdotool}/bin/xdotool search --name testterm windowactivate --sync");
+ $machine->waitUntilSucceeds("${pkgs.xdotool}/bin/xdotool search --sync --onlyvisible --class testterm windowfocus --sync");
}
# wait for reader to be ready
@@ -71,7 +73,7 @@ let
$machine->waitForX;
mkTest "VT keymap", "openvt -sw --";
- mkTest "Xorg keymap", "DISPLAY=:0 xterm -title testterm -fullscreen -e";
+ mkTest "Xorg keymap", "DISPLAY=:0 xterm -title testterm -class testterm -fullscreen -e";
'';
};
diff --git a/nixos/tests/osquery.nix b/nixos/tests/osquery.nix
new file mode 100644
index 000000000000..281dbcff6643
--- /dev/null
+++ b/nixos/tests/osquery.nix
@@ -0,0 +1,28 @@
+import ./make-test.nix ({ pkgs, lib, ... }:
+
+with lib;
+
+{
+ name = "osquery";
+ meta = with pkgs.stdenv.lib.maintainers; {
+ maintainers = [ ma27 ];
+ };
+
+ machine = {
+ services.osquery.enable = true;
+ services.osquery.loggerPath = "/var/log/osquery/logs";
+ services.osquery.pidfile = "/var/run/osqueryd.pid";
+ };
+
+ testScript = ''
+ $machine->start;
+ $machine->waitForUnit("osqueryd.service");
+
+ $machine->succeed("echo 'SELECT address FROM etc_hosts LIMIT 1;' | osqueryi | grep '127.0.0.1'");
+ $machine->succeed(
+ "echo 'SELECT value FROM osquery_flags WHERE name = \"logger_path\";' | osqueryi | grep /var/log/osquery/logs"
+ );
+
+ $machine->succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"pidfile\";' | osqueryi | grep /var/run/osqueryd.pid");
+ '';
+})
diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix
index b4c2039923cf..0b431034a7a9 100644
--- a/nixos/tests/predictable-interface-names.nix
+++ b/nixos/tests/predictable-interface-names.nix
@@ -1,27 +1,24 @@
-{ system ? builtins.currentSystem
-, pkgs ? import ../.. { inherit system; }
-}:
-with import ../lib/testing.nix { inherit system; };
-let boolToString = x: if x then "yes" else "no"; in
-let testWhenSetTo = predictable: withNetworkd:
-makeTest {
- name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}";
- meta = {};
+{ system ? builtins.currentSystem }:
- machine = { config, pkgs, ... }: {
- networking.usePredictableInterfaceNames = pkgs.stdenv.lib.mkForce predictable;
- networking.useNetworkd = withNetworkd;
- networking.dhcpcd.enable = !withNetworkd;
+let
+ inherit (import ../lib/testing.nix { inherit system; }) makeTest pkgs;
+in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
+ name = pkgs.lib.optionalString (!predictable) "un" + "predictable"
+ + pkgs.lib.optionalString withNetworkd "Networkd";
+ value = makeTest {
+ name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}";
+ meta = {};
+
+ machine = { config, lib, ... }: {
+ networking.usePredictableInterfaceNames = lib.mkForce predictable;
+ networking.useNetworkd = withNetworkd;
+ networking.dhcpcd.enable = !withNetworkd;
+ };
+
+ testScript = ''
+ print $machine->succeed("ip link");
+ $machine->succeed("ip link show ${if predictable then "ens3" else "eth0"}");
+ $machine->fail("ip link show ${if predictable then "eth0" else "ens3"}");
+ '';
};
-
- testScript = ''
- print $machine->succeed("ip link");
- $machine->succeed("ip link show ${if predictable then "ens3" else "eth0"}");
- $machine->fail("ip link show ${if predictable then "eth0" else "ens3"}");
- '';
-}; in
-with pkgs.stdenv.lib.lists;
-with pkgs.stdenv.lib.attrsets;
-listToAttrs (map (drv: nameValuePair drv.name drv) (
-crossLists testWhenSetTo [[true false] [true false]]
-))
+}) [[true false] [true false]])
diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix
index 72d51c0051c0..70a999267a54 100644
--- a/nixos/tests/udisks2.nix
+++ b/nixos/tests/udisks2.nix
@@ -37,7 +37,8 @@ in
$machine->fail("udisksctl info -b /dev/sda1");
# Attach a USB stick and wait for it to show up.
- $machine->sendMonitorCommand("usb_add disk:$stick");
+ $machine->sendMonitorCommand("drive_add 0 id=stick,if=none,file=$stick,format=raw");
+ $machine->sendMonitorCommand("device_add usb-storage,id=stick,drive=stick");
$machine->waitUntilSucceeds("udisksctl info -b /dev/sda1");
$machine->succeed("udisksctl info -b /dev/sda1 | grep 'IdLabel:.*USBSTICK'");
@@ -52,7 +53,7 @@ in
$machine->fail("[ -d /run/media/alice/USBSTICK ]");
# Remove the USB stick.
- $machine->sendMonitorCommand("usb_del 0.3"); # FIXME
+ $machine->sendMonitorCommand("device_del stick");
$machine->waitUntilFails("udisksctl info -b /dev/sda1");
$machine->fail("[ -e /dev/sda ]");
'';
diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix
index 65e1dbc9b198..a47b7fa3168f 100644
--- a/pkgs/applications/altcoins/go-ethereum.nix
+++ b/pkgs/applications/altcoins/go-ethereum.nix
@@ -2,7 +2,7 @@
buildGoPackage rec {
name = "go-ethereum-${version}";
- version = "1.8.3";
+ version = "1.8.6";
goPackagePath = "github.com/ethereum/go-ethereum";
# Fix for usb-related segmentation faults on darwin
@@ -27,7 +27,7 @@ buildGoPackage rec {
owner = "ethereum";
repo = "go-ethereum";
rev = "v${version}";
- sha256 = "1vdrf3fi4arr6aivyp5myj4jy7apqbiqa6brr3jplmc07q1yijnf";
+ sha256 = "1n6f34r7zlc64l1q8xzcjk5sljdznjwp81d9naapprhpqb8g01gl";
};
meta = with stdenv.lib; {
diff --git a/pkgs/applications/altcoins/parity/beta.nix b/pkgs/applications/altcoins/parity/beta.nix
index ed78133a759c..9cbab6ad0955 100644
--- a/pkgs/applications/altcoins/parity/beta.nix
+++ b/pkgs/applications/altcoins/parity/beta.nix
@@ -1,7 +1,7 @@
let
- version = "1.10.0";
- sha256 = "0dmdd7qa8lww5bzcdn25nkyz6334irh8hw0y1j0yc2pmd2dny99g";
- cargoSha256 = "0whkjbaq40mqva1ayqnmz2ppqjrg35va93cypx1al41rsp1yc37m";
+ version = "1.10.2";
+ sha256 = "1a1rbwlwi60nfv6m1rdy5baq5lcafc8nw96y45pr1674i48gkp0l";
+ cargoSha256 = "0l3rjkinzppfq8fi8h24r35rb552fzzman5a6yk33wlsdj2lv7yh";
patches = [ ./patches/vendored-sources-1.10.patch ];
in
import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix
index 991799321094..d85fc25355c8 100644
--- a/pkgs/applications/altcoins/parity/default.nix
+++ b/pkgs/applications/altcoins/parity/default.nix
@@ -1,7 +1,7 @@
let
- version = "1.9.5";
- sha256 = "0f2x78p5bshs3678qcybqd34k83d294mp3vadp99iqhmbkhbfyy7";
- cargoSha256 = "1irc01sva5yyhdv79cs6jk5pbmhxyvs0ja4cly4nw639m1kx7rva";
+ version = "1.9.7";
+ sha256 = "1h9rmyqkdv2v83g12dadgqflq1n1qqgd5hrpy20ajha0qpbiv3ph";
+ cargoSha256 = "0ss5jw43850r8l34prai5vk1zd5d5fjyg4rcav1asbq6v683bww0";
patches = [ ./patches/vendored-sources-1.9.patch ];
in
import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.10.patch b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.10.patch
index 3e8e032f30c2..e59858442c9e 100644
--- a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.10.patch
+++ b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.10.patch
@@ -2,7 +2,7 @@ diff --git a/.cargo/config b/.cargo/config
index 72652ad2f..b21c6aa7b 100644
--- a/.cargo/config
+++ b/.cargo/config
-@@ -1,3 +1,113 @@
+@@ -1,3 +1,108 @@
[target.x86_64-pc-windows-msvc]
# Link the C runtime statically ; https://github.com/paritytech/parity/issues/6643
rustflags = ["-Ctarget-feature=+crt-static"]
@@ -42,6 +42,11 @@ index 72652ad2f..b21c6aa7b 100644
+rev = "eecaadcb9e421bce31e91680d14a20bbd38f92a2"
+replace-with = "vendored-sources"
+
++[source."https://github.com/paritytech/app-dirs-rs"]
++git = "https://github.com/paritytech/app-dirs-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
+[source."https://github.com/paritytech/bn"]
+git = "https://github.com/paritytech/bn"
+branch = "master"
@@ -97,16 +102,6 @@ index 72652ad2f..b21c6aa7b 100644
+branch = "master"
+replace-with = "vendored-sources"
+
-+[source."https://github.com/paritytech/wasm-utils"]
-+git = "https://github.com/paritytech/wasm-utils"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/wasmi"]
-+git = "https://github.com/paritytech/wasmi"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
+[source."https://github.com/tailhook/rotor"]
+git = "https://github.com/tailhook/rotor"
+branch = "master"
@@ -116,3 +111,4 @@ index 72652ad2f..b21c6aa7b 100644
+git = "https://github.com/tomusdrw/ws-rs"
+branch = "master"
+replace-with = "vendored-sources"
++
diff --git a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch
index d91b103c6cef..3e1ba2429f2d 100644
--- a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch
+++ b/pkgs/applications/altcoins/parity/patches/vendored-sources-1.9.patch
@@ -1,10 +1,9 @@
diff --git a/.cargo/config b/.cargo/config
new file mode 100644
index 000000000..0efb69724
---- /dev/null
+--- /dev/null
+++ b/.cargo/config
-@@ -0,0 +1,100 @@
-+
+@@ -0,0 +1,94 @@
+[source."https://github.com/alexcrichton/mio-named-pipes"]
+git = "https://github.com/alexcrichton/mio-named-pipes"
+branch = "master"
@@ -30,6 +29,11 @@ index 000000000..0efb69724
+branch = "master"
+replace-with = "vendored-sources"
+
++[source."https://github.com/paritytech/app-dirs-rs"]
++git = "https://github.com/paritytech/app-dirs-rs"
++branch = "master"
++replace-with = "vendored-sources"
++
+[source."https://github.com/paritytech/bn"]
+git = "https://github.com/paritytech/bn"
+branch = "master"
@@ -85,16 +89,6 @@ index 000000000..0efb69724
+branch = "master"
+replace-with = "vendored-sources"
+
-+[source."https://github.com/paritytech/wasm-utils"]
-+git = "https://github.com/paritytech/wasm-utils"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/paritytech/wasmi"]
-+git = "https://github.com/paritytech/wasmi"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
+[source."https://github.com/tailhook/rotor"]
+git = "https://github.com/tailhook/rotor"
+branch = "master"
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index b8ff3daec606..6379975e951c 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -70,7 +70,9 @@ let
free = stdenv.mkDerivation {
name = "clementine-free-${version}";
- inherit src patches nativeBuildInputs buildInputs postPatch;
+ inherit src patches nativeBuildInputs postPatch;
+
+ buildInputs = buildInputs ++ [ makeWrapper ];
cmakeFlags = [ "-DUSE_SYSTEM_PROJECTM=ON" ];
@@ -78,6 +80,11 @@ let
passthru.unfree = unfree;
+ postInstall = ''
+ wrapProgram $out/bin/clementine \
+ --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+ '';
+
meta = with stdenv.lib; {
homepage = http://www.clementine-player.org;
description = "A multiplatform music player";
@@ -108,8 +115,7 @@ let
rmdir $out/bin
makeWrapper ${free}/bin/clementine $out/bin/clementine \
- --set CLEMENTINE_SPOTIFYBLOB $out/libexec/clementine \
- --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
+ --set CLEMENTINE_SPOTIFYBLOB $out/libexec/clementine
mkdir -p $out/share
for dir in applications icons kde4; do
diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix
index c2adc58f9ce5..099e4428016e 100644
--- a/pkgs/applications/audio/gmpc/default.nix
+++ b/pkgs/applications/audio/gmpc/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
];
meta = with stdenv.lib; {
- homepage = http://gmpclient.org;
+ homepage = https://gmpclient.org;
description = "A GTK2 frontend for Music Player Daemon";
license = licenses.gpl2;
maintainers = [ maintainers.rickynils ];
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index bcb301687089..62bc2fa6f36f 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -12,11 +12,11 @@ in
stdenv.mkDerivation rec {
name = "guitarix-${version}";
- version = "0.36.1";
+ version = "0.37.0";
src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
- sha256 = "1g5949jwh2n755xjs3kcbdb8a1wxr5mn0m115wdnk27dxcdn93b0";
+ sha256 = "17dsd32yd92l7xq1x0b8jsws5yif2pk4zbfjbc560hgarym6r8x6";
};
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index 680542dc405b..4c9540607eb6 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
name = "kid3-${version}";
- version = "3.6.0";
+ version = "3.6.1";
src = fetchurl {
url = "mirror://sourceforge/project/kid3/kid3/${version}/${name}.tar.gz";
- sha256 = "1kv795prc4d3f2cbzskvdi73l6nx4cfcd32x255wq1s74zp1k73p";
+ sha256 = "1bbnd6jgahdiqmsbw6c3x4h517m50db592fnq1w0v4k5aaav4i26";
};
buildInputs = with stdenv.lib;
diff --git a/pkgs/applications/audio/mpc123/default.nix b/pkgs/applications/audio/mpc123/default.nix
index ac945bee7f74..efaef97257e0 100644
--- a/pkgs/applications/audio/mpc123/default.nix
+++ b/pkgs/applications/audio/mpc123/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ ];
- platforms = stdenv.lib.platforms.gnu; # arbitrary choice
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
};
}
diff --git a/pkgs/applications/audio/mpg321/default.nix b/pkgs/applications/audio/mpg321/default.nix
index ee0ebf234ce5..3ffc5265f7a0 100644
--- a/pkgs/applications/audio/mpg321/default.nix
+++ b/pkgs/applications/audio/mpg321/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
homepage = http://mpg321.sourceforge.net/;
license = licenses.gpl2;
maintainers = [ maintainers.rycee ];
- platforms = platforms.gnu;
+ platforms = platforms.gnu ++ platforms.linux;
};
}
diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix
index 60c8f90b6d15..2ce82eb6a0a0 100644
--- a/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/pkgs/applications/audio/radiotray-ng/default.nix
@@ -40,13 +40,13 @@ let
in
stdenv.mkDerivation rec {
name = "radiotray-ng-${version}";
- version = "0.2.1";
+ version = "0.2.2";
src = fetchFromGitHub {
owner = "ebruck";
repo = "radiotray-ng";
rev = "v${version}";
- sha256 = "0hqg6vn8hv5pic96klf1d9vj8fibrgiqnqb5vwrg3wvakx0y32kr";
+ sha256 = "0q8k7nsjm6m0r0zs1br60niaqlwvd3myqalb5sqijzanx41aq2l6";
};
nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ];
@@ -78,7 +78,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
- doCheck = true;
+ # XXX: as of 0.2.2, tries to download gmock instead of checking for provided
+ doCheck = false;
checkPhase = "ctest";
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 87bf440ed4f3..324818736694 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -9,7 +9,7 @@ let
# Latest version number can be found at:
# http://repository-origin.spotify.com/pool/non-free/s/spotify-client/
# Be careful not to pick the testing version.
- version = "1.0.77.338.g758ebd78-41";
+ version = "1.0.79.223.g92622cc2-21";
deps = [
alsaLib
@@ -54,7 +54,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
- sha256 = "1971jc0431pl8yixpl37ryl2l0pqdf0xjvkg59nqdwj3vbdx5606";
+ sha256 = "1x1rpprzin4cmz1spzw036b4phd0yk1v7idlrcy4pkv97b4g5dw6";
};
buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/audio/sunvox/default.nix b/pkgs/applications/audio/sunvox/default.nix
index ccbceddefd2f..47b0bf2e736c 100644
--- a/pkgs/applications/audio/sunvox/default.nix
+++ b/pkgs/applications/audio/sunvox/default.nix
@@ -5,7 +5,7 @@ let
arch =
if stdenv.isAarch64
then "arm64"
- else if stdenv.isArm
+ else if stdenv.isAarch32
then "arm_armhf_raspberry_pi"
else if stdenv.is64bit
then "x86_64"
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 75385275ec84..630f5dd34471 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -13,9 +13,9 @@ let
sha256Hash = "1h9f4pkyqxkqxampi8v035czg5d4g6lp4bsrnq5mgpwhjwkr1whk";
};
latestVersion = {
- version = "3.2.0.11"; # "Android Studio 3.2 Canary 12"
- build = "181.4729833";
- sha256Hash = "1b976m59d230pl35ajhdic46cw8qmnykkbrg3l7am7zmih0zk64c";
+ version = "3.2.0.12"; # "Android Studio 3.2 Canary 13"
+ build = "181.4749738";
+ sha256Hash = "0mwsbmxzrs7yavgkckpmfvpz46v7fpa0nxvf8zqa9flmsv8p8l10";
};
in rec {
# Old alias
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 7b989f8df1f9..ca223803f04d 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atom-${version}";
- version = "1.26.0";
+ version = "1.26.1";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
- sha256 = "1gyxys3mwwizc88vlb6j769b6r4ibjnqs6pg5iv336b13f9acyvr";
+ sha256 = "0g83qj9siq1vr2v46rzjf3dy2gns9krh6xlh7w3bhrgfk0vqkm11";
name = "${name}.deb";
};
diff --git a/pkgs/applications/editors/emacs-modes/calfw/default.nix b/pkgs/applications/editors/emacs-modes/calfw/default.nix
index c173684fab4c..091635feda6f 100644
--- a/pkgs/applications/editors/emacs-modes/calfw/default.nix
+++ b/pkgs/applications/editors/emacs-modes/calfw/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl3Plus;
maintainers = with stdenv.lib.maintainers; [ chaoflow ];
- platforms = stdenv.lib.platforms.gnu;
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/editors/emacs-modes/jdee/default.nix b/pkgs/applications/editors/emacs-modes/jdee/default.nix
index e47da7a41934..306fe66823c8 100644
--- a/pkgs/applications/editors/emacs-modes/jdee/default.nix
+++ b/pkgs/applications/editors/emacs-modes/jdee/default.nix
@@ -92,7 +92,7 @@ in
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ ];
- platforms = stdenv.lib.platforms.gnu; # arbitrary choice
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
broken = true;
};
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 84ba32c41256..aedfb1fec3de 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -239,12 +239,12 @@ in
clion = buildClion rec {
name = "clion-${version}";
- version = "2018.1"; /* updated by script */
+ version = "2018.1.1"; /* updated by script */
description = "C/C++ IDE. New. Intelligent. Cross-platform";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
- sha256 = "1mwajah0qghkw2f4hap5f35x826h8318a0bjbn9lpknffgfi0zc3"; /* updated by script */
+ sha256 = "170xgm3dzakvlwxx5kpy4zilq140kzcaxx9g3dm1w0i83g4l5j48"; /* updated by script */
};
wmClass = "jetbrains-clion";
update-channel = "CLion_Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -265,12 +265,12 @@ in
goland = buildGoland rec {
name = "goland-${version}";
- version = "2018.1"; /* updated by script */
+ version = "2018.1.1"; /* updated by script */
description = "Up and Coming Go IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz";
- sha256 = "0r008q3dn30zbn9zzyjj6pz3myxrb9i1s96kinj9vy0cj7gb0aai"; /* updated by script */
+ sha256 = "11bkbh661fpypr1v89xba4nmf02l4map9jdlj2ky6d77l9295ip3"; /* updated by script */
};
wmClass = "jetbrains-goland";
update-channel = "goland_release";
@@ -278,12 +278,12 @@ in
idea-community = buildIdea rec {
name = "idea-community-${version}";
- version = "2018.1"; /* updated by script */
+ version = "2018.1.2"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
- sha256 = "08dlyf2zfgcbbbnadx5x0n877diyglg9h7h39njcw4ajh4aninyq"; /* updated by script */
+ sha256 = "0s5vbdg8ajaac1jqh8ypy20fp061aqjhiyi20kdcsb0856nw5frg"; /* updated by script */
};
wmClass = "jetbrains-idea-ce";
update-channel = "IDEA_Release";
@@ -291,12 +291,12 @@ in
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
- version = "2018.1"; /* updated by script */
+ version = "2018.1.2"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
- sha256 = "1483w692n29v22f5vchh8fbizwn74wlznd5pvlscxs4ly9af7935"; /* updated by script */
+ sha256 = "1rrqc9sj0ibkkj627hzwdh7l5z8zm6cmaz0yzx6xhyi989ivfy2r"; /* updated by script */
};
wmClass = "jetbrains-idea";
update-channel = "IDEA_Release";
@@ -317,12 +317,12 @@ in
pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
- version = "2018.1"; /* updated by script */
+ version = "2018.1.1"; /* updated by script */
description = "PyCharm Community Edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
- sha256 = "0f3chibs7lp3kgkd0ah6d7z1lf3n4scalmadpxcn0fd6bap5mnjb"; /* updated by script */
+ sha256 = "1s26jczag12p3v3r6fdk02mmg55npzn0mzkmgcvh40fr7q7mq2pr"; /* updated by script */
};
wmClass = "jetbrains-pycharm-ce";
update-channel = "PyCharm_Release";
@@ -330,12 +330,12 @@ in
pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
- version = "2018.1"; /* updated by script */
+ version = "2018.1.1"; /* updated by script */
description = "PyCharm Professional Edition";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
- sha256 = "0lq5bqnfxj02sbd4yaf3ma6nps7cnf0d11dzqjv9m6b41y55dp0k"; /* updated by script */
+ sha256 = "0k7529xhhnvjz7ycs5ab4qc4cr35g1v2qxlswy1aqcgzh2zg4c85"; /* updated by script */
};
wmClass = "jetbrains-pycharm";
update-channel = "PyCharm_Release";
@@ -356,12 +356,12 @@ in
ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}";
- version = "2017.3.3"; /* updated by script */
+ version = "2017.3.4"; /* updated by script */
description = "The Most Intelligent Ruby and Rails IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
- sha256 = "1b0y8pcg8wwprm1swrl4laajnmx2c359bi7ahsyfjfprlzwx7wck"; /* updated by script */
+ sha256 = "094m45jhrh4n64q5lrgfyvrimqjll6kcl2cx3cbsa3pp7x16abqn"; /* updated by script */
};
wmClass = "jetbrains-rubymine";
update-channel = "rm2017.3";
@@ -369,12 +369,12 @@ in
webstorm = buildWebStorm rec {
name = "webstorm-${version}";
- version = "2018.1"; /* updated by script */
+ version = "2018.1.2"; /* updated by script */
description = "Professional IDE for Web and JavaScript development";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
- sha256 = "1lx852gycrzajh58k1r2wfpwwjna6y3fsd5srw5fgzw58f120vn4"; /* updated by script */
+ sha256 = "14fmny9i0cgkplna0li5q2c5wiqk71k6c5h480ia85jaqi2vm8jh"; /* updated by script */
};
wmClass = "jetbrains-webstorm";
update-channel = "WS_Release";
diff --git a/pkgs/applications/editors/moe/default.nix b/pkgs/applications/editors/moe/default.nix
index 751b78ab674b..764877a11cb3 100644
--- a/pkgs/applications/editors/moe/default.nix
+++ b/pkgs/applications/editors/moe/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
homepage = http://www.gnu.org/software/moe/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
- platforms = platforms.linux;
+ platforms = platforms.unix;
};
}
# TODO: a configurable, global moerc file
diff --git a/pkgs/applications/kde/okteta.nix b/pkgs/applications/editors/okteta/default.nix
similarity index 58%
rename from pkgs/applications/kde/okteta.nix
rename to pkgs/applications/editors/okteta/default.nix
index 0ac8ddebc75d..770eb63dc69e 100644
--- a/pkgs/applications/kde/okteta.nix
+++ b/pkgs/applications/editors/okteta/default.nix
@@ -1,16 +1,22 @@
{
- mkDerivation, lib,
+ mkDerivation, lib, fetchurl,
extra-cmake-modules, kdoctools,
qtscript, kconfig, kinit, karchive, kcrash,
kcmutils, kconfigwidgets, knewstuff, kparts, qca-qt5,
shared-mime-info
}:
-mkDerivation {
+let
+ version = "17.12.3";
+in mkDerivation rec {
name = "okteta";
+ src = fetchurl {
+ url = "mirror://kde/stable/applications/${version}/src/${name}-${version}.tar.xz";
+ sha256 = "03wsv83l1cay2dpcsksad124wzan7kh8zxdw1h0yicn398kdbck4";
+ };
meta = {
license = with lib.licenses; [ gpl2 ];
- maintainers = with lib.maintainers; [ peterhoeg ];
+ maintainers = with lib.maintainers; [ peterhoeg bkchr ];
};
nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ];
buildInputs = [ shared-mime-info ];
diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix
index 447e729d4f9b..d3d95e5886a5 100644
--- a/pkgs/applications/editors/texmacs/default.nix
+++ b/pkgs/applications/editors/texmacs/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation {
meta = common.meta // {
maintainers = [ stdenv.lib.maintainers.roconnor ];
- platforms = stdenv.lib.platforms.gnu; # arbitrary choice
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
};
}
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index 8444ff6eaecc..b23db38e0f45 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "tiled-${version}";
- version = "1.1.4";
+ version = "1.1.5";
src = fetchFromGitHub {
owner = "bjorn";
repo = "tiled";
rev = "v${version}";
- sha256 = "0ln8lis9g23wp3w70xwbkzqmmbkd02cdx6z7msw9lrpkjzkj7mlr";
+ sha256 = "1l8sx0qfkm7n2ag0ns01vrs8mzcxzva00in4xqz4zgd505qx5q9v";
};
nativeBuildInputs = [ pkgconfig qmake ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Free, easy to use and flexible tile map editor";
- homepage = http://www.mapeditor.org/;
+ homepage = https://www.mapeditor.org/;
license = with licenses; [
bsd2 # libtiled and tmxviewer
gpl2Plus # all the rest
diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix
index 7c6d186b8830..d687712fc08a 100644
--- a/pkgs/applications/editors/typora/default.nix
+++ b/pkgs/applications/editors/typora/default.nix
@@ -3,18 +3,18 @@
stdenv.mkDerivation rec {
name = "typora-${version}";
- version = "0.9.44";
+ version = "0.9.47";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://www.typora.io/linux/typora_${version}_amd64.deb";
- sha256 = "9442c090bf2619d270890228abd7dabb9e217c0b200615f8ed3cb255efd122d5";
+ sha256 = "431741948f5a2faba04984c495bea56b4a800c6dbb7e21e24ad3124fb8ffcbc9";
}
else
fetchurl {
url = "https://www.typora.io/linux/typora_${version}_i386.deb";
- sha256 = "ae228ca946d03940b85df30c995c4de3f942a780e32d4dcab872dec671c66ef3";
+ sha256 = "a95c8c1e296d8587a4dc6182af3b24253c3c2abc991badb7c758cd6d1bf5b1b6";
}
;
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 0f81b0bdd640..9ffa31f2f2e0 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -4,6 +4,7 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge
, composableDerivation, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
, libICE
+, vimPlugins
# apple frameworks
, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private
@@ -80,6 +81,11 @@ composableDerivation {
flags = {
ftNix = {
patches = [ ./ft-nix-support.patch ];
+ preConfigure = ''
+ cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim
+ cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim
+ cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
+ '';
};
}
// edf {
diff --git a/pkgs/applications/editors/vim/ft-nix-support.patch b/pkgs/applications/editors/vim/ft-nix-support.patch
index 5feb9c879517..274d855731fd 100644
--- a/pkgs/applications/editors/vim/ft-nix-support.patch
+++ b/pkgs/applications/editors/vim/ft-nix-support.patch
@@ -6,7 +6,7 @@ index a8e6261..2b008fc 100644
" Z80 assembler asz80
au BufNewFile,BufRead *.z8a setf z8a
-+" NIX
++" Nix
+au BufNewFile,BufRead *.nix setf nix
+
augroup END
@@ -18,79 +18,3 @@ index a8e6261..2b008fc 100644
unlet s:cpo_save
+
+
-diff --git a/runtime/syntax/nix.vim b/runtime/syntax/nix.vim
-new file mode 100644
-index 0000000..a2f9918
---- /dev/null
-+++ b/runtime/syntax/nix.vim
-@@ -0,0 +1,56 @@
-+" Vim syntax file
-+" Language: nix
-+" Maintainer: Marc Weber
-+" Modify and commit if you feel that way
-+" Last Change: 2011 Jun
-+"
-+" this syntax file can be still be enhanced very much..
-+" Don't ask, do it :-)
-+" This file (github.com/MarcWeber/vim-addon-nix) is periodically synced with
-+" the patch found in vim_configurable (nixpkgs)
-+
-+" Quit when a (custom) syntax file was already loaded
-+if exists("b:current_syntax")
-+ finish
-+endif
-+
-+
-+sy cluster nixStrings contains=nixStringParam,nixStringIndented
-+
-+syn keyword nixKeyword let throw inherit import true false null with
-+syn keyword nixConditional if else then
-+syn keyword nixBrace ( ) { } =
-+syn keyword nixBuiltin __currentSystem __currentTime __isFunction __getEnv __trace __toPath __pathExists
-+ \ __readFile __toXML __toFile __filterSource __attrNames __getAttr __hasAttr __isAttrs __listToAttrs __isList
-+ \ __head __tail __add __sub __lessThan __substring __stringLength
-+
-+syn region nixStringIndented start=+''+ skip=+'''\|''${\|"+ end=+''+ contains=nixStringParam
-+" syn region nixString start=+"+ skip=+\\"+ end=+"+
-+syn match nixAttr "\w\+\ze\s*="
-+syn match nixFuncArg "\zs\w\+\ze\s*:"
-+syn region nixStringParam start=+\${+ end=+}+ contains=@nixStrings
-+syn region nixMultiLineComment start=+/\*+ skip=+\\"+ end=+\*/+
-+syn match nixEndOfLineComment "#.*$"
-+
-+hi def link nixKeyword Keyword
-+hi def link nixConditional Conditional
-+hi def link nixBrace Special
-+hi def link nixString String
-+hi def link nixStringIndented String
-+hi def link nixBuiltin Special
-+hi def link nixStringParam Macro
-+hi def link nixMultiLineComment Comment
-+hi def link nixEndOfLineComment Comment
-+hi def link nixAttr Identifier
-+hi def link nixFuncArg Identifier
-+
-+syn sync maxlines=20000
-+syn sync minlines=50000
-+
-+let b:current_syntax = "nix"
-+
-+" thanks to domenkozar
-+" scan backwards to find begining of multiline statements
-+syn sync ccomment nixMultiLineComment minlines=10 maxlines=500
-+syn sync ccomment nixStringIndented minlines=10 maxlines=500
-+syn sync ccomment nixString maxlines=10
-diff --git a/runtime/ftplugin/nix.vim b/runtime/ftplugin/nix.vim
-new file mode 100644
---- /dev/null
-+++ b/runtime/ftplugin/nix.vim
-@@ -0,0 +1,2 @@
-+" Only do this when not done yet for this buffer
-+if exists("b:did_ftplugin")
-+ finish
-+endif
-+let b:did_ftplugin = 1
-+
-+" coding conventions
-+setlocal shiftwidth=2 expandtab softtabstop=2
-+let b:undo_ftplugin = "setlocal sw< et< sts<"
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index d81fea5ea398..4de49524f82f 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -6,12 +6,12 @@
}:
stdenv.mkDerivation rec {
- version = "2.4.2";
+ version = "2.4.3";
name = "darktable-${version}";
src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
- sha256 = "10asz918kv2248px3w9bn5k8cfrad5xrci58x9y61l0yf5hcpk0r";
+ sha256 = "1lq3xp7hhfhfwqrz0f2mrp3xywnpvb0nlw6lbm5cgx22s5xzri8x";
};
nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 633a1d9bd6e6..5c6a4bab9306 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -116,7 +116,7 @@ mkDerivation rec {
meta = with lib; {
description = "Photo Management Program";
license = licenses.gpl2;
- homepage = http://www.digikam.org;
+ homepage = https://www.digikam.org;
maintainers = with maintainers; [ the-kenny ];
platforms = platforms.linux;
};
diff --git a/pkgs/applications/graphics/dosage/default.nix b/pkgs/applications/graphics/dosage/default.nix
index f95370e39e72..4bc0e93a3b46 100644
--- a/pkgs/applications/graphics/dosage/default.nix
+++ b/pkgs/applications/graphics/dosage/default.nix
@@ -23,6 +23,6 @@ pythonPackages.buildPythonApplication rec {
meta = {
description = "A comic strip downloader and archiver";
- homepage = http://dosage.rocks/;
+ homepage = https://dosage.rocks/;
};
}
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index d034f5d64d93..a1ea88da84be 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
homepage = http://geeqie.sourceforge.net;
maintainers = with maintainers; [ jfrankenau pSub ];
- platforms = platforms.gnu;
+ platforms = platforms.gnu ++ platforms.linux;
};
}
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
deleted file mode 100644
index 3802fff2ad21..000000000000
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf
-, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff
-, webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
-, python2Packages, libexif, gettext, xorg
-, AppKit, Cocoa, gtk-mac-integration }:
-
-let
- inherit (python2Packages) pygtk wrapPython python;
-in stdenv.mkDerivation rec {
- name = "gimp-${version}";
- version = "2.8.22";
-
- # This declarations for `gimp-with-plugins` wrapper,
- # (used for determining $out/lib/gimp/${majorVersion}/ paths)
- majorVersion = "2.0";
- targetPluginDir = "$out/lib/gimp/${majorVersion}/plug-ins";
- targetScriptDir = "$out/lib/gimp/${majorVersion}/scripts";
-
- src = fetchurl {
- url = "http://download.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
- sha256 = "12k3lp938qdc9cqj29scg55f3bb8iav2fysd29w0s49bqmfa71wi";
- };
-
- buildInputs =
- [ pkgconfig intltool babl gegl gtk2 glib gdk_pixbuf pango cairo
- freetype fontconfig lcms libpng libjpeg poppler libtiff webkit
- libmng librsvg libwmf zlib libzip ghostscript aalib jasper
- python pygtk libexif gettext xorg.libXpm
- wrapPython
- ]
- ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ];
-
- pythonPath = [ pygtk ];
-
- postFixup = ''
- wrapPythonProgramsIn $out/lib/gimp/2.0/plug-ins/
- wrapProgram $out/bin/gimp \
- --prefix PYTHONPATH : "$PYTHONPATH" \
- --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
- '';
-
- passthru = { gtk = gtk2; }; # probably its a good idea to use the same gtk in plugins ?
-
- #configureFlags = [ "--disable-print" ];
-
- enableParallelBuilding = true;
-
- # "screenshot" needs this.
- NIX_LDFLAGS = "-rpath ${xorg.libX11.out}/lib";
-
- meta = {
- description = "The GNU Image Manipulation Program";
- homepage = https://www.gimp.org/;
- license = stdenv.lib.licenses.gpl3Plus;
- platforms = stdenv.lib.platforms.unix;
- };
-}
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
new file mode 100644
index 000000000000..2536367f6ceb
--- /dev/null
+++ b/pkgs/applications/graphics/gimp/default.nix
@@ -0,0 +1,95 @@
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf, isocodes
+, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, poppler_data, libtiff
+, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info
+, python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2
+, harfbuzz, mypaint-brushes, libwebp, libgudev, openexr
+, AppKit, Cocoa, gtk-mac-integration }:
+
+let
+ inherit (python2Packages) pygtk wrapPython python;
+in stdenv.mkDerivation rec {
+ name = "gimp-${version}";
+ version = "2.10.0";
+
+ src = fetchurl {
+ url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2";
+ sha256 = "1qkxaigbfkx26xym5nzrgfrmn97cbnhn63v1saaha2nbi3xrdk3z";
+ };
+
+ patches = [
+ # fix rpath of python library https://bugzilla.gnome.org/show_bug.cgi?id=795620
+ (fetchurl {
+ url = https://bugzilla.gnome.org/attachment.cgi?id=371482;
+ sha256 = "18bysndh61pvlv255xapdrfpsl5ivm51wp1w7xgk9vky9z2y3llc";
+ })
+
+ # fix absolute paths stored in configuration
+ (fetchpatch {
+ url = https://git.gnome.org/browse/gimp/patch/?id=0fce8fdb3c056acead8322c976a96fb6fba793b6;
+ sha256 = "09845i3bdpdbf13razr04ksvwydxcvzhjwlb4dfgdv5q203g2ris";
+ })
+ (fetchpatch {
+ url = https://git.gnome.org/browse/gimp/patch/?id=f6b586237cb8c912c1503f8e6086edd17f07d4df;
+ sha256 = "0s68885ip2wgjvsl5vqi2f1xhxdjpzqprifzgdl1vnv6gqmfy3bh";
+ })
+
+ # fix pc file (needed e.g. for building plug-ins)
+ (fetchpatch {
+ url = https://git.gnome.org/browse/gimp/patch/?id=7e19906827d301eb70275dba089849a632a0eabe;
+ sha256 = "0cbjfbwvzg2hqihg3rpsga405v7z2qahj22dfqn2jrb2gbhrjcp1";
+ })
+ ];
+
+ nativeBuildInputs = [ autoreconfHook pkgconfig intltool gettext wrapPython ];
+ propagatedBuildInputs = [ gegl ]; # needed by gimp-2.0.pc
+ buildInputs = [
+ babl gegl gtk2 glib gdk_pixbuf pango cairo gexiv2 harfbuzz isocodes libgudev
+ freetype fontconfig lcms libpng libjpeg poppler poppler_data libtiff openexr
+ libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp
+ python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes
+ ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ];
+
+ pythonPath = [ pygtk ];
+
+ # Check if librsvg was built with --disable-pixbuf-loader.
+ PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk_pixbuf.moduleDir}";
+
+ preConfigure = ''
+ # The check runs before glib-networking is registered
+ export GIO_EXTRA_MODULES="${glib-networking}/lib/gio/modules:$GIO_EXTRA_MODULES"
+ '';
+
+ postFixup = ''
+ wrapPythonProgramsIn $out/lib/gimp/${passthru.majorVersion}/plug-ins/
+ wrapProgram $out/bin/gimp-${stdenv.lib.versions.majorMinor version} \
+ --prefix PYTHONPATH : "$PYTHONPATH" \
+ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+ '';
+
+ passthru = rec {
+ # The declarations for `gimp-with-plugins` wrapper,
+ # used for determining plug-in installation paths
+ majorVersion = "${stdenv.lib.versions.major version}.0";
+ targetPluginDir = "lib/gimp/${majorVersion}/plug-ins";
+ targetScriptDir = "lib/gimp/${majorVersion}/scripts";
+
+ # probably its a good idea to use the same gtk in plugins ?
+ gtk = gtk2;
+ };
+
+ configureFlags = [
+ "--without-webkit" # old version is required
+ ];
+
+ doCheck = true;
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ description = "The GNU Image Manipulation Program";
+ homepage = https://www.gimp.org/;
+ maintainers = with maintainers; [ jtojnar ];
+ license = licenses.gpl3Plus;
+ platforms = platforms.unix;
+ };
+}
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 0d4215dd5bc2..5b21b349764b 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -12,12 +12,12 @@ let
prePhases = "extraLib";
extraLib = ''
installScripts(){
- mkdir -p ${targetScriptDir};
- for p in "$@"; do cp "$p" ${targetScriptDir}; done
+ mkdir -p $out/${targetScriptDir};
+ for p in "$@"; do cp "$p" $out/${targetScriptDir}; done
}
installPlugins(){
- mkdir -p ${targetPluginDir};
- for p in "$@"; do cp "$p" ${targetPluginDir}; done
+ mkdir -p $out/${targetPluginDir};
+ for p in "$@"; do cp "$p" $out/${targetPluginDir}; done
}
'';
}
@@ -35,15 +35,6 @@ let
installPhase = "installScripts ${src}";
};
- libLQR = pluginDerivation {
- name = "liblqr-1-0.4.1";
- # required by lqrPlugin, you don't havet to install this lib explicitely
- src = fetchurl {
- url = http://registry.gimp.org/files/liblqr-1-0.4.1.tar.bz2;
- sha256 = "02g90wag7xi5rjlmwq8h0qs666b1i2sa90s4303hmym40il33nlz";
- };
- };
-
in
rec {
gap = pluginDerivation {
@@ -52,7 +43,7 @@ rec {
*/
name = "gap-2.6.0";
src = fetchurl {
- url = http://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
+ url = https://ftp.gimp.org/pub/gimp/plug-ins/v2.6/gap/gimp-gap-2.6.0.tar.bz2;
sha256 = "1jic7ixcmsn4kx2cn32nc5087rk6g8xsrz022xy11yfmgvhzb0ql";
};
patchPhase = ''
@@ -62,7 +53,7 @@ rec {
hardeningDisable = [ "format" ];
meta = with stdenv.lib; {
description = "The GIMP Animation Package";
- homepage = http://www.gimp.org;
+ homepage = https://www.gimp.org;
# The main code is given in GPLv3, but it has ffmpeg in it, and I think ffmpeg license
# falls inside "free".
license = with licenses; [ gpl3 free ];
@@ -97,6 +88,7 @@ rec {
url = "http://registry.gimp.org/files/${name}.tar.bz2";
sha256 = "1gqf3hchz7n7v5kpqkhqh8kwnxbsvlb5cr2w2n7ngrvl56f5xs1h";
};
+ meta.broken = true;
};
resynthesizer = pluginDerivation {
@@ -147,6 +139,7 @@ rec {
sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw";
};
installPhase = "installPlugins src/texturize";
+ meta.broken = true; # https://github.com/lmanul/gimp-texturize/issues/1
};
waveletSharpen = pluginDerivation {
@@ -166,54 +159,18 @@ rec {
Layer/Liquid Rescale
*/
name = "lqr-plugin-0.6.1";
- buildInputs = with pkgs; [ libLQR ];
+ buildInputs = with pkgs; [ liblqr1 ];
src = fetchurl {
url = http://registry.gimp.org/files/gimp-lqr-plugin-0.6.1.tar.bz2;
sha256 = "00hklkpcimcbpjly4rjhfipaw096cpy768g9wixglwrsyqhil7l9";
};
- #postInstall = ''mkdir -p $out/nix-support; echo "${libLQR}" > "$out/nix-support/propagated-user-env-packages"'';
+ #postInstall = ''mkdir -p $out/nix-support; echo "${liblqr1}" > "$out/nix-support/propagated-user-env-packages"'';
installPhase = "installPlugins src/gimp-lqr-plugin";
};
- gmic =
- pluginDerivation rec {
- inherit (pkgs.gmic) name src meta;
+ gmic = pkgs.gmic.gimpPlugin;
- buildInputs = with pkgs; [ fftw opencv curl ];
-
- sourceRoot = "${name}/src";
-
- buildFlags = "gimp";
-
- installPhase = "installPlugins gmic_gimp";
- };
-
- # this is more than a gimp plugin !
- # either load the raw image with gimp (and the import dialog will popup)
- # or use the binary
- ufraw = pluginDerivation rec {
- name = "ufraw-0.19.2";
- buildInputs = with pkgs; [ gtkimageview lcms ];
- # --enable-mime - install mime files, see README for more information
- # --enable-extras - build extra (dcraw, nikon-curve) executables
- # --enable-dst-correction - enable DST correction for file timestamps.
- # --enable-contrast - enable the contrast setting option.
- # --enable-interp-none: enable 'None' interpolation (mostly for debugging).
- # --with-lensfun: use the lensfun library - experimental feature, read this before using it.
- # --with-prefix=PREFIX - use also PREFIX as an input prefix for the build
- # --with-dosprefix=PREFIX - PREFIX in the the prefix in dos format (needed only for ms-window
- configureFlags = "--enable-extras --enable-dst-correction --enable-contrast";
-
- src = fetchurl {
- url = "mirror://sourceforge/ufraw/${name}.tar.gz";
- sha256 = "1lxba7pb3vcsq94dwapg9bk9mb3ww6r3pvvcyb0ah5gh2sgzxgkk";
- };
- installPhase = "
- installPlugins ufraw-gimp
- mkdir -p $out/bin
- cp ufraw $out/bin
- ";
- };
+ ufraw = pkgs.ufraw.gimpPlugin;
gimplensfun = pluginDerivation rec {
version = "0.2.4";
@@ -239,7 +196,7 @@ rec {
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ ];
- platforms = stdenv.lib.platforms.gnu;
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
};
diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix
index 7455a69dde97..ec529519159b 100644
--- a/pkgs/applications/graphics/gimp/wrapper.nix
+++ b/pkgs/applications/graphics/gimp/wrapper.nix
@@ -1,9 +1,10 @@
{ stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, plugins ? null}:
let
-allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation") (lib.attrValues gimpPlugins);
+allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation" && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
selectedPlugins = if plugins == null then allPlugins else plugins;
extraArgs = map (x: x.wrapArgs or "") selectedPlugins;
+versionBranch = stdenv.lib.versions.majorMinor gimp.version;
in symlinkJoin {
name = "gimp-with-plugins-${gimp.version}";
@@ -13,14 +14,14 @@ in symlinkJoin {
buildInputs = [ makeWrapper ];
postBuild = ''
- for each in gimp-2.8 gimp-console-2.8; do
+ for each in gimp-${versionBranch} gimp-console-${versionBranch}; do
wrapProgram $out/bin/$each \
--set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
${toString extraArgs}
done
set +x
for each in gimp gimp-console; do
- ln -sf "$each-2.8" $out/bin/$each
+ ln -sf "$each-${versionBranch}" $out/bin/$each
done
'';
}
diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix
index 8df630d582cc..3d49452cbe62 100644
--- a/pkgs/applications/graphics/goxel/default.nix
+++ b/pkgs/applications/graphics/goxel/default.nix
@@ -3,15 +3,17 @@
stdenv.mkDerivation rec {
name = "goxel-${version}";
- version = "0.7.3";
+ version = "0.8.0";
src = fetchFromGitHub {
owner = "guillaumechereau";
repo = "goxel";
rev = "v${version}";
- sha256 = "114s1pbv3ixc2gzkg7n927hffd6ly5gg59izw4z6drgjcdhd7xj9";
+ sha256 = "01022c43pmwiqb18rx9fz08xr99h6p03gw6bp0lay5z61g3xkz17";
};
+ patches = [ ./disable-imgui_ini.patch ];
+
nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ];
buildInputs = [ glfw3 gtk3 libpng12 ];
diff --git a/pkgs/applications/graphics/goxel/disable-imgui_ini.patch b/pkgs/applications/graphics/goxel/disable-imgui_ini.patch
new file mode 100644
index 000000000000..9427d45487d4
--- /dev/null
+++ b/pkgs/applications/graphics/goxel/disable-imgui_ini.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gui.cpp b/src/gui.cpp
+index 9b7236c..a8a11b2 100644
+--- a/src/gui.cpp
++++ b/src/gui.cpp
+@@ -314,6 +314,8 @@ static void init_ImGui(const inputs_t *inputs)
+ ImGuiIO& io = ImGui::GetIO();
+ io.DeltaTime = 1.0f/60.0f;
+
++ io.IniFilename = NULL;
++
+ io.KeyMap[ImGuiKey_Tab] = KEY_TAB;
+ io.KeyMap[ImGuiKey_LeftArrow] = KEY_LEFT;
+ io.KeyMap[ImGuiKey_RightArrow] = KEY_RIGHT;
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 47452eb43e88..5978612fdf33 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -2,9 +2,16 @@
, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
, gsl, python2, poppler, imagemagick, libwpg, librevenge
-, libvisio, libcdr, libexif, potrace, cmake
+, libvisio, libcdr, libexif, potrace, autoreconfHook
+, intltool
+, icu # Not needed for building with CMake
+, lib
}:
+# Note that originally this Nix expression used CMake to build but
+# this led to errors on MacOS of "Too many arguments". Inkscape
+# supports autoconf and we will use this for now on.
+
let
python2Env = python2.withPackages(ps: with ps; [ numpy lxml ]);
in
@@ -17,41 +24,45 @@ stdenv.mkDerivation rec {
sha256 = "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6";
};
- unpackPhase = ''
- cp $src ${name}.tar.bz2
- tar xvjf ${name}.tar.bz2 > /dev/null
- cd ${name}
- '';
-
postPatch = ''
patchShebangs share/extensions
patchShebangs fix-roff-punct
+ # XXX: Not needed for CMake:
+ ${lib.optionalString (!stdenv.isDarwin) ''
+ patchShebangs share/filters
+ patchShebangs share/palettes
+ patchShebangs share/patterns
+ patchShebangs share/symbols
+ patchShebangs share/templates
+ ''}
+
# Python is used at run-time to execute scripts, e.g., those from
# the "Effects" menu.
substituteInPlace src/extension/implementation/script.cpp \
--replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
'';
- nativeBuildInputs = [ pkgconfig ];
+ nativeBuildInputs = [ pkgconfig autoreconfHook intltool ];
buildInputs = [
perl perlXMLParser libXft libpng zlib popt boehmgc
libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
makeWrapper gsl poppler imagemagick libwpg librevenge
- libvisio libcdr libexif potrace cmake python2Env
+ libvisio libcdr libexif potrace python2Env icu
];
enableParallelBuilding = true;
+ preConfigure = ''
+ intltoolize -f
+ '';
+
postInstall = ''
# Make sure PyXML modules can be found at run-time.
rm "$out/share/icons/hicolor/icon-theme.cache"
- '' + stdenv.lib.optionalString stdenv.isDarwin ''
- install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape
- install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
'';
- meta = with stdenv.lib; {
+ meta = with lib; {
license = "GPL";
homepage = https://www.inkscape.org;
description = "Vector graphics editor";
@@ -62,5 +73,6 @@ stdenv.mkDerivation rec {
If you want to import .eps files install ps2edit.
'';
+ maintainers = with maintainers; [ matthewbauer ];
};
}
diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix
index ac67759c258c..2ff62cc9eef2 100644
--- a/pkgs/applications/graphics/ocrad/default.nix
+++ b/pkgs/applications/graphics/ocrad/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ pSub ];
- platforms = platforms.gnu; # arbitrary choice
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/applications/graphics/panotools/default.nix b/pkgs/applications/graphics/panotools/default.nix
index 9ca90d2f5df3..719aca5096a5 100644
--- a/pkgs/applications/graphics/panotools/default.nix
+++ b/pkgs/applications/graphics/panotools/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
description = "Free software suite for authoring and displaying virtual reality panoramas";
license = stdenv.lib.licenses.gpl2Plus;
- platforms = stdenv.lib.platforms.gnu; # arbitrary choice
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
};
}
diff --git a/pkgs/applications/graphics/qtpfsgui/default.nix b/pkgs/applications/graphics/qtpfsgui/default.nix
index d3edc40cbea2..4be7d230b5f4 100644
--- a/pkgs/applications/graphics/qtpfsgui/default.nix
+++ b/pkgs/applications/graphics/qtpfsgui/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ ];
- platforms = stdenv.lib.platforms.gnu;
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix
index ad02e1a80231..ca0f49e0c948 100644
--- a/pkgs/applications/graphics/sane/xsane.nix
+++ b/pkgs/applications/graphics/sane/xsane.nix
@@ -1,9 +1,9 @@
{ stdenv, fetchurl, sane-backends, sane-frontends, libX11, gtk2, pkgconfig, libpng
, libusb ? null
-, gimpSupport ? false, gimp_2_8 ? null
+, gimpSupport ? false, gimp ? null
}:
-assert gimpSupport -> gimp_2_8 != null;
+assert gimpSupport -> gimp != null;
stdenv.mkDerivation rec {
name = "xsane-0.999";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [libpng sane-backends sane-frontends libX11 gtk2 ]
++ (if libusb != null then [libusb] else [])
- ++ stdenv.lib.optional gimpSupport gimp_2_8;
+ ++ stdenv.lib.optional gimpSupport gimp;
meta = {
homepage = http://www.sane-project.org/;
diff --git a/pkgs/applications/graphics/scantailor/advanced.nix b/pkgs/applications/graphics/scantailor/advanced.nix
index bea4fe9b2c6c..1fb8d572e95b 100644
--- a/pkgs/applications/graphics/scantailor/advanced.nix
+++ b/pkgs/applications/graphics/scantailor/advanced.nix
@@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
description = "Interactive post-processing tool for scanned pages";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ jfrankenau ];
- platforms = platforms.gnu;
+ platforms = platforms.gnu ++ platforms.linux;
};
}
diff --git a/pkgs/applications/graphics/scantailor/default.nix b/pkgs/applications/graphics/scantailor/default.nix
index ec7af8829073..395179ff70ae 100644
--- a/pkgs/applications/graphics/scantailor/default.nix
+++ b/pkgs/applications/graphics/scantailor/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.viric ];
- platforms = stdenv.lib.platforms.gnu;
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix
index fc8e7a62c2ba..50cd9485a3e8 100644
--- a/pkgs/applications/graphics/ufraw/default.nix
+++ b/pkgs/applications/graphics/ufraw/default.nix
@@ -1,6 +1,9 @@
{ fetchurl, stdenv, pkgconfig, gtk2, gettext, bzip2, zlib
+, withGimpPlugin ? true, gimp ? null
, libjpeg, libtiff, cfitsio, exiv2, lcms2, gtkimageview, lensfun }:
+assert withGimpPlugin -> gimp != null;
+
stdenv.mkDerivation rec {
name = "ufraw-0.22";
@@ -10,10 +13,23 @@ stdenv.mkDerivation rec {
sha256 = "0pm216pg0vr44gwz9vcvq3fsf8r5iayljhf5nis2mnw7wn6d5azp";
};
- buildInputs =
- [ pkgconfig gtk2 gtkimageview gettext bzip2 zlib
- libjpeg libtiff cfitsio exiv2 lcms2 lensfun
- ];
+ outputs = [ "out" ] ++ stdenv.lib.optional withGimpPlugin "gimpPlugin";
+
+ nativeBuildInputs = [ pkgconfig gettext ];
+ buildInputs = [
+ gtk2 gtkimageview bzip2 zlib
+ libjpeg libtiff cfitsio exiv2 lcms2 lensfun
+ ] ++ stdenv.lib.optional withGimpPlugin gimp;
+
+ configureFlags = [
+ "--enable-extras"
+ "--enable-dst-correction"
+ "--enable-contrast"
+ ] ++ stdenv.lib.optional withGimpPlugin "--with-gimp";
+
+ postInstall = stdenv.lib.optionalString withGimpPlugin ''
+ moveToOutput "lib/gimp" "$gimpPlugin"
+ '';
meta = {
homepage = http://ufraw.sourceforge.net/;
@@ -33,6 +49,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ ];
- platforms = stdenv.lib.platforms.gnu; # needs GTK+
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # needs GTK+
};
}
diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix
index c655cadef400..5afd7a0237d0 100644
--- a/pkgs/applications/graphics/viewnior/default.nix
+++ b/pkgs/applications/graphics/viewnior/default.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
maintainers = [ stdenv.lib.maintainers.smironov ];
- platforms = stdenv.lib.platforms.gnu;
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index c70b1029b791..545675ab1545 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation {
meta = {
description = "An interactive drawing tool for X11";
homepage = http://xfig.org;
- platforms = stdenv.lib.platforms.gnu; # arbitrary choice
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
};
}
diff --git a/pkgs/applications/kde/akonadi/akonadi-paths.patch b/pkgs/applications/kde/akonadi/akonadi-paths.patch
index 91fd934b1ecc..4743c36c44d0 100644
--- a/pkgs/applications/kde/akonadi/akonadi-paths.patch
+++ b/pkgs/applications/kde/akonadi/akonadi-paths.patch
@@ -1,8 +1,40 @@
-Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
-===================================================================
---- akonadi-17.04.0.orig/src/server/storage/dbconfigmysql.cpp
-+++ akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
-@@ -63,7 +63,6 @@ bool DbConfigMysql::init(QSettings &sett
+diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp
+index 2e9f1acf4..ecc80afdc 100644
+--- a/src/akonadicontrol/agentmanager.cpp
++++ b/src/akonadicontrol/agentmanager.cpp
+@@ -84,12 +84,12 @@ AgentManager::AgentManager(bool verbose, QObject *parent)
+ mStorageController = new Akonadi::ProcessControl;
+ mStorageController->setShutdownTimeout(15 * 1000); // the server needs more time for shutdown if we are using an internal mysqld
+ connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure);
+- mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
++ mStorageController->start(QLatin1String(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
+
+ if (mAgentServerEnabled) {
+ mAgentServer = new Akonadi::ProcessControl;
+ connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure);
+- mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
++ mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
+ }
+
+ #ifndef QT_NO_DEBUG
+diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp
+index be1cc4afb..6d0c1d7e5 100644
+--- a/src/akonadicontrol/agentprocessinstance.cpp
++++ b/src/akonadicontrol/agentprocessinstance.cpp
+@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo)
+ } else {
+ Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher);
+ const QStringList arguments = QStringList() << executable << identifier();
+- const QString agentLauncherExec = Akonadi::StandardDirs::findExecutable(QStringLiteral("akonadi_agent_launcher"));
++ const QString agentLauncherExec = QLatin1String(NIX_OUT "/bin/akonadi_agent_launcher");
+ mController->start(agentLauncherExec, arguments);
+ }
+ return true;
+diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
+index a32e86602..48ea4e52e 100644
+--- a/src/server/storage/dbconfigmysql.cpp
++++ b/src/server/storage/dbconfigmysql.cpp
+@@ -63,7 +63,6 @@ bool DbConfigMysql::init(QSettings &settings)
// determine default settings depending on the driver
QString defaultHostName;
QString defaultOptions;
@@ -10,7 +42,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
QString defaultCleanShutdownCommand;
#ifndef Q_OS_WIN
-@@ -71,25 +70,8 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -71,25 +70,7 @@ bool DbConfigMysql::init(QSettings &settings)
#endif
const bool defaultInternalServer = true;
@@ -29,28 +61,28 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
- << QStringLiteral("/opt/local/lib/mysql5/bin")
- << QStringLiteral("/opt/mysql/sbin");
- if (defaultServerPath.isEmpty()) {
-- defaultServerPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqld"), mysqldSearchPath);
+- defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("mysqld"), mysqldSearchPath);
- }
-
-- const QString mysqladminPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqladmin"), mysqldSearchPath);
+-
+- const QString mysqladminPath = QStandardPaths::findExecutable(QStringLiteral("mysqladmin"), mysqldSearchPath);
+ const QString mysqladminPath = QLatin1String(NIXPKGS_MYSQL_MYSQLADMIN);
if (!mysqladminPath.isEmpty()) {
#ifndef Q_OS_WIN
defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/mysql.socket shutdown")
-@@ -99,10 +81,10 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -99,10 +80,10 @@ bool DbConfigMysql::init(QSettings &settings)
#endif
}
-- mMysqlInstallDbPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysql_install_db"), mysqldSearchPath);
+- mMysqlInstallDbPath = QStandardPaths::findExecutable(QStringLiteral("mysql_install_db"), mysqldSearchPath);
+ mMysqlInstallDbPath = QLatin1String(NIXPKGS_MYSQL_MYSQL_INSTALL_DB);
qCDebug(AKONADISERVER_LOG) << "Found mysql_install_db: " << mMysqlInstallDbPath;
-- mMysqlCheckPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqlcheck"), mysqldSearchPath);
+- mMysqlCheckPath = QStandardPaths::findExecutable(QStringLiteral("mysqlcheck"), mysqldSearchPath);
+ mMysqlCheckPath = QLatin1String(NIXPKGS_MYSQL_MYSQLCHECK);
qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath;
mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool();
-@@ -119,7 +101,7 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -119,7 +100,7 @@ bool DbConfigMysql::init(QSettings &settings)
mUserName = settings.value(QStringLiteral("User")).toString();
mPassword = settings.value(QStringLiteral("Password")).toString();
mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
@@ -59,7 +91,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString();
settings.endGroup();
-@@ -129,9 +111,6 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -129,9 +110,6 @@ bool DbConfigMysql::init(QSettings &settings)
// intentionally not namespaced as we are the only one in this db instance when using internal mode
mDatabaseName = QStringLiteral("akonadi");
}
@@ -69,7 +101,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
qCDebug(AKONADISERVER_LOG) << "Using mysqld:" << mMysqldPath;
-@@ -140,9 +119,6 @@ bool DbConfigMysql::init(QSettings &sett
+@@ -140,9 +118,6 @@ bool DbConfigMysql::init(QSettings &settings)
settings.setValue(QStringLiteral("Name"), mDatabaseName);
settings.setValue(QStringLiteral("Host"), mHostName);
settings.setValue(QStringLiteral("Options"), mConnectionOptions);
@@ -79,20 +111,20 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp
settings.setValue(QStringLiteral("StartServer"), mInternalServer);
settings.endGroup();
settings.sync();
-@@ -196,7 +172,7 @@ bool DbConfigMysql::startInternalServer(
+@@ -196,7 +171,7 @@ bool DbConfigMysql::startInternalServer()
#endif
// generate config file
-- const QString globalConfig = XdgBaseDirs::findResourceFile("config", QStringLiteral("akonadi/mysql-global.conf"));
+- const QString globalConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-global.conf"));
+ const QString globalConfig = QLatin1String(NIX_OUT "/etc/xdg/akonadi/mysql-global.conf");
- const QString localConfig = XdgBaseDirs::findResourceFile("config", QStringLiteral("akonadi/mysql-local.conf"));
+ const QString localConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf"));
const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf");
if (globalConfig.isEmpty()) {
-Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
-===================================================================
---- akonadi-17.04.0.orig/src/server/storage/dbconfigpostgresql.cpp
-+++ akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
-@@ -58,7 +58,6 @@ bool DbConfigPostgresql::init(QSettings
+diff --git a/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp
+index 60e6272f2..ad7cefbfe 100644
+--- a/src/server/storage/dbconfigpostgresql.cpp
++++ b/src/server/storage/dbconfigpostgresql.cpp
+@@ -58,7 +58,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
// determine default settings depending on the driver
QString defaultHostName;
QString defaultOptions;
@@ -100,7 +132,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
QString defaultInitDbPath;
QString defaultPgData;
-@@ -70,35 +69,7 @@ bool DbConfigPostgresql::init(QSettings
+@@ -70,34 +69,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool();
if (mInternalServer) {
@@ -130,14 +162,13 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
- }
- }
- postgresSearchPath.append(postgresVersionedSearchPaths);
--
-- defaultServerPath = XdgBaseDirs::findExecutableFile(QStringLiteral("pg_ctl"), postgresSearchPath);
-- defaultInitDbPath = XdgBaseDirs::findExecutableFile(QStringLiteral("initdb"), postgresSearchPath);
+- defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("pg_ctl"), postgresSearchPath);
+- defaultInitDbPath = QStandardPaths::findExecutable(QStringLiteral("initdb"), postgresSearchPath);
+ defaultInitDbPath = QLatin1String(NIXPKGS_POSTGRES_INITDB);
defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc")));
defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data"));
}
-@@ -118,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings
+@@ -117,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
mUserName = settings.value(QStringLiteral("User")).toString();
mPassword = settings.value(QStringLiteral("Password")).toString();
mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
@@ -149,7 +180,7 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
qCDebug(AKONADISERVER_LOG) << "Found pg_ctl:" << mServerPath;
mInitDbPath = settings.value(QStringLiteral("InitDbPath"), defaultInitDbPath).toString();
if (mInternalServer && mInitDbPath.isEmpty()) {
-@@ -142,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings
+@@ -141,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
settings.setValue(QStringLiteral("Port"), mHostPort);
}
settings.setValue(QStringLiteral("Options"), mConnectionOptions);
@@ -157,35 +188,3 @@ Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp
settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath);
settings.setValue(QStringLiteral("StartServer"), mInternalServer);
settings.endGroup();
-Index: akonadi-17.04.0/src/akonadicontrol/agentprocessinstance.cpp
-===================================================================
---- akonadi-17.04.0.orig/src/akonadicontrol/agentprocessinstance.cpp
-+++ akonadi-17.04.0/src/akonadicontrol/agentprocessinstance.cpp
-@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const A
- } else {
- Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher);
- const QStringList arguments = QStringList() << executable << identifier();
-- const QString agentLauncherExec = XdgBaseDirs::findExecutableFile(QStringLiteral("akonadi_agent_launcher"));
-+ const QString agentLauncherExec = QLatin1String(NIX_OUT "/bin/akonadi_agent_launcher");
- mController->start(agentLauncherExec, arguments);
- }
- return true;
-Index: akonadi-17.04.0/src/akonadicontrol/agentmanager.cpp
-===================================================================
---- akonadi-17.04.0.orig/src/akonadicontrol/agentmanager.cpp
-+++ akonadi-17.04.0/src/akonadicontrol/agentmanager.cpp
-@@ -102,12 +102,12 @@ AgentManager::AgentManager(bool verbose,
- mStorageController = new Akonadi::ProcessControl;
- mStorageController->setShutdownTimeout(15 * 1000); // the server needs more time for shutdown if we are using an internal mysqld
- connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure);
-- mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
-+ mStorageController->start(QLatin1String(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
-
- if (mAgentServerEnabled) {
- mAgentServer = new Akonadi::ProcessControl;
- connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure);
-- mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
-+ mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash);
- }
-
- #ifndef QT_NO_DEBUG
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 36dd1773b39e..5870179b6c0b 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -28,6 +28,7 @@ still shows most of the available features is in `./gwenview.nix`.
{
stdenv, lib, libsForQt5, fetchurl, recurseIntoAttrs,
plasma5, attica, phonon,
+ okteta
}:
let
@@ -107,7 +108,6 @@ let
kget = callPackage ./kget.nix {};
kgpg = callPackage ./kgpg.nix {};
khelpcenter = callPackage ./khelpcenter.nix {};
- kholidays = callPackage ./kholidays.nix {};
kidentitymanagement = callPackage ./kidentitymanagement.nix {};
kig = callPackage ./kig.nix {};
kimap = callPackage ./kimap.nix {};
@@ -152,7 +152,6 @@ let
mbox-importer = callPackage ./mbox-importer.nix {};
messagelib = callPackage ./messagelib.nix {};
minuet = callPackage ./minuet.nix {};
- okteta = callPackage ./okteta.nix {};
okular = callPackage ./okular.nix {};
pimcommon = callPackage ./pimcommon.nix {};
pim-data-exporter = callPackage ./pim-data-exporter.nix {};
@@ -160,6 +159,9 @@ let
print-manager = callPackage ./print-manager.nix {};
spectacle = callPackage ./spectacle.nix {};
syndication = callPackage ./syndication.nix {};
+ # Okteta was removed from kde applications and will now be released independently
+ # Lets keep an alias for compatibility reasons
+ inherit okteta;
};
in lib.makeScope libsForQt5.newScope packages
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 9ad488f63ab4..a2feeac7cd9f 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/applications/17.12.3/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/applications/18.04.0/ -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/kalarmcal.nix b/pkgs/applications/kde/kalarmcal.nix
index f2fb6f4d8bbd..46832477cc60 100644
--- a/pkgs/applications/kde/kalarmcal.nix
+++ b/pkgs/applications/kde/kalarmcal.nix
@@ -2,7 +2,7 @@
mkDerivation, lib, kdepimTeam,
extra-cmake-modules, kdoctools,
akonadi, kcalcore, kdelibs4support, kholidays, kidentitymanagement,
- kpimtextedit,
+ kpimtextedit, kcalutils
}:
mkDerivation {
@@ -13,7 +13,7 @@ mkDerivation {
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
- akonadi kcalcore kdelibs4support kholidays kidentitymanagement kpimtextedit
+ akonadi kcalcore kdelibs4support kholidays kidentitymanagement kpimtextedit kcalutils
];
outputs = [ "out" "dev" ];
}
diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix
index 5269941fa113..2847e312d00a 100644
--- a/pkgs/applications/kde/konsole.nix
+++ b/pkgs/applications/kde/konsole.nix
@@ -4,7 +4,7 @@
kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons,
ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications,
knotifyconfig, kparts, kpty, kservice, ktextwidgets, kwidgetsaddons,
- kwindowsystem, kxmlgui, qtscript
+ kwindowsystem, kxmlgui, qtscript, knewstuff
}:
mkDerivation {
@@ -17,7 +17,7 @@ mkDerivation {
buildInputs = [
kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdelibs4support
kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty
- kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript
+ kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff
];
propagatedUserEnvPkgs = [ (lib.getBin kinit) ];
}
diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix
index 5f6f28c95b08..39fb232b3421 100644
--- a/pkgs/applications/kde/okular.nix
+++ b/pkgs/applications/kde/okular.nix
@@ -5,7 +5,7 @@
kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
kdegraphics-mobipocket, kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet,
kwindowsystem, libkexiv2, libspectre, libzip, phonon, poppler, qca-qt5,
- qtdeclarative, qtsvg, threadweaver
+ qtdeclarative, qtsvg, threadweaver, kcrash
}:
mkDerivation {
@@ -16,7 +16,7 @@ mkDerivation {
kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
kdegraphics-mobipocket kiconthemes kjs khtml kio kparts kpty kwallet
kwindowsystem libkexiv2 libspectre libzip phonon poppler qca-qt5
- qtdeclarative qtsvg threadweaver
+ qtdeclarative qtsvg threadweaver kcrash
] ++ lib.optional (!stdenv.isAarch64) chmlib;
meta = with lib; {
homepage = http://www.kde.org;
diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix
index 6deec6aaabb4..f036e8cf632c 100644
--- a/pkgs/applications/kde/spectacle.nix
+++ b/pkgs/applications/kde/spectacle.nix
@@ -4,7 +4,7 @@
ki18n, xcb-util-cursor,
kconfig, kcoreaddons, kdbusaddons, kdeclarative, kio, kipi-plugins,
knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi,
- qtx11extras
+ qtx11extras, knewstuff
}:
mkDerivation {
@@ -14,6 +14,7 @@ mkDerivation {
buildInputs = [
kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi qtx11extras xcb-util-cursor
+ knewstuff
];
propagatedUserEnvPkgs = [ kipi-plugins libkipi ];
}
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index d61784805e45..36c18a3f9979 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -3,1691 +3,1699 @@
{
akonadi = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadi-17.12.3.tar.xz";
- sha256 = "006cb98k3kxd51d0d07984aj4d0km0bn0v3rigpa3sw5s07w8dfi";
- name = "akonadi-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadi-18.04.0.tar.xz";
+ sha256 = "1scbc6k2w23qmw4qa147ji7r6p88b97yi9wr46xlshgcn2kj684d";
+ name = "akonadi-18.04.0.tar.xz";
};
};
akonadi-calendar = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadi-calendar-17.12.3.tar.xz";
- sha256 = "0ffrnpwyjmvx80qziajdkihdzl5pyp0zbm8qg8wkcr8nxs3fgv6a";
- name = "akonadi-calendar-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadi-calendar-18.04.0.tar.xz";
+ sha256 = "09fk8n69f83ygwfsdjx4mv9hwqpifpv9nbdnl19pjgw2ffp99rna";
+ name = "akonadi-calendar-18.04.0.tar.xz";
};
};
akonadi-calendar-tools = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadi-calendar-tools-17.12.3.tar.xz";
- sha256 = "0836al499pd0bmwgaqzmbbmas3jmn44hv37y9k6j6ab71gpkjjy9";
- name = "akonadi-calendar-tools-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadi-calendar-tools-18.04.0.tar.xz";
+ sha256 = "1b10kybjj803qwsz74dhism6q7q0lmslqvsb8b9ma8wqk9ajs33f";
+ name = "akonadi-calendar-tools-18.04.0.tar.xz";
};
};
akonadiconsole = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadiconsole-17.12.3.tar.xz";
- sha256 = "0xny4y5i03sj93dxaafnqiyczichjnzjrx1h4z13fn62flz8fn1b";
- name = "akonadiconsole-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadiconsole-18.04.0.tar.xz";
+ sha256 = "053w5ywm8wlv7ssbvyq0z36jsir9mk0ywlqb0ybnlbvr5dawxnnz";
+ name = "akonadiconsole-18.04.0.tar.xz";
};
};
akonadi-contacts = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadi-contacts-17.12.3.tar.xz";
- sha256 = "0jbxyzvpp2lan8pi212adwflqx38paqvr661ia4zmdjnkhdvi95v";
- name = "akonadi-contacts-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadi-contacts-18.04.0.tar.xz";
+ sha256 = "01cfxia8vnwizzavk1vbrxbszsyg1sa3qbz79fab7iw8380zqdm2";
+ name = "akonadi-contacts-18.04.0.tar.xz";
};
};
akonadi-import-wizard = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadi-import-wizard-17.12.3.tar.xz";
- sha256 = "0knddbgirj55l24njak7s8ixg1v9i6g5nx6ijh6cnnbr2zl6aws4";
- name = "akonadi-import-wizard-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadi-import-wizard-18.04.0.tar.xz";
+ sha256 = "123gaxs5zi5b8x1ripr8ldjipx6rpmr3f51mgv40ibx1h967in19";
+ name = "akonadi-import-wizard-18.04.0.tar.xz";
};
};
akonadi-mime = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadi-mime-17.12.3.tar.xz";
- sha256 = "0n04x37palp2k6mq20p97k89qi2zfncaapn5pcf4372bzvzi9vj2";
- name = "akonadi-mime-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadi-mime-18.04.0.tar.xz";
+ sha256 = "14xgi5saylbp19gg0lnqpasz5x335wz6dnmpfsicz0j5452yfznw";
+ name = "akonadi-mime-18.04.0.tar.xz";
};
};
akonadi-notes = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadi-notes-17.12.3.tar.xz";
- sha256 = "0lwnyl12a5sc3ijmahqy3prdzh9352rsqp2jpw2y58xpa2sx0w3g";
- name = "akonadi-notes-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadi-notes-18.04.0.tar.xz";
+ sha256 = "0ahr185jjyh68qf57vaja6c867rm0iy8jp78g4nmzf3dc6y7r01v";
+ name = "akonadi-notes-18.04.0.tar.xz";
};
};
akonadi-search = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akonadi-search-17.12.3.tar.xz";
- sha256 = "0npnbnras7lxs4r1g0v2nynpdni7wni7y9hy30k61lbif06ghm9x";
- name = "akonadi-search-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akonadi-search-18.04.0.tar.xz";
+ sha256 = "1jn23rr9yah2c4cccbkcvxn4rr6p0q4327b0kwjqzag4lkwd2fy0";
+ name = "akonadi-search-18.04.0.tar.xz";
};
};
akregator = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/akregator-17.12.3.tar.xz";
- sha256 = "0032jg05xwk29hpqscb5xfk7ipcpprhw8m28ksfx7v77fb025dsp";
- name = "akregator-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/akregator-18.04.0.tar.xz";
+ sha256 = "10hid155gszwh7gxp4pqbcfch6hrf0bsikj8ah2fvdgii96dn9gc";
+ name = "akregator-18.04.0.tar.xz";
};
};
analitza = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/analitza-17.12.3.tar.xz";
- sha256 = "0xyr5s69768l0lp1qkp68jvny8mfh36q1xpz8msdhcn4513bw5sw";
- name = "analitza-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/analitza-18.04.0.tar.xz";
+ sha256 = "1yx18mbxvkswpn120rhi092l5wz6s60194q076wdgimx71ngn2v2";
+ name = "analitza-18.04.0.tar.xz";
};
};
ark = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ark-17.12.3.tar.xz";
- sha256 = "0hjnzcn6ijpgqld7034gwzyl9m0i5nwac457f010ibzf0qp10gdi";
- name = "ark-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ark-18.04.0.tar.xz";
+ sha256 = "19bh71j5dvz80mz9xff4ygd0qdvjwsihyx5cb5ay6a2gdf1fhm12";
+ name = "ark-18.04.0.tar.xz";
};
};
artikulate = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/artikulate-17.12.3.tar.xz";
- sha256 = "0ynbq0m7rk4mm3khjsh0bl744g7m6l2cq9v2a4slg7n4dq8gr8zx";
- name = "artikulate-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/artikulate-18.04.0.tar.xz";
+ sha256 = "1fqv71przn3yfv4dk511bh5bd0cdmwkixwcg17r037nmj3z0xdhg";
+ name = "artikulate-18.04.0.tar.xz";
};
};
audiocd-kio = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/audiocd-kio-17.12.3.tar.xz";
- sha256 = "0916igzdp1v9zafq5jwhwsfja5h9zsbqgwq97mnkmx9bnd4d2r26";
- name = "audiocd-kio-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/audiocd-kio-18.04.0.tar.xz";
+ sha256 = "0rf8gk8wymk6lff5g4ivx5lfl31rml1ag40fq78nrvnw0sxkm2b1";
+ name = "audiocd-kio-18.04.0.tar.xz";
};
};
baloo-widgets = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/baloo-widgets-17.12.3.tar.xz";
- sha256 = "1gn18raxqwjx09l54a4gaisxlv4i2vf7pnpv8fqfdk49wc06b58h";
- name = "baloo-widgets-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/baloo-widgets-18.04.0.tar.xz";
+ sha256 = "1y1wxgwyjdarw6sj7mrsqgljh2fib0vcwwd0nzbnn8ys1v8gqyxj";
+ name = "baloo-widgets-18.04.0.tar.xz";
};
};
blinken = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/blinken-17.12.3.tar.xz";
- sha256 = "0lda34yw7h867jzfqi071yw0g47916cmr145x1gz71nclg9sdgr0";
- name = "blinken-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/blinken-18.04.0.tar.xz";
+ sha256 = "19chf9d9d537a5daqca1i4a58gmxz98x4i5palqs3635w1655ln9";
+ name = "blinken-18.04.0.tar.xz";
};
};
bomber = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/bomber-17.12.3.tar.xz";
- sha256 = "14iyn9901canzd4hpsb4xwxd67j01wn54asplvlizmwy3jhpfx9s";
- name = "bomber-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/bomber-18.04.0.tar.xz";
+ sha256 = "1vzqmjkxlw2v63f49ix63p6ypjgg31j8r0rzmq8m41262m3pp0sn";
+ name = "bomber-18.04.0.tar.xz";
};
};
bovo = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/bovo-17.12.3.tar.xz";
- sha256 = "15zaf8017zqfj4z0mlc321lvfnfhda8n648zlsxxap1lj6icr3s9";
- name = "bovo-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/bovo-18.04.0.tar.xz";
+ sha256 = "1p4s7kjrjndcqkrkk3y7dqvyfdrn1yy5id3z3wj06ciwpygvv500";
+ name = "bovo-18.04.0.tar.xz";
};
};
calendarsupport = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/calendarsupport-17.12.3.tar.xz";
- sha256 = "020ra0sbc8pmibff5ffyzhqwww8qdi1wlmn6h9qh0z2sjk9hrs84";
- name = "calendarsupport-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/calendarsupport-18.04.0.tar.xz";
+ sha256 = "0hd1pbqjd75d8fm86b358xd8dni019b2190ly2r3armanjcmdc4r";
+ name = "calendarsupport-18.04.0.tar.xz";
};
};
cantor = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/cantor-17.12.3.tar.xz";
- sha256 = "08jhbm54vv5s14ig2adw83fkk1r0p98aifhiq0sc4xga7gkx032w";
- name = "cantor-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/cantor-18.04.0.tar.xz";
+ sha256 = "1zkpa0ihkylzdf5wlywdvnf34dk21nj5cyczjyh9x5psbr6q0151";
+ name = "cantor-18.04.0.tar.xz";
};
};
cervisia = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/cervisia-17.12.3.tar.xz";
- sha256 = "04qvgpaa5mf9jmlqd60r1df3r9rscaqasfa9c39cfmahrnvm4yyr";
- name = "cervisia-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/cervisia-18.04.0.tar.xz";
+ sha256 = "1ji8i0k6rzmgshpgpk613vkn6kvdwb0ns32cp19j0bd5ljr701wq";
+ name = "cervisia-18.04.0.tar.xz";
};
};
dolphin = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/dolphin-17.12.3.tar.xz";
- sha256 = "0fd4c7kwdvjpx7q9yb2razdlv6q7y74nkk99jg20jsng0px9dp20";
- name = "dolphin-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/dolphin-18.04.0.tar.xz";
+ sha256 = "0lvdpa3mq6mhfl97a4q1wwg22zccwjf7ja1mbz1dlbjfnck8l1mm";
+ name = "dolphin-18.04.0.tar.xz";
};
};
dolphin-plugins = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/dolphin-plugins-17.12.3.tar.xz";
- sha256 = "0bdvwsl83bilm1jhgmcl0b8iyh4vbfg3imara2rmizfxl5g6jccf";
- name = "dolphin-plugins-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/dolphin-plugins-18.04.0.tar.xz";
+ sha256 = "10kdf2h8i1jnbsnx9j4c8zs6ryakinhxrggrid038xqgxm4fyxcq";
+ name = "dolphin-plugins-18.04.0.tar.xz";
};
};
dragon = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/dragon-17.12.3.tar.xz";
- sha256 = "1j5li70fyz1ynykmxb63i2na3n964lsdkyilj1vhdzb55592b1s4";
- name = "dragon-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/dragon-18.04.0.tar.xz";
+ sha256 = "0maxlhac9znqsm7qf3c9g7vlramivy63wd8c9aj64c78jqj6l54w";
+ name = "dragon-18.04.0.tar.xz";
};
};
eventviews = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/eventviews-17.12.3.tar.xz";
- sha256 = "0v712sisa0bic6zbl7gb4jvh11wf7krsfpxffxgxc3i8zmvw9jfc";
- name = "eventviews-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/eventviews-18.04.0.tar.xz";
+ sha256 = "0ai0259ygriza057dn3l6kfapqc2zdp7prv7qrz0x2akssnvn5f3";
+ name = "eventviews-18.04.0.tar.xz";
};
};
ffmpegthumbs = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ffmpegthumbs-17.12.3.tar.xz";
- sha256 = "18f2yxbfxrf4598xwzjd6fws35ipnvnsljv5jwy9lmq400iqpii5";
- name = "ffmpegthumbs-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ffmpegthumbs-18.04.0.tar.xz";
+ sha256 = "08hirsm7gbk51i76kkavv50z3289zvphmkfh26lh6rg123f003i6";
+ name = "ffmpegthumbs-18.04.0.tar.xz";
};
};
filelight = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/filelight-17.12.3.tar.xz";
- sha256 = "1k8vibkxv8m8f2q4hj3g4jvk96zkkd0wpxhag5jycla6v50q9anf";
- name = "filelight-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/filelight-18.04.0.tar.xz";
+ sha256 = "1mk46a9x40yj7vfjgprhdhmx151lhkv8zb1i4rks01zjpq8bpa43";
+ name = "filelight-18.04.0.tar.xz";
};
};
granatier = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/granatier-17.12.3.tar.xz";
- sha256 = "1zysqf68d2zzhii587a3qdqqf1zhi2k3008f626r59a0yb2bdz9x";
- name = "granatier-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/granatier-18.04.0.tar.xz";
+ sha256 = "1vfp4wqv13qxj5vaiqd6hn07hvmdkyrcdicxn693yprn32gqrn33";
+ name = "granatier-18.04.0.tar.xz";
};
};
grantlee-editor = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/grantlee-editor-17.12.3.tar.xz";
- sha256 = "03v4yrmbkpa6w8kq54iv0a6rx0q7zv1jmwka103iv89qf9d332j4";
- name = "grantlee-editor-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/grantlee-editor-18.04.0.tar.xz";
+ sha256 = "04mw1mskfaqp7klwc0bdwfm3j365pwkwi0yhp86dggxzyisqbx9h";
+ name = "grantlee-editor-18.04.0.tar.xz";
};
};
grantleetheme = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/grantleetheme-17.12.3.tar.xz";
- sha256 = "0q6s5h236a61q015g9238jandibfhpw9yrx7s367qagk5wi4phsx";
- name = "grantleetheme-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/grantleetheme-18.04.0.tar.xz";
+ sha256 = "1i3axg318skx2ifg8fln5blpyj6qnzb0r7frqb9prm0rawk6cr03";
+ name = "grantleetheme-18.04.0.tar.xz";
};
};
gwenview = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/gwenview-17.12.3.tar.xz";
- sha256 = "03gz5a4531xhmr0m5x7nzwzfr3j61xy8yw6pk06i6q7azbxxr1rr";
- name = "gwenview-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/gwenview-18.04.0.tar.xz";
+ sha256 = "0i87k3f1g9w36rzr60c2xw6r41k7zgnbda51mpd3i8q5mvi8r4z5";
+ name = "gwenview-18.04.0.tar.xz";
};
};
incidenceeditor = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/incidenceeditor-17.12.3.tar.xz";
- sha256 = "19jl8mpabxm8gk7krpby1c0kcrss1nvxl5blpviy0m4ccq5jsbka";
- name = "incidenceeditor-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/incidenceeditor-18.04.0.tar.xz";
+ sha256 = "1z76lz8h0f6h81xvk690h1pz6i1ca4k2kcdvxxj99xm3fxdw5gi4";
+ name = "incidenceeditor-18.04.0.tar.xz";
};
};
juk = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/juk-17.12.3.tar.xz";
- sha256 = "1zzzvwn3ahzwkd7gdavz6k72js2xh79wf1w06vfjx9h35j54smb6";
- name = "juk-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/juk-18.04.0.tar.xz";
+ sha256 = "0k0kiksqmnp14y3ymfiwg0amv4wyk2ls4cbdimbwg0mvpyvfnnqa";
+ name = "juk-18.04.0.tar.xz";
};
};
k3b = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/k3b-17.12.3.tar.xz";
- sha256 = "1i74c8x72qx36wl9vc7wcz5rpyd6410n3w8bas7hb5j4bfaapl3l";
- name = "k3b-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/k3b-18.04.0.tar.xz";
+ sha256 = "167x2mcxj4zq05brxzvhm157sis13xahkv79i9pzbgjb1zx17s3l";
+ name = "k3b-18.04.0.tar.xz";
};
};
kaccounts-integration = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kaccounts-integration-17.12.3.tar.xz";
- sha256 = "0c3jx2wr7qxkh5i3fmhsd1r0aqf133443nc7l7krymjzd54y6db9";
- name = "kaccounts-integration-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kaccounts-integration-18.04.0.tar.xz";
+ sha256 = "09l1ycy4000mxx86hkqigbg803190r159d2yjsfrs7q5i2jrsl09";
+ name = "kaccounts-integration-18.04.0.tar.xz";
};
};
kaccounts-providers = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kaccounts-providers-17.12.3.tar.xz";
- sha256 = "1h2asblaqmyhy4qfzcl7mxinfg0djghr9xrcvl2xyd85jkk428h5";
- name = "kaccounts-providers-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kaccounts-providers-18.04.0.tar.xz";
+ sha256 = "07ra8pjd89qklvb771wcczbxwll86caz07v43a7fhs3f70nwizia";
+ name = "kaccounts-providers-18.04.0.tar.xz";
};
};
kaddressbook = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kaddressbook-17.12.3.tar.xz";
- sha256 = "1ys2hrpqpbwpml3arw076gng7ygdvvkwy489lnq7d345y79501bq";
- name = "kaddressbook-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kaddressbook-18.04.0.tar.xz";
+ sha256 = "0fi5nxhp93i1j4dym2yjsnvbxkqvqlanka3cnzbya4abdzrjd9ir";
+ name = "kaddressbook-18.04.0.tar.xz";
};
};
kajongg = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kajongg-17.12.3.tar.xz";
- sha256 = "1p39qjj05p1zjlz9f49pvwzvlsa61h549r74ravj4xdl6fqvdgfa";
- name = "kajongg-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kajongg-18.04.0.tar.xz";
+ sha256 = "0cbgy6zkjd5yd6ybm9v7gvp2hs99m7m8w2my36fqp1sczghjs7x5";
+ name = "kajongg-18.04.0.tar.xz";
};
};
kalarm = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kalarm-17.12.3.tar.xz";
- sha256 = "0n3cdj630q96rvljph3raz0f698pwrh2rx81xzsyp2lk917737h7";
- name = "kalarm-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kalarm-18.04.0.tar.xz";
+ sha256 = "0v4zfv48n116j68cfd34vlgk9jyr1zfc8i36i7gjkaq2x9m80g02";
+ name = "kalarm-18.04.0.tar.xz";
};
};
kalarmcal = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kalarmcal-17.12.3.tar.xz";
- sha256 = "13bg69qsyzjaabghq6n33y211i5mz9pnnc26kqyhg87za526j7km";
- name = "kalarmcal-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kalarmcal-18.04.0.tar.xz";
+ sha256 = "0npvwjzrxyf447xyq4kbx5wh94fv7clfjvikwnla9l0s8xwv9gf7";
+ name = "kalarmcal-18.04.0.tar.xz";
};
};
kalgebra = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kalgebra-17.12.3.tar.xz";
- sha256 = "1vm64azi46zgxg0kjg8ch7gxbb8wb3bafsfgxmv4x1hqy45crkv7";
- name = "kalgebra-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kalgebra-18.04.0.tar.xz";
+ sha256 = "0qk9dchqlklbxssmhfz38s792nidlfh1bkhrmxh5kvpkjziqg7k6";
+ name = "kalgebra-18.04.0.tar.xz";
};
};
kalzium = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kalzium-17.12.3.tar.xz";
- sha256 = "1zha7iy2wg8dyrajijnc3vy7wb0k4kli4q2xkv6ryc6klrp2910h";
- name = "kalzium-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kalzium-18.04.0.tar.xz";
+ sha256 = "02c51r4pqj9iyy2wzrilpzd5z8b1lvbv2mian2qr1psi56l3magv";
+ name = "kalzium-18.04.0.tar.xz";
};
};
kamera = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kamera-17.12.3.tar.xz";
- sha256 = "1xk2cclavzkjifzznd9kx4nq8dysmns2ni9w865s0vvl98z6jbg9";
- name = "kamera-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kamera-18.04.0.tar.xz";
+ sha256 = "07p51jjp0lj04gfs1mfbg6k6cdh6ms55yjcag7qhcz32ism0y1vc";
+ name = "kamera-18.04.0.tar.xz";
+ };
+ };
+ kamoso = {
+ version = "18.04.0";
+ src = fetchurl {
+ url = "${mirror}/stable/applications/18.04.0/src/kamoso-18.04.0.tar.xz";
+ sha256 = "1d7989jr3g02yh10hmnf8mlqypp35xll52v5q6jjqrzbfcmna7dk";
+ name = "kamoso-18.04.0.tar.xz";
};
};
kanagram = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kanagram-17.12.3.tar.xz";
- sha256 = "05dl248lvskh46mii5glvxpspf6gw1m4z2g6lpb9acafr8cqvz8k";
- name = "kanagram-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kanagram-18.04.0.tar.xz";
+ sha256 = "1drz8641ns1c1070a98w2wasyvf5nc6jrpn1pzfqmv9bljxrmyrc";
+ name = "kanagram-18.04.0.tar.xz";
};
};
kapman = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kapman-17.12.3.tar.xz";
- sha256 = "04ngab85hsx4z9h45z32s1arahfzyxkyb4i9w6x51jmm3a7cnp4z";
- name = "kapman-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kapman-18.04.0.tar.xz";
+ sha256 = "0cpsm35sah99rxy42v5isd90w0j839537jmjck4lg40dx38sdz7m";
+ name = "kapman-18.04.0.tar.xz";
};
};
kapptemplate = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kapptemplate-17.12.3.tar.xz";
- sha256 = "11v108jqmqp4xcmf6nz41fl7avmcpd26w4pdgfk70dzjwpzf1hl3";
- name = "kapptemplate-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kapptemplate-18.04.0.tar.xz";
+ sha256 = "1w61s7bj34vq3s9ca3d6kyv9k43qirnyj4mw73wfpxf6ldx19yzp";
+ name = "kapptemplate-18.04.0.tar.xz";
};
};
kate = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kate-17.12.3.tar.xz";
- sha256 = "041ax9mvmgi9aj3759411bv1yj0a0v08djmwmn6kbvl8nv6a7dp5";
- name = "kate-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kate-18.04.0.tar.xz";
+ sha256 = "04kb8ynkq6xwmjbrgfg4zv652p3zgr2127f6sb8sq0j9qy55pvq5";
+ name = "kate-18.04.0.tar.xz";
};
};
katomic = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/katomic-17.12.3.tar.xz";
- sha256 = "1ljc8h2ngsc3cqz58dal3kkn7ymwa23ikxhjakn0nsg07fbqkdjl";
- name = "katomic-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/katomic-18.04.0.tar.xz";
+ sha256 = "119v88k2l1bpmf1gm9njkfv90pv595wwjlzkap06c6rx95scpi0q";
+ name = "katomic-18.04.0.tar.xz";
+ };
+ };
+ kbackup = {
+ version = "18.04.0";
+ src = fetchurl {
+ url = "${mirror}/stable/applications/18.04.0/src/kbackup-18.04.0.tar.xz";
+ sha256 = "0vayj48zgblsphwffs6b0xphzair6sywy0ksp6ab9x64n8f1mw5q";
+ name = "kbackup-18.04.0.tar.xz";
};
};
kblackbox = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kblackbox-17.12.3.tar.xz";
- sha256 = "1nc15k4rlpjb9p5y3g6jhi1j8nnwzxv4cymg7m7p356xr5k0m5qm";
- name = "kblackbox-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kblackbox-18.04.0.tar.xz";
+ sha256 = "1gpjnic6n4kyh7b6x0mb9162qv223fs6lm7iqh6qxwkixcp06qlx";
+ name = "kblackbox-18.04.0.tar.xz";
};
};
kblocks = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kblocks-17.12.3.tar.xz";
- sha256 = "04yyz71a4nr8g6fnb3mfsnlisnsw2c28z39w1hn54msmi32wyvi2";
- name = "kblocks-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kblocks-18.04.0.tar.xz";
+ sha256 = "1y2h1nwgr67b05ggl2v34jh097mzbljhz9ji332xv4vf2rffwqar";
+ name = "kblocks-18.04.0.tar.xz";
};
};
kblog = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kblog-17.12.3.tar.xz";
- sha256 = "0169m2h60iygy021j5w7fqww4ljal3gzffmj8f7arf6fin9myhwb";
- name = "kblog-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kblog-18.04.0.tar.xz";
+ sha256 = "1jnsd6fw3pyip71a2cw65y9yrm4zwczh0770n15jcg5yn5whswgs";
+ name = "kblog-18.04.0.tar.xz";
};
};
kbounce = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kbounce-17.12.3.tar.xz";
- sha256 = "0m0hvb8dv2z5s80c8i0ivkwnp9xaqprvgkgnrfmispj1splpzlvw";
- name = "kbounce-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kbounce-18.04.0.tar.xz";
+ sha256 = "15926m75gysd6gl2vg7d08y4m0cnfazc9jlyx0cnb8a5nfzh5z21";
+ name = "kbounce-18.04.0.tar.xz";
};
};
kbreakout = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kbreakout-17.12.3.tar.xz";
- sha256 = "04n01c36dbfq8khklc7jp2d80zxyhfy7v3x4dqpknnq22a8x8f6c";
- name = "kbreakout-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kbreakout-18.04.0.tar.xz";
+ sha256 = "0i5pbiimrn2bkq94ggwlx7jhfw4wna5srgffa5531jpn28gq456n";
+ name = "kbreakout-18.04.0.tar.xz";
};
};
kbruch = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kbruch-17.12.3.tar.xz";
- sha256 = "1m3cdifm13gyfkhnab3nmw762kvbz64fyfw8py7lqy7i023yg35r";
- name = "kbruch-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kbruch-18.04.0.tar.xz";
+ sha256 = "0s7r0hqy4nyrg0ndrb93pd8akldc5k8xx31m4jc8gi23aqvz5wwk";
+ name = "kbruch-18.04.0.tar.xz";
};
};
kcachegrind = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kcachegrind-17.12.3.tar.xz";
- sha256 = "1nsx813dsngf5agdw04cdrw3h8cj4g2na28i5anxbscn7fm715hd";
- name = "kcachegrind-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kcachegrind-18.04.0.tar.xz";
+ sha256 = "0f6f8wx0kffhhzjjcdn47m3428jbh95nzajm8vhbs789h69ax2a0";
+ name = "kcachegrind-18.04.0.tar.xz";
};
};
kcalc = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kcalc-17.12.3.tar.xz";
- sha256 = "0w4rqkjsl24528bqkqansk985iq6nk78bm0pinagm1fqrarjqk8j";
- name = "kcalc-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kcalc-18.04.0.tar.xz";
+ sha256 = "03q09q5whg1wfgm30p426hlljignjs0lvwfak2n4ka9ggyk3vc9d";
+ name = "kcalc-18.04.0.tar.xz";
};
};
kcalcore = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kcalcore-17.12.3.tar.xz";
- sha256 = "125qdd3gp6bwm6lqc1ib4icv3sa8sd0n5fjbgwr4klx8xsxzr03z";
- name = "kcalcore-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kcalcore-18.04.0.tar.xz";
+ sha256 = "0g4gm47yniy4f11v6rhs3gp2lk8dcrnw8ajchz88s7spii0riv2m";
+ name = "kcalcore-18.04.0.tar.xz";
};
};
kcalutils = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kcalutils-17.12.3.tar.xz";
- sha256 = "1cag7pg9qd8w7xmvplkqr6p6pscnjzlzlin9fi6yjhhsq8bi2rxb";
- name = "kcalutils-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kcalutils-18.04.0.tar.xz";
+ sha256 = "1hh3gd81bfkbyr7qvppk8iaywac77y55rwkpvbvin62snipw6ap1";
+ name = "kcalutils-18.04.0.tar.xz";
};
};
kcharselect = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kcharselect-17.12.3.tar.xz";
- sha256 = "1chxa1nsczk525hvwyw6cbzdr73i21zw9jngp9c79frcnpb5hdi4";
- name = "kcharselect-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kcharselect-18.04.0.tar.xz";
+ sha256 = "08qgwfz23634wv0fw0rx162rcav5fivsp63srdf4c6my5151nxa9";
+ name = "kcharselect-18.04.0.tar.xz";
};
};
kcolorchooser = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kcolorchooser-17.12.3.tar.xz";
- sha256 = "1yf8bizxd65h9pzai51l7piw5p4rlcl2bmw3qf9s73xii9cxz8yl";
- name = "kcolorchooser-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kcolorchooser-18.04.0.tar.xz";
+ sha256 = "02lqg4ra2nrkfnlhirs148bsd3b5a1j81s9z84wg11z8havrabfn";
+ name = "kcolorchooser-18.04.0.tar.xz";
};
};
kcontacts = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kcontacts-17.12.3.tar.xz";
- sha256 = "08gzaznb6nazqcd5v755cs6fvxq4y1ywa7qbff7fb28sbkz6sdjl";
- name = "kcontacts-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kcontacts-18.04.0.tar.xz";
+ sha256 = "0ja9xbpvv6klwwg0rzppxhfj2nfb7dydadxw5f9471rzniywn1xb";
+ name = "kcontacts-18.04.0.tar.xz";
};
};
kcron = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kcron-17.12.3.tar.xz";
- sha256 = "0kdd0kzx26jhwrz9ism9fc5gbf1fh0qsb6h3gmx524r40wzr45bf";
- name = "kcron-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kcron-18.04.0.tar.xz";
+ sha256 = "0pm532pajm7kbzg7w7azi5qx5xnkc9k5crxbahpw8n32lq34lm18";
+ name = "kcron-18.04.0.tar.xz";
};
};
kdav = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdav-17.12.3.tar.xz";
- sha256 = "141a2fk3n18554qh8h00dnik33pf4jmvp1z94gbhscgkza1xdlx4";
- name = "kdav-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdav-18.04.0.tar.xz";
+ sha256 = "159bll2b3anxj5i7i92cqsz7hqm66n5ihlzk1g7waqdc9b429hr2";
+ name = "kdav-18.04.0.tar.xz";
};
};
kdebugsettings = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdebugsettings-17.12.3.tar.xz";
- sha256 = "0y71ay5b7fly5rbl7fii6glkhmdkrk6fxmyx5ick5jgjgnmzjkdr";
- name = "kdebugsettings-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdebugsettings-18.04.0.tar.xz";
+ sha256 = "0fr5a0k9jv8zkzv7fl7r71c2gbd1jj3c0vwpyf5riskymznnrx9g";
+ name = "kdebugsettings-18.04.0.tar.xz";
};
};
kde-dev-scripts = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kde-dev-scripts-17.12.3.tar.xz";
- sha256 = "1mipi7fchmf6rmivlpbncx106axaw9hi9r1kd7ibn5jqz0raa554";
- name = "kde-dev-scripts-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kde-dev-scripts-18.04.0.tar.xz";
+ sha256 = "0nnrzpqgzmfg3msx6vqc8js7yzdpscm9599pr4xs4jl4cx5m8vp8";
+ name = "kde-dev-scripts-18.04.0.tar.xz";
};
};
kde-dev-utils = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kde-dev-utils-17.12.3.tar.xz";
- sha256 = "05a8h9bdg81zlaf1zqk8vdqp1d2lkymdg82ppxvm2sxg00rrzgp6";
- name = "kde-dev-utils-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kde-dev-utils-18.04.0.tar.xz";
+ sha256 = "020dyzf078l91rs7sl1dkdbd08viizinsmbvf1f0kfbkfysccfci";
+ name = "kde-dev-utils-18.04.0.tar.xz";
};
};
kdeedu-data = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdeedu-data-17.12.3.tar.xz";
- sha256 = "17xdhkaavz1b5f2iqw64b7891qc8l2i3f90zr2byw4j05gfm24wr";
- name = "kdeedu-data-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdeedu-data-18.04.0.tar.xz";
+ sha256 = "0rx9ymyv6x29fwl6hvznvylq6gvw992rg3l8mk4qmmzjs4rbjb5q";
+ name = "kdeedu-data-18.04.0.tar.xz";
};
};
kdegraphics-mobipocket = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdegraphics-mobipocket-17.12.3.tar.xz";
- sha256 = "16l5s4ha93h7bvb07kx60674i0j1n26c16w8q3drl8jmkmmf2h4j";
- name = "kdegraphics-mobipocket-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdegraphics-mobipocket-18.04.0.tar.xz";
+ sha256 = "01g00k3yqsrahslshybd1azd9w0vgmacfs0yrz5ia93amw4azfhn";
+ name = "kdegraphics-mobipocket-18.04.0.tar.xz";
};
};
kdegraphics-thumbnailers = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdegraphics-thumbnailers-17.12.3.tar.xz";
- sha256 = "1xak3c76bwprmb0anjvw5p620lm9hxyn6dzw2vh1di899b1p60n4";
- name = "kdegraphics-thumbnailers-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdegraphics-thumbnailers-18.04.0.tar.xz";
+ sha256 = "1j04bwp9hc9jc7si6jgg4y61jqic27zj094nv2xpwrxnnaz4y4nh";
+ name = "kdegraphics-thumbnailers-18.04.0.tar.xz";
};
};
kdenetwork-filesharing = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdenetwork-filesharing-17.12.3.tar.xz";
- sha256 = "0hkvmv0wiyhh4b036sdqx4f69ihxwl4m3mnmwc58va3cj5p32pyh";
- name = "kdenetwork-filesharing-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdenetwork-filesharing-18.04.0.tar.xz";
+ sha256 = "1qfd7jr171bc4alm139hhdiv9q0x8y7mhrkyb7qspr7a8ki8j5cg";
+ name = "kdenetwork-filesharing-18.04.0.tar.xz";
};
};
kdenlive = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdenlive-17.12.3.tar.xz";
- sha256 = "0gjhiwjh5h727v4lcs3yy526sr4sr563acg9xc54q76hcl1qc7rp";
- name = "kdenlive-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdenlive-18.04.0.tar.xz";
+ sha256 = "0v54cisilijdq0hyl38fhz0m7lpvphqjvx046ighcqxbrcg6pgah";
+ name = "kdenlive-18.04.0.tar.xz";
};
};
kdepim-addons = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdepim-addons-17.12.3.tar.xz";
- sha256 = "13562gn2jc049pfkq8kw2w5lnmh6s6z6r57p3rpjr880izw9707h";
- name = "kdepim-addons-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdepim-addons-18.04.0.tar.xz";
+ sha256 = "0rcfx07cvpm22kskwry78wzhglpc0vzxavmjydi24lll9ac12mvc";
+ name = "kdepim-addons-18.04.0.tar.xz";
};
};
kdepim-apps-libs = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdepim-apps-libs-17.12.3.tar.xz";
- sha256 = "178iq1kjynid2hfnlh5pbcq2z46rl55xfvvsnpbwbk80j81mpj24";
- name = "kdepim-apps-libs-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdepim-apps-libs-18.04.0.tar.xz";
+ sha256 = "1ax5y6cdw7klgxky121mk8ilpm257bc8h90pc89ziha888l39wgz";
+ name = "kdepim-apps-libs-18.04.0.tar.xz";
};
};
kdepim-runtime = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdepim-runtime-17.12.3.tar.xz";
- sha256 = "1r30wp4n020hh83znv6889w3vm0flyn31b92pmrgvsxm8yzphgwn";
- name = "kdepim-runtime-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdepim-runtime-18.04.0.tar.xz";
+ sha256 = "1pxbrr3rcm3yr7il5abz9r06xvd0j1hsphbskjyphylb3r0xv7mz";
+ name = "kdepim-runtime-18.04.0.tar.xz";
};
};
kdesdk-kioslaves = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdesdk-kioslaves-17.12.3.tar.xz";
- sha256 = "022yp5glg3dxfm5lgv4095dimw9nwbdh559y2vvvlx06pyi0b1qa";
- name = "kdesdk-kioslaves-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdesdk-kioslaves-18.04.0.tar.xz";
+ sha256 = "18w55iism0b26m6v1j6qlpa4y8zdc12bbc8hi8rwz6nyra2a4r6h";
+ name = "kdesdk-kioslaves-18.04.0.tar.xz";
};
};
kdesdk-thumbnailers = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdesdk-thumbnailers-17.12.3.tar.xz";
- sha256 = "0qndm22x7f4w8nmai4zxrxmxkism25xh7cf8vfsihlpqj1qs7wci";
- name = "kdesdk-thumbnailers-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdesdk-thumbnailers-18.04.0.tar.xz";
+ sha256 = "1gsfn3km6dggnwav17vrbv077dj6xsxixjqrypqf8v5n29vzl72g";
+ name = "kdesdk-thumbnailers-18.04.0.tar.xz";
};
};
kdf = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdf-17.12.3.tar.xz";
- sha256 = "18q0581jaqc6w2cbdq1crxgrn97p89ah205mv253pd58w9qc4xlp";
- name = "kdf-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdf-18.04.0.tar.xz";
+ sha256 = "1dxm9q25a9vjja3cx7zd9afx08i84l498sykbnvflf56qq6p9jdv";
+ name = "kdf-18.04.0.tar.xz";
};
};
kdialog = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdialog-17.12.3.tar.xz";
- sha256 = "1smz7q09ss963c9snsvb6biimn1d2c9yyx9lhxszfl9155cgd9x4";
- name = "kdialog-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdialog-18.04.0.tar.xz";
+ sha256 = "0ni5imk1a153j4n923im3rs3g691cwlw3g180wcarrg7iads6icn";
+ name = "kdialog-18.04.0.tar.xz";
};
};
kdiamond = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kdiamond-17.12.3.tar.xz";
- sha256 = "1k4mlajxwpbn4y6dlkz5psxy6iqfjj5qif7i5sfn0c3gsgm76pxc";
- name = "kdiamond-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kdiamond-18.04.0.tar.xz";
+ sha256 = "0gzxpk3llgh45w3iwbqsshv4mc4whshv7zwaz8ik4wpp9kc72xj9";
+ name = "kdiamond-18.04.0.tar.xz";
};
};
keditbookmarks = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/keditbookmarks-17.12.3.tar.xz";
- sha256 = "066ia9n648p53g4451zfn5nram821rlbjlnfi9ny9p0j4dl6wwya";
- name = "keditbookmarks-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/keditbookmarks-18.04.0.tar.xz";
+ sha256 = "18x6cgligwqqj20q69ins33fvkz3is8a11nkp4zx3kb9q50xsdv7";
+ name = "keditbookmarks-18.04.0.tar.xz";
};
};
kfind = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kfind-17.12.3.tar.xz";
- sha256 = "1xf1sw422sg3ki1phy097lwma14drdnjbgc1m5rap3dg0za25c9s";
- name = "kfind-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kfind-18.04.0.tar.xz";
+ sha256 = "11wgdyparz26gqxlbnawwmhjr2lkqa1j0qqwmiihs0pxfq6q9arw";
+ name = "kfind-18.04.0.tar.xz";
};
};
kfloppy = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kfloppy-17.12.3.tar.xz";
- sha256 = "0gjp2l5jm16v1v4xwzaandplabz6rjdiimcf3b0r5d9prbiwry3p";
- name = "kfloppy-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kfloppy-18.04.0.tar.xz";
+ sha256 = "039lryi6nk69d054svm0yq5x4yd8pja6f8fx0q2wqpnffrsis5yj";
+ name = "kfloppy-18.04.0.tar.xz";
};
};
kfourinline = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kfourinline-17.12.3.tar.xz";
- sha256 = "1l10fj1vhxj1d647mcxp7a2bbilrhs3sf7cwkr57vavfzsp7diyw";
- name = "kfourinline-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kfourinline-18.04.0.tar.xz";
+ sha256 = "101h7y2vmg966h92k6360qc3rrgcwvnhg2lz09yffgwf8mqyp19q";
+ name = "kfourinline-18.04.0.tar.xz";
};
};
kgeography = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kgeography-17.12.3.tar.xz";
- sha256 = "1dl3k4zlchpdhvjb459wb44iyq30ngki6x198pyc23j15mjfdrih";
- name = "kgeography-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kgeography-18.04.0.tar.xz";
+ sha256 = "1syky2a8crh5vrn3419a1rzv37ld0kh9llkmcszm9h8jaqdsiw5v";
+ name = "kgeography-18.04.0.tar.xz";
};
};
kget = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kget-17.12.3.tar.xz";
- sha256 = "1kaxvid76s8rx07hza56s83l785dxi5whhkqzkv132z2dm01yzww";
- name = "kget-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kget-18.04.0.tar.xz";
+ sha256 = "16dj0w8rkiybhdcgp9cf4r50nh790psx4b9xxqgfnab3b8lq35mx";
+ name = "kget-18.04.0.tar.xz";
};
};
kgoldrunner = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kgoldrunner-17.12.3.tar.xz";
- sha256 = "1ihj48kvr9xpw4rajiyq3kng1dn6l60dmii5pnyjmxlfs08apayx";
- name = "kgoldrunner-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kgoldrunner-18.04.0.tar.xz";
+ sha256 = "0ydhz0pm0adwjrbsiqkq6d1cs6l8nw2cj4mxf36144gs333nly1z";
+ name = "kgoldrunner-18.04.0.tar.xz";
};
};
kgpg = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kgpg-17.12.3.tar.xz";
- sha256 = "19yacv7l6kynyznb8ixn3697h04mhh4fhx02n4frdy9pnzv94hyp";
- name = "kgpg-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kgpg-18.04.0.tar.xz";
+ sha256 = "1ayyzc7vwdrhp2pc41yh01lkc9n0q4icy05z6yg14si0c7a62s78";
+ name = "kgpg-18.04.0.tar.xz";
};
};
khangman = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/khangman-17.12.3.tar.xz";
- sha256 = "0hnm499qs1l2yzfqxhmkyc5lp0qb5j29h1knap1vmv4qy0qnmnjk";
- name = "khangman-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/khangman-18.04.0.tar.xz";
+ sha256 = "01xmvljp3z4x4aihbz4b22avh10hhnvv8y8jy0nd3pggln4mj15c";
+ name = "khangman-18.04.0.tar.xz";
};
};
khelpcenter = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/khelpcenter-17.12.3.tar.xz";
- sha256 = "0z5hrwqsi9ifraivz59nbq247x481hx90wiyfbls9lwv56y1zi7n";
- name = "khelpcenter-17.12.3.tar.xz";
- };
- };
- kholidays = {
- version = "17.12.3";
- src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kholidays-17.12.3.tar.xz";
- sha256 = "0w886443zzvpwqznnn7ymw5bxzdnigfz9j45qrl1qvdd6q8710di";
- name = "kholidays-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/khelpcenter-18.04.0.tar.xz";
+ sha256 = "1pc6dd4rn4c636sn8lbkdq2svijrpp4fcgf76infk7dsqrxrgnsr";
+ name = "khelpcenter-18.04.0.tar.xz";
};
};
kidentitymanagement = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kidentitymanagement-17.12.3.tar.xz";
- sha256 = "0my4r8k8gadkda3z1myarrq4x72qz6wxsy6lj9rzkj4y549bm93y";
- name = "kidentitymanagement-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kidentitymanagement-18.04.0.tar.xz";
+ sha256 = "129a38ajkpzgm2z921riyawlnx70c41ln3z7hvx159x3ghcsacyw";
+ name = "kidentitymanagement-18.04.0.tar.xz";
};
};
kig = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kig-17.12.3.tar.xz";
- sha256 = "0liv94y90bfd5pi003bd3jryc1dal5mwxhqy94c2n3ay8yz8kxid";
- name = "kig-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kig-18.04.0.tar.xz";
+ sha256 = "1djy20lcs50ykb99akhfw873br9q0x72r3pma6mv69dpv5jpk3v3";
+ name = "kig-18.04.0.tar.xz";
};
};
kigo = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kigo-17.12.3.tar.xz";
- sha256 = "1z01w5zsbwn8h0mgr5liqagsmlppqclkjs4z5rdys75sxm142fzh";
- name = "kigo-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kigo-18.04.0.tar.xz";
+ sha256 = "0jqkab57z0xhbxf2hcagg5b0pgn2z4dnzirp6ccfybl835nwr4rp";
+ name = "kigo-18.04.0.tar.xz";
};
};
killbots = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/killbots-17.12.3.tar.xz";
- sha256 = "14xgh9qhagq9c01xbv0n4g5b3q9r6qr0dsc5ilindr66psspx7an";
- name = "killbots-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/killbots-18.04.0.tar.xz";
+ sha256 = "10j82a9yv5v21pp9249nzm42ys104ickwavqys5j43230h0qlyl2";
+ name = "killbots-18.04.0.tar.xz";
};
};
kimagemapeditor = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kimagemapeditor-17.12.3.tar.xz";
- sha256 = "1s9929wb3lclbn85rk3zd0nai64mrwgqdqnkw2dys98snq12r3hn";
- name = "kimagemapeditor-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kimagemapeditor-18.04.0.tar.xz";
+ sha256 = "01cy4nfi9gzgyfqb16vsy3b15bgag0g3dz2l9v0d4fijxpf157br";
+ name = "kimagemapeditor-18.04.0.tar.xz";
};
};
kimap = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kimap-17.12.3.tar.xz";
- sha256 = "1prilnf01s73ml7542s7qh0ki9gqvgq7xqzxq2mz17k4d3irdvxw";
- name = "kimap-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kimap-18.04.0.tar.xz";
+ sha256 = "1l22fzslf0zrr230hq17rfg88ifngfwcc1n0v3fzpxnia4cm68by";
+ name = "kimap-18.04.0.tar.xz";
};
};
kio-extras = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kio-extras-17.12.3.tar.xz";
- sha256 = "1ifi09hv5aqx62x1cjnsxxh7xji9m0mmk3gfn43la9vw4rhxzlks";
- name = "kio-extras-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kio-extras-18.04.0.tar.xz";
+ sha256 = "15icgvanjhvxi2k9hihadvxnx2jpjp2r3gy89brvdsh8lhj9kzil";
+ name = "kio-extras-18.04.0.tar.xz";
};
};
kiriki = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kiriki-17.12.3.tar.xz";
- sha256 = "1zl8mq1ya3x67y1pj1ir98v5lbxwccwyni8i02wc7mbgmxbk6p9q";
- name = "kiriki-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kiriki-18.04.0.tar.xz";
+ sha256 = "0m98fqnrk1vinkammf5fjkbvj5wwk45v8m4m951nvn0wpzrb0clf";
+ name = "kiriki-18.04.0.tar.xz";
};
};
kiten = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kiten-17.12.3.tar.xz";
- sha256 = "1p1s20ks3r2zfd7wig1j2lbxbf3ch9gbykw2cgadip4nyn9nyll5";
- name = "kiten-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kiten-18.04.0.tar.xz";
+ sha256 = "1xk58q89hdpy4fhk8ic2ybf60d0xgwfm6ay1gny4qb6klr5xx7ah";
+ name = "kiten-18.04.0.tar.xz";
};
};
kjumpingcube = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kjumpingcube-17.12.3.tar.xz";
- sha256 = "07fakw1nq3bickj05cvb39wyb02fpfph0ia1wfm8wf43rd34c76l";
- name = "kjumpingcube-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kjumpingcube-18.04.0.tar.xz";
+ sha256 = "1j9v6j3yams0azdc27g76x3baz6wcw173lam5r8z0q5f6xayv9zl";
+ name = "kjumpingcube-18.04.0.tar.xz";
};
};
kldap = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kldap-17.12.3.tar.xz";
- sha256 = "02adfzjlvxjff33cpyihsf9z9zm7nvgmnipg9dmkpc0cwl25a8jy";
- name = "kldap-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kldap-18.04.0.tar.xz";
+ sha256 = "1fjh6insnmnl4yk5n11bsp9xrhyzkb7cf3vsbx6yjn13gwg06xm9";
+ name = "kldap-18.04.0.tar.xz";
};
};
kleopatra = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kleopatra-17.12.3.tar.xz";
- sha256 = "1417j1jh7bs0020laaimpwmmng508k85kp24k923ad2v65i51agd";
- name = "kleopatra-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kleopatra-18.04.0.tar.xz";
+ sha256 = "1lqqhy0pyv8v9x20if6sjklbmfnjmip4nfm0adp5wh7r3n9c0908";
+ name = "kleopatra-18.04.0.tar.xz";
};
};
klettres = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/klettres-17.12.3.tar.xz";
- sha256 = "0npp2dkwi3g36scipdra5xj5lf0xga3l8h8pk6isx7l86xsv3ds0";
- name = "klettres-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/klettres-18.04.0.tar.xz";
+ sha256 = "0x2vj449dgzlyhyagdcs5f12rd3w025iq5q8qcsml7mnr5vy06n3";
+ name = "klettres-18.04.0.tar.xz";
};
};
klickety = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/klickety-17.12.3.tar.xz";
- sha256 = "0f8gxqcfanxbqjqrq1j598nbis3djxxps61hdl1wd9xki1a86xy8";
- name = "klickety-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/klickety-18.04.0.tar.xz";
+ sha256 = "1l81xk00bkbxm9fmqjyphf8wijgxp979kfsflvy7zyzga43k64fc";
+ name = "klickety-18.04.0.tar.xz";
};
};
klines = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/klines-17.12.3.tar.xz";
- sha256 = "0kp7c8qxkwgf13cwa7x5wik5w7snq6830zpah6lsk4ls5jw5mln0";
- name = "klines-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/klines-18.04.0.tar.xz";
+ sha256 = "1axp8mv1hxdddw86wsd6dkv7cbzk5b3lswqvwxdbbrpsq8j8vjz1";
+ name = "klines-18.04.0.tar.xz";
};
};
kmag = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmag-17.12.3.tar.xz";
- sha256 = "0n9dxf5mcz6rlfr91r6yd7sxfmshgdc8znxfbncd1a9j523vba3w";
- name = "kmag-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmag-18.04.0.tar.xz";
+ sha256 = "1yaryycwy5h3pafzsvn4xr96p96j3a3302x6y73i9xm94nz7a60f";
+ name = "kmag-18.04.0.tar.xz";
};
};
kmahjongg = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmahjongg-17.12.3.tar.xz";
- sha256 = "0ai6jlny4fi69psiizix5adz3kga4plf70y322a3ybl8g9c44m1a";
- name = "kmahjongg-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmahjongg-18.04.0.tar.xz";
+ sha256 = "191cl5cnq6q8b3fr22frfwrg0a2bqf9c2x454ab0ysc2qapblfkx";
+ name = "kmahjongg-18.04.0.tar.xz";
};
};
kmail = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmail-17.12.3.tar.xz";
- sha256 = "02hjrk1c4mk3jrmyhn4ppar6vdlg51j79fqcjzfs1d8s4w0swwbs";
- name = "kmail-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmail-18.04.0.tar.xz";
+ sha256 = "1faw94imrr30bg155zs4hszfbv9fszywyk1v24d0l03vyh4w0x8r";
+ name = "kmail-18.04.0.tar.xz";
};
};
kmail-account-wizard = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmail-account-wizard-17.12.3.tar.xz";
- sha256 = "1qdwqd763k5dq8mmwibnvgqjb7l6br9dqwxfsi7q8bhjxipijvdx";
- name = "kmail-account-wizard-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmail-account-wizard-18.04.0.tar.xz";
+ sha256 = "0sgasycw0ixh6c04kibyii6f5aygkhwanidnmidhgdnqhgcg31gp";
+ name = "kmail-account-wizard-18.04.0.tar.xz";
};
};
kmailtransport = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmailtransport-17.12.3.tar.xz";
- sha256 = "131yy2xa61fi2dmrb3qapf589lf4s9v2rkk2js0bi1827yg097f0";
- name = "kmailtransport-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmailtransport-18.04.0.tar.xz";
+ sha256 = "122zcgz9vlqzmr2xy4msrzg9ajvyjlwcf7g4br7bja42f5nk704f";
+ name = "kmailtransport-18.04.0.tar.xz";
};
};
kmbox = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmbox-17.12.3.tar.xz";
- sha256 = "15x9cdwcbwrjaj3rzphwmpayhy45j45pwj88sz0drqz3mwc55jgm";
- name = "kmbox-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmbox-18.04.0.tar.xz";
+ sha256 = "0qljbixj2jka8sngavi41jjcssy293acy1d6syjyagad7z5f0d0k";
+ name = "kmbox-18.04.0.tar.xz";
};
};
kmime = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmime-17.12.3.tar.xz";
- sha256 = "0251szs8dcpnwhqk72c211mp7h0xhn0f8z21mdm6k94ij43da9cm";
- name = "kmime-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmime-18.04.0.tar.xz";
+ sha256 = "03hwvwdkb1176d837hbwm8wqj0bl29fdfzirgrp1yri4vadmhrqx";
+ name = "kmime-18.04.0.tar.xz";
};
};
kmines = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmines-17.12.3.tar.xz";
- sha256 = "0r9rs97s92z5854xdampgp6igmppzp3mhaw9rscrdwvvq4xpsll9";
- name = "kmines-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmines-18.04.0.tar.xz";
+ sha256 = "0jyrynqqzk5dwwfd05kdzx5lc6cjkbhhp5l8ijyfwdqs63wzj705";
+ name = "kmines-18.04.0.tar.xz";
};
};
kmix = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmix-17.12.3.tar.xz";
- sha256 = "12fwimqr21hgwqscihaxwh1f39xm8k21f95f7b3gwwa5lbj0l9mp";
- name = "kmix-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmix-18.04.0.tar.xz";
+ sha256 = "0xq5jd5nrjb95lhc38n0b6kmmdbr2hrnpq8kvdywv6xazhb0h9mg";
+ name = "kmix-18.04.0.tar.xz";
};
};
kmousetool = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmousetool-17.12.3.tar.xz";
- sha256 = "0gbvzywnxbcb4iw7pgf70ljz0qd8xl8825srpp3fj7lv0kh9ni9z";
- name = "kmousetool-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmousetool-18.04.0.tar.xz";
+ sha256 = "1n36myw2j43mnlawkymyv73l4xkpc5ynqalqka2jigdzqin87gr7";
+ name = "kmousetool-18.04.0.tar.xz";
};
};
kmouth = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmouth-17.12.3.tar.xz";
- sha256 = "012lpy904n2isj8msxivgk0ssy56qajgjxn1hz2jy9jjyyi77f2n";
- name = "kmouth-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmouth-18.04.0.tar.xz";
+ sha256 = "03m4ia8s2qg6pnih6i8df3y2dxc8qcxwcnn7kyjd1ygw8i3gjkyk";
+ name = "kmouth-18.04.0.tar.xz";
};
};
kmplot = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kmplot-17.12.3.tar.xz";
- sha256 = "0plblgv243ymmcbpb8rs4clilwlsggn7219yqrh064lzbfblhxa9";
- name = "kmplot-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kmplot-18.04.0.tar.xz";
+ sha256 = "1bl0sw58p4qnbka1kss2w3p0w7r91c29hg3h3ljxlarj8yg7z95v";
+ name = "kmplot-18.04.0.tar.xz";
};
};
knavalbattle = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/knavalbattle-17.12.3.tar.xz";
- sha256 = "07z0h0h6fmd99x0kqjlwlkpxndypa2svdvmjv8vmwcdp45hik90f";
- name = "knavalbattle-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/knavalbattle-18.04.0.tar.xz";
+ sha256 = "0hw5syv8csnx1myjdfsd96bxvqcg2c21fpcgmb9dc8gj4nzqqabv";
+ name = "knavalbattle-18.04.0.tar.xz";
};
};
knetwalk = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/knetwalk-17.12.3.tar.xz";
- sha256 = "1iz819dsrdf5fck6qx0s4d0k7sz58pbxp5kk4aczszmvpnn2197k";
- name = "knetwalk-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/knetwalk-18.04.0.tar.xz";
+ sha256 = "0r3a9pa9nwhfg5xbp062dsaq8n20mrykfbcp52m9wlln8rwjiz1x";
+ name = "knetwalk-18.04.0.tar.xz";
};
};
knotes = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/knotes-17.12.3.tar.xz";
- sha256 = "1iy6rmhlh7jgryxrwqrqaqaajfimdlqcw0x3yizbqalpw1k6f8m3";
- name = "knotes-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/knotes-18.04.0.tar.xz";
+ sha256 = "1gkz3vrsj9irzyhc1djvmkbikiqxn7bgv913ynax8akbbmlh9xlh";
+ name = "knotes-18.04.0.tar.xz";
};
};
kolf = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kolf-17.12.3.tar.xz";
- sha256 = "1zc1i36a302rpvv2lbfv8q8glh1brjk95mjkwxbplv8gmdbd71cj";
- name = "kolf-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kolf-18.04.0.tar.xz";
+ sha256 = "0cjvm5xg09wnx5n5hz9w3ckxfyhnwxn423f4hm5c8qwij4gnsfsn";
+ name = "kolf-18.04.0.tar.xz";
};
};
kollision = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kollision-17.12.3.tar.xz";
- sha256 = "019ibb9190k6qf07kgjy88lzyawvbh9hb7df96l96ilgssxxhnvz";
- name = "kollision-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kollision-18.04.0.tar.xz";
+ sha256 = "03lkrdh11q4vmbc8a5hflsbk2w39ffr96r6rwazkas7svc2hky6i";
+ name = "kollision-18.04.0.tar.xz";
};
};
kolourpaint = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kolourpaint-17.12.3.tar.xz";
- sha256 = "15vd3ykixfkbwg3dk4plfpf72k2cknwpk6ip7rnw4h41r0rg838w";
- name = "kolourpaint-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kolourpaint-18.04.0.tar.xz";
+ sha256 = "18b01w44bp7hyhxyj5cbfhlmhvcr1bbi1j6i0j62h67sm9fy65vr";
+ name = "kolourpaint-18.04.0.tar.xz";
};
};
kompare = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kompare-17.12.3.tar.xz";
- sha256 = "0kfrxwx2dnvbvy7ykm3dxm0873g2136jllakav8pxgf75z4iwryl";
- name = "kompare-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kompare-18.04.0.tar.xz";
+ sha256 = "019z54h9dlcxy7hfzxrh0nh3l2jzc993jhdw4s70h7mf2yddl6zi";
+ name = "kompare-18.04.0.tar.xz";
};
};
konqueror = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/konqueror-17.12.3.tar.xz";
- sha256 = "0dhm22p4mx244pd2wnl7xxhkh4yc3dsl126ndmajj62i0si0y0hw";
- name = "konqueror-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/konqueror-18.04.0.tar.xz";
+ sha256 = "0z7b8w47xs2wm13c82fkcf07qd7ikyi67dg8abfnxhvmri4bsxn2";
+ name = "konqueror-18.04.0.tar.xz";
};
};
konquest = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/konquest-17.12.3.tar.xz";
- sha256 = "1jdwa4b9224x2m3r3v3sgk7796kvlayf7gjpsdvby0xggpihsqli";
- name = "konquest-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/konquest-18.04.0.tar.xz";
+ sha256 = "0344hjkhq5czxi3wl9vfavli79lh7mqhk8qby0hj53xp6mqh7xfx";
+ name = "konquest-18.04.0.tar.xz";
};
};
konsole = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/konsole-17.12.3.tar.xz";
- sha256 = "1g3c7wl10n5qhs5bnm1d92qsv7jh8gn3d1l0wivj29cn9b0rf2gs";
- name = "konsole-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/konsole-18.04.0.tar.xz";
+ sha256 = "0r2al3ja1fpkyyq7hrzis9pmkp54idivfmrj71rqk74jfjjjky2k";
+ name = "konsole-18.04.0.tar.xz";
};
};
kontact = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kontact-17.12.3.tar.xz";
- sha256 = "0gik5h84mx3izdlml0sl1y68n7h9w8196h2l09lxnf10mmya3yas";
- name = "kontact-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kontact-18.04.0.tar.xz";
+ sha256 = "14kpnfa2bl92frz6vssfs1q3065vsgl5bfgrgyvbbpxfviy5ciaz";
+ name = "kontact-18.04.0.tar.xz";
};
};
kontactinterface = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kontactinterface-17.12.3.tar.xz";
- sha256 = "15nigzawl5rzd0s6l9xqv3sldah3wc9m6zd3avbsb3ydmi0f1hks";
- name = "kontactinterface-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kontactinterface-18.04.0.tar.xz";
+ sha256 = "12hmh1wxsxb1n1727qpmarhs83nziy93kb7a8xyahpkky82jn62x";
+ name = "kontactinterface-18.04.0.tar.xz";
+ };
+ };
+ kopete = {
+ version = "18.04.0";
+ src = fetchurl {
+ url = "${mirror}/stable/applications/18.04.0/src/kopete-18.04.0.tar.xz";
+ sha256 = "0p22yjpzrgqmdr74pw9pxasb25w9ikdgsrlbcq5yy95il1zppwfl";
+ name = "kopete-18.04.0.tar.xz";
};
};
korganizer = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/korganizer-17.12.3.tar.xz";
- sha256 = "0gplnra98ivhsqcrdy44ghak0h9x0fn481irqh2y11f8kjaf6z40";
- name = "korganizer-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/korganizer-18.04.0.tar.xz";
+ sha256 = "02vyycpiqdfik2902pk97jz28s4nh2wax129y6n1mdxjjvw15gp2";
+ name = "korganizer-18.04.0.tar.xz";
};
};
kpat = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kpat-17.12.3.tar.xz";
- sha256 = "0nkqfnxrnik4ma7xrskqjsmcmbmxszyn9ckf3rql338d485h8awh";
- name = "kpat-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kpat-18.04.0.tar.xz";
+ sha256 = "02s74cwyp3mpdc8xk6hky3p8s3svdwwkrdfbaxbkh6ysywbm7728";
+ name = "kpat-18.04.0.tar.xz";
};
};
kpimtextedit = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kpimtextedit-17.12.3.tar.xz";
- sha256 = "0b6f1hsh3q183lkinaz9f94akaf1z2g1pb7sm83f6c4yjn9qfg9c";
- name = "kpimtextedit-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kpimtextedit-18.04.0.tar.xz";
+ sha256 = "101jj454b4p52yxzcp837075fp3lh3wnkjw8spcfb6k1rjf0ss68";
+ name = "kpimtextedit-18.04.0.tar.xz";
};
};
kqtquickcharts = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kqtquickcharts-17.12.3.tar.xz";
- sha256 = "0gigdramz5kmjyzd7yff8j0c3sisblqy0xjc301hkhh7ss93r2d0";
- name = "kqtquickcharts-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kqtquickcharts-18.04.0.tar.xz";
+ sha256 = "1ccfgbm1dbrf0nkkpg7qzrpa0sjdv46cvdn7qc86qqqmbb96zij8";
+ name = "kqtquickcharts-18.04.0.tar.xz";
};
};
krdc = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/krdc-17.12.3.tar.xz";
- sha256 = "1flk8pvnr4kf273xzfxb7pcsam3mb056pbvmva1k864kbb6bzdps";
- name = "krdc-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/krdc-18.04.0.tar.xz";
+ sha256 = "11nk01vhpqlhgn7b928svvpdn5r9hbrc01248xzqkj16iwrdrqr9";
+ name = "krdc-18.04.0.tar.xz";
};
};
kreversi = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kreversi-17.12.3.tar.xz";
- sha256 = "1hmh80dpg25ay06dmd1g6a0a7zcd2di99s989msi85wzgk6vh0fg";
- name = "kreversi-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kreversi-18.04.0.tar.xz";
+ sha256 = "1jbvsldl1g1ljl4mzn1l93gi5kb8jrzwqjzfga4dbribif8shmq8";
+ name = "kreversi-18.04.0.tar.xz";
};
};
krfb = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/krfb-17.12.3.tar.xz";
- sha256 = "0anfcb1xsr638k3d3ljy9khbxf7v9sj5vbksyhfjrzsifj4m2skv";
- name = "krfb-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/krfb-18.04.0.tar.xz";
+ sha256 = "1aq285jn4k0s9vwy99w2a1wm4nzwzjafz8a0gy47ydi0m29b1rkc";
+ name = "krfb-18.04.0.tar.xz";
};
};
kross-interpreters = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kross-interpreters-17.12.3.tar.xz";
- sha256 = "0v3ly21lc8riv4by87kjilab5zqd6wvwl92a983ybd5bivl1a98s";
- name = "kross-interpreters-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kross-interpreters-18.04.0.tar.xz";
+ sha256 = "15cbpq7cs0hnm42c03kyvyshfa10xdsajlbmsixzbmvks34c8b1y";
+ name = "kross-interpreters-18.04.0.tar.xz";
};
};
kruler = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kruler-17.12.3.tar.xz";
- sha256 = "0r12vwg9jsvg8bldrfdnmcygn6rkx9dp8r0948jhf662qs7a0jsa";
- name = "kruler-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kruler-18.04.0.tar.xz";
+ sha256 = "0bm1d8n0v4qg8jaciws247bda7q5nab0i80qlg2xb20lygi2fwwr";
+ name = "kruler-18.04.0.tar.xz";
};
};
kshisen = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kshisen-17.12.3.tar.xz";
- sha256 = "1an28mxgc1ic6acj3r59q9nnmq267fy6k48xzdxqdxhivs74bjx0";
- name = "kshisen-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kshisen-18.04.0.tar.xz";
+ sha256 = "1m9wa59iz3p2x7zxngp2wqf99ab6p1gai3h0fb4zbqbib98jpmyf";
+ name = "kshisen-18.04.0.tar.xz";
};
};
ksirk = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ksirk-17.12.3.tar.xz";
- sha256 = "07y300qk3jls8cscf0xxgq52gxmc4j5rkn2pxhxymm0yr07ip1xz";
- name = "ksirk-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ksirk-18.04.0.tar.xz";
+ sha256 = "0msw4lkrjj5ihbdg9ibjrk7ddcw933kqhbf6aap5jc4lz0r6y1d8";
+ name = "ksirk-18.04.0.tar.xz";
};
};
ksmtp = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ksmtp-17.12.3.tar.xz";
- sha256 = "1dws2jrizixi108mw1lgb7jz6dgs5xvvmj16bkf9x54rhvjb7r9b";
- name = "ksmtp-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ksmtp-18.04.0.tar.xz";
+ sha256 = "1r89wm8q4vxaqdd1j8qb84qr7zg1dfb731r7qypilvkcc8z1samn";
+ name = "ksmtp-18.04.0.tar.xz";
};
};
ksnakeduel = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ksnakeduel-17.12.3.tar.xz";
- sha256 = "0w4nw1pyznn4dkcqgf2d5c2r7z5xg5gc97whw1i67wqq9sbi98hy";
- name = "ksnakeduel-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ksnakeduel-18.04.0.tar.xz";
+ sha256 = "04lpcp7l4xwnwk073yji84kaw16gi0ybkzlvcg1plpqj6w1y1y8w";
+ name = "ksnakeduel-18.04.0.tar.xz";
};
};
kspaceduel = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kspaceduel-17.12.3.tar.xz";
- sha256 = "13pqdb3f0zjnv71y93kha3wkq9kivl8g01sa5g9ydjmnxahzhqc6";
- name = "kspaceduel-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kspaceduel-18.04.0.tar.xz";
+ sha256 = "04shgk89xfp3z26683mc9g612fmnqg01fp8qah7y8mbac3cv4f5i";
+ name = "kspaceduel-18.04.0.tar.xz";
};
};
ksquares = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ksquares-17.12.3.tar.xz";
- sha256 = "19cbmc2mnljlndijb11k9l67q2cmdd5yjsjwv61rawq25xwfh667";
- name = "ksquares-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ksquares-18.04.0.tar.xz";
+ sha256 = "17siqdj6l2g2rnaswdzipxlxxx8x4q5wb4z2rc12gf08fggxfmgn";
+ name = "ksquares-18.04.0.tar.xz";
};
};
ksudoku = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ksudoku-17.12.3.tar.xz";
- sha256 = "0c335klnzq4bf91c2iib3iqhx24nf264p86mypk2as2mbcr02j9n";
- name = "ksudoku-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ksudoku-18.04.0.tar.xz";
+ sha256 = "1slmfps0861n8p4rqc1ng4981v1jdyppzr990abadqzf344d3ab3";
+ name = "ksudoku-18.04.0.tar.xz";
};
};
ksystemlog = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ksystemlog-17.12.3.tar.xz";
- sha256 = "0lnjdiwq3xlqi2lw0p9vj6fbqzmmqf0y6aivyxb7lbrjgjvh64lr";
- name = "ksystemlog-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ksystemlog-18.04.0.tar.xz";
+ sha256 = "164cfzfjya7yg5pzzpxzfr0r1yf6napvibpjs9y784fl4r2qb780";
+ name = "ksystemlog-18.04.0.tar.xz";
};
};
kteatime = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kteatime-17.12.3.tar.xz";
- sha256 = "0f7cf0p7cnmw6mpc3135wk9l2j63yfd2fz06vngnl0zdysf4iwfz";
- name = "kteatime-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kteatime-18.04.0.tar.xz";
+ sha256 = "0sm4kcq618qp5ihnvcw2zp0frnj21mmjapksy7q63skh9ncjgmj3";
+ name = "kteatime-18.04.0.tar.xz";
};
};
ktimer = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktimer-17.12.3.tar.xz";
- sha256 = "1ghh3433wai87ifspvsvmjvamzminf9i73vbpf61ph5qgahx804x";
- name = "ktimer-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktimer-18.04.0.tar.xz";
+ sha256 = "1mgjgs8j4wfkjq766w9lyc21h3l3cfv5qb5a3x1anc74y1vanksj";
+ name = "ktimer-18.04.0.tar.xz";
};
};
ktnef = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktnef-17.12.3.tar.xz";
- sha256 = "13irgbcq6g363n65i92c2ciw35rxmq1x5hdlrdbidp718n44n84n";
- name = "ktnef-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktnef-18.04.0.tar.xz";
+ sha256 = "1rys8l7rmwzv79mwmm97yxfq8gsfz4sh6hf7bjq6zhc9q42n3r36";
+ name = "ktnef-18.04.0.tar.xz";
};
};
ktouch = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktouch-17.12.3.tar.xz";
- sha256 = "04frgq9lyk51p66lv48pgk8b4f4jxh73fpr907dnwbsyqkg6l795";
- name = "ktouch-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktouch-18.04.0.tar.xz";
+ sha256 = "10lwc2gz1gwghz95f1dgdv33n4rwly0f8maslv3hb47cr14c259v";
+ name = "ktouch-18.04.0.tar.xz";
};
};
ktp-accounts-kcm = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-accounts-kcm-17.12.3.tar.xz";
- sha256 = "0fi3065yq38pn2x7r5a0fynbq7xyklbzvlp4gwr4bhg41fqm74hm";
- name = "ktp-accounts-kcm-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-accounts-kcm-18.04.0.tar.xz";
+ sha256 = "1arcg0wabjqla5mc773vrbwd2abl5zwhhchf88f1i4krcv2crn3s";
+ name = "ktp-accounts-kcm-18.04.0.tar.xz";
};
};
ktp-approver = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-approver-17.12.3.tar.xz";
- sha256 = "06x1ycp5biapalf5yk0lh9wwda1mx5a4ssv1p3q9kb7f7v1i8wkp";
- name = "ktp-approver-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-approver-18.04.0.tar.xz";
+ sha256 = "0afgd08x857mi7s5br3m5q41k8rm77p6dnvb3idjsmv0m8324md4";
+ name = "ktp-approver-18.04.0.tar.xz";
};
};
ktp-auth-handler = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-auth-handler-17.12.3.tar.xz";
- sha256 = "03vha3rf7989wi47hn004g4m1lgi236in395yl4f2bl2h0qq1g21";
- name = "ktp-auth-handler-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-auth-handler-18.04.0.tar.xz";
+ sha256 = "1d7s1rqh231k57bygbyzxiz3cs9diqx4x2f7v66awm20la2p804y";
+ name = "ktp-auth-handler-18.04.0.tar.xz";
};
};
ktp-call-ui = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-call-ui-17.12.3.tar.xz";
- sha256 = "0l85q8xykz0vj26yvcqcm3l6w84iada8hr32sn71151rv6palv0m";
- name = "ktp-call-ui-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-call-ui-18.04.0.tar.xz";
+ sha256 = "1qffsq9nnhzlgmm42vg98g172361zra06wgpa7n8y3pvl9mwlrbm";
+ name = "ktp-call-ui-18.04.0.tar.xz";
};
};
ktp-common-internals = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-common-internals-17.12.3.tar.xz";
- sha256 = "0vzppfy2ik3j9aw2rzb272h8q57vv6z3pqycfwbsd4j751hccx80";
- name = "ktp-common-internals-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-common-internals-18.04.0.tar.xz";
+ sha256 = "0cvyw7rs8afi7c1dl58jmibzqy1jdnbkjqsxilnlkj5rmplg10av";
+ name = "ktp-common-internals-18.04.0.tar.xz";
};
};
ktp-contact-list = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-contact-list-17.12.3.tar.xz";
- sha256 = "1clyfaabjjafmazw3gli10b00v0yb8m05bd6lwia7anslhs9pjfb";
- name = "ktp-contact-list-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-contact-list-18.04.0.tar.xz";
+ sha256 = "1384rps2wp1qgqq0jj1p9rjkg3gdrsjid87jhdjv95kjxc1a7a1y";
+ name = "ktp-contact-list-18.04.0.tar.xz";
};
};
ktp-contact-runner = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-contact-runner-17.12.3.tar.xz";
- sha256 = "0rj7l0dr0kqcijaxwq06chbmjb5xr12zcs02mjc08af5kc2girsq";
- name = "ktp-contact-runner-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-contact-runner-18.04.0.tar.xz";
+ sha256 = "02hr0g619h30hr49rxs5yvwna6skzkvca03p9yy70ib22gzpfxli";
+ name = "ktp-contact-runner-18.04.0.tar.xz";
};
};
ktp-desktop-applets = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-desktop-applets-17.12.3.tar.xz";
- sha256 = "16n8gj6x9cbk9bbpdf8zchrjajpw0dh2n5vf2ngyhw59w3rlwisj";
- name = "ktp-desktop-applets-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-desktop-applets-18.04.0.tar.xz";
+ sha256 = "09jfw3sn6yn4znir0rcgwwc5h1zp2vc39y4i7fi1rznhdagwy1ji";
+ name = "ktp-desktop-applets-18.04.0.tar.xz";
};
};
ktp-filetransfer-handler = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-filetransfer-handler-17.12.3.tar.xz";
- sha256 = "1l2w39k9gmlnysphh4scc0krmxf0s9h1frj9blml9qfd8n92v5y8";
- name = "ktp-filetransfer-handler-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-filetransfer-handler-18.04.0.tar.xz";
+ sha256 = "1wc72ghl2v6bjrw1pb8h8ajigqhyb53nlhya2cqhdf1banpjv0n5";
+ name = "ktp-filetransfer-handler-18.04.0.tar.xz";
};
};
ktp-kded-module = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-kded-module-17.12.3.tar.xz";
- sha256 = "1752m9sr7mb7hgrbarr2vnllvd67n6c059i3k2ds4npajvcdszhp";
- name = "ktp-kded-module-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-kded-module-18.04.0.tar.xz";
+ sha256 = "1845csv2ci5589iws49ma5qrkgs5q6hqb2hzrk6znr6w3d1smbbj";
+ name = "ktp-kded-module-18.04.0.tar.xz";
};
};
ktp-send-file = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-send-file-17.12.3.tar.xz";
- sha256 = "02z13fy21v8yl3q164lw9265k3mw5mdhmr8f0dlpkx2x3mgdgjch";
- name = "ktp-send-file-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-send-file-18.04.0.tar.xz";
+ sha256 = "137l6b4dpd78x8z99cpz0sp8f5lbdlvzkd2w742jsiylxchrjr5l";
+ name = "ktp-send-file-18.04.0.tar.xz";
};
};
ktp-text-ui = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktp-text-ui-17.12.3.tar.xz";
- sha256 = "0zhqhq7zq4xp44df77fms1jp14pfz1gdandblgcbyx55fqgkx38v";
- name = "ktp-text-ui-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktp-text-ui-18.04.0.tar.xz";
+ sha256 = "12hhfkjglqbd4qxhl10xczk9ha0j494vjldkg05lhm0l233zr9km";
+ name = "ktp-text-ui-18.04.0.tar.xz";
};
};
ktuberling = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/ktuberling-17.12.3.tar.xz";
- sha256 = "1rqn9fzniyz3nnrjk6qjpbcs7m0gfnl2m671dgj87pwfsddicyr4";
- name = "ktuberling-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/ktuberling-18.04.0.tar.xz";
+ sha256 = "12mrb0a5k5z02mjwdn8vlcwr8jxwp7x2f04wzac749csyn0sj86d";
+ name = "ktuberling-18.04.0.tar.xz";
};
};
kturtle = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kturtle-17.12.3.tar.xz";
- sha256 = "1m7pppqy1c6kscy95hx284p0iinx00iafpihii8hl4bvvam2sws8";
- name = "kturtle-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kturtle-18.04.0.tar.xz";
+ sha256 = "0vm28xngj52l6fs7sd54wg4fhss131kh6ihs1ibnzi9in0hvga62";
+ name = "kturtle-18.04.0.tar.xz";
};
};
kubrick = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kubrick-17.12.3.tar.xz";
- sha256 = "0ls51xvkvxpr6pzpj67jmfbcwx7wrc9lyb149y59bmfbckc1cimp";
- name = "kubrick-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kubrick-18.04.0.tar.xz";
+ sha256 = "0as99qx9vi6zcx61kai7y3ym4vzm8r7ma4p0a2z8rxymps1nk3dy";
+ name = "kubrick-18.04.0.tar.xz";
};
};
kwalletmanager = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kwalletmanager-17.12.3.tar.xz";
- sha256 = "1lwslsx15ymyssnwl9yam26j3m5153sjyc4cvv5sxflk5wghaad1";
- name = "kwalletmanager-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kwalletmanager-18.04.0.tar.xz";
+ sha256 = "1f4124bm86aqbv36v961jca647vvxrlssq5ydnvi1yfx0saza94q";
+ name = "kwalletmanager-18.04.0.tar.xz";
};
};
kwave = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kwave-17.12.3.tar.xz";
- sha256 = "1wqhjdjc1cf1zjbgpxmiw60bxlxld7mikv1lkph750wygjkmnrng";
- name = "kwave-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kwave-18.04.0.tar.xz";
+ sha256 = "1bw6lcl95aqcvzp2z31krdaiq0hfhndicynarai58rcg2ngbsm53";
+ name = "kwave-18.04.0.tar.xz";
};
};
kwordquiz = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/kwordquiz-17.12.3.tar.xz";
- sha256 = "1w1z5hjg36jyzl247ff1xk4xhr49qhnkmcxhnyp8fsj5hq9in6xx";
- name = "kwordquiz-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/kwordquiz-18.04.0.tar.xz";
+ sha256 = "1rfr1hc6xkciyx5wknzikf4ml1sgcqj8lflxpksdsg9m5nk7w73y";
+ name = "kwordquiz-18.04.0.tar.xz";
};
};
libgravatar = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libgravatar-17.12.3.tar.xz";
- sha256 = "1862yzcmk1w9y1k83hkh749mhk9hlba7hdlsbbj8hmf3jb7hrczm";
- name = "libgravatar-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libgravatar-18.04.0.tar.xz";
+ sha256 = "1wzfvp5acdkpj37bg1hphy0fszvbakzx0azg56zk0h9526h6qrq1";
+ name = "libgravatar-18.04.0.tar.xz";
};
};
libkcddb = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkcddb-17.12.3.tar.xz";
- sha256 = "1qwizxb8y35qddiqvf0469gnjid2bc80dfnv4qixxs3ba094c2pi";
- name = "libkcddb-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkcddb-18.04.0.tar.xz";
+ sha256 = "1967in5041lyjapi3avlns1g7ps8sqvq547gw13snhkjn0dbs1aa";
+ name = "libkcddb-18.04.0.tar.xz";
};
};
libkcompactdisc = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkcompactdisc-17.12.3.tar.xz";
- sha256 = "1brz12j45vfb4xixr3lhn9fs1hbf723kc46psdg24yghfmx5j28v";
- name = "libkcompactdisc-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkcompactdisc-18.04.0.tar.xz";
+ sha256 = "01c1pmb2v7bd03jdkwdw4l37736ad8igrrwa9cf5jwg6q5ps9xgb";
+ name = "libkcompactdisc-18.04.0.tar.xz";
};
};
libkdcraw = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkdcraw-17.12.3.tar.xz";
- sha256 = "11p25ldv3ry4khb52mfay85wlfbrsvk6f52yx8shzvbzxyzxf0nc";
- name = "libkdcraw-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkdcraw-18.04.0.tar.xz";
+ sha256 = "04gc0m4ndkx02yavqmc5xh488rmxw5ppicv902iby0m9ywrjinik";
+ name = "libkdcraw-18.04.0.tar.xz";
};
};
libkdegames = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkdegames-17.12.3.tar.xz";
- sha256 = "1kh1wpdajzd1i3j0kr79npzq4w41gisn27k8v26dq1wy727vy4kd";
- name = "libkdegames-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkdegames-18.04.0.tar.xz";
+ sha256 = "09wxdvd2ahhh11ncylh5il5fbx1jx6jpwzp1r18cx5k71fw2idp6";
+ name = "libkdegames-18.04.0.tar.xz";
};
};
libkdepim = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkdepim-17.12.3.tar.xz";
- sha256 = "0zz86mnz73jj78gdfh0s19wfypb0xwxsvjcijbkr340diri5862q";
- name = "libkdepim-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkdepim-18.04.0.tar.xz";
+ sha256 = "0m3rlwdy010v4s3157w8jlb6ahcmn4frqxp1ibachpmz6y77gkkq";
+ name = "libkdepim-18.04.0.tar.xz";
};
};
libkeduvocdocument = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkeduvocdocument-17.12.3.tar.xz";
- sha256 = "0yqilmf61izbh44rsmspslnikawikxsq8nk8a4lvq9206yy6h11v";
- name = "libkeduvocdocument-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkeduvocdocument-18.04.0.tar.xz";
+ sha256 = "1g10c955gy0530xypr62x9dp4736s6qwr5afb90nlj8rhnq2zmbw";
+ name = "libkeduvocdocument-18.04.0.tar.xz";
};
};
libkexiv2 = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkexiv2-17.12.3.tar.xz";
- sha256 = "1xzrq9dn4x8afsf21sxqbsz1sk2vzp2g1ri5d5rz4vd1gj0sk3lg";
- name = "libkexiv2-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkexiv2-18.04.0.tar.xz";
+ sha256 = "11ydba6jdvyvp3j3zzy7gjcmz20zv6nwg07r00xgs34y9n50rhzy";
+ name = "libkexiv2-18.04.0.tar.xz";
};
};
libkgapi = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkgapi-17.12.3.tar.xz";
- sha256 = "015g1l4fkc5j403f0hak03iz2qi62gx4wlldm59hi1vgqq1xfp1y";
- name = "libkgapi-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkgapi-18.04.0.tar.xz";
+ sha256 = "0bp7y1wjajzzq6q3sygl2vxk685k5hmcvy1i42q5fph28q2b0dli";
+ name = "libkgapi-18.04.0.tar.xz";
};
};
libkgeomap = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkgeomap-17.12.3.tar.xz";
- sha256 = "1064yl3whr8g9qyirpgzvag2z4lal4qyljvlapfq3mpa3jxpcwdi";
- name = "libkgeomap-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkgeomap-18.04.0.tar.xz";
+ sha256 = "0814ql6xpj02sirmz9crn649rabqclhzjnrlk47isgjwsgk5kqmh";
+ name = "libkgeomap-18.04.0.tar.xz";
};
};
libkipi = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkipi-17.12.3.tar.xz";
- sha256 = "0qqvrg1nvzcrxjvm1grxzm0vk7s9j1kzf73dk41cmvgwv9wirlgq";
- name = "libkipi-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkipi-18.04.0.tar.xz";
+ sha256 = "10d7yb6psrj1xl34pkhw6fpmja7mk8bkq80id0snc5nxlr0v1jdb";
+ name = "libkipi-18.04.0.tar.xz";
};
};
libkleo = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkleo-17.12.3.tar.xz";
- sha256 = "0pp72ba58vwl1m9i72gdghbk3r5sa0pm8y7q9hz4a5qv919iny2k";
- name = "libkleo-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkleo-18.04.0.tar.xz";
+ sha256 = "179abszgi7nm763cvyqi2274x7107vb4irblsdfkqmlp924xssdd";
+ name = "libkleo-18.04.0.tar.xz";
};
};
libkmahjongg = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkmahjongg-17.12.3.tar.xz";
- sha256 = "10j9r8mb5x90zv91m32q0in2brqcwl3h7kv7lr6dqhd6jjmrx4gd";
- name = "libkmahjongg-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkmahjongg-18.04.0.tar.xz";
+ sha256 = "1grsyjsghjk3ikj7lpib3k94qcsz6r1l3czcawwamf2m83jydk2k";
+ name = "libkmahjongg-18.04.0.tar.xz";
};
};
libkomparediff2 = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libkomparediff2-17.12.3.tar.xz";
- sha256 = "0w6p8lvm2rn7y4qz0x3s87lwh1758xnyhwkkkng55n8v9rpjjw7l";
- name = "libkomparediff2-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libkomparediff2-18.04.0.tar.xz";
+ sha256 = "0vzq25q9hihv8np0l0jdyfipf3w86wm6y7n46dhhqkqw380wrxwy";
+ name = "libkomparediff2-18.04.0.tar.xz";
};
};
libksane = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libksane-17.12.3.tar.xz";
- sha256 = "1rnxywpljiw4fb6djlm486z98l5f7vlwca0i0q99rj17gkxlddk2";
- name = "libksane-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libksane-18.04.0.tar.xz";
+ sha256 = "1vc7z3dzr0nk3rrfq96p6phbb3rfnkn6wpjnzmc66f4mvq96hn7i";
+ name = "libksane-18.04.0.tar.xz";
};
};
libksieve = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/libksieve-17.12.3.tar.xz";
- sha256 = "1cp1bfw2xd5fsnw5z061vfg8wbvv1bqk2lvcyvxgvm1im7892433";
- name = "libksieve-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/libksieve-18.04.0.tar.xz";
+ sha256 = "16x419wzpyl9jj4q49rwmfm75x6minwrg0jvkad5kh541r52a5bn";
+ name = "libksieve-18.04.0.tar.xz";
};
};
lokalize = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/lokalize-17.12.3.tar.xz";
- sha256 = "0n5f7myv45446kfpcaw7y278xsjxq5hnamfhc20h24m9pflp7bp9";
- name = "lokalize-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/lokalize-18.04.0.tar.xz";
+ sha256 = "19j0jqn3xzawsyy4fzsy3c2hrjp9920bihzpbq8yalws6w0v8li4";
+ name = "lokalize-18.04.0.tar.xz";
};
};
lskat = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/lskat-17.12.3.tar.xz";
- sha256 = "0n4kma0llqbgzcqsm7rb5rjidn8wlal9ay26041mic9hk51s3bm0";
- name = "lskat-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/lskat-18.04.0.tar.xz";
+ sha256 = "1dk73c6v5h5abx5244rnjjfxi2cn2sya1jav3020nif111c2c9f7";
+ name = "lskat-18.04.0.tar.xz";
};
};
mailcommon = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/mailcommon-17.12.3.tar.xz";
- sha256 = "17m54i4a9kn8lmpj3b42q2q9gqrympl9z2lgbhsacmak9aqrv94f";
- name = "mailcommon-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/mailcommon-18.04.0.tar.xz";
+ sha256 = "10psdddw3wzyalh5662rvq68l8i9sxmcl5pavgn03np3g3fws8fd";
+ name = "mailcommon-18.04.0.tar.xz";
};
};
mailimporter = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/mailimporter-17.12.3.tar.xz";
- sha256 = "1q93lc98ak5kzz762ih906g0jj0vnib97x39sqq4awspy4a825pc";
- name = "mailimporter-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/mailimporter-18.04.0.tar.xz";
+ sha256 = "0wwclx24bfczqxvcf5jdfpqa9cx0dv9ygsj5blaqk9g5pgych5hi";
+ name = "mailimporter-18.04.0.tar.xz";
};
};
marble = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/marble-17.12.3.tar.xz";
- sha256 = "1pgqnvdmx7s33m2wyz73lwlpbjh9qfc3aqk532lznz3ncc54n07i";
- name = "marble-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/marble-18.04.0.tar.xz";
+ sha256 = "0q1dr2p4qwcik86fcr0jqvplkwfnj14fysqcqk2pwwdkfnqlsppv";
+ name = "marble-18.04.0.tar.xz";
};
};
mbox-importer = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/mbox-importer-17.12.3.tar.xz";
- sha256 = "16gkjgqjh91kx2rgjz4idm888q6fxycqdmwy6bmks825260426rp";
- name = "mbox-importer-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/mbox-importer-18.04.0.tar.xz";
+ sha256 = "1kai38svb4bsj1kfhyv94sgxqavj4fgb4laxl2sxvwah3rk6avd5";
+ name = "mbox-importer-18.04.0.tar.xz";
};
};
messagelib = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/messagelib-17.12.3.tar.xz";
- sha256 = "1pmdzyd8jka9wrflzv7lrr03nqf4r4vli2imhmg5hhjknn2b0ald";
- name = "messagelib-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/messagelib-18.04.0.tar.xz";
+ sha256 = "14nn6aw1831j0iwwb7d4swxh6i4855izglmifq2ijsbpbdqsq5p2";
+ name = "messagelib-18.04.0.tar.xz";
};
};
minuet = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/minuet-17.12.3.tar.xz";
- sha256 = "1ahrcpkbs49kyhq0l5fcacn49pqfczy1b9zvydxmld5kxlpz7w8b";
- name = "minuet-17.12.3.tar.xz";
- };
- };
- okteta = {
- version = "17.12.3";
- src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/okteta-17.12.3.tar.xz";
- sha256 = "03wsv83l1cay2dpcsksad124wzan7kh8zxdw1h0yicn398kdbck4";
- name = "okteta-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/minuet-18.04.0.tar.xz";
+ sha256 = "0fdyv0qbj04pxsbyvrmbqs7bff7cld28iyw7n8lgv2gdm3n45vbh";
+ name = "minuet-18.04.0.tar.xz";
};
};
okular = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/okular-17.12.3.tar.xz";
- sha256 = "0786kr75ly0h2jwabhzz3fc15swn8n90g1w3l27kphch5nf584ha";
- name = "okular-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/okular-18.04.0.tar.xz";
+ sha256 = "1ywzpdahnfc0ydvpidphdyh61ql7zwk4m6cpfj2zg9njh276w1d8";
+ name = "okular-18.04.0.tar.xz";
};
};
palapeli = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/palapeli-17.12.3.tar.xz";
- sha256 = "11kjj85axc7l1l1ip0gcf5p7f7g9rfwyn476wz25prsr2g2ijgln";
- name = "palapeli-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/palapeli-18.04.0.tar.xz";
+ sha256 = "0m4h5h15qcqdhlrsi73c8jxkb3zhz07m2jw3r37603w4g6jk9g8b";
+ name = "palapeli-18.04.0.tar.xz";
};
};
parley = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/parley-17.12.3.tar.xz";
- sha256 = "0swb7371vz9cxr2588hgcdxa5bmdb9n7h1yvmw28fbzgz98ax7g6";
- name = "parley-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/parley-18.04.0.tar.xz";
+ sha256 = "0h87zfqssbbvwyvar9yf8hv53bdpv7arncs63l6hfr6ajspla9if";
+ name = "parley-18.04.0.tar.xz";
};
};
picmi = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/picmi-17.12.3.tar.xz";
- sha256 = "04cza4rvgzzvrzzw27n74k7kiwm7amcg12k97fr1rvlpd5irh2vn";
- name = "picmi-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/picmi-18.04.0.tar.xz";
+ sha256 = "1pxa4xql2c78n0jqswgll2hpfn33fgw6yz7g8ydgn5nnbcsfhs6r";
+ name = "picmi-18.04.0.tar.xz";
};
};
pimcommon = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/pimcommon-17.12.3.tar.xz";
- sha256 = "1yav8flw6rf5qdwgys3zkmijp81p56hwn6cd71ckfzdrjm11kikq";
- name = "pimcommon-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/pimcommon-18.04.0.tar.xz";
+ sha256 = "0xnh0xys4sfqashimc1zsdxbssd3821bp9cx6hb0d8l3bq5x2vrp";
+ name = "pimcommon-18.04.0.tar.xz";
};
};
pim-data-exporter = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/pim-data-exporter-17.12.3.tar.xz";
- sha256 = "0j5ynb0y602lnl571i247dbxna7xjqfphl7bcfqmg09ipjhxvk5b";
- name = "pim-data-exporter-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/pim-data-exporter-18.04.0.tar.xz";
+ sha256 = "0isr1hv74n9mbihirk4qr109d4shh42k8jgcy9v2hmkplq72vwc7";
+ name = "pim-data-exporter-18.04.0.tar.xz";
};
};
pim-sieve-editor = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/pim-sieve-editor-17.12.3.tar.xz";
- sha256 = "0bkd5qsrabwg5imnif8z0hvhsk00a2n23238f9y14g963bhyw4pp";
- name = "pim-sieve-editor-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/pim-sieve-editor-18.04.0.tar.xz";
+ sha256 = "0q1f72mb925qzikqfpv74dcc5f9ipxszvm0z05lsp1dhrmz1pf9a";
+ name = "pim-sieve-editor-18.04.0.tar.xz";
};
};
poxml = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/poxml-17.12.3.tar.xz";
- sha256 = "0r8wm2x13ayb3mi69c35plvwzw7r9525idk3indsxc0rhv5qkhfp";
- name = "poxml-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/poxml-18.04.0.tar.xz";
+ sha256 = "1rwr1ldrkwyfxm56i16mpq0vmqiq2397gcbzg4skqpc727s55nlv";
+ name = "poxml-18.04.0.tar.xz";
};
};
print-manager = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/print-manager-17.12.3.tar.xz";
- sha256 = "0w1snq5ca7hza3x4gp17skia6g8yvarn9g3qacfwp13vad4v8zj7";
- name = "print-manager-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/print-manager-18.04.0.tar.xz";
+ sha256 = "1x70xia2rph40flx4r3cpxcvxfzny83v87l4kgc1n0khavhp9lpx";
+ name = "print-manager-18.04.0.tar.xz";
};
};
rocs = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/rocs-17.12.3.tar.xz";
- sha256 = "1dfg0klvix2mgnvw3dkh13694iac5jf0jk8rm9ssxcaljvix7h46";
- name = "rocs-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/rocs-18.04.0.tar.xz";
+ sha256 = "0q0q9bnmsw23jdbrxrkmmjvyr5jv4s1z8v9h7nsaxqs1k2prflp4";
+ name = "rocs-18.04.0.tar.xz";
};
};
signon-kwallet-extension = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/signon-kwallet-extension-17.12.3.tar.xz";
- sha256 = "0r9whz7p6v9wgbycdxzgxfm1ngxhjk4dzir5k5fqvmb6wrg05v4m";
- name = "signon-kwallet-extension-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/signon-kwallet-extension-18.04.0.tar.xz";
+ sha256 = "04r92pc8l2vw1dc916n658484v14smqrgg4ngx6rccffm58jfvk0";
+ name = "signon-kwallet-extension-18.04.0.tar.xz";
};
};
spectacle = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/spectacle-17.12.3.tar.xz";
- sha256 = "12g976ys2ga88n0a45zqkai28bmxw0vxy2qlgdmx7mxvkpwlccyr";
- name = "spectacle-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/spectacle-18.04.0.tar.xz";
+ sha256 = "1slqgp1rgzcw4nikh6zmxpp3yc04dfbjcqqx2j4wpa1p2xwfv0c2";
+ name = "spectacle-18.04.0.tar.xz";
};
};
step = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/step-17.12.3.tar.xz";
- sha256 = "161r0abz18s32xpn8x2j5diwb6p4hggvlnv7p9yk1z3qm3fyj46v";
- name = "step-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/step-18.04.0.tar.xz";
+ sha256 = "048f4n24819vj41a0hdabmqvw6k7wkwwicz0q0slvfqws5c3h1l4";
+ name = "step-18.04.0.tar.xz";
};
};
svgpart = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/svgpart-17.12.3.tar.xz";
- sha256 = "1rcfdkpinqdbz7js7p9h0lxmnvln4y95af1icq2871w7mg4fzsf5";
- name = "svgpart-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/svgpart-18.04.0.tar.xz";
+ sha256 = "1yf535ry8xc7lqhcavn2kjmjs0ngkwinm369q0qp7hfddcpsyfbp";
+ name = "svgpart-18.04.0.tar.xz";
};
};
sweeper = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/sweeper-17.12.3.tar.xz";
- sha256 = "1pwjv4knj0by0sn8j788cxg3sl3vm0gql49yv47bansrvs458n4x";
- name = "sweeper-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/sweeper-18.04.0.tar.xz";
+ sha256 = "1yf1xfbv516ia3aqj3l8qcdsbjac9pnm8qb23l26g6n3jnq4b331";
+ name = "sweeper-18.04.0.tar.xz";
};
};
syndication = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/syndication-17.12.3.tar.xz";
- sha256 = "1bq220ir09sszj31xi8sk116k9xkhkmnmahigc73qc3hvgq0x808";
- name = "syndication-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/syndication-18.04.0.tar.xz";
+ sha256 = "11fx8f9sfc51w5dg6mylbvk0yaaxvc9y2dsg9xxasiw8v6rjjq3n";
+ name = "syndication-18.04.0.tar.xz";
};
};
umbrello = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/umbrello-17.12.3.tar.xz";
- sha256 = "0j3qwisq9aqvgpqx54jd4idspbgvl72xffb8qn3wwyky9jpnmhr0";
- name = "umbrello-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/umbrello-18.04.0.tar.xz";
+ sha256 = "1lbf82j04j8qax7qnsqwsjrz1m4yq0ca6xc9fdhmvkpnzn5z9ydp";
+ name = "umbrello-18.04.0.tar.xz";
};
};
zeroconf-ioslave = {
- version = "17.12.3";
+ version = "18.04.0";
src = fetchurl {
- url = "${mirror}/stable/applications/17.12.3/src/zeroconf-ioslave-17.12.3.tar.xz";
- sha256 = "1glhci1vivkx3nvk6zwf2z09dii81vr5lcp3xf0aafl4p1vlxi3i";
- name = "zeroconf-ioslave-17.12.3.tar.xz";
+ url = "${mirror}/stable/applications/18.04.0/src/zeroconf-ioslave-18.04.0.tar.xz";
+ sha256 = "0lqh70bmlrj22d82vhm5a9ylm2yj9rz4zgncfwrh9952q1xkzl22";
+ name = "zeroconf-ioslave-18.04.0.tar.xz";
};
};
}
diff --git a/pkgs/applications/misc/calibre/no_updates_dialog.patch b/pkgs/applications/misc/calibre/no_updates_dialog.patch
index 4d37c3b642f5..faaaf2c19949 100644
--- a/pkgs/applications/misc/calibre/no_updates_dialog.patch
+++ b/pkgs/applications/misc/calibre/no_updates_dialog.patch
@@ -13,15 +13,3 @@ diff -burN calibre-2.9.0.orig/src/calibre/gui2/main.py calibre-2.9.0/src/calibre
parser.add_option('--ignore-plugins', default=False, action='store_true',
help=_('Ignore custom plugins, useful if you installed a plugin'
' that is preventing calibre from starting'))
-diff -burN calibre-2.9.0.orig/src/calibre/gui2/update.py calibre-2.9.0/src/calibre/gui2/update.py
---- calibre-2.9.0.orig/src/calibre/gui2/update.py 2014-11-09 20:09:54.082231864 +0800
-+++ calibre-2.9.0/src/calibre/gui2/update.py 2014-11-09 20:17:49.954767115 +0800
-@@ -154,6 +154,8 @@
- self.update_checker.signal.update_found.connect(self.update_found,
- type=Qt.QueuedConnection)
- self.update_checker.start()
-+ else:
-+ self.update_checker = None
-
- def recalc_update_label(self, number_of_plugin_updates):
- self.update_found(self.last_newest_calibre_version, number_of_plugin_updates)
diff --git a/pkgs/applications/misc/chirp/default.nix b/pkgs/applications/misc/chirp/default.nix
index 22d659dd10e4..b8fc63c2c9ed 100644
--- a/pkgs/applications/misc/chirp/default.nix
+++ b/pkgs/applications/misc/chirp/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
version = "20180412";
src = fetchurl {
- url = "http://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
+ url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
sha256 = "17wpxqzifz6grw9xzg9q9vr58vm2xd50fhd64c3ngdhxcnq2dpj9";
};
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A free, open-source tool for programming your amateur radio";
- homepage = http://chirp.danplanet.com/;
+ homepage = https://chirp.danplanet.com/;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.the-kenny ];
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 002d8fc8f23b..edc1497294fc 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
stdenv.mkDerivation rec {
name = "dbeaver-ce-${version}";
- version = "5.0.3";
+ version = "5.0.4";
desktopItem = makeDesktopItem {
name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://dbeaver.jkiss.org/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
- sha256 = "0pk40jzmd23cv690a8wslxbb4xp4msq2zwh7xm0hvs64ykm9a581";
+ sha256 = "0dfs2xa490dypp4qz8v0wj6d2bjnfqhjmlskpzrf8ih416lz1bd3";
};
installPhase = ''
diff --git a/pkgs/applications/misc/gcal/default.nix b/pkgs/applications/misc/gcal/default.nix
index 67bb5feff8c7..f3f7fe2aacba 100644
--- a/pkgs/applications/misc/gcal/default.nix
+++ b/pkgs/applications/misc/gcal/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
'';
homepage = https://www.gnu.org/software/gcal/;
license = stdenv.lib.licenses.gpl3Plus;
- platforms = stdenv.lib.platforms.linux;
+ platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.romildo ];
};
}
diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix
index d3ba5a97333a..6a7a7ae604de 100644
--- a/pkgs/applications/misc/gcalcli/default.nix
+++ b/pkgs/applications/misc/gcalcli/default.nix
@@ -1,7 +1,38 @@
-{ stdenv, lib, fetchFromGitHub, pythonPackages
+{ stdenv, lib, fetchFromGitHub, python2
, libnotify ? null }:
-pythonPackages.buildPythonApplication rec {
+let
+ py = python2.override {
+ packageOverrides = self: super: {
+ google_api_python_client = super.google_api_python_client.overridePythonAttrs (oldAttrs: rec {
+ version = "1.5.1";
+ src = oldAttrs.src.override {
+ inherit version;
+ sha256 = "1ggxk094vqr4ia6yq7qcpa74b4x5cjd5mj74rq0xx9wp2jkrxmig";
+ };
+ });
+
+ oauth2client = super.oauth2client.overridePythonAttrs (oldAttrs: rec {
+ version = "1.4.12";
+ src = oldAttrs.src.override {
+ inherit version;
+ sha256 = "0phfk6s8bgpap5xihdk1xv2lakdk1pb3rg6hp2wsg94hxcxnrakl";
+ };
+ });
+
+ uritemplate = super.uritemplate.overridePythonAttrs (oldAttrs: rec {
+ version = "0.6";
+ src = oldAttrs.src.override {
+ inherit version;
+ sha256 = "1zapwg406vkwsirnzc6mwq9fac4az8brm6d9bp5xpgkyxc5263m3";
+ };
+ # there are no checks in this version
+ doCheck = false;
+ });
+ };
+ };
+
+in with py.pkgs; buildPythonApplication rec {
version = "3.4.0";
name = "gcalcli-${version}";
@@ -12,27 +43,21 @@ pythonPackages.buildPythonApplication rec {
sha256 = "171awccgnmfv4j7m2my9387sjy60g18kzgvscl6pzdid9fn9rrm8";
};
- propagatedBuildInputs = with pythonPackages; [
- dateutil
- gflags
- google_api_python_client
- httplib2
- oauth2client
- parsedatetime
- six
- vobject
- ]
- ++ lib.optional (!pythonPackages.isPy3k) futures;
-
- # there are no tests as of 3.4.0
- doCheck = false;
+ propagatedBuildInputs = [
+ dateutil gflags httplib2 parsedatetime six vobject
+ # overridden
+ google_api_python_client oauth2client uritemplate
+ ] ++ lib.optional (!isPy3k) futures;
postInstall = lib.optionalString stdenv.isLinux ''
- substituteInPlace $out/bin/gcalcli \
- --replace "command = 'notify-send -u critical -a gcalcli %s'" \
- "command = '${libnotify}/bin/notify-send -i view-calendar-upcoming-events -u critical -a Calendar %s'"
+ substituteInPlace $out/bin/gcalcli --replace \
+ "command = 'notify-send -u critical -a gcalcli %s'" \
+ "command = '${libnotify}/bin/notify-send -i view-calendar-upcoming-events -u critical -a Calendar %s'"
'';
+ # There are no tests as of 3.4.0
+ doCheck = false;
+
meta = with lib; {
homepage = https://github.com/insanum/gcalcli;
description = "CLI for Google Calendar";
diff --git a/pkgs/applications/misc/gpa/default.nix b/pkgs/applications/misc/gpa/default.nix
index ef805a31567a..149092c70d38 100644
--- a/pkgs/applications/misc/gpa/default.nix
+++ b/pkgs/applications/misc/gpa/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
description = "Graphical user interface for the GnuPG";
homepage = https://www.gnupg.org/related_software/gpa/;
license = licenses.gpl3Plus;
- platforms = platforms.linux;
+ platforms = platforms.unix;
};
}
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 5f219dc4752c..50f575d15cec 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -51,7 +51,7 @@ in buildPythonApplication rec {
meta = with stdenv.lib; {
description = "Genealogy software";
- homepage = http://gramps-project.org;
+ homepage = https://gramps-project.org;
license = licenses.gpl2;
};
}
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix
index 17837c6c254e..c34f0e48f3ec 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/misc/guake/default.nix
@@ -2,7 +2,7 @@
, gtk3, keybinder3, libnotify, libutempter, vte }:
let
- version = "3.2.0";
+ version = "3.2.1";
in python3.pkgs.buildPythonApplication rec {
name = "guake-${version}";
format = "other";
@@ -11,7 +11,7 @@ in python3.pkgs.buildPythonApplication rec {
owner = "Guake";
repo = "guake";
rev = version;
- sha256 = "1qghapg9sslj9fdrl2mnbi10lgqgqa36gdag74wn7as9wak4qc3d";
+ sha256 = "0qzrkmjizpc3kirvhml62wya1sr3pbig25nfcrfhk1hhr3jxq17s";
};
nativeBuildInputs = [ gettext gobjectIntrospection wrapGAppsHook python3.pkgs.pip glibcLocales ];
@@ -24,6 +24,12 @@ in python3.pkgs.buildPythonApplication rec {
PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var
+ postPatch = ''
+ # unnecessary /usr/bin/env in Makefile
+ # https://github.com/Guake/guake/pull/1285
+ substituteInPlace "Makefile" --replace "/usr/bin/env python3" "python3"
+ '';
+
makeFlags = [
"prefix=$(out)"
];
diff --git a/pkgs/applications/misc/ipmicfg/default.nix b/pkgs/applications/misc/ipmicfg/default.nix
index 2efd0ee969f1..af7d257eed6e 100644
--- a/pkgs/applications/misc/ipmicfg/default.nix
+++ b/pkgs/applications/misc/ipmicfg/default.nix
@@ -15,9 +15,10 @@ stdenv.mkDerivation rec {
mkdir -p "$out/bin" "$out/opt/ipmicfg"
cp Linux/64bit/* "$out/opt/ipmicfg"
- patchelf "$out/opt/ipmicfg/IPMICFG-Linux.x86_64" \
+ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
- --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}"
+ --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" \
+ "$out/opt/ipmicfg/IPMICFG-Linux.x86_64"
ln -s "$out/opt/ipmicfg/IPMICFG-Linux.x86_64" "$out/bin/ipmicfg"
'';
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index 52f1c9fb1a1d..496353325255 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -5,7 +5,7 @@
with python3Packages;
buildPythonApplication rec {
- version = "0.8.2";
+ version = "0.9.0";
name = "kitty-${version}";
format = "other";
@@ -13,7 +13,7 @@ buildPythonApplication rec {
owner = "kovidgoyal";
repo = "kitty";
rev = "v${version}";
- sha256 = "08s8l59bib363ykg4djcxrc1968n5j1cjlp6fwwv7xmf18wd1a6c";
+ sha256 = "0q6dwwzq1qq3rgh4myxhidgk4bj1p23bhaw5cxb1q0hdgpc54ni8";
};
buildInputs = [
diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix
index 36527cdbe7c3..662ca9761fb2 100644
--- a/pkgs/applications/misc/lilyterm/default.nix
+++ b/pkgs/applications/misc/lilyterm/default.nix
@@ -15,7 +15,7 @@ let
then rec {
version = "0.9.9.4";
src = fetchurl {
- url = "http://lilyterm.luna.com.tw/file/lilyterm-${version}.tar.gz";
+ url = "https://lilyterm.luna.com.tw/file/lilyterm-${version}.tar.gz";
sha256 = "0x2x59qsxq6d6xg5sd5lxbsbwsdvkwqlk17iw3h4amjg3m1jc9mp";
};
}
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
longDescription = ''
LilyTerm is a terminal emulator based off of libvte that aims to be fast and lightweight.
'';
- homepage = http://lilyterm.luna.com.tw/;
+ homepage = https://lilyterm.luna.com.tw/;
license = licenses.gpl3;
maintainers = with maintainers; [ AndersonTorres Profpatsch ];
platforms = platforms.linux;
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index 5ea49f28afd8..525be09d9686 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -1,52 +1,42 @@
-{ stdenv, fetchurl, glibc, sane-backends, qtbase, qtsvg, libXext, libX11, libXdmcp, libXau, libxcb }:
- let
- version = "4.3.89";
- in
- stdenv.mkDerivation {
- name = "masterpdfeditor-${version}";
- src = fetchurl {
- url = "http://get.code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
- sha256 = "0k5bzlhqglskiiq86nmy18mnh5bf2w3mr9cq3pibrwn5pisxnxxc";
- };
- libPath = stdenv.lib.makeLibraryPath [
- stdenv.cc.cc
- glibc
- sane-backends
- qtbase
- qtsvg
- libXext
- libX11
- libXdmcp
- libXau
- libxcb
- ];
- dontStrip = true;
- installPhase = ''
- p=$out/opt/masterpdfeditor
- mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps
+{ stdenv, fetchurl, glibc, sane-backends, qtbase, qtsvg, libXext, libX11, libXdmcp, libXau, libxcb, autoPatchelfHook }:
+let
+ version = "4.3.89";
+in stdenv.mkDerivation {
+ name = "masterpdfeditor-${version}";
+ src = fetchurl {
+ url = "http://get.code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
+ sha256 = "0k5bzlhqglskiiq86nmy18mnh5bf2w3mr9cq3pibrwn5pisxnxxc";
+ };
- substituteInPlace masterpdfeditor4.desktop \
- --replace 'Exec=/opt/master-pdf-editor-4' "Exec=$out/bin" \
- --replace 'Path=/opt/master-pdf-editor-4' "Path=$out/bin" \
- --replace 'Icon=/opt/master-pdf-editor-4' "Icon=$out/share/pixmaps"
- cp -v masterpdfeditor4.png $out/share/pixmaps/
- cp -v masterpdfeditor4.desktop $out/share/applications
+ nativeBuildInputs = [ autoPatchelfHook ];
- cp -v masterpdfeditor4 $p/
- ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4
- cp -v -r stamps templates lang fonts $p
+ buildInputs = [ sane-backends qtbase qtsvg ];
- install -D license.txt $out/share/$name/LICENSE
+ dontStrip = true;
- patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
- --set-rpath $libPath \
- $p/masterpdfeditor4
- '';
- meta = with stdenv.lib; {
- description = "Master PDF Editor";
- homepage = "https://code-industry.net/free-pdf-editor/";
- license = licenses.unfreeRedistributable;
- platforms = with platforms; [ "x86_64-linux" ];
- maintainers = with maintainers; [ cmcdragonkai flokli ];
- };
- }
+ installPhase = ''
+ p=$out/opt/masterpdfeditor
+ mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps
+
+ substituteInPlace masterpdfeditor4.desktop \
+ --replace 'Exec=/opt/master-pdf-editor-4' "Exec=$out/bin" \
+ --replace 'Path=/opt/master-pdf-editor-4' "Path=$out/bin" \
+ --replace 'Icon=/opt/master-pdf-editor-4' "Icon=$out/share/pixmaps"
+ cp -v masterpdfeditor4.png $out/share/pixmaps/
+ cp -v masterpdfeditor4.desktop $out/share/applications
+
+ cp -v masterpdfeditor4 $p/
+ ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4
+ cp -v -r stamps templates lang fonts $p
+
+ install -D license.txt $out/share/$name/LICENSE
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Master PDF Editor";
+ homepage = "https://code-industry.net/free-pdf-editor/";
+ license = licenses.unfreeRedistributable;
+ platforms = with platforms; [ "x86_64-linux" ];
+ maintainers = with maintainers; [ cmcdragonkai flokli ];
+ };
+}
diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix
index 02c18109abc2..67e6ed3fa9ce 100644
--- a/pkgs/applications/misc/mwic/default.nix
+++ b/pkgs/applications/misc/mwic/default.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, pythonPackages }:
stdenv.mkDerivation rec {
- version = "0.7.4";
+ version = "0.7.5";
name = "mwic-${version}";
src = fetchurl {
url = "https://github.com/jwilk/mwic/releases/download/${version}/${name}.tar.gz";
- sha256 = "0c0xk7wx4vaamlry6srdixw1q6afmqznvxdzcg1skr0qjypw5i5q";
+ sha256 = "1b4fz9vs0aihg9nj9aj6d2jmykpa9nxi9rvz06v50wwk515plpmc";
};
makeFlags=["PREFIX=\${out}"];
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index d4847e4ce493..de64705d832b 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -88,6 +88,7 @@ in python3.pkgs.buildPythonApplication rec {
nativeBuildInputs = [
glibcLocales
+ gobjectIntrospection # populate GI_TYPELIB_PATH
intltool
pkgconfig
];
diff --git a/pkgs/applications/misc/pdf-quench/default.nix b/pkgs/applications/misc/pdf-quench/default.nix
new file mode 100644
index 000000000000..c567a7903b81
--- /dev/null
+++ b/pkgs/applications/misc/pdf-quench/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, pkgs, pythonPackages, wrapGAppsHook}:
+
+pythonPackages.buildPythonApplication rec {
+ name = "pdf-quench-${version}";
+ version = "1.0.5";
+
+ src = fetchFromGitHub {
+ owner = "linuxerwang";
+ repo = "pdf-quench";
+ rev = "b72b3970b371026f9a7ebe6003581e8a63af98f6";
+ sha256 = "1rp9rlwr6rarcsxygv5x2c5psgwl6r69k0lsgribgyyla9cf2m7n";
+ };
+
+ nativeBuildInputs = [ wrapGAppsHook ];
+ buildInputs = with pkgs; [
+ gtk3
+ gobjectIntrospection
+ goocanvas2
+ poppler_gi
+ ];
+ propagatedBuildInputs = with pythonPackages; [ pygobject3 pypdf2 ];
+
+ format = "other";
+ doCheck = false;
+
+ installPhase = ''
+ install -D -T -m 755 src/pdf_quench.py $out/bin/pdf-quench
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/linuxerwang/pdf-quench;
+ description = "A visual tool for cropping pdf files";
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ flokli ];
+ };
+}
diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix
index e3e7ff950b0c..f836ce5b8085 100644
--- a/pkgs/applications/misc/qpdfview/default.nix
+++ b/pkgs/applications/misc/qpdfview/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, qt4, pkgconfig, poppler_qt4, djvulibre, libspectre, cups
+{stdenv, fetchurl, qmake, qtbase, qtsvg, pkgconfig, poppler_qt5, djvulibre, libspectre, cups
, file, ghostscript
}:
let
@@ -10,9 +10,9 @@ let
url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
sha256 = "0zysjhr58nnmx7ba01q3zvgidkgcqxjdj4ld3gx5fc7wzvl1dm7s";
};
- nativeBuildInputs = [ pkgconfig ];
+ nativeBuildInputs = [ qmake pkgconfig ];
buildInputs = [
- qt4 poppler_qt4 djvulibre libspectre cups file ghostscript
+ qtbase qtsvg poppler_qt5 djvulibre libspectre cups file ghostscript
];
in
stdenv.mkDerivation {
@@ -21,13 +21,12 @@ stdenv.mkDerivation {
src = fetchurl {
inherit (s) url sha256;
};
- configurePhase = ''
- qmake *.pro
- for i in *.pro; do
- qmake "$i" -o "Makefile.$(basename "$i" .pro)"
- done
- sed -e "s@/usr/@$out/@g" -i Makefile*
+
+ # TODO: revert this once placeholder is supported
+ preConfigure = ''
+ qmakeFlags="$qmakeFlags *.pro TARGET_INSTALL_PATH=$out/bin PLUGIN_INSTALL_PATH=$out/lib/qpdfview DATA_INSTALL_PATH=$out/share/qpdfview MANUAL_INSTALL_PATH=$out/share/man/man1 ICON_INSTALL_PATH=$out/share/icons/hicolor/scalable/apps LAUNCHER_INSTALL_PATH=$out/share/applications APPDATA_INSTALL_PATH=$out/share/appdata"
'';
+
meta = {
inherit (s) version;
description = "A tabbed document viewer";
diff --git a/pkgs/applications/misc/vit/default.nix b/pkgs/applications/misc/vit/default.nix
index 37d7aeb88e61..40a399247e90 100644
--- a/pkgs/applications/misc/vit/default.nix
+++ b/pkgs/applications/misc/vit/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
meta = {
description = "Visual Interactive Taskwarrior";
maintainers = with pkgs.lib.maintainers; [ ];
- platforms = pkgs.lib.platforms.linux;
+ platforms = pkgs.lib.platforms.all;
license = pkgs.lib.licenses.gpl3;
};
}
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index 42d9e448991a..88adbfff3b9a 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "xmrig-${version}";
- version = "2.5.2";
+ version = "2.5.3";
src = fetchFromGitHub {
owner = "xmrig";
repo = "xmrig";
rev = "v${version}";
- sha256 = "1jc6vzqdl85pmiw5qv9b148kfw4k4wxn90ggylxfpfdv7czamh2c";
+ sha256 = "1f9z9akgaf27r5hjrsjw0clk47p7igi0slbg7z6c3rvy5q9kq0wp";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/yarssr/default.nix b/pkgs/applications/misc/yarssr/default.nix
new file mode 100644
index 000000000000..cadf5ccb6a48
--- /dev/null
+++ b/pkgs/applications/misc/yarssr/default.nix
@@ -0,0 +1,68 @@
+{
+fetchFromGitHub, stdenv, lib,
+autoreconfHook, intltool, pkgconfig, makeWrapper, pkgs,
+perl, perlPackages,
+gnome2 }:
+
+let
+ perlDeps = with perlPackages; [
+ Glib Gtk2 Gnome2 Pango Cairo Gnome2Canvas Gnome2VFS Gtk2GladeXML Gtk2TrayIcon
+ XMLLibXML XMLSAXBase XMLParser XMLRSS
+ HTMLParser
+ DateTime DateTimeFormatMail DateTimeFormatW3CDTF DateTimeLocale DateTimeTimeZone
+ ParamsValidate
+ ModuleImplementation ModuleRuntime
+ TryTiny
+ ClassSingleton
+ URI
+ AnyEvent AnyEventHTTP
+ CommonSense
+ FileSlurp
+ JSON
+ Guard
+ LocaleGettext
+ ];
+ libs = [
+ stdenv.cc.cc.lib
+ pkgs.gtk2
+ ];
+in
+stdenv.mkDerivation rec {
+ version = "git-2017-12-01";
+ name = "yarssr-${version}";
+
+ src = fetchFromGitHub {
+ owner = "JGRennison";
+ repo = "yarssr";
+ rev = "e70eb9fc6563599bfb91c6de6a79654de531c18d";
+ sha256 = "0x7hz8x8qyp3i1vb22zhcnvwxm3jhmmmlr22jqc5b09vpmbw1l45";
+ };
+
+ nativeBuildInputs = [ perl pkgs.gettext makeWrapper ];
+ buildInputs = perlDeps ++ [gnome2.libglade];
+ propagatedBuildInputs = libs ++ perlDeps;
+
+ installPhase = ''
+ DESTDIR=$out make install
+ mv $out/usr/* $out/
+ rm -R $out/usr
+ sed -i -r "s!use lib [^;]+;!use lib '$out/share/yarssr';!" $out/bin/yarssr
+ sed -i -r "s!$Yarssr::PREFIX = [^;]+;!$Yarssr::PREFIX = '$out';!" $out/bin/yarssr
+ sed -i -r "s!use Yarssr::Browser;!!" $out/share/yarssr/Yarssr/GUI.pm
+ chmod a+x $out/bin/yarssr
+ '';
+
+ postFixup = ''
+ wrapProgram $out/bin/yarssr \
+ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath libs} \
+ --set PERL5LIB "${lib.makePerlPath perlDeps}"
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/tsyrogit/zxcvbn-c;
+ description = "A fork of Yarssr (a RSS reader for the GNOME Tray) from http://yarssr.sf.net with various fixes.";
+ license = licenses.gpl1;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ xurei ];
+ };
+}
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index e35d894e0e7e..cca26b541240 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -51,5 +51,6 @@ mkChromiumDerivation (base: rec {
license = licenses.bsd3;
platforms = platforms.linux;
hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else [];
+ timeout = 86400; # 24 hours
};
})
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index b591d5d7ba0c..6403f5441f36 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -160,8 +160,9 @@ let
sha256 = "0dc4cmd05qjqyihrd4qb34kz0jlapjgah8bzgnvxf9m4791w062z";
})
] ++ optional enableWideVine ./patches/widevine.patch
- ++ optionals (stdenv.isAarch64 && versionRange "65" "66") [
+ ++ optionals (stdenv.isAarch64 && versionRange "65" "67") [
./patches/skia_buildfix.patch
+ ./patches/neon_buildfix.patch
];
postPatch = ''
diff --git a/pkgs/applications/networking/browsers/chromium/patches/neon_buildfix.patch b/pkgs/applications/networking/browsers/chromium/patches/neon_buildfix.patch
new file mode 100644
index 000000000000..b44487ca634c
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/neon_buildfix.patch
@@ -0,0 +1,21 @@
+diff --git a/skia/ext/convolver_neon.cc b/skia/ext/convolver_neon.cc
+index 26b91b9..cae6bc2 100644
+--- a/skia/ext/convolver_neon.cc
++++ b/skia/ext/convolver_neon.cc
+
+@@ -23,7 +23,7 @@
+ remainder[2] += coeff * pixels_left[i * 4 + 2];
+ remainder[3] += coeff * pixels_left[i * 4 + 3];
+ }
+- return {remainder[0], remainder[1], remainder[2], remainder[3]};
++ return vld1q_s32(remainder);
+ }
+
+ // Convolves horizontally along a single row. The row data is given in
+@@ -336,4 +336,4 @@
+ }
+ }
+
+-} // namespace skia
+\ No newline at end of file
++} // namespace skia
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 8a8abb42f55e..a2094305db55 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -340,7 +340,7 @@ stdenv.mkDerivation rec {
\
TMPDIR="\''${TMPDIR:-/tmp}" \
HOME="\$HOME" \
- XAUTHORITY="\$XAUTHORITY" \
+ XAUTHORITY="\''${XAUTHORITY:-}" \
DISPLAY="\$DISPLAY" \
DBUS_SESSION_BUS_ADDRESS="\$DBUS_SESSION_BUS_ADDRESS" \
\
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 2b5554353270..1a7ba3cf93df 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Production-Grade Container Scheduling and Management";
license = licenses.asl20;
- homepage = http://kubernetes.io;
+ homepage = https://kubernetes.io;
maintainers = with maintainers; [offline];
platforms = platforms.unix;
};
diff --git a/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix b/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix
new file mode 100644
index 000000000000..9764e029d277
--- /dev/null
+++ b/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+#
+# USAGE:
+# install the following package globally or in nix-shell:
+#
+# (terraform.withPlugins ( plugins: [ terraform-provider-ibm ]))
+#
+# examples:
+# https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples
+#
+
+buildGoPackage rec {
+ name = "terraform-provider-ibm-${version}";
+ version = "0.8.0";
+
+ goPackagePath = "github.com/terraform-providers/terraform-provider-ibm";
+ subPackages = [ "./" ];
+
+ src = fetchFromGitHub {
+ owner = "IBM-Cloud";
+ repo = "terraform-provider-ibm";
+ sha256 = "1jc1g2jadh02z4lfqnvgqk5cqrzk8pnn3cj3cwsm3ksa8pccf6w4";
+ rev = "v${version}";
+ };
+
+ # Terraform allow checking the provider versions, but this breaks
+ # if the versions are not provided via file paths.
+ postBuild = "mv go/bin/terraform-provider-ibm{,_v${version}}";
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/IBM-Cloud/terraform-provider-ibm;
+ description = "Terraform provider is used to manage IBM Cloud resources.";
+ platforms = platforms.all;
+ license = licenses.mpl20;
+ maintainers = with maintainers; [ jensbin ];
+ };
+}
diff --git a/pkgs/applications/networking/cluster/terraform/providers/data.nix b/pkgs/applications/networking/cluster/terraform/providers/data.nix
index 0a0b20bfd15d..7aed4b95dd45 100644
--- a/pkgs/applications/networking/cluster/terraform/providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform/providers/data.nix
@@ -4,8 +4,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-alicloud";
- version = "1.9.0";
- sha256 = "19jqyzpcnlraxzn8bvrjzsh81j7dfadswgxfsiqzxll9xbm0k2bv";
+ version = "1.9.1";
+ sha256 = "11rsvzyc74v14n7g0z1mwyykaz7m6bmvi38jx711b6vpxvm2scva";
};
archive =
{
@@ -32,8 +32,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-aws";
- version = "1.13.0";
- sha256 = "09ba2r3avqbl85s8llmgkk6gwgfkzm83994kd965r481xcnfv1ny";
+ version = "1.16.0";
+ sha256 = "0knivwxdjkxyaqka0vvn0lh2ndbg660dw2g03iw00fx6ska1zn0c";
};
azure-classic =
{
@@ -46,8 +46,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-azurerm";
- version = "1.3.1";
- sha256 = "1qpf2h9qnhki4lg9pv77r0sc4acj08m0fqqagkvkinq46ypsfbp4";
+ version = "1.4.0";
+ sha256 = "0g1i1aasi44zn5bdivzqkk1kshq271x2lydjskyqq7jfx27myibb";
};
bitbucket =
{
@@ -81,22 +81,22 @@
{
owner = "terraform-providers";
repo = "terraform-provider-cloudflare";
- version = "0.1.0";
- sha256 = "073j0kqkccj7yrqz6j4vx722vmy6mmvmgidamkjnhhjcwm6g1jbq";
+ version = "1.0.0";
+ sha256 = "1ar9wcgr45f2v6bqjn24zii0qwfppla8ya3gjc546sh1a7m0h9p3";
};
cloudscale =
{
owner = "terraform-providers";
repo = "terraform-provider-cloudscale";
- version = "1.0.0";
- sha256 = "0yqiz4xywbd3568hl6va8da81fbc1hnynlz4z0vqxgi3bs8hhdhz";
+ version = "1.0.1";
+ sha256 = "0lhzwbm1a2s11s0ahb3vxfvshh385fgy1ficvip4rl31dahhwrav";
};
cloudstack =
{
owner = "terraform-providers";
repo = "terraform-provider-cloudstack";
- version = "0.1.4";
- sha256 = "1dj6zkwv0bix31b8sjad9gil43m8c2c5d1dr10qza40f9z4agaxa";
+ version = "0.1.5";
+ sha256 = "139wq6rr6fczjz496fqkxh6cmscx5hfnv2hvhfwpkhvqipsnlxmq";
};
cobbler =
{
@@ -193,15 +193,15 @@
{
owner = "terraform-providers";
repo = "terraform-provider-google";
- version = "1.8.0";
- sha256 = "1n01gj9572hhskbl4bsg0fqyg9slv8fpvzp3avmwvg5b2hsj4snh";
+ version = "1.10.0";
+ sha256 = "08ayi30aqw9lz8qn982vl9m3z4prah60fqq2q9hvscf6qb9g8lr0";
};
grafana =
{
owner = "terraform-providers";
repo = "terraform-provider-grafana";
- version = "1.0.1";
- sha256 = "1dvd7dy039ranlkvnbililk2lzr6cffwc4jsgs6lk3hfxhrq8bns";
+ version = "1.0.2";
+ sha256 = "17pj4mm7ik9llhgckza822866x6986cdcr821f16dchvn3bfbf2i";
};
heroku =
{
@@ -263,8 +263,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-logentries";
- version = "0.1.0";
- sha256 = "11fkb84gqcq59wk5kqn3h428jrc2gkl659zxmkdldad6jdll9ypa";
+ version = "1.0.0";
+ sha256 = "04xprkb9zwdjyzmsdf10bgmn8sa8q7jw0izz8lw0cc9hag97qgbq";
};
logicmonitor =
{
@@ -308,6 +308,13 @@
version = "1.0.0";
sha256 = "0zjdhz6miwlg3b68pbd99c6nw7hhyzxy736734xz8g3w89xn18f5";
};
+ nsxt =
+ {
+ owner = "terraform-providers";
+ repo = "terraform-provider-nsxt";
+ version = "1.0.0";
+ sha256 = "09yliw59wp9flfgmkznbf4syl510wpxsplzr8sa9m2vw0yc78jnq";
+ };
null =
{
owner = "terraform-providers";
@@ -368,22 +375,22 @@
{
owner = "terraform-providers";
repo = "terraform-provider-packet";
- version = "1.2.0";
- sha256 = "0jk8wwm7srjxc3mspqd9szlq8fd63bhdgkzwdjr2fvv4ivj17xp4";
+ version = "1.2.3";
+ sha256 = "0vx2pvrxgpy137v3i563w0sdqqrqp6p6sls27fg76cfxrqik5dpk";
};
pagerduty =
{
owner = "terraform-providers";
repo = "terraform-provider-pagerduty";
- version = "1.0.0";
- sha256 = "113anbcpp8ab111jm19h7d9i5sds76msgnk8xvwk8qf6500ivfqa";
+ version = "1.1.0";
+ sha256 = "100zxmpgd5qbzivkc2ja75980yrlz0k50x7448wf1kp2inyylxq0";
};
panos =
{
owner = "terraform-providers";
repo = "terraform-provider-panos";
- version = "1.0.0";
- sha256 = "1pslp8pas1p90bmxp1yqmackqkbxrw2sgcm88ibz8l4k43vwks76";
+ version = "1.1.0";
+ sha256 = "1j3j0bdblw54g2l4xdwm9604n3qfb6zb4b8p081hs5nv004awka4";
};
postgresql =
{
@@ -424,8 +431,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-random";
- version = "1.1.0";
- sha256 = "1mal0pg37a99q0sjqbccwc2ipwvxm8lqp93lg8i96f868hiv4yzl";
+ version = "1.2.0";
+ sha256 = "00gzqav21h2x2spczwcddlwl0llhgy03djvjjq9g9wb5yvcf4yll";
};
rundeck =
{
@@ -438,8 +445,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-scaleway";
- version = "1.2.0";
- sha256 = "123rjvslq7gy2m96rikm0i2298jjpsnyh9civbyvbxj3h47z9h4v";
+ version = "1.3.0";
+ sha256 = "1yd2xdr52z0f3ykfhsfgf57zzhjglci8mvbimdf6z8xmdgfhwjbf";
};
softlayer =
{
@@ -487,8 +494,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-triton";
- version = "0.4.2";
- sha256 = "0nid5sp8xskw5wmc0dbkw6m87bmyb37p9ck9xm74nrvdzqjxz5ml";
+ version = "0.5.0";
+ sha256 = "1cbv4bliswiwbhr9bh2m4faazhj0v89jnwn0fndfjw3rka1b97h7";
};
ultradns =
{
@@ -501,8 +508,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-vault";
- version = "1.0.0";
- sha256 = "1v4b8zs0s48gqgsh719hwi69i4h8i5vvp2g5m881z5yzv7n7haqw";
+ version = "1.1.0";
+ sha256 = "1g0cca662glqcz83l1skhj3nb7g386x65kwz95kyp59nvyxywvbq";
};
vcd =
{
@@ -515,7 +522,7 @@
{
owner = "terraform-providers";
repo = "terraform-provider-vsphere";
- version = "1.3.3";
- sha256 = "1z6v8hagpjm8573d36v3nak5h7hn3jyq2f4m93k1adygvs3n9yx7";
+ version = "1.4.1";
+ sha256 = "16dgszmcsfzbflqg053av1v8wgwy8m6f2qlk55fg3ww1a59c0wy1";
};
}
diff --git a/pkgs/applications/networking/ids/snort/default.nix b/pkgs/applications/networking/ids/snort/default.nix
index e3a917a12eb3..ff19a62ef306 100644
--- a/pkgs/applications/networking/ids/snort/default.nix
+++ b/pkgs/applications/networking/ids/snort/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Network intrusion prevention and detection system (IDS/IPS)";
- homepage = http://www.snort.org;
+ homepage = https://www.snort.org;
maintainers = with stdenv.lib.maintainers; [ aycanirican ];
license = stdenv.lib.licenses.gpl2;
platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index fa1c64ba0ad7..fa3c66e67b61 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ wkennington pSub ];
- platforms = platforms.gnu; # arbitrary choice
+ platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
};
}
diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix
index c2e6528e637e..95e01e586ec2 100644
--- a/pkgs/applications/networking/instant-messengers/franz/default.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/default.nix
@@ -66,7 +66,7 @@ in stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A free messaging app that combines chat & messaging services into one application";
- homepage = http://meetfranz.com;
+ homepage = https://meetfranz.com;
license = licenses.free;
maintainers = [ maintainers.gnidorah ];
platforms = ["i686-linux" "x86_64-linux"];
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index bbad5a681807..f7a56d47dbfa 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -1,19 +1,23 @@
-{ mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig,
- libtoxcore,
- libpthreadstubs, libXdmcp, libXScrnSaver,
- qtbase, qtsvg, qttools, qttranslations,
- ffmpeg, filter-audio, libexif, libsodium, libopus,
- libvpx, openal, pcre, qrencode, sqlcipher }:
+{ stdenv, mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig
+, libtoxcore
+, libpthreadstubs, libXdmcp, libXScrnSaver
+, qtbase, qtsvg, qttools, qttranslations
+, ffmpeg, filter-audio, libexif, libsodium, libopus
+, libvpx, openal, pcre, qrencode, sqlcipher
+, AVFoundation ? null }:
-mkDerivation rec {
+let
+ version = "1.15.0";
+ rev = "v${version}";
+
+in mkDerivation rec {
name = "qtox-${version}";
- version = "1.13.0";
src = fetchFromGitHub {
owner = "qTox";
repo = "qTox";
- rev = "v${version}";
- sha256 = "08x71p23d0sp0w11k8z3wf3k56iclmdq9x652n8ggidgyrdi9f6y";
+ sha256 = "1garwnlmg452b0bwx36rsh08s15q3zylb26l01iiwg4l9vcaldh9";
+ inherit rev;
};
buildInputs = [
@@ -22,17 +26,18 @@ mkDerivation rec {
qtbase qtsvg qttranslations
ffmpeg filter-audio libexif libopus libsodium
libvpx openal pcre qrencode sqlcipher
- ];
+ ] ++ lib.optionals stdenv.isDarwin [ AVFoundation] ;
nativeBuildInputs = [ cmake pkgconfig qttools ];
enableParallelBuilding = true;
cmakeFlags = [
- "-DGIT_DESCRIBE=${version}"
+ "-DGIT_DESCRIBE=${rev}"
"-DENABLE_STATUSNOTIFIER=False"
"-DENABLE_GTK_SYSTRAY=False"
"-DENABLE_APPINDICATOR=False"
+ "-DTIMESTAMP=1"
];
meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 768ab24c2f39..6c716cc3e1c0 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -2,24 +2,21 @@
stdenv.mkDerivation rec {
name = "quaternion-${version}";
- version = "0.0.5";
-
- # libqmatrixclient doesn't support dynamic linking as of 0.2 so we simply pull in the source
+ version = "0.0.9";
src = fetchFromGitHub {
owner = "QMatrixClient";
repo = "Quaternion";
rev = "v${version}";
- sha256 = "14xmaq446aggqhpcilahrw2mr5gf2mlr1xzyp7r6amrnmnqsyxrd";
+ sha256 = "0zdpll953a7biwnklhgmgg3k2vz7j58lc1nmfkmvsfcj1fmdf408";
};
buildInputs = [ qtbase qtquickcontrols libqmatrixclient ];
nativeBuildInputs = [ cmake ];
- enableParallelBuilding = true;
-
- # take the source from libqmatrixclient
+ # libqmatrixclient is now compiled as a dynamic library but quarternion cannot use it yet
+ # https://github.com/QMatrixClient/Quaternion/issues/239
postPatch = ''
rm -rf lib
ln -s ${libqmatrixclient.src} lib
diff --git a/pkgs/applications/networking/instant-messengers/ratox/default.nix b/pkgs/applications/networking/instant-messengers/ratox/default.nix
index 5d004db60e3a..add337d3f085 100644
--- a/pkgs/applications/networking/instant-messengers/ratox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ratox/default.nix
@@ -5,22 +5,24 @@ with stdenv.lib;
let
configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf);
-in
-stdenv.mkDerivation rec {
- name = "ratox-0.4";
+in stdenv.mkDerivation rec {
+ name = "ratox-0.4.20180303";
src = fetchgit {
url = "git://git.2f30.org/ratox.git";
- rev = "0db821b7bd566f6cfdc0cc5a7bbcc3e5e92adb4c";
- sha256 = "0wmf8hydbcq4bkpsld9vnqw4zfzf3f04vhgwy17nd4p5p389fbl5";
+ rev = "269f7f97fb374a8f9c0b82195c21de15b81ddbbb";
+ sha256 = "0bpn37h8jvsqd66fkba8ky42nydc8acawa5x31yxqlxc8mc66k74";
};
- patches = [ ./ldlibs.patch ];
-
buildInputs = [ libtoxcore ];
- preConfigure = optionalString (conf!=null) "cp ${configFile} config.def.h";
+ preConfigure = ''
+ substituteInPlace config.mk \
+ --replace '-lsodium -lopus -lvpx ' ""
+
+ ${optionalString (conf!=null) "cp ${configFile} config.def.h"}
+ '';
makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch b/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch
deleted file mode 100644
index 1406e7143107..000000000000
--- a/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- a/config.mk
-+++ b/config.mk
-@@ -13 +13 @@ LDFLAGS = -L/usr/local/lib
--LDLIBS = -ltoxcore -ltoxav -ltoxencryptsave -lsodium -lopus -lvpx -lm -lpthread
-+LDLIBS = -ltoxcore -ltoxav -ltoxencryptsave -lm -lpthread
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index 0d3342e66687..ce558130a6ce 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -3,11 +3,11 @@
let configFile = writeText "riot-config.json" conf; in
stdenv.mkDerivation rec {
name= "riot-web-${version}";
- version = "0.14.0";
+ version = "0.14.1";
src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
- sha256 = "0san8d3dghjkqqv0ypampgl7837mxk9w64ci6fzy1k5d5dmdgvsi";
+ sha256 = "08paca7wc135hspkv97bgh2a29hbg8vxv0mrp68mgwscpyrl6vnf";
};
installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
index 2d880bef753e..4fa4967c898e 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
homepage = https://telepathy.freedesktop.org/components/telepathy-gabble/;
description = "Jabber/XMPP connection manager for the Telepathy framework";
license = licenses.lgpl21Plus;
- platforms = stdenv.lib.platforms.gnu;
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
index a1669183bb3b..89be42781a4c 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
meta = {
description = "A Telepathy connection manager based on libpurple";
- platforms = stdenv.lib.platforms.gnu; # Random choice
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # Random choice
};
}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index 7894554eee4f..4607961cdf08 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
meta = {
description = "IRC connection manager for the Telepathy framework";
license = stdenv.lib.licenses.lgpl21;
- platforms = stdenv.lib.platforms.gnu;
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 111970ab7112..f1b3c55d14c3 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
homepage = https://telepathy.freedesktop.org/components/telepathy-logger/;
license = licenses.lgpl21;
maintainers = with maintainers; [ jtojnar ];
- platforms = platforms.gnu; # Arbitrary choice
+ platforms = platforms.gnu ++ platforms.linux; # Arbitrary choice
};
}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
index e060eaabf281..17cd20c09cbd 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Link-local XMPP connection manager for Telepathy";
- platforms = platforms.gnu; # Random choice
+ platforms = platforms.gnu ++ platforms.linux; # Random choice
maintainers = [ maintainers.lethalman ];
};
}
diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix
index e2e25be49f23..8a45e988c07d 100644
--- a/pkgs/applications/networking/instant-messengers/toxic/default.nix
+++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix
@@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "toxic-${version}";
- version = "0.7.2";
+ version = "0.8.2";
src = fetchFromGitHub {
owner = "Tox";
repo = "toxic";
rev = "v${version}";
- sha256 = "1kws6bx5va1wc0k6pqihrla91vicxk4zqghvxiylgfbjr1jnkvwc";
+ sha256 = "0fwmk945nip98m3md58y3ibjmzfq25hns3xf0bmbc6fjpww8d5p5";
};
makeFlags = [ "PREFIX=$(out)"];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [
libtoxcore libsodium ncurses curl gdk_pixbuf libnotify
- ] ++ stdenv.lib.optionals (!stdenv.isArm) [
+ ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
openal libopus libvpx freealut libqrencode
];
nativeBuildInputs = [ pkgconfig libconfig ];
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index 9c208dd52a83..e139904fee53 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, libtoxcore, filter-audio, dbus, libvpx, libX11, openal, freetype, libv4l
-, libXrender, fontconfig, libXext, libXft, utillinux, git, libsodium, libopus, check }:
+{ stdenv, lib, fetchFromGitHub, check, cmake, pkgconfig
+, libtoxcore, filter-audio, dbus, libvpx, libX11, openal, freetype, libv4l
+, libXrender, fontconfig, libXext, libXft, utillinux, libsodium, libopus }:
stdenv.mkDerivation rec {
name = "utox-${version}";
- version = "0.16.1";
+ version = "0.17.0";
src = fetchFromGitHub {
owner = "uTox";
repo = "uTox";
rev = "v${version}";
- sha256 = "0ak10925v67yaga2pw9yzp0xkb5j1181srfjdyqpd29v8mi9j828";
+ sha256 = "12wbq883il7ikldayh8hm0cjfrkp45vn05xx9s1jbfz6gmkidyar";
+ fetchSubmodules = true;
};
buildInputs = [
@@ -20,16 +22,20 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [
- cmake git pkgconfig check
+ check cmake pkgconfig
];
cmakeFlags = [
- "-DENABLE_UPDATER=OFF"
- ] ++ stdenv.lib.optional (!doCheck) "-DENABLE_TESTS=OFF";
+ "-DENABLE_AUTOUPDATE=OFF"
+ ] ++ lib.optional (doCheck) "-DENABLE_TESTS=ON";
- doCheck = true;
+ doCheck = stdenv.isLinux;
- checkTarget = "test";
+ checkPhase = ''
+ runHook preCheck
+ ctest -VV
+ runHook postCheck
+ '';
meta = with stdenv.lib; {
description = "Lightweight Tox client";
diff --git a/pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix b/pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix
index f1338bc0df35..85faebf95a3d 100644
--- a/pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix
+++ b/pkgs/applications/networking/instant-messengers/weechat-matrix-bridge/default.nix
@@ -1,12 +1,12 @@
{ stdenv, curl, fetchFromGitHub, cjson, olm, luaffi }:
stdenv.mkDerivation {
- name = "weechat-matrix-bridge-2017-03-28";
+ name = "weechat-matrix-bridge-2018-01-10";
src = fetchFromGitHub {
owner = "torhve";
repo = "weechat-matrix-protocol-script";
- rev = "0052e7275ae149dc5241226391c9b1889ecc3c6b";
- sha256 = "14x58jd44g08sfnp1gx74gq2na527v5jjpsvv1xx4b8mixwy20hi";
+ rev = "a8e4ce04665c09ee7f24d6b319cd85cfb56dfbd7";
+ sha256 = "0822xcxvwanwm8qbzqhn3f1m6hhxs29pyf8lnv6v29bl8136vcq3";
};
patches = [
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index 9e946152c192..f0123024fe2f 100644
--- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -61,7 +61,7 @@ in
};
desktopItem = makeDesktopItem {
- name = "Wire";
+ name = "wire-desktop";
exec = "wire-desktop %U";
icon = "wire-desktop";
comment = "Secure messenger for everyone";
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index b03673a00b66..b5bab3585c5f 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
];
meta = {
- homepage = http://irssi.org;
+ homepage = https://irssi.org;
description = "A terminal based IRC client";
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
diff --git a/pkgs/applications/networking/irc/quassel/source.nix b/pkgs/applications/networking/irc/quassel/source.nix
index f3941ee976e4..20daba788997 100644
--- a/pkgs/applications/networking/irc/quassel/source.nix
+++ b/pkgs/applications/networking/irc/quassel/source.nix
@@ -1,9 +1,9 @@
{ fetchurl }:
rec {
- version = "0.12.4";
+ version = "0.12.5";
src = fetchurl {
url = "https://github.com/quassel/quassel/archive/${version}.tar.gz";
- sha256 = "0q2qlhy1d6glw9pwxgcgwvspd1mkk3yi6m21dx9gnj86bxas2qs2";
+ sha256 = "04f42x87a4wkj3va3wnmj2jl7ikqqa7d7nmypqpqwalzpzk7kxwv";
};
}
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index b2ea28f0cf85..dec933489af9 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -29,12 +29,12 @@ let
weechat =
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
stdenv.mkDerivation rec {
- version = "2.0";
+ version = "2.1";
name = "weechat-${version}";
src = fetchurl {
url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
- sha256 = "0jd1l67k2k44xmfv0a71im3j4v0gss3a6bd5s84nj3f7lqnfmqdn";
+ sha256 = "0fq68wgynv2c3319gmzi0lz4ln4yrrk755y5mbrlr7fc1sx7ffd8";
};
outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index d89219cce5f3..13add2690db3 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -12,7 +12,7 @@
with stdenv.lib;
stdenv.mkDerivation rec {
- version = "0.26.1";
+ version = "0.26.2";
name = "notmuch-${version}";
passthru = {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://notmuchmail.org/releases/${name}.tar.gz";
- sha256 = "0dx8nhdmkaqabxcgxfa757m99fi395y76h9ynx8539yh9m7y9xyk";
+ sha256 = "0fqf6wwvqlccq9qdnd0mky7fx0kbkczd28blf045s0vsvdjii70h";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index d18342177243..e15c3588c298 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -73,6 +73,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ viric vrthra ];
- platforms = platforms.gnu;
+ platforms = platforms.gnu ++ platforms.linux;
};
}
diff --git a/pkgs/applications/networking/p2p/gnunet/git.nix b/pkgs/applications/networking/p2p/gnunet/git.nix
new file mode 100644
index 000000000000..9763c0ee97fa
--- /dev/null
+++ b/pkgs/applications/networking/p2p/gnunet/git.nix
@@ -0,0 +1,92 @@
+{ stdenv, fetchgit, libextractor, libmicrohttpd, libgcrypt
+, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
+, libxml2, ncurses, gettext, libunistring, libidn
+, makeWrapper, autoconf, automake, texinfo, which
+, withVerbose ? false }:
+
+let
+ rev = "ce2864cfaa27e55096b480bf35db5f8cee2a5e7e";
+in
+stdenv.mkDerivation rec {
+ name = "gnunet-git-${rev}";
+
+ src = fetchgit {
+ url = https://gnunet.org/git/gnunet.git;
+ inherit rev;
+ sha256 = "0gbw920m9v4b3425c0d1h7drgl2m1fni1bwjn4fwqnyz7kdqzsgl";
+ };
+
+ buildInputs = [
+ libextractor libmicrohttpd libgcrypt gmp curl libtool
+ zlib adns sqlite libxml2 ncurses libidn
+ pkgconfig gettext libunistring makeWrapper
+ autoconf automake texinfo which
+ ];
+
+ configureFlags = stdenv.lib.optional withVerbose "--enable-logging=verbose ";
+
+ preConfigure = ''
+ # Brute force: since nix-worker chroots don't provide
+ # /etc/{resolv.conf,hosts}, replace all references to `localhost'
+ # by their IPv4 equivalent.
+ for i in $(find . \( -name \*.c -or -name \*.conf \) \
+ -exec grep -l '\' {} \;)
+ do
+ echo "$i: substituting \`127.0.0.1' to \`localhost'..."
+ sed -i "$i" -e's/\/127.0.0.1/g'
+ done
+
+ # Make sure the tests don't rely on `/tmp', for the sake of chroot
+ # builds.
+ for i in $(find . \( -iname \*test\*.c -or -name \*.conf \) \
+ -exec grep -l /tmp {} \;)
+ do
+ echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..."
+ substituteInPlace "$i" --replace "/tmp" "$TMPDIR"
+ done
+
+ # Ensure NSS installation works fine
+ configureFlags="$configureFlags --with-nssdir=$out/lib"
+
+ sh contrib/pogen.sh
+ sh bootstrap
+ '';
+
+ doCheck = false;
+
+ /* FIXME: Tests must be run this way, but there are still a couple of
+ failures.
+
+ postInstall =
+ '' export GNUNET_PREFIX="$out"
+ export PATH="$out/bin:$PATH"
+ make -k check
+ '';
+ */
+
+ meta = {
+ description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework";
+
+ longDescription = ''
+ GNUnet is a framework for secure peer-to-peer networking that
+ does not use any centralized or otherwise trusted services. A
+ first service implemented on top of the networking layer
+ allows anonymous censorship-resistant file-sharing. Anonymity
+ is provided by making messages originating from a peer
+ indistinguishable from messages that the peer is routing. All
+ peers act as routers and use link-encrypted connections with
+ stable bandwidth utilization to communicate with each other.
+ GNUnet uses a simple, excess-based economic model to allocate
+ resources. Peers in GNUnet monitor each others behavior with
+ respect to resource usage; peers that contribute to the
+ network are rewarded with better service.
+ '';
+
+ homepage = https://gnunet.org/;
+
+ license = stdenv.lib.licenses.gpl2Plus;
+
+ maintainers = with stdenv.lib.maintainers; [ viric ];
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
+ };
+}
diff --git a/pkgs/applications/networking/p2p/gnunet/svn.nix b/pkgs/applications/networking/p2p/gnunet/svn.nix
index 8c8d95169c87..688bb11acd03 100644
--- a/pkgs/applications/networking/p2p/gnunet/svn.nix
+++ b/pkgs/applications/networking/p2p/gnunet/svn.nix
@@ -88,6 +88,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [ viric ];
- platforms = stdenv.lib.platforms.gnu;
+ platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
}
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index f6828fe6f317..aa42af5ccbdd 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -2,13 +2,12 @@
, enablePlayer ? true, vlc ? null, qt5 }:
stdenv.mkDerivation rec {
- pname = "tribler";
- name = "${pname}-${version}";
- version = "7.0.1";
+ name = "tribler-${version}";
+ version = "7.0.2";
src = fetchurl {
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
- sha256 = "0cqg6319x2lid5la5vdlj6lwja8g712196j39jzv5yiaq8d0zym4";
+ sha256 = "1p0d0l0sa0nrnbyx2gg50nklkljwvl581i9w3z5qbkfzc7jsdy42";
};
buildInputs = [
@@ -41,6 +40,7 @@ stdenv.mkDerivation rec {
pythonPackages.service-identity
pythonPackages.psutil
pythonPackages.meliae
+ pythonPackages.sip
];
postPatch = ''
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 260500e9d337..5365228ae657 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -1,28 +1,13 @@
-{ stdenv, lib, fetchurl, xdg_utils, pkgs, pkgsi686Linux }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg_utils, dbus, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc, libXrandr, libX11 }:
-let
- ld32 =
- if stdenv.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker"
- else if stdenv.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32"
- else throw "Unsupported system ${stdenv.system}";
- ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
-
- mkLdPath = ps: lib.makeLibraryPath (with ps; [ qt4 dbus alsaLib ]);
-
- deps = ps: (with ps; [ dbus zlib alsaLib fontconfig freetype libpng12 libjpeg ]) ++ (with ps.xorg; [ libX11 libXext libXdamage libXrandr libXrender libXfixes libSM libXtst libXinerama]);
- tvldpath32 = lib.makeLibraryPath (with pkgsi686Linux; [ qt4 "$out/share/teamviewer/tv_bin/wine" ] ++ deps pkgsi686Linux);
- tvldpath64 = lib.makeLibraryPath (deps pkgs);
-in
stdenv.mkDerivation rec {
name = "teamviewer-${version}";
- version = "12.0.90041";
+ version = "13.1.3026";
src = fetchurl {
- # There is a 64-bit package, but it has no differences apart from Debian dependencies.
- # Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason.
- url = "https://dl.tvcdn.de/download/version_12x/teamviewer_${version}_i386.deb";
- sha256 = "19gf68xadayncrbpkk3v05xm698zavv8mz8ia6jhadrh5s6i0bwg";
+ url = "https://dl.tvcdn.de/download/linux/version_13x/teamviewer_${version}_amd64.deb";
+ sha256 = "14zaa1xjdfmgbbq40is5mllqcd9zan03sblkzajswd5gps7crsik";
};
unpackPhase = ''
@@ -30,6 +15,10 @@ stdenv.mkDerivation rec {
tar xf data.tar.*
'';
+ nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
+ buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ];
+ propagatedBuildInputs = [ qtquickcontrols ];
+
installPhase = ''
mkdir -p $out/share/teamviewer $out/bin $out/share/applications
cp -a opt/teamviewer/* $out/share/teamviewer
@@ -46,41 +35,23 @@ stdenv.mkDerivation rec {
ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
- pushd $out/share/teamviewer/tv_bin
+ sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop
- sed -i "s,TV_LD32_PATH=.*,TV_LD32_PATH=$(cat ${ld32})," script/tvw_config
- ${if stdenv.system == "x86_64-linux" then ''
- sed -i "s,TV_LD64_PATH=.*,TV_LD64_PATH=$(cat ${ld64})," script/tvw_config
- '' else ''
- sed -i "/TV_LD64_PATH=.*/d" script/tvw_config
- ''}
-
- sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/com.teamviewer.*.desktop
-
- for i in teamviewer-config teamviewerd TeamViewer_Desktop TVGuiDelegate TVGuiSlave.32 wine/bin/* RTlib/libQtCore.so.4; do
- echo "patching $i"
- patchelf --set-interpreter $(cat ${ld32}) --set-rpath $out/share/teamviewer/tv_bin/RTlib:${tvldpath32} $i || true
- done
- for i in resources/*.so wine/drive_c/TeamViewer/tvwine.dll.so wine/lib/*.so* wine/lib/wine/*.so RTlib/*.so* ; do
- echo "patching $i"
- patchelf --set-rpath $out/share/teamviewer/tv_bin/RTlib:${tvldpath32} $i || true
- done
- ${if stdenv.system == "x86_64-linux" then ''
- patchelf --set-interpreter $(cat ${ld64}) --set-rpath ${tvldpath64} TVGuiSlave.64
- '' else ''
- rm TVGuiSlave.64
- ''}
- popd
+ substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_aux \
+ --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
+ substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
+ --replace '/var/run/' '/run/'
+ wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
+ wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ libXrandr libX11 ]}"
'';
- dontPatchELF = true;
dontStrip = true;
meta = with stdenv.lib; {
homepage = http://www.teamviewer.com;
license = licenses.unfree;
description = "Desktop sharing application, providing remote support and online meetings";
- platforms = [ "i686-linux" "x86_64-linux" ];
+ platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jagajaga dasuxullebt ];
};
}
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index aa2a971b15f6..405ff2fde735 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,7 +2,7 @@
buildGoPackage rec {
name = "rclone-${version}";
- version = "1.40";
+ version = "1.41";
goPackagePath = "github.com/ncw/rclone";
@@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "ncw";
repo = "rclone";
rev = "v${version}";
- sha256 = "01q9g5g4va1s91xzvxpq8lj9jcrbl66cik383cpxwmcv04qcqgw9";
+ sha256 = "0kvqzrj7kbr9mhg023lkvk320qhkf4widcv6yph1cx701935brhr";
};
outputs = [ "bin" "out" "man" ];
diff --git a/pkgs/applications/networking/syncthing-gtk/default.nix b/pkgs/applications/networking/syncthing-gtk/default.nix
index ae715aa4321c..4db546651dd9 100644
--- a/pkgs/applications/networking/syncthing-gtk/default.nix
+++ b/pkgs/applications/networking/syncthing-gtk/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, libnotify, librsvg, psmisc, gtk3, substituteAll, syncthing, wrapGAppsHook, gnome3, buildPythonApplication, dateutil, pyinotify, pygobject3, bcrypt, gobjectIntrospection }:
+{ stdenv, fetchFromGitHub, libnotify, librsvg, darwin, psmisc, gtk3, libappindicator-gtk3, substituteAll, syncthing, wrapGAppsHook, gnome3, buildPythonApplication, dateutil, pyinotify, pygobject3, bcrypt, gobjectIntrospection }:
buildPythonApplication rec {
- version = "0.9.2.7";
+ version = "0.9.3.1";
name = "syncthing-gtk-${version}";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing-gtk";
rev = "v${version}";
- sha256 = "08k7vkibia85klwjxbnzk67h4pphrizka5v9zxwvvv3cisjiclc2";
+ sha256 = "15bh9i0j0g7hrqsz22px8g2bg0xj4lsn81rziznh9fxxx5b9v9bb";
};
nativeBuildInputs = [
@@ -18,8 +18,8 @@ buildPythonApplication rec {
];
buildInputs = [
- gtk3 librsvg
- libnotify
+ gtk3 librsvg libappindicator-gtk3
+ libnotify gnome3.adwaita-icon-theme
# Schemas with proxy configuration
gnome3.gsettings-desktop-schemas
];
@@ -32,7 +32,7 @@ buildPythonApplication rec {
./disable-syncthing-binary-configuration.patch
(substituteAll {
src = ./paths.patch;
- killall = "${psmisc}/bin/killall";
+ killall = "${if stdenv.isDarwin then darwin.shell_cmds else psmisc}/bin/killall";
syncthing = "${syncthing}/bin/syncthing";
})
];
diff --git a/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch b/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch
index 6c516e98acb1..14c2b62e6e38 100644
--- a/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch
+++ b/pkgs/applications/networking/syncthing-gtk/disable-syncthing-binary-configuration.patch
@@ -1,5 +1,5 @@
---- a/find-daemon.glade
-+++ b/find-daemon.glade
+--- a/glade/find-daemon.glade
++++ b/glade/find-daemon.glade
@@ -112,6 +112,7 @@