forked from mirrors/nixpkgs
Merge remote-tracking branch 'origin/master' into gcc-7
This commit is contained in:
commit
c135ecd7ef
doc/languages-frameworks
lib
customisation.nixdebug.nixdefault.nixdeprecated.nixgenerators.nixlicenses.nixmaintainers.nixmodules.nix
systems
trivial.nixnixos
doc/manual
lib
modules
release.nixtests
pkgs/applications
audio
editors
android-studio
emacs-modes
nano
tiled
vim
vscode
graphics/ImageMagick
misc
calibre
dunst
kitty
osm2xmap
rtv
synapse
networking
browsers
chromium
firefox-bin
firefox
qutebrowser
cluster
instant-messengers/signal-desktop
mumble
sync/rsync
office/homebank
science
version-management
virtualization
window-managers
|
@ -79,19 +79,24 @@ an example for a minimal `hello` crate:
|
|||
Now, the file produced by the call to `carnix`, called `hello.nix`, looks like:
|
||||
|
||||
```
|
||||
with import <nixpkgs> {};
|
||||
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
|
||||
{ lib, buildPlatform, buildRustCrate, fetchgit }:
|
||||
let kernel = buildPlatform.parsed.kernel.name;
|
||||
# ... (content skipped)
|
||||
hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
|
||||
crateName = "hello";
|
||||
version = "0.1.0";
|
||||
authors = [ "Authorname <user@example.com>" ];
|
||||
src = ./.;
|
||||
inherit dependencies buildDependencies features;
|
||||
};
|
||||
in
|
||||
rec {
|
||||
hello_0_1_0 = hello_0_1_0_ rec {};
|
||||
hello = f: hello_0_1_0 { features = hello_0_1_0_features { hello_0_1_0 = f; }; };
|
||||
hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
|
||||
crateName = "hello";
|
||||
version = "0.1.0";
|
||||
authors = [ "pe@pijul.org <pe@pijul.org>" ];
|
||||
src = ./.;
|
||||
inherit dependencies buildDependencies features;
|
||||
};
|
||||
hello_0_1_0 = { features?(hello_0_1_0_features {}) }: hello_0_1_0_ {};
|
||||
hello_0_1_0_features = f: updateFeatures f (rec {
|
||||
hello_0_1_0.default = (f.hello_0_1_0.default or true);
|
||||
}) [ ];
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -103,33 +108,44 @@ dependencies, for instance by adding a single line `libc="*"` to our
|
|||
following nix file:
|
||||
|
||||
```
|
||||
with import <nixpkgs> {};
|
||||
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
|
||||
{ lib, buildPlatform, buildRustCrate, fetchgit }:
|
||||
let kernel = buildPlatform.parsed.kernel.name;
|
||||
# ... (content skipped)
|
||||
hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
|
||||
crateName = "hello";
|
||||
version = "0.1.0";
|
||||
authors = [ "Jörg Thalheim <joerg@thalheim.io>" ];
|
||||
src = ./.;
|
||||
inherit dependencies buildDependencies features;
|
||||
};
|
||||
libc_0_2_34_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
|
||||
crateName = "libc";
|
||||
version = "0.2.34";
|
||||
authors = [ "The Rust Project Developers" ];
|
||||
sha256 = "11jmqdxmv0ka10ay0l8nzx0nl7s2lc3dbrnh1mgbr2grzwdyxi2s";
|
||||
inherit dependencies buildDependencies features;
|
||||
};
|
||||
in
|
||||
rec {
|
||||
hello_0_1_0 = hello_0_1_0_ rec {
|
||||
dependencies = [ libc_0_2_34 ];
|
||||
hello = f: hello_0_1_0 { features = hello_0_1_0_features { hello_0_1_0 = f; }; };
|
||||
hello_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
|
||||
crateName = "hello";
|
||||
version = "0.1.0";
|
||||
authors = [ "pe@pijul.org <pe@pijul.org>" ];
|
||||
src = ./.;
|
||||
inherit dependencies buildDependencies features;
|
||||
};
|
||||
libc_0_2_34_features."default".from_hello_0_1_0__default = true;
|
||||
libc_0_2_34 = libc_0_2_34_ rec {
|
||||
features = mkFeatures libc_0_2_34_features;
|
||||
libc_0_2_36_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
|
||||
crateName = "libc";
|
||||
version = "0.2.36";
|
||||
authors = [ "The Rust Project Developers" ];
|
||||
sha256 = "01633h4yfqm0s302fm0dlba469bx8y6cs4nqc8bqrmjqxfxn515l";
|
||||
inherit dependencies buildDependencies features;
|
||||
};
|
||||
libc_0_2_34_features."use_std".self_default = hasDefault libc_0_2_34_features;
|
||||
hello_0_1_0 = { features?(hello_0_1_0_features {}) }: hello_0_1_0_ {
|
||||
dependencies = mapFeatures features ([ libc_0_2_36 ]);
|
||||
};
|
||||
hello_0_1_0_features = f: updateFeatures f (rec {
|
||||
hello_0_1_0.default = (f.hello_0_1_0.default or true);
|
||||
libc_0_2_36.default = true;
|
||||
}) [ libc_0_2_36_features ];
|
||||
libc_0_2_36 = { features?(libc_0_2_36_features {}) }: libc_0_2_36_ {
|
||||
features = mkFeatures (features.libc_0_2_36 or {});
|
||||
};
|
||||
libc_0_2_36_features = f: updateFeatures f (rec {
|
||||
libc_0_2_36.default = (f.libc_0_2_36.default or true);
|
||||
libc_0_2_36.use_std =
|
||||
(f.libc_0_2_36.use_std or false) ||
|
||||
(f.libc_0_2_36.default or false) ||
|
||||
(libc_0_2_36.default or false);
|
||||
}) [];
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -146,7 +162,7 @@ or build inputs by overriding the hello crate in a seperate file.
|
|||
|
||||
```
|
||||
with import <nixpkgs> {};
|
||||
(import ./hello.nix).hello_0_1_0.override {
|
||||
((import ./hello.nix).hello {}).override {
|
||||
crateOverrides = defaultCrateOverrides // {
|
||||
hello = attrs: { buildInputs = [ openssl ]; };
|
||||
};
|
||||
|
@ -166,7 +182,7 @@ patches the derivation:
|
|||
|
||||
```
|
||||
with import <nixpkgs> {};
|
||||
(import ./hello.nix).hello_0_1_0.override {
|
||||
((import ./hello.nix).hello {}).override {
|
||||
crateOverrides = defaultCrateOverrides // {
|
||||
hello = attrs: lib.optionalAttrs (lib.versionAtLeast attrs.version "1.0") {
|
||||
postPatch = ''
|
||||
|
@ -187,7 +203,7 @@ crate, we could do:
|
|||
|
||||
```
|
||||
with import <nixpkgs> {};
|
||||
(import hello.nix).hello_0_1_0.override {
|
||||
((import hello.nix).hello {}).override {
|
||||
crateOverrides = defaultCrateOverrides // {
|
||||
libc = attrs: { buildInputs = []; };
|
||||
};
|
||||
|
@ -199,23 +215,35 @@ Three more parameters can be overridden:
|
|||
- The version of rustc used to compile the crate:
|
||||
|
||||
```
|
||||
hello_0_1_0.override { rust = pkgs.rust; };
|
||||
(hello {}).override { rust = pkgs.rust; };
|
||||
```
|
||||
|
||||
- Whether to build in release mode or debug mode (release mode by
|
||||
default):
|
||||
|
||||
```
|
||||
hello_0_1_0.override { release = false; };
|
||||
(hello {}).override { release = false; };
|
||||
```
|
||||
|
||||
- Whether to print the commands sent to rustc when building
|
||||
(equivalent to `--verbose` in cargo:
|
||||
|
||||
```
|
||||
hello_0_1_0.override { verbose = false; };
|
||||
(hello {}).override { verbose = false; };
|
||||
```
|
||||
|
||||
One can also supply features switches. For example, if we want to
|
||||
compile `diesel_cli` only with the `postgres` feature, and no default
|
||||
features, we would write:
|
||||
|
||||
```
|
||||
(callPackage ./diesel.nix {}).diesel {
|
||||
default = false;
|
||||
postgres = true;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Using the Rust nightlies overlay
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ lib }:
|
||||
let
|
||||
|
||||
inherit (builtins) attrNames isFunction;
|
||||
inherit (builtins) attrNames;
|
||||
|
||||
in
|
||||
|
||||
|
@ -72,7 +72,7 @@ rec {
|
|||
makeOverridable = f: origArgs:
|
||||
let
|
||||
ff = f origArgs;
|
||||
overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs);
|
||||
overrideWith = newArgs: origArgs // (if lib.isFunction newArgs then newArgs origArgs else newArgs);
|
||||
in
|
||||
if builtins.isAttrs ff then (ff // {
|
||||
override = newArgs: makeOverridable f (overrideWith newArgs);
|
||||
|
@ -81,7 +81,7 @@ rec {
|
|||
${if ff ? overrideAttrs then "overrideAttrs" else null} = fdrv:
|
||||
makeOverridable (args: (f args).overrideAttrs fdrv) origArgs;
|
||||
})
|
||||
else if builtins.isFunction ff then {
|
||||
else if lib.isFunction ff then {
|
||||
override = newArgs: makeOverridable f (overrideWith newArgs);
|
||||
__functor = self: ff;
|
||||
overrideDerivation = throw "overrideDerivation not yet supported for functors";
|
||||
|
@ -112,8 +112,8 @@ rec {
|
|||
*/
|
||||
callPackageWith = autoArgs: fn: args:
|
||||
let
|
||||
f = if builtins.isFunction fn then fn else import fn;
|
||||
auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
|
||||
f = if lib.isFunction fn then fn else import fn;
|
||||
auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
|
||||
in makeOverridable f (auto // args);
|
||||
|
||||
|
||||
|
@ -122,8 +122,8 @@ rec {
|
|||
individual attributes. */
|
||||
callPackagesWith = autoArgs: fn: args:
|
||||
let
|
||||
f = if builtins.isFunction fn then fn else import fn;
|
||||
auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
|
||||
f = if lib.isFunction fn then fn else import fn;
|
||||
auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
|
||||
origArgs = auto // args;
|
||||
pkgs = f origArgs;
|
||||
mkAttrOverridable = name: pkg: makeOverridable (newArgs: (f newArgs).${name}) origArgs;
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
let
|
||||
|
||||
inherit (builtins) trace attrNamesToStr isAttrs isFunction isList isInt
|
||||
inherit (builtins) trace attrNamesToStr isAttrs isList isInt
|
||||
isString isBool head substring attrNames;
|
||||
|
||||
inherit (lib) all id mapAttrsFlatten elem;
|
||||
inherit (lib) all id mapAttrsFlatten elem isFunction;
|
||||
|
||||
in
|
||||
|
||||
|
|
|
@ -51,12 +51,12 @@ let
|
|||
|
||||
inherit (builtins) add addErrorContext attrNames
|
||||
concatLists deepSeq elem elemAt filter genericClosure genList
|
||||
getAttr hasAttr head isAttrs isBool isFunction isInt isList
|
||||
getAttr hasAttr head isAttrs isBool isInt isList
|
||||
isString length lessThan listToAttrs pathExists readFile
|
||||
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;
|
||||
nixpkgsVersion mod functionArgs setFunctionArgs isFunction;
|
||||
|
||||
inherit (fixedPoints) fix fix' extends composeExtensions
|
||||
makeExtensible makeExtensibleWithCustomName;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib }:
|
||||
let
|
||||
inherit (builtins) isFunction head tail isList isAttrs isInt attrNames;
|
||||
inherit (builtins) head tail isList isAttrs isInt attrNames;
|
||||
|
||||
in
|
||||
|
||||
|
@ -53,7 +53,7 @@ rec {
|
|||
f: # the function applied to the arguments
|
||||
initial: # you pass attrs, the functions below are passing a function taking the fix argument
|
||||
let
|
||||
takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
|
||||
takeFixed = if lib.isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
|
||||
tidy = args:
|
||||
let # apply all functions given in "applyPreTidy" in sequence
|
||||
applyPreTidyFun = fold ( n: a: x: n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
|
||||
|
@ -63,7 +63,7 @@ rec {
|
|||
let args = takeFixed fixed;
|
||||
mergeFun = args.${n};
|
||||
in if isAttrs x then (mergeFun args x)
|
||||
else assert isFunction x;
|
||||
else assert lib.isFunction x;
|
||||
mergeFun args (x ( args // { inherit fixed; }));
|
||||
in overridableDelayableArgs f newArgs;
|
||||
in
|
||||
|
@ -374,7 +374,7 @@ rec {
|
|||
if isAttrs x then
|
||||
if x ? outPath then "derivation"
|
||||
else "attrs"
|
||||
else if isFunction x then "function"
|
||||
else if lib.isFunction x then "function"
|
||||
else if isList x then "list"
|
||||
else if x == true then "bool"
|
||||
else if x == false then "bool"
|
||||
|
|
|
@ -14,6 +14,8 @@ let
|
|||
libAttr = lib.attrsets;
|
||||
|
||||
flipMapAttrs = flip libAttr.mapAttrs;
|
||||
|
||||
inherit (lib) isFunction;
|
||||
in
|
||||
|
||||
rec {
|
||||
|
@ -110,7 +112,7 @@ rec {
|
|||
else if isString v then "\"" + v + "\""
|
||||
else if null == v then "null"
|
||||
else if isFunction v then
|
||||
let fna = functionArgs v;
|
||||
let fna = lib.functionArgs v;
|
||||
showFnas = concatStringsSep "," (libAttr.mapAttrsToList
|
||||
(name: hasDefVal: if hasDefVal then "(${name})" else name)
|
||||
fna);
|
||||
|
|
|
@ -200,6 +200,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
|||
fullName = "Eclipse Public License 1.0";
|
||||
};
|
||||
|
||||
epl20 = spdx {
|
||||
spdxId = "EPL-2.0";
|
||||
fullName = "Eclipse Public License 2.0";
|
||||
};
|
||||
|
||||
epson = {
|
||||
fullName = "Seiko Epson Corporation Software License Agreement for Linux";
|
||||
url = https://download.ebz.epson.net/dsc/du/02/eula/global/LINUX_EN.html;
|
||||
|
|
|
@ -231,6 +231,7 @@
|
|||
fadenb = "Tristan Helmich <tristan.helmich+nixos@gmail.com>";
|
||||
falsifian = "James Cook <james.cook@utoronto.ca>";
|
||||
fare = "Francois-Rene Rideau <fahree@gmail.com>";
|
||||
f-breidenstein = "Felix Breidenstein <mail@felixbreidenstein.de>";
|
||||
fgaz = "Francesco Gazzetta <francygazz@gmail.com>";
|
||||
FireyFly = "Jonas Höglund <nix@firefly.nu>";
|
||||
flokli = "Florian Klink <flokli@flokli.de>";
|
||||
|
@ -328,6 +329,7 @@
|
|||
joelmo = "Joel Moberg <joel.moberg@gmail.com>";
|
||||
joelteon = "Joel Taylor <me@joelt.io>";
|
||||
johbo = "Johannes Bornhold <johannes@bornhold.name>";
|
||||
johnazoidberg = "Daniel Schäfer <git@danielschaefer.me>";
|
||||
johnmh = "John M. Harris, Jr. <johnmh@openblox.org>";
|
||||
johnramsden = "John Ramsden <johnramsden@riseup.net>";
|
||||
joko = "Ioannis Koutras <ioannis.koutras@gmail.com>";
|
||||
|
@ -459,6 +461,7 @@
|
|||
mounium = "Katona László <muoniurn@gmail.com>";
|
||||
MP2E = "Cray Elliott <MP2E@archlinux.us>";
|
||||
mpcsh = "Mark Cohen <m@mpc.sh>";
|
||||
mpickering = "Matthew Pickering <matthewtpickering@gmail.com>";
|
||||
mpscholten = "Marc Scholten <marc@mpscholten.de>";
|
||||
mpsyco = "Francis St-Amour <fr.st-amour@gmail.com>";
|
||||
mrVanDalo = "Ingolf Wanger <contact@ingolf-wagner.de>";
|
||||
|
@ -541,6 +544,7 @@
|
|||
pmahoney = "Patrick Mahoney <pat@polycrystal.org>";
|
||||
pmeunier = "Pierre-Étienne Meunier <pierre-etienne.meunier@inria.fr>";
|
||||
pmiddend = "Philipp Middendorf <pmidden@secure.mailbox.org>";
|
||||
pneumaticat = "Kevin Liu <kevin@potatofrom.space>";
|
||||
polyrod = "Maurizio Di Pietro <dc1mdp@gmail.com>";
|
||||
pradeepchhetri = "Pradeep Chhetri <pradeep.chhetri89@gmail.com>";
|
||||
prikhi = "Pavan Rikhi <pavan.rikhi@gmail.com>";
|
||||
|
@ -561,6 +565,7 @@
|
|||
rasendubi = "Alexey Shmalko <rasen.dubi@gmail.com>";
|
||||
raskin = "Michael Raskin <7c6f434c@mail.ru>";
|
||||
ravloony = "Tom Macdonald <ravloony@gmail.com>";
|
||||
razvan = "Răzvan Flavius Panda <razvan.panda@gmail.com>";
|
||||
rbasso = "Rafael Basso <rbasso@sharpgeeks.net>";
|
||||
redbaron = "Maxim Ivanov <ivanov.maxim@gmail.com>";
|
||||
redvers = "Redvers Davies <red@infect.me>";
|
||||
|
@ -617,6 +622,7 @@
|
|||
sellout = "Greg Pfeil <greg@technomadic.org>";
|
||||
sepi = "Raffael Mancini <raffael@mancini.lu>";
|
||||
seppeljordan = "Sebastian Jordan <sebastian.jordan.mail@googlemail.com>";
|
||||
sfrijters = "Stefan Frijters <sfrijters@gmail.com>";
|
||||
shanemikel = "Shane Pearlman <shanemikel1@gmail.com>";
|
||||
shawndellysse = "Shawn Dellysse <sdellysse@gmail.com>";
|
||||
sheenobu = "Sheena Artrip <sheena.artrip@gmail.com>";
|
||||
|
|
|
@ -155,7 +155,7 @@ rec {
|
|||
# a module will resolve strictly the attributes used as argument but
|
||||
# not their values. The values are forwarding the result of the
|
||||
# evaluation of the option.
|
||||
requiredArgs = builtins.attrNames (builtins.functionArgs f);
|
||||
requiredArgs = builtins.attrNames (lib.functionArgs f);
|
||||
context = name: ''while evaluating the module argument `${name}' in "${key}":'';
|
||||
extraArgs = builtins.listToAttrs (map (name: {
|
||||
inherit name;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ lib }:
|
||||
let
|
||||
inherit (lib) lists;
|
||||
parse = import ./parse.nix { inherit lib; };
|
||||
inherit (import ./inspect.nix { inherit lib; }) predicates;
|
||||
inherit (lib.systems) parse;
|
||||
inherit (lib.systems.inspect) predicates;
|
||||
inherit (lib.attrsets) matchAttrs;
|
||||
|
||||
all = [
|
||||
|
|
|
@ -4,6 +4,16 @@
|
|||
# http://llvm.org/docs/doxygen/html/Triple_8cpp_source.html especially
|
||||
# Triple::normalize. Parsing should essentially act as a more conservative
|
||||
# version of that last function.
|
||||
#
|
||||
# Most of the types below come in "open" and "closed" pairs. The open ones
|
||||
# specify what information we need to know about systems in general, and the
|
||||
# closed ones are sub-types representing the whitelist of systems we support in
|
||||
# practice.
|
||||
#
|
||||
# Code in the remainder of nixpkgs shouldn't rely on the closed ones in
|
||||
# e.g. exhaustive cases. Its more a sanity check to make sure nobody defines
|
||||
# systems that overlap with existing ones and won't notice something amiss.
|
||||
#
|
||||
{ lib }:
|
||||
with lib.lists;
|
||||
with lib.types;
|
||||
|
@ -11,29 +21,52 @@ with lib.attrsets;
|
|||
with (import ./inspect.nix { inherit lib; }).predicates;
|
||||
|
||||
let
|
||||
setTypesAssert = type: pred:
|
||||
inherit (lib.options) mergeOneOption;
|
||||
|
||||
setTypes = type:
|
||||
mapAttrs (name: value:
|
||||
assert pred value;
|
||||
setType type ({ inherit name; } // value));
|
||||
setTypes = type: setTypesAssert type (_: true);
|
||||
assert type.check value;
|
||||
setType type.name ({ inherit name; } // value));
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
|
||||
isSignificantByte = isType "significant-byte";
|
||||
significantBytes = setTypes "significant-byte" {
|
||||
################################################################################
|
||||
|
||||
types.openSignifiantByte = mkOptionType {
|
||||
name = "significant-byte";
|
||||
description = "Endianness";
|
||||
merge = mergeOneOption;
|
||||
};
|
||||
|
||||
types.significantByte = enum (attrValues significantBytes);
|
||||
|
||||
significantBytes = setTypes types.openSignifiantByte {
|
||||
bigEndian = {};
|
||||
littleEndian = {};
|
||||
};
|
||||
|
||||
isCpuType = isType "cpu-type";
|
||||
cpuTypes = with significantBytes; setTypesAssert "cpu-type"
|
||||
(x: elem x.bits [8 16 32 64 128]
|
||||
&& (if 8 < x.bits
|
||||
then isSignificantByte x.significantByte
|
||||
else !(x ? significantByte)))
|
||||
{
|
||||
################################################################################
|
||||
|
||||
# Reasonable power of 2
|
||||
types.bitWidth = enum [ 8 16 32 64 128 ];
|
||||
|
||||
################################################################################
|
||||
|
||||
types.openCpuType = mkOptionType {
|
||||
name = "cpu-type";
|
||||
description = "instruction set architecture name and information";
|
||||
merge = mergeOneOption;
|
||||
check = x: types.bitWidth.check x.bits
|
||||
&& (if 8 < x.bits
|
||||
then types.significantByte.check x.significantByte
|
||||
else !(x ? significantByte));
|
||||
};
|
||||
|
||||
types.cpuType = enum (attrValues cpuTypes);
|
||||
|
||||
cpuTypes = with significantBytes; setTypes types.openCpuType {
|
||||
arm = { bits = 32; significantByte = littleEndian; family = "arm"; };
|
||||
armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; };
|
||||
armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; };
|
||||
|
@ -50,16 +83,34 @@ rec {
|
|||
wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; };
|
||||
};
|
||||
|
||||
isVendor = isType "vendor";
|
||||
vendors = setTypes "vendor" {
|
||||
################################################################################
|
||||
|
||||
types.openVendor = mkOptionType {
|
||||
name = "vendor";
|
||||
description = "vendor for the platform";
|
||||
merge = mergeOneOption;
|
||||
};
|
||||
|
||||
types.vendor = enum (attrValues vendors);
|
||||
|
||||
vendors = setTypes types.openVendor {
|
||||
apple = {};
|
||||
pc = {};
|
||||
|
||||
unknown = {};
|
||||
};
|
||||
|
||||
isExecFormat = isType "exec-format";
|
||||
execFormats = setTypes "exec-format" {
|
||||
################################################################################
|
||||
|
||||
types.openExecFormat = mkOptionType {
|
||||
name = "exec-format";
|
||||
description = "executable container used by the kernel";
|
||||
merge = mergeOneOption;
|
||||
};
|
||||
|
||||
types.execFormat = enum (attrValues execFormats);
|
||||
|
||||
execFormats = setTypes types.openExecFormat {
|
||||
aout = {}; # a.out
|
||||
elf = {};
|
||||
macho = {};
|
||||
|
@ -68,15 +119,33 @@ rec {
|
|||
unknown = {};
|
||||
};
|
||||
|
||||
isKernelFamily = isType "kernel-family";
|
||||
kernelFamilies = setTypes "kernel-family" {
|
||||
################################################################################
|
||||
|
||||
types.openKernelFamily = mkOptionType {
|
||||
name = "exec-format";
|
||||
description = "executable container used by the kernel";
|
||||
merge = mergeOneOption;
|
||||
};
|
||||
|
||||
types.kernelFamily = enum (attrValues kernelFamilies);
|
||||
|
||||
kernelFamilies = setTypes types.openKernelFamily {
|
||||
bsd = {};
|
||||
};
|
||||
|
||||
isKernel = x: isType "kernel" x;
|
||||
kernels = with execFormats; with kernelFamilies; setTypesAssert "kernel"
|
||||
(x: isExecFormat x.execFormat && all isKernelFamily (attrValues x.families))
|
||||
{
|
||||
################################################################################
|
||||
|
||||
types.openKernel = mkOptionType {
|
||||
name = "kernel";
|
||||
description = "kernel name and information";
|
||||
merge = mergeOneOption;
|
||||
check = x: types.execFormat.check x.execFormat
|
||||
&& all types.kernelFamily.check (attrValues x.families);
|
||||
};
|
||||
|
||||
types.kernel = enum (attrValues kernels);
|
||||
|
||||
kernels = with execFormats; with kernelFamilies; setTypes types.openKernel {
|
||||
darwin = { execFormat = macho; families = { }; };
|
||||
freebsd = { execFormat = elf; families = { inherit bsd; }; };
|
||||
hurd = { execFormat = elf; families = { }; };
|
||||
|
@ -93,8 +162,17 @@ rec {
|
|||
win32 = kernels.windows;
|
||||
};
|
||||
|
||||
isAbi = isType "abi";
|
||||
abis = setTypes "abi" {
|
||||
################################################################################
|
||||
|
||||
types.openAbi = mkOptionType {
|
||||
name = "abi";
|
||||
description = "binary interface for compiled code and syscalls";
|
||||
merge = mergeOneOption;
|
||||
};
|
||||
|
||||
types.abi = enum (attrValues abis);
|
||||
|
||||
abis = setTypes types.openAbi {
|
||||
cygnus = {};
|
||||
gnu = {};
|
||||
msvc = {};
|
||||
|
@ -106,12 +184,24 @@ rec {
|
|||
unknown = {};
|
||||
};
|
||||
|
||||
################################################################################
|
||||
|
||||
types.system = mkOptionType {
|
||||
name = "system";
|
||||
description = "fully parsed representation of llvm- or nix-style platform tuple";
|
||||
merge = mergeOneOption;
|
||||
check = { cpu, vendor, kernel, abi }:
|
||||
types.cpuType.check cpu
|
||||
&& types.vendor.check vendor
|
||||
&& types.kernel.check kernel
|
||||
&& types.abi.check abi;
|
||||
};
|
||||
|
||||
isSystem = isType "system";
|
||||
mkSystem = { cpu, vendor, kernel, abi }:
|
||||
assert isCpuType cpu && isVendor vendor && isKernel kernel && isAbi abi;
|
||||
setType "system" {
|
||||
inherit cpu vendor kernel abi;
|
||||
};
|
||||
|
||||
mkSystem = components:
|
||||
assert types.system.check components;
|
||||
setType "system" components;
|
||||
|
||||
mkSkeletonFromList = l: {
|
||||
"2" = # We only do 2-part hacks for things Nix already supports
|
||||
|
@ -174,4 +264,6 @@ rec {
|
|||
optAbi = lib.optionalString (abi != abis.unknown) "-${abi.name}";
|
||||
in "${cpu.name}-${vendor.name}-${kernel.name}${optAbi}";
|
||||
|
||||
################################################################################
|
||||
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ rec {
|
|||
|
||||
# Pull in some builtins not included elsewhere.
|
||||
inherit (builtins)
|
||||
pathExists readFile isBool isFunction
|
||||
pathExists readFile isBool
|
||||
isInt add sub lessThan
|
||||
seq deepSeq genericClosure;
|
||||
|
||||
|
@ -99,4 +99,29 @@ rec {
|
|||
*/
|
||||
warn = msg: builtins.trace "WARNING: ${msg}";
|
||||
info = msg: builtins.trace "INFO: ${msg}";
|
||||
|
||||
# | Add metadata about expected function arguments to a function.
|
||||
# The metadata should match the format given by
|
||||
# builtins.functionArgs, i.e. a set from expected argument to a bool
|
||||
# representing whether that argument has a default or not.
|
||||
# setFunctionArgs : (a → b) → Map String Bool → (a → b)
|
||||
#
|
||||
# This function is necessary because you can't dynamically create a
|
||||
# function of the { a, b ? foo, ... }: format, but some facilities
|
||||
# like callPackage expect to be able to query expected arguments.
|
||||
setFunctionArgs = f: args:
|
||||
{ # TODO: Should we add call-time "type" checking like built in?
|
||||
__functor = self: f;
|
||||
__functionArgs = args;
|
||||
};
|
||||
|
||||
# | Extract the expected function arguments from a function.
|
||||
# This works both with nix-native { a, b ? foo, ... }: style
|
||||
# functions and functions with args set with 'setFunctionArgs'. It
|
||||
# has the same return type and semantics as builtins.functionArgs.
|
||||
# setFunctionArgs : (a → b) → Map String Bool.
|
||||
functionArgs = f: f.__functionArgs or (builtins.functionArgs f);
|
||||
|
||||
isFunction = f: builtins.isFunction f ||
|
||||
(f ? __functor && isFunction (f.__functor f));
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ let
|
|||
substFunction = x:
|
||||
if builtins.isAttrs x then lib.mapAttrs (name: substFunction) x
|
||||
else if builtins.isList x then map substFunction x
|
||||
else if builtins.isFunction x then "<function>"
|
||||
else if lib.isFunction x then "<function>"
|
||||
else x;
|
||||
|
||||
# Clean up declaration sites to not refer to the NixOS source tree.
|
||||
|
|
|
@ -88,6 +88,28 @@ following incompatible changes:</para>
|
|||
<option>services.pgmanage</option>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Package attributes starting with a digit have been prefixed with an
|
||||
underscore sign. This is to avoid quoting in the configuration and
|
||||
other issues with command-line tools like <literal>nix-env</literal>.
|
||||
The change affects the following packages:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>2048-in-terminal</literal> → <literal>_2048-in-terminal</literal></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>90secondportraits</literal> → <literal>_90secondportraits</literal></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>2bwm</literal> → <literal>_2bwm</literal></para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para><literal>389-ds-base</literal> → <literal>_389-ds-base</literal></para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<emphasis role="strong">
|
||||
|
@ -160,6 +182,20 @@ following incompatible changes:</para>
|
|||
<literal>lib.mkOverride</literal> can be used.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The following changes apply if the <literal>stateVersion</literal> is changed to 18.03 or higher.
|
||||
For <literal>stateVersion = "17.09"</literal> or lower the old behavior is preserved.
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>matrix-synapse</literal> uses postgresql by default instead of sqlite.
|
||||
Migration instructions can be found <link xlink:href="https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst#porting-from-sqlite"> here </link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
</section>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
let pkgs = import ../.. { inherit system config; }; in
|
||||
|
||||
with pkgs.lib;
|
||||
with import ../lib/qemu-flags.nix;
|
||||
with import ../lib/qemu-flags.nix { inherit pkgs; };
|
||||
|
||||
rec {
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# QEMU flags shared between various Nix expressions.
|
||||
{ pkgs }:
|
||||
|
||||
{
|
||||
|
||||
|
@ -7,4 +8,14 @@
|
|||
"-net vde,vlan=${toString nic},sock=$QEMU_VDE_SOCKET_${toString net}"
|
||||
];
|
||||
|
||||
qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
|
||||
else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0"
|
||||
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
|
||||
|
||||
qemuBinary = qemuPkg: {
|
||||
"i686-linux" = "${qemuPkg}/bin/qemu-kvm";
|
||||
"x86_64-linux" = "${qemuPkg}/bin/qemu-kvm -cpu kvm64";
|
||||
"armv7l-linux" = "${qemuPkg}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host";
|
||||
"aarch64-linux" = "${qemuPkg}/bin/qemu-system-aarch64 -enable-kvm -machine virt,gic-version=host -cpu host";
|
||||
}.${pkgs.stdenv.system} or (throw "Unknown QEMU binary for '${pkgs.stdenv.system}'");
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ rec {
|
|||
|
||||
testScript' =
|
||||
# Call the test script with the computed nodes.
|
||||
if builtins.isFunction testScript
|
||||
if lib.isFunction testScript
|
||||
then testScript { inherit nodes; }
|
||||
else testScript;
|
||||
|
||||
|
|
|
@ -302,6 +302,7 @@
|
|||
kodi = 283;
|
||||
restya-board = 284;
|
||||
mighttpd2 = 285;
|
||||
hass = 286;
|
||||
|
||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||
|
||||
|
@ -572,6 +573,7 @@
|
|||
kodi = 283;
|
||||
restya-board = 284;
|
||||
mighttpd2 = 285;
|
||||
hass = 286;
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing
|
||||
# uid. Users and groups with the same name should have equal
|
||||
|
|
|
@ -4,10 +4,10 @@ with lib;
|
|||
|
||||
let
|
||||
isConfig = x:
|
||||
builtins.isAttrs x || builtins.isFunction x;
|
||||
builtins.isAttrs x || lib.isFunction x;
|
||||
|
||||
optCall = f: x:
|
||||
if builtins.isFunction f
|
||||
if lib.isFunction f
|
||||
then f x
|
||||
else f;
|
||||
|
||||
|
@ -38,7 +38,7 @@ let
|
|||
overlayType = mkOptionType {
|
||||
name = "nixpkgs-overlay";
|
||||
description = "nixpkgs overlay";
|
||||
check = builtins.isFunction;
|
||||
check = lib.isFunction;
|
||||
merge = lib.mergeOneOption;
|
||||
};
|
||||
|
||||
|
@ -69,7 +69,6 @@ in
|
|||
[ (self: super: {
|
||||
openssh = super.openssh.override {
|
||||
hpnSupport = true;
|
||||
withKerberos = true;
|
||||
kerberos = self.libkrb5;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -84,6 +84,7 @@
|
|||
./programs/info.nix
|
||||
./programs/java.nix
|
||||
./programs/kbdlight.nix
|
||||
./programs/less.nix
|
||||
./programs/light.nix
|
||||
./programs/man.nix
|
||||
./programs/mosh.nix
|
||||
|
@ -314,6 +315,7 @@
|
|||
./services/misc/gogs.nix
|
||||
./services/misc/gollum.nix
|
||||
./services/misc/gpsd.nix
|
||||
./services/misc/home-assistant.nix
|
||||
./services/misc/ihaskell.nix
|
||||
./services/misc/irkerd.nix
|
||||
./services/misc/jackett.nix
|
||||
|
@ -424,6 +426,7 @@
|
|||
./services/network-filesystems/yandex-disk.nix
|
||||
./services/network-filesystems/xtreemfs.nix
|
||||
./services/networking/amuled.nix
|
||||
./services/networking/aria2.nix
|
||||
./services/networking/asterisk.nix
|
||||
./services/networking/atftpd.nix
|
||||
./services/networking/avahi-daemon.nix
|
||||
|
|
|
@ -17,7 +17,7 @@ let
|
|||
# you should use files).
|
||||
moduleFiles =
|
||||
# FIXME: use typeOf (Nix 1.6.1).
|
||||
filter (x: !isAttrs x && !builtins.isFunction x) modules;
|
||||
filter (x: !isAttrs x && !lib.isFunction x) modules;
|
||||
|
||||
# Partition module files because between NixOS and non-NixOS files. NixOS
|
||||
# files may change if the repository is updated.
|
||||
|
|
118
nixos/modules/programs/less.nix
Normal file
118
nixos/modules/programs/less.nix
Normal file
|
@ -0,0 +1,118 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.programs.less;
|
||||
|
||||
configFile = ''
|
||||
#command
|
||||
${concatStringsSep "\n"
|
||||
(mapAttrsToList (command: action: "${command} ${action}") cfg.commands)
|
||||
}
|
||||
${if cfg.clearDefaultCommands then "#stop" else ""}
|
||||
|
||||
#line-edit
|
||||
${concatStringsSep "\n"
|
||||
(mapAttrsToList (command: action: "${command} ${action}") cfg.lineEditingKeys)
|
||||
}
|
||||
|
||||
#env
|
||||
${concatStringsSep "\n"
|
||||
(mapAttrsToList (variable: values: "${variable}=${values}") cfg.envVariables)
|
||||
}
|
||||
'';
|
||||
|
||||
lessKey = pkgs.runCommand "lesskey"
|
||||
{ src = pkgs.writeText "lessconfig" configFile; }
|
||||
"${pkgs.less}/bin/lesskey -o $out $src";
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
|
||||
programs.less = {
|
||||
|
||||
enable = mkEnableOption "less";
|
||||
|
||||
commands = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {};
|
||||
example = {
|
||||
"h" = "noaction 5\e(";
|
||||
"l" = "noaction 5\e)";
|
||||
};
|
||||
description = "Defines new command keys.";
|
||||
};
|
||||
|
||||
clearDefaultCommands = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Clear all default commands.
|
||||
You should remember to set the quit key.
|
||||
Otherwise you will not be able to leave less without killing it.
|
||||
'';
|
||||
};
|
||||
|
||||
lineEditingKeys = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {};
|
||||
example = {
|
||||
"\e" = "abort";
|
||||
};
|
||||
description = "Defines new line-editing keys.";
|
||||
};
|
||||
|
||||
envVariables = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {};
|
||||
example = {
|
||||
LESS = "--quit-if-one-screen";
|
||||
};
|
||||
description = "Defines environment variables.";
|
||||
};
|
||||
|
||||
lessopen = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = "|${pkgs.lesspipe}/bin/lesspipe.sh %s";
|
||||
description = ''
|
||||
Before less opens a file, it first gives your input preprocessor a chance to modify the way the contents of the file are displayed.
|
||||
'';
|
||||
};
|
||||
|
||||
lessclose = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
When less closes a file opened in such a way, it will call another program, called the input postprocessor, which may perform any desired clean-up action (such as deleting the replacement file created by LESSOPEN).
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.less ];
|
||||
|
||||
environment.variables = {
|
||||
"LESSKEY_SYSTEM" = toString lessKey;
|
||||
} // optionalAttrs (cfg.lessopen != null) {
|
||||
"LESSOPEN" = cfg.lessopen;
|
||||
} // optionalAttrs (cfg.lessclose != null) {
|
||||
"LESSCLOSE" = cfg.lessclose;
|
||||
};
|
||||
|
||||
warnings = optional (
|
||||
cfg.clearDefaultCommands && (all (x: x != "quit") (attrValues cfg.commands))
|
||||
) ''
|
||||
config.programs.less.clearDefaultCommands clears all default commands of less but there is no alternative binding for exiting.
|
||||
Consider adding a binding for 'quit'.
|
||||
'';
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ johnazoidberg ];
|
||||
|
||||
}
|
|
@ -26,8 +26,9 @@ let
|
|||
# Ensure privacy for newly created home directories.
|
||||
UMASK 077
|
||||
|
||||
# Uncomment this to allow non-root users to change their account
|
||||
#information. This should be made configurable.
|
||||
# Uncomment this and install chfn SUID to allow non-root
|
||||
# users to change their account GECOS information.
|
||||
# This should be made configurable.
|
||||
#CHFN_RESTRICT frwh
|
||||
|
||||
'';
|
||||
|
@ -103,13 +104,12 @@ in
|
|||
|
||||
security.wrappers = {
|
||||
su.source = "${pkgs.shadow.su}/bin/su";
|
||||
chfn.source = "${pkgs.shadow.out}/bin/chfn";
|
||||
sg.source = "${pkgs.shadow.out}/bin/sg";
|
||||
newgrp.source = "${pkgs.shadow.out}/bin/newgrp";
|
||||
newuidmap.source = "${pkgs.shadow.out}/bin/newuidmap";
|
||||
newgidmap.source = "${pkgs.shadow.out}/bin/newgidmap";
|
||||
} // (if config.users.mutableUsers then {
|
||||
passwd.source = "${pkgs.shadow.out}/bin/passwd";
|
||||
sg.source = "${pkgs.shadow.out}/bin/sg";
|
||||
newgrp.source = "${pkgs.shadow.out}/bin/newgrp";
|
||||
} else {});
|
||||
};
|
||||
}
|
||||
|
|
116
nixos/modules/services/misc/home-assistant.nix
Normal file
116
nixos/modules/services/misc/home-assistant.nix
Normal file
|
@ -0,0 +1,116 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.home-assistant;
|
||||
|
||||
configFile = pkgs.writeText "configuration.yaml" (builtins.toJSON cfg.config);
|
||||
|
||||
availableComponents = pkgs.home-assistant.availableComponents;
|
||||
|
||||
# Returns whether component is used in config
|
||||
useComponent = component: hasAttrByPath (splitString "." component) cfg.config;
|
||||
|
||||
# List of components used in config
|
||||
extraComponents = filter useComponent availableComponents;
|
||||
|
||||
package = if cfg.autoExtraComponents
|
||||
then (cfg.package.override { inherit extraComponents; })
|
||||
else cfg.package;
|
||||
|
||||
in {
|
||||
meta.maintainers = with maintainers; [ dotlambda ];
|
||||
|
||||
options.services.home-assistant = {
|
||||
enable = mkEnableOption "Home Assistant";
|
||||
|
||||
configDir = mkOption {
|
||||
default = "/var/lib/hass";
|
||||
type = types.path;
|
||||
description = "The config directory, where your <filename>configuration.yaml</filename> is located.";
|
||||
};
|
||||
|
||||
config = mkOption {
|
||||
default = null;
|
||||
type = with types; nullOr attrs;
|
||||
example = literalExample ''
|
||||
{
|
||||
homeassistant = {
|
||||
name = "Home";
|
||||
time_zone = "UTC";
|
||||
};
|
||||
frontend = { };
|
||||
http = { };
|
||||
feedreader.urls = [ "https://nixos.org/blogs.xml" ];
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Your <filename>configuration.yaml</filename> as a Nix attribute set.
|
||||
Beware that setting this option will delete your previous <filename>configuration.yaml</filename>.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
default = pkgs.home-assistant;
|
||||
defaultText = "pkgs.home-assistant";
|
||||
type = types.package;
|
||||
example = literalExample ''
|
||||
pkgs.home-assistant.override {
|
||||
extraPackages = ps: with ps; [ colorlog ];
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Home Assistant package to use.
|
||||
Override <literal>extraPackages</literal> in order to add additional dependencies.
|
||||
'';
|
||||
};
|
||||
|
||||
autoExtraComponents = mkOption {
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = ''
|
||||
If set to <literal>true</literal>, the components used in <literal>config</literal>
|
||||
are set as the specified package's <literal>extraComponents</literal>.
|
||||
This in turn adds all packaged dependencies to the derivation.
|
||||
You might still see import errors in your log.
|
||||
In this case, you will need to package the necessary dependencies yourself
|
||||
or ask for someone else to package them.
|
||||
If a dependency is packaged but not automatically added to this list,
|
||||
you might need to specify it in <literal>extraPackages</literal>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.home-assistant = {
|
||||
description = "Home Assistant";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
preStart = lib.optionalString (cfg.config != null) ''
|
||||
rm -f ${cfg.configDir}/configuration.yaml
|
||||
ln -s ${configFile} ${cfg.configDir}/configuration.yaml
|
||||
'';
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${package}/bin/hass --config "${cfg.configDir}"
|
||||
'';
|
||||
User = "hass";
|
||||
Group = "hass";
|
||||
Restart = "on-failure";
|
||||
ProtectSystem = "strict";
|
||||
ReadWritePaths = "${cfg.configDir}";
|
||||
PrivateTmp = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.extraUsers.hass = {
|
||||
home = cfg.configDir;
|
||||
createHome = true;
|
||||
group = "hass";
|
||||
uid = config.ids.uids.hass;
|
||||
};
|
||||
|
||||
users.extraGroups.hass.gid = config.ids.gids.hass;
|
||||
};
|
||||
}
|
|
@ -4,6 +4,8 @@ with lib;
|
|||
|
||||
let
|
||||
cfg = config.services.matrix-synapse;
|
||||
pg = config.services.postgresql;
|
||||
usePostgresql = cfg.database_type == "psycopg2";
|
||||
logConfigFile = pkgs.writeText "log_config.yaml" cfg.logConfig;
|
||||
mkResource = r: ''{names: ${builtins.toJSON r.names}, compress: ${boolToString r.compress}}'';
|
||||
mkListener = l: ''{port: ${toString l.port}, bind_address: "${l.bind_address}", type: ${l.type}, tls: ${boolToString l.tls}, x_forwarded: ${boolToString l.x_forwarded}, resources: [${concatStringsSep "," (map mkResource l.resources)}]}'';
|
||||
|
@ -38,7 +40,7 @@ database: {
|
|||
name: "${cfg.database_type}",
|
||||
args: {
|
||||
${concatStringsSep ",\n " (
|
||||
mapAttrsToList (n: v: "\"${n}\": ${v}") cfg.database_args
|
||||
mapAttrsToList (n: v: "\"${n}\": ${builtins.toJSON v}") cfg.database_args
|
||||
)}
|
||||
}
|
||||
}
|
||||
|
@ -155,7 +157,7 @@ in {
|
|||
tls_certificate_path = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "/var/lib/matrix-synapse/homeserver.tls.crt";
|
||||
example = "${cfg.dataDir}/homeserver.tls.crt";
|
||||
description = ''
|
||||
PEM encoded X509 certificate for TLS.
|
||||
You can replace the self-signed certificate that synapse
|
||||
|
@ -167,7 +169,7 @@ in {
|
|||
tls_private_key_path = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "/var/lib/matrix-synapse/homeserver.tls.key";
|
||||
example = "${cfg.dataDir}/homeserver.tls.key";
|
||||
description = ''
|
||||
PEM encoded private key for TLS. Specify null if synapse is not
|
||||
speaking TLS directly.
|
||||
|
@ -176,7 +178,7 @@ in {
|
|||
tls_dh_params_path = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "/var/lib/matrix-synapse/homeserver.tls.dh";
|
||||
example = "${cfg.dataDir}/homeserver.tls.dh";
|
||||
description = ''
|
||||
PEM dh parameters for ephemeral keys
|
||||
'';
|
||||
|
@ -184,6 +186,7 @@ in {
|
|||
server_name = mkOption {
|
||||
type = types.str;
|
||||
example = "example.com";
|
||||
default = config.networking.hostName;
|
||||
description = ''
|
||||
The domain name of the server, with optional explicit port.
|
||||
This is used by remote servers to connect to this server,
|
||||
|
@ -339,16 +342,39 @@ in {
|
|||
};
|
||||
database_type = mkOption {
|
||||
type = types.enum [ "sqlite3" "psycopg2" ];
|
||||
default = "sqlite3";
|
||||
default = if versionAtLeast config.system.stateVersion "18.03"
|
||||
then "psycopg2"
|
||||
else "sqlite3";
|
||||
description = ''
|
||||
The database engine name. Can be sqlite or psycopg2.
|
||||
'';
|
||||
};
|
||||
create_local_database = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to create a local database automatically.
|
||||
'';
|
||||
};
|
||||
database_name = mkOption {
|
||||
type = types.str;
|
||||
default = "matrix-synapse";
|
||||
description = "Database name.";
|
||||
};
|
||||
database_user = mkOption {
|
||||
type = types.str;
|
||||
default = "matrix-synapse";
|
||||
description = "Database user name.";
|
||||
};
|
||||
database_args = mkOption {
|
||||
type = types.attrs;
|
||||
default = {
|
||||
database = "${cfg.dataDir}/homeserver.db";
|
||||
};
|
||||
sqlite3 = { database = "${cfg.dataDir}/homeserver.db"; };
|
||||
psycopg2 = {
|
||||
user = cfg.database_user;
|
||||
database = cfg.database_name;
|
||||
};
|
||||
}."${cfg.database_type}";
|
||||
description = ''
|
||||
Arguments to pass to the engine.
|
||||
'';
|
||||
|
@ -623,15 +649,36 @@ in {
|
|||
gid = config.ids.gids.matrix-synapse;
|
||||
} ];
|
||||
|
||||
services.postgresql.enable = mkIf usePostgresql (mkDefault true);
|
||||
|
||||
systemd.services.matrix-synapse = {
|
||||
description = "Synapse Matrix homeserver";
|
||||
after = [ "network.target" ];
|
||||
after = [ "network.target" "postgresql.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
preStart = ''
|
||||
${cfg.package}/bin/homeserver \
|
||||
--config-path ${configFile} \
|
||||
--keys-directory ${cfg.dataDir} \
|
||||
--generate-keys
|
||||
'' + optionalString (usePostgresql && cfg.create_local_database) ''
|
||||
if ! test -e "${cfg.dataDir}/db-created"; then
|
||||
${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
|
||||
${pg.package}/bin/createuser \
|
||||
--login \
|
||||
--no-createdb \
|
||||
--no-createrole \
|
||||
--encrypted \
|
||||
${cfg.database_user}
|
||||
${pkgs.sudo}/bin/sudo -u ${pg.superUser} \
|
||||
${pg.package}/bin/createdb \
|
||||
--owner=${cfg.database_user} \
|
||||
--encoding=UTF8 \
|
||||
--lc-collate=C \
|
||||
--lc-ctype=C \
|
||||
--template=template0 \
|
||||
${cfg.database_name}
|
||||
touch "${cfg.dataDir}/db-created"
|
||||
fi
|
||||
'';
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
|
|
|
@ -8,7 +8,7 @@ let
|
|||
|
||||
nix = cfg.package.out;
|
||||
|
||||
isNix112 = versionAtLeast (getVersion nix) "1.12pre";
|
||||
isNix20 = versionAtLeast (getVersion nix) "2.0pre";
|
||||
|
||||
makeNixBuildUser = nr:
|
||||
{ name = "nixbld${toString nr}";
|
||||
|
@ -26,32 +26,40 @@ let
|
|||
|
||||
nixConf =
|
||||
let
|
||||
# If we're using sandbox for builds, then provide /bin/sh in
|
||||
# the sandbox as a bind-mount to bash. This means we also need to
|
||||
# include the entire closure of bash.
|
||||
# In Nix < 2.0, If we're using sandbox for builds, then provide
|
||||
# /bin/sh in the sandbox as a bind-mount to bash. This means we
|
||||
# also need to include the entire closure of bash. Nix >= 2.0
|
||||
# provides a /bin/sh by default.
|
||||
sh = pkgs.stdenv.shell;
|
||||
binshDeps = pkgs.writeReferencesToFile sh;
|
||||
in
|
||||
pkgs.runCommand "nix.conf" {extraOptions = cfg.extraOptions; } ''
|
||||
extraPaths=$(for i in $(cat ${binshDeps}); do if test -d $i; then echo $i; fi; done)
|
||||
pkgs.runCommand "nix.conf" { extraOptions = cfg.extraOptions; inherit binshDeps; } ''
|
||||
${optionalString (!isNix20) ''
|
||||
extraPaths=$(for i in $(cat binshDeps); do if test -d $i; then echo $i; fi; done)
|
||||
''}
|
||||
cat > $out <<END
|
||||
# WARNING: this file is generated from the nix.* options in
|
||||
# your NixOS configuration, typically
|
||||
# /etc/nixos/configuration.nix. Do not edit it!
|
||||
build-users-group = nixbld
|
||||
build-max-jobs = ${toString (cfg.maxJobs)}
|
||||
build-cores = ${toString (cfg.buildCores)}
|
||||
build-use-sandbox = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
|
||||
build-sandbox-paths = ${toString cfg.sandboxPaths} /bin/sh=${sh} $(echo $extraPaths)
|
||||
binary-caches = ${toString cfg.binaryCaches}
|
||||
trusted-binary-caches = ${toString cfg.trustedBinaryCaches}
|
||||
binary-cache-public-keys = ${toString cfg.binaryCachePublicKeys}
|
||||
${if isNix20 then "max-jobs" else "build-max-jobs"} = ${toString (cfg.maxJobs)}
|
||||
${if isNix20 then "cores" else "build-cores"} = ${toString (cfg.buildCores)}
|
||||
${if isNix20 then "sandbox" else "build-use-sandbox"} = ${if (builtins.isBool cfg.useSandbox) then boolToString cfg.useSandbox else cfg.useSandbox}
|
||||
${if isNix20 then "extra-sandbox-paths" else "build-sandbox-paths"} = ${toString cfg.sandboxPaths} ${optionalString (!isNix20) "/bin/sh=${sh} $(echo $extraPaths)"}
|
||||
${if isNix20 then "substituters" else "binary-caches"} = ${toString cfg.binaryCaches}
|
||||
${if isNix20 then "trusted-substituters" else "trusted-binary-caches"} = ${toString cfg.trustedBinaryCaches}
|
||||
${if isNix20 then "trusted-public-keys" else "binary-cache-public-keys"} = ${toString cfg.binaryCachePublicKeys}
|
||||
auto-optimise-store = ${boolToString cfg.autoOptimiseStore}
|
||||
${optionalString cfg.requireSignedBinaryCaches ''
|
||||
signed-binary-caches = *
|
||||
${if isNix20 then ''
|
||||
require-sigs = ${if cfg.requireSignedBinaryCaches then "true" else "false"}
|
||||
'' else ''
|
||||
signed-binary-caches = ${if cfg.requireSignedBinaryCaches then "*" else ""}
|
||||
''}
|
||||
trusted-users = ${toString cfg.trustedUsers}
|
||||
allowed-users = ${toString cfg.allowedUsers}
|
||||
${optionalString (isNix20 && !cfg.distributedBuilds) ''
|
||||
builders =
|
||||
''}
|
||||
$extraOptions
|
||||
END
|
||||
'';
|
||||
|
@ -377,8 +385,9 @@ in
|
|||
systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ];
|
||||
|
||||
systemd.services.nix-daemon =
|
||||
{ path = [ nix pkgs.openssl.bin pkgs.utillinux config.programs.ssh.package ]
|
||||
++ optionals cfg.distributedBuilds [ pkgs.gzip ];
|
||||
{ path = [ nix pkgs.utillinux ]
|
||||
++ optionals cfg.distributedBuilds [ config.programs.ssh.package pkgs.gzip ]
|
||||
++ optionals (!isNix20) [ pkgs.openssl.bin ];
|
||||
|
||||
environment = cfg.envVars
|
||||
// { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt"; }
|
||||
|
@ -396,10 +405,9 @@ in
|
|||
};
|
||||
|
||||
nix.envVars =
|
||||
{ NIX_CONF_DIR = "/etc/nix";
|
||||
}
|
||||
optionalAttrs (!isNix20) {
|
||||
NIX_CONF_DIR = "/etc/nix";
|
||||
|
||||
// optionalAttrs (!isNix112) {
|
||||
# Enable the copy-from-other-stores substituter, which allows
|
||||
# builds to be sped up by copying build results from remote
|
||||
# Nix stores. To do this, mount the remote file system on a
|
||||
|
@ -407,12 +415,8 @@ in
|
|||
NIX_OTHER_STORES = "/run/nix/remote-stores/*/nix";
|
||||
}
|
||||
|
||||
// optionalAttrs cfg.distributedBuilds {
|
||||
NIX_BUILD_HOOK =
|
||||
if isNix112 then
|
||||
"${nix}/libexec/nix/build-remote"
|
||||
else
|
||||
"${nix}/libexec/nix/build-remote.pl";
|
||||
// optionalAttrs (cfg.distributedBuilds && !isNix20) {
|
||||
NIX_BUILD_HOOK = "${nix}/libexec/nix/build-remote.pl";
|
||||
};
|
||||
|
||||
# Set up the environment variables for running Nix.
|
||||
|
@ -420,7 +424,7 @@ in
|
|||
{ NIX_PATH = concatStringsSep ":" cfg.nixPath;
|
||||
};
|
||||
|
||||
environment.extraInit =
|
||||
environment.extraInit = optionalString (!isNix20)
|
||||
''
|
||||
# Set up secure multi-user builds: non-root users build through the
|
||||
# Nix daemon.
|
||||
|
|
|
@ -10,9 +10,9 @@ let
|
|||
settingsDir = "${homeDir}";
|
||||
sessionFile = "${homeDir}/aria2.session";
|
||||
downloadDir = "${homeDir}/Downloads";
|
||||
|
||||
|
||||
rangesToStringList = map (x: builtins.toString x.from +"-"+ builtins.toString x.to);
|
||||
|
||||
|
||||
settingsFile = pkgs.writeText "aria2.conf"
|
||||
''
|
||||
dir=${cfg.downloadDir}
|
||||
|
@ -110,12 +110,12 @@ in
|
|||
mkdir -m 0770 -p "${homeDir}"
|
||||
chown aria2:aria2 "${homeDir}"
|
||||
if [[ ! -d "${config.services.aria2.downloadDir}" ]]
|
||||
then
|
||||
then
|
||||
mkdir -m 0770 -p "${config.services.aria2.downloadDir}"
|
||||
chown aria2:aria2 "${config.services.aria2.downloadDir}"
|
||||
fi
|
||||
if [[ ! -e "${sessionFile}" ]]
|
||||
then
|
||||
then
|
||||
touch "${sessionFile}"
|
||||
chown aria2:aria2 "${sessionFile}"
|
||||
fi
|
||||
|
@ -132,4 +132,4 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ in
|
|||
type = with types; listOf str;
|
||||
default = [ "::1" "127.0.0.1" ];
|
||||
description = ''
|
||||
What addresses the server should listen on.
|
||||
What addresses the server should listen on. (UDP+TCP 53)
|
||||
'';
|
||||
};
|
||||
# TODO: perhaps options for more common stuff like cache size or forwarding
|
||||
|
@ -99,9 +99,9 @@ in
|
|||
Restart = "on-failure";
|
||||
};
|
||||
|
||||
# Trust anchor goes from dns-root-data by default.
|
||||
script = ''
|
||||
exec '${package}/bin/kresd' --config '${configFile}' \
|
||||
-k '${pkgs.dns-root-data}/root.key'
|
||||
exec '${package}/bin/kresd' --config '${configFile}' --forks=1
|
||||
'';
|
||||
|
||||
requires = [ "kresd.socket" ];
|
||||
|
|
|
@ -47,6 +47,18 @@ in
|
|||
${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
|
||||
''}
|
||||
|
||||
if [ -f "$HOME/.config/kdeglobals" ]
|
||||
then
|
||||
# Remove extraneous font style names.
|
||||
# See also: https://phabricator.kde.org/D9070
|
||||
${getBin pkgs.gnused}/bin/sed -i "$HOME/.config/kdeglobals" \
|
||||
-e '/^fixed=/ s/,Regular$//' \
|
||||
-e '/^font=/ s/,Regular$//' \
|
||||
-e '/^menuFont=/ s/,Regular$//' \
|
||||
-e '/^smallestReadableFont=/ s/,Regular$//' \
|
||||
-e '/^toolBarFont=/ s/,Regular$//'
|
||||
fi
|
||||
|
||||
exec "${getBin plasma5.plasma-workspace}/bin/startkde"
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -25,12 +25,12 @@ in
|
|||
{ name = "2bwm";
|
||||
start =
|
||||
''
|
||||
${pkgs."2bwm"}/bin/2bwm &
|
||||
${pkgs._2bwm}/bin/2bwm &
|
||||
waitPID=$!
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs."2bwm" ];
|
||||
environment.systemPackages = [ pkgs._2bwm ];
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -206,7 +206,8 @@ in
|
|||
"xhci_hcd"
|
||||
"xhci_pci"
|
||||
"usbhid"
|
||||
"hid_generic" "hid_lenovo" "hid_apple" "hid_roccat" "hid_logitech_hidpp"
|
||||
"hid_generic" "hid_lenovo" "hid_apple" "hid_roccat"
|
||||
"hid_logitech_hidpp" "hid_logitech_dj"
|
||||
|
||||
] ++ optionals (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
|
||||
# Misc. x86 keyboard stuff.
|
||||
|
|
|
@ -230,9 +230,7 @@ let
|
|||
RemainAfterExit = true;
|
||||
};
|
||||
script = ''
|
||||
ip tuntap add dev "${i.name}" \
|
||||
${optionalString (i.virtualType != null) "mode ${i.virtualType}"} \
|
||||
user "${i.virtualOwner}"
|
||||
ip tuntap add dev "${i.name}" mode "${i.virtualType}" user "${i.virtualOwner}"
|
||||
'';
|
||||
postStop = ''
|
||||
ip link del ${i.name} || true
|
||||
|
|
|
@ -74,21 +74,17 @@ in
|
|||
networks."99-main" = genericNetwork mkDefault;
|
||||
}
|
||||
(mkMerge (flip map interfaces (i: {
|
||||
netdevs = mkIf i.virtual (
|
||||
let
|
||||
devType = if i.virtualType != null then i.virtualType
|
||||
else (if hasPrefix "tun" i.name then "tun" else "tap");
|
||||
in {
|
||||
"40-${i.name}" = {
|
||||
netdevConfig = {
|
||||
Name = i.name;
|
||||
Kind = devType;
|
||||
};
|
||||
"${devType}Config" = optionalAttrs (i.virtualOwner != null) {
|
||||
User = i.virtualOwner;
|
||||
};
|
||||
netdevs = mkIf i.virtual ({
|
||||
"40-${i.name}" = {
|
||||
netdevConfig = {
|
||||
Name = i.name;
|
||||
Kind = i.virtualType;
|
||||
};
|
||||
});
|
||||
"${i.virtualType}Config" = optionalAttrs (i.virtualOwner != null) {
|
||||
User = i.virtualOwner;
|
||||
};
|
||||
};
|
||||
});
|
||||
networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
|
||||
name = mkDefault i.name;
|
||||
DHCP = mkForce (dhcpStr
|
||||
|
|
|
@ -273,11 +273,13 @@ let
|
|||
};
|
||||
|
||||
virtualType = mkOption {
|
||||
default = null;
|
||||
type = with types; nullOr (enum [ "tun" "tap" ]);
|
||||
default = if hasPrefix "tun" name then "tun" else "tap";
|
||||
defaultText = literalExample ''if hasPrefix "tun" name then "tun" else "tap"'';
|
||||
type = with types; enum [ "tun" "tap" ];
|
||||
description = ''
|
||||
The explicit type of interface to create. Accepts tun or tap strings.
|
||||
Also accepts null to implicitly detect the type of device.
|
||||
The type of interface to create.
|
||||
The default is TUN for an interface name starting
|
||||
with "tun", otherwise TAP.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -4,13 +4,10 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||
|
||||
let
|
||||
kernel = config.boot.kernelPackages.kernel;
|
||||
# FIXME: figure out a common place for this instead of copy pasting
|
||||
serialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
|
||||
else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0"
|
||||
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
|
||||
in
|
||||
|
||||
{
|
||||
|
@ -28,8 +25,8 @@ in
|
|||
|
||||
systemd.services.backdoor =
|
||||
{ wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "dev-hvc0.device" "dev-${serialDevice}.device" ];
|
||||
after = [ "dev-hvc0.device" "dev-${serialDevice}.device" ];
|
||||
requires = [ "dev-hvc0.device" "dev-${qemuSerialDevice}.device" ];
|
||||
after = [ "dev-hvc0.device" "dev-${qemuSerialDevice}.device" ];
|
||||
script =
|
||||
''
|
||||
export USER=root
|
||||
|
@ -46,7 +43,7 @@ in
|
|||
|
||||
cd /tmp
|
||||
exec < /dev/hvc0 > /dev/hvc0
|
||||
while ! exec 2> /dev/${serialDevice}; do sleep 0.1; done
|
||||
while ! exec 2> /dev/${qemuSerialDevice}; do sleep 0.1; done
|
||||
echo "connecting to host..." >&2
|
||||
stty -F /dev/hvc0 raw -echo # prevent nl -> cr/nl conversion
|
||||
echo
|
||||
|
@ -55,10 +52,10 @@ in
|
|||
serviceConfig.KillSignal = "SIGHUP";
|
||||
};
|
||||
|
||||
# Prevent agetty from being instantiated on ${serialDevice}, since it
|
||||
# interferes with the backdoor (writes to ${serialDevice} will randomly fail
|
||||
# Prevent agetty from being instantiated on the serial device, since it
|
||||
# interferes with the backdoor (writes to it will randomly fail
|
||||
# with EIO). Likewise for hvc0.
|
||||
systemd.services."serial-getty@${serialDevice}".enable = false;
|
||||
systemd.services."serial-getty@${qemuSerialDevice}".enable = false;
|
||||
systemd.services."serial-getty@hvc0".enable = false;
|
||||
|
||||
boot.initrd.preDeviceCommands =
|
||||
|
@ -94,7 +91,7 @@ in
|
|||
# Panic if an error occurs in stage 1 (rather than waiting for
|
||||
# user intervention).
|
||||
boot.kernelParams =
|
||||
[ "console=${serialDevice}" "panic=1" "boot.panic_on_fail" ];
|
||||
[ "console=${qemuSerialDevice}" "panic=1" "boot.panic_on_fail" ];
|
||||
|
||||
# `xwininfo' is used by the test driver to query open windows.
|
||||
environment.systemPackages = [ pkgs.xorg.xwininfo ];
|
||||
|
|
|
@ -10,21 +10,11 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
||||
|
||||
let
|
||||
|
||||
qemu = config.system.build.qemu or pkgs.qemu_test;
|
||||
qemuKvm = {
|
||||
"i686-linux" = "${qemu}/bin/qemu-kvm";
|
||||
"x86_64-linux" = "${qemu}/bin/qemu-kvm -cpu kvm64";
|
||||
"armv7l-linux" = "${qemu}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host";
|
||||
"aarch64-linux" = "${qemu}/bin/qemu-system-aarch64 -enable-kvm -machine virt,gic-version=host -cpu host";
|
||||
}.${pkgs.stdenv.system};
|
||||
|
||||
# FIXME: figure out a common place for this instead of copy pasting
|
||||
serialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0"
|
||||
else if pkgs.stdenv.isArm || pkgs.stdenv.isAarch64 then "ttyAMA0"
|
||||
else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'";
|
||||
|
||||
vmName =
|
||||
if config.networking.hostName == ""
|
||||
|
@ -34,7 +24,7 @@ let
|
|||
cfg = config.virtualisation;
|
||||
|
||||
qemuGraphics = if cfg.graphics then "" else "-nographic";
|
||||
kernelConsole = if cfg.graphics then "" else "console=${serialDevice}";
|
||||
kernelConsole = if cfg.graphics then "" else "console=${qemuSerialDevice}";
|
||||
ttys = [ "tty1" "tty2" "tty3" "tty4" "tty5" "tty6" ];
|
||||
|
||||
# Shell script to start the VM.
|
||||
|
@ -83,7 +73,7 @@ let
|
|||
'')}
|
||||
|
||||
# Start QEMU.
|
||||
exec ${qemuKvm} \
|
||||
exec ${qemuBinary qemu} \
|
||||
-name ${vmName} \
|
||||
-m ${toString config.virtualisation.memorySize} \
|
||||
-smp ${toString config.virtualisation.cores} \
|
||||
|
|
|
@ -227,6 +227,7 @@ in rec {
|
|||
tests.blivet = callTest tests/blivet.nix {};
|
||||
tests.boot = callSubTests tests/boot.nix {};
|
||||
tests.boot-stage1 = callTest tests/boot-stage1.nix {};
|
||||
tests.borgbackup = callTest tests/borgbackup.nix {};
|
||||
tests.cadvisor = callTestOnTheseSystems ["x86_64-linux"] tests/cadvisor.nix {};
|
||||
tests.chromium = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/chromium.nix {}).stable;
|
||||
tests.cjdns = callTest tests/cjdns.nix {};
|
||||
|
@ -266,6 +267,7 @@ in rec {
|
|||
tests.graphite = callTest tests/graphite.nix {};
|
||||
tests.hardened = callTest tests/hardened.nix { };
|
||||
tests.hibernate = callTest tests/hibernate.nix {};
|
||||
tests.home-assistant = callTest tests/home-assistant.nix { };
|
||||
tests.hound = callTest tests/hound.nix {};
|
||||
tests.i3wm = callTest tests/i3wm.nix {};
|
||||
tests.initrd-network-ssh = callTest tests/initrd-network-ssh {};
|
||||
|
@ -290,6 +292,7 @@ in rec {
|
|||
tests.login = callTest tests/login.nix {};
|
||||
#tests.logstash = callTest tests/logstash.nix {};
|
||||
tests.mathics = callTest tests/mathics.nix {};
|
||||
tests.matrix-synapse = callTest tests/matrix-synapse.nix {};
|
||||
tests.mesos = callTest tests/mesos.nix {};
|
||||
tests.misc = callTest tests/misc.nix {};
|
||||
tests.mongodb = callTest tests/mongodb.nix {};
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ system ? builtins.currentSystem }:
|
||||
|
||||
with import ../lib/testing.nix { inherit system; };
|
||||
with import ../lib/qemu-flags.nix;
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
|
|
21
nixos/tests/borgbackup.nix
Normal file
21
nixos/tests/borgbackup.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
import ./make-test.nix ({ pkgs, ...}: {
|
||||
name = "borgbackup";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ mic92 ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
machine = { config, pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.borgbackup ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
my $borg = "BORG_PASSPHRASE=supersecret borg";
|
||||
$machine->succeed("$borg init --encryption=repokey /tmp/backup");
|
||||
$machine->succeed("mkdir /tmp/data/ && echo 'data' >/tmp/data/file");
|
||||
$machine->succeed("$borg create --stats /tmp/backup::test /tmp/data");
|
||||
$machine->succeed("$borg extract /tmp/backup::test");
|
||||
$machine->succeed('c=$(cat data/file) && echo "c = $c" >&2 && [[ "$c" == "data" ]]');
|
||||
'';
|
||||
})
|
|
@ -1,7 +1,6 @@
|
|||
{ system ? builtins.currentSystem }:
|
||||
|
||||
with import ../lib/testing.nix { inherit system; };
|
||||
with import ../lib/qemu-flags.nix;
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ system ? builtins.currentSystem }:
|
||||
|
||||
with import ../lib/testing.nix { inherit system; };
|
||||
with import ../lib/qemu-flags.nix;
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
|
|
46
nixos/tests/home-assistant.nix
Normal file
46
nixos/tests/home-assistant.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
import ./make-test.nix ({ pkgs, ... }:
|
||||
|
||||
let
|
||||
configDir = "/var/lib/foobar";
|
||||
|
||||
in {
|
||||
name = "home-assistant";
|
||||
|
||||
nodes = {
|
||||
hass =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
services.home-assistant = {
|
||||
inherit configDir;
|
||||
enable = true;
|
||||
config = {
|
||||
homeassistant = {
|
||||
name = "Home";
|
||||
time_zone = "UTC";
|
||||
latitude = "0.0";
|
||||
longitude = "0.0";
|
||||
elevation = 0;
|
||||
};
|
||||
frontend = { };
|
||||
http = { };
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
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");
|
||||
|
||||
# Check that Home Assistant's web interface and API can be reached
|
||||
$hass->waitForOpenPort(8123);
|
||||
$hass->succeed("curl --fail http://localhost:8123/states");
|
||||
$hass->succeed("curl --fail http://localhost:8123/api/ | grep 'API running'");
|
||||
|
||||
$hass->fail("cat ${configDir}/home-assistant.log | grep -qF ERROR");
|
||||
'';
|
||||
})
|
|
@ -1,7 +1,6 @@
|
|||
{ system ? builtins.currentSystem }:
|
||||
|
||||
with import ../lib/testing.nix { inherit system; };
|
||||
with import ../lib/qemu-flags.nix;
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ system ? builtins.currentSystem }:
|
||||
|
||||
with import ../../lib/testing.nix { inherit system; };
|
||||
with import ../../lib/qemu-flags.nix;
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
|
|
|
@ -2,4 +2,4 @@ f: { system ? builtins.currentSystem, ... } @ args:
|
|||
|
||||
with import ../lib/testing.nix { inherit system; };
|
||||
|
||||
makeTest (if builtins.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
|
||||
makeTest (if pkgs.lib.isFunction f then f (args // { inherit pkgs; inherit (pkgs) lib; }) else f)
|
||||
|
|
30
nixos/tests/matrix-synapse.nix
Normal file
30
nixos/tests/matrix-synapse.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
import ./make-test.nix ({ pkgs, ... } : {
|
||||
|
||||
name = "matrix-synapse";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ corngood ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
server_postgres = args: {
|
||||
services.matrix-synapse.enable = true;
|
||||
services.matrix-synapse.database_type = "psycopg2";
|
||||
};
|
||||
|
||||
server_sqlite = args: {
|
||||
services.matrix-synapse.enable = true;
|
||||
services.matrix-synapse.database_type = "sqlite3";
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
startAll;
|
||||
$server_postgres->waitForUnit("matrix-synapse.service");
|
||||
$server_postgres->waitUntilSucceeds("curl -Lk https://localhost:8448/");
|
||||
$server_postgres->requireActiveUnit("postgresql.service");
|
||||
$server_sqlite->waitForUnit("matrix-synapse.service");
|
||||
$server_sqlite->waitUntilSucceeds("curl -Lk https://localhost:8448/");
|
||||
$server_sqlite->mustSucceed("[ -e /var/lib/matrix-synapse/homeserver.db ]");
|
||||
'';
|
||||
|
||||
})
|
|
@ -433,6 +433,49 @@ let
|
|||
$client2->succeed("ip addr show dev vlan >&2");
|
||||
'';
|
||||
};
|
||||
virtual = {
|
||||
name = "Virtual";
|
||||
machine = {
|
||||
networking.interfaces."tap0" = {
|
||||
ip4 = [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||
ip6 = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
|
||||
virtual = true;
|
||||
};
|
||||
networking.interfaces."tun0" = {
|
||||
ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ];
|
||||
ip6 = [ { address = "2001:1470:fffd:2097::"; prefixLength = 64; } ];
|
||||
virtual = true;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
my $targetList = <<'END';
|
||||
tap0: tap UNKNOWN_FLAGS:800 user 0
|
||||
tun0: tun UNKNOWN_FLAGS:800 user 0
|
||||
END
|
||||
|
||||
# Wait for networking to come up
|
||||
$machine->start;
|
||||
$machine->waitForUnit("network.target");
|
||||
|
||||
# Test interfaces set up
|
||||
my $list = $machine->succeed("ip tuntap list | sort");
|
||||
"$list" eq "$targetList" or die(
|
||||
"The list of virtual interfaces does not match the expected one:\n",
|
||||
"Result:\n", "$list\n",
|
||||
"Expected:\n", "$targetList\n"
|
||||
);
|
||||
|
||||
# Test interfaces clean up
|
||||
$machine->succeed("systemctl stop network-addresses-tap0");
|
||||
$machine->succeed("systemctl stop network-addresses-tun0");
|
||||
my $residue = $machine->succeed("ip tuntap list");
|
||||
$residue eq "" or die(
|
||||
"Some virtual interface has not been properly cleaned:\n",
|
||||
"$residue\n"
|
||||
);
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
in mapAttrs (const (attrs: makeTest (attrs // {
|
||||
|
|
|
@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [ glib ncurses mpd_clientlib ];
|
||||
nativeBuildInputs = [ meson ninja pkgconfig gettext ];
|
||||
|
||||
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Curses-based interface for MPD (music player daemon)";
|
||||
homepage = https://www.musicpd.org/clients/ncmpc/;
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
{ stdenv, fetchurl }:
|
||||
{ stdenv, fetchurl, libmad }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "normalize-${version}";
|
||||
version = "0.7.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://savannah/normalize/normalize-0.7.7.tar.gz";
|
||||
url = "mirror://savannah/normalize/${name}.tar.gz";
|
||||
sha256 = "1n5khss10vjjp6w69q9qcl4kqfkd0pr555lgqghrchn6rjms4mb0";
|
||||
};
|
||||
|
||||
buildInputs = [ libmad ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://normalize.nongnu.org/;
|
||||
description = "Audio file normalizer";
|
||||
|
|
|
@ -29,11 +29,11 @@
|
|||
# handle that.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qmmp-1.1.10";
|
||||
name = "qmmp-1.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
|
||||
sha256 = "16hb3s48filq0q18m7x9vmhpirk4fh0aqj8kwbapv8mkcnzq2mqy";
|
||||
sha256 = "17kci7srgbkk62dgxlmg3lv2y7z04jsinpgx6jmxjpnpblpcj840";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
|
|
@ -27,9 +27,9 @@ in rec {
|
|||
|
||||
preview = mkStudio {
|
||||
pname = "android-studio-preview";
|
||||
version = "3.1.0.8"; # "Android Studio 3.1 Canary 9"
|
||||
build = "173.4559767";
|
||||
sha256Hash = "0wy3bqd4wvvcwlqcv06mwlqgc119pjpc102ix3yacqvki9qyi1r0";
|
||||
version = "3.1.0.9"; # "Android Studio 3.1 Beta 1"
|
||||
build = "173.4567466";
|
||||
sha256Hash = "01c6a46pk5zbhwk2w038nm68fkx86nafiw1v2i5rdr93mxvx9cag";
|
||||
|
||||
meta = stable.meta // {
|
||||
description = "The Official IDE for Android (preview version)";
|
||||
|
|
|
@ -95,10 +95,10 @@
|
|||
ahungry-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "ahungry-theme";
|
||||
version = "1.8.0";
|
||||
version = "1.10.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ahungry-theme-1.8.0.tar";
|
||||
sha256 = "14dhnrlbjzrxk5ligf0z2im5bgnxpjqqzqcrmqg5355xrgpbpb7v";
|
||||
url = "https://elpa.gnu.org/packages/ahungry-theme-1.10.0.tar";
|
||||
sha256 = "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -765,15 +765,15 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
|
||||
el-search = callPackage ({ cl-print, elpaBuild, emacs, fetchurl, lib, stream }:
|
||||
elpaBuild {
|
||||
pname = "el-search";
|
||||
version = "1.5.1";
|
||||
version = "1.5.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/el-search-1.5.1.tar";
|
||||
sha256 = "0bbq59d8x4ncrmpfq54w6rwpp604f1x834b81l7wflwxv7ni5msx";
|
||||
url = "https://elpa.gnu.org/packages/el-search-1.5.3.tar";
|
||||
sha256 = "095gpanpf88j65cbf4r6c787qxi07kqpvdsh0dsdpg9m3ivmxbra";
|
||||
};
|
||||
packageRequires = [ emacs stream ];
|
||||
packageRequires = [ cl-print emacs stream ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/el-search.html";
|
||||
license = lib.licenses.free;
|
||||
|
@ -1386,10 +1386,10 @@
|
|||
mines = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "mines";
|
||||
version = "1.5";
|
||||
version = "1.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/mines-1.5.tar";
|
||||
sha256 = "1wpkn47iza78hzj396z5c05hsimnhhhmr1cq598azd6h8c1zca7g";
|
||||
url = "https://elpa.gnu.org/packages/mines-1.6.tar";
|
||||
sha256 = "1199s1v4my0qpvc5aaxzbqayjn59vilxbqnywvyhvm7hz088aps2";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -1637,10 +1637,10 @@
|
|||
}) {};
|
||||
paced = callPackage ({ async, elpaBuild, emacs, fetchurl, lib }: elpaBuild {
|
||||
pname = "paced";
|
||||
version = "1.0";
|
||||
version = "1.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/paced-1.0.tar";
|
||||
sha256 = "0ld7cnlk6pn41hx2yfga5w7vfgg4ql6k25ffnf400nsn7y6wcapd";
|
||||
url = "https://elpa.gnu.org/packages/paced-1.0.1.tar";
|
||||
sha256 = "1y2sl3iqz2vjgkbc859sm3h9jhnrgla9ynazy9d5rql0nsb6sn8p";
|
||||
};
|
||||
packageRequires = [ async emacs ];
|
||||
meta = {
|
||||
|
@ -1754,6 +1754,19 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
rbit = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "rbit";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/rbit-0.1.el";
|
||||
sha256 = "0h0f9jx4xmkbyxk39wibrvnj65b1ylkz4sk4np7qcavfjs6dz3lm";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/rbit.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
rcirc-color = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "rcirc-color";
|
||||
version = "0.3";
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -131,9 +131,6 @@ self:
|
|||
# upstream issue: mismatched filename
|
||||
link-hint = markBroken super.link-hint;
|
||||
|
||||
# part of a larger package
|
||||
llvm-mode = dontConfigure super.llvm-mode;
|
||||
|
||||
# upstream issue: missing file header
|
||||
maxframe = markBroken super.maxframe;
|
||||
|
||||
|
|
|
@ -548,12 +548,12 @@
|
|||
ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
|
||||
melpaBuild {
|
||||
pname = "ac-php";
|
||||
version = "2.0.1";
|
||||
version = "2.0.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "xcwen";
|
||||
repo = "ac-php";
|
||||
rev = "519b5cd886f484693fd69b226e307d56137b321b";
|
||||
sha256 = "1pig5kang3yvzzahgn8rfpy3gvpfz7myvf7ic0yc6rivvbl03k18";
|
||||
rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
|
||||
sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
|
||||
|
@ -569,12 +569,12 @@
|
|||
ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }:
|
||||
melpaBuild {
|
||||
pname = "ac-php-core";
|
||||
version = "2.0.1";
|
||||
version = "2.0.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "xcwen";
|
||||
repo = "ac-php";
|
||||
rev = "519b5cd886f484693fd69b226e307d56137b321b";
|
||||
sha256 = "1pig5kang3yvzzahgn8rfpy3gvpfz7myvf7ic0yc6rivvbl03k18";
|
||||
rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
|
||||
sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
|
||||
|
@ -1094,12 +1094,12 @@
|
|||
ahungry-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "ahungry-theme";
|
||||
version = "1.8.0";
|
||||
version = "1.10.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ahungry";
|
||||
repo = "color-theme-ahungry";
|
||||
rev = "32ce7765c95559f6a0552cdaeedb6eb97bb7a476";
|
||||
sha256 = "0c1xwqknhjx6y29fwca949r8d2fqb17mca5qc79pdxdlp3l606fg";
|
||||
rev = "45bf75f17752c8e8dd4c8a4531c0aa419cdccb84";
|
||||
sha256 = "03xypgq6vy7819r42g23kgn7p775bc0v9blzhi0zp5c61p4cw8v3";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/520295978fd7de3f4266dd69cc30d0b4fdf09db0/recipes/ahungry-theme";
|
||||
|
@ -1217,22 +1217,22 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild, memoize }:
|
||||
all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize }:
|
||||
melpaBuild {
|
||||
pname = "all-the-icons";
|
||||
version = "3.1.1";
|
||||
version = "3.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "domtronn";
|
||||
repo = "all-the-icons.el";
|
||||
rev = "bb69345ead914345faad582723a2b61618f13289";
|
||||
sha256 = "0h8a2jvn2wfi3bqd35scmhm8wh20mlk09sy68m1whi9binzkm8rf";
|
||||
rev = "52d1f2d36468146c93aaf11399f581401a233306";
|
||||
sha256 = "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
|
||||
sha256 = "00ba4gkfvg38l4s0gsb4asvv1hfw9yjl2786imybzy7bkg9f9x3q";
|
||||
name = "all-the-icons";
|
||||
};
|
||||
packageRequires = [ emacs font-lock-plus memoize ];
|
||||
packageRequires = [ emacs memoize ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/all-the-icons";
|
||||
license = lib.licenses.free;
|
||||
|
@ -3376,12 +3376,12 @@
|
|||
bug-reference-github = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "bug-reference-github";
|
||||
version = "0.2.0";
|
||||
version = "1.0.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "arnested";
|
||||
repo = "bug-reference-github";
|
||||
rev = "671d32083aad5cf813a5e61075b70889bc95dec5";
|
||||
sha256 = "07jzg58a3jxs4mmsgb35f5f8awazlvzak9wrhif6xb60jq1wrp0v";
|
||||
rev = "f570a0532bfb44f095b42cf68ab1f69799101137";
|
||||
sha256 = "09rbxgrk7jp9xajya6nccj0ak7fc48wyxq4sfmjmy3q1qfszdsc3";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/5dfce86371692dddef78a6c1d772138b487b82cb/recipes/bug-reference-github";
|
||||
|
@ -4361,12 +4361,12 @@
|
|||
circe = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "circe";
|
||||
version = "2.6";
|
||||
version = "2.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jorgenschaefer";
|
||||
repo = "circe";
|
||||
rev = "59f1096238e6c30303a6fe9fc1c635f49e5946c6";
|
||||
sha256 = "19h3983zy3f15cgs86irvbdzz55qyjm48qd7gjlzcxplr7vnnh0j";
|
||||
rev = "661a2cdb3a3d9bc11ee511a4f90116c88e0d3484";
|
||||
sha256 = "19fcvmm915dz9l2w1rna4yik96rb3hrk7042012g961xn4sgs0ih";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe";
|
||||
|
@ -5486,12 +5486,12 @@
|
|||
company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "company-php";
|
||||
version = "2.0.1";
|
||||
version = "2.0.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "xcwen";
|
||||
repo = "ac-php";
|
||||
rev = "519b5cd886f484693fd69b226e307d56137b321b";
|
||||
sha256 = "1pig5kang3yvzzahgn8rfpy3gvpfz7myvf7ic0yc6rivvbl03k18";
|
||||
rev = "b9f455d863d3e92fcf32eaa722447c6d62ee1297";
|
||||
sha256 = "1mwx61yxsxzd9d6jas61rsc68vc7mrlzkxxyyzcq21qvikadigrk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
|
||||
|
@ -6059,12 +6059,12 @@
|
|||
counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "counsel-etags";
|
||||
version = "1.3.8";
|
||||
version = "1.3.9";
|
||||
src = fetchFromGitHub {
|
||||
owner = "redguardtoo";
|
||||
repo = "counsel-etags";
|
||||
rev = "e05fdb306eee197d63976d24bf0e16db241c6c06";
|
||||
sha256 = "1m6m2ygafy38483rd8qfq4zwmw1x7m5zpnvqdmsckiqik3s2z98n";
|
||||
rev = "2219bf8d9a4584abc905c7470455777553496056";
|
||||
sha256 = "0kcxcbf1rm7cm74s5z87pv0bflx42h4j2lnb8b3r0nznj94ywnj3";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
|
||||
|
@ -6542,12 +6542,12 @@
|
|||
cwl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, yaml-mode }:
|
||||
melpaBuild {
|
||||
pname = "cwl-mode";
|
||||
version = "0.2.4";
|
||||
version = "0.2.5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tom-tan";
|
||||
repo = "cwl-mode";
|
||||
rev = "c5110c1e035535a1133a7107c0d2d55e5fe3c5b9";
|
||||
sha256 = "088998r78bpy77pb2rhbr6a2fks5mcy3qyvyzlqwwl0v2gnscl59";
|
||||
rev = "bdeb9c0734126f940db80bfb8b1dc735dab671c7";
|
||||
sha256 = "0x9rvyhgy7ijq2r9pin94jz7nisrw6z91jch7d27lkhrmyb1rwk3";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/2309764cd56d9631dd97981a78b50b9fe793a280/recipes/cwl-mode";
|
||||
|
@ -7277,12 +7277,12 @@
|
|||
dimmer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "dimmer";
|
||||
version = "0.2.2";
|
||||
version = "0.3.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gonewest818";
|
||||
repo = "dimmer.el";
|
||||
rev = "031be18db14c5c45758d64584b0f94d77e8f32da";
|
||||
sha256 = "0csj6194cjds4lzyk850jfndg38447w0dk6xza4vafwx2nd9lfvf";
|
||||
rev = "12fc52a6570ec25020281735f5a0ca780a9105af";
|
||||
sha256 = "1jv9rrv15nb5hpwcaqlpjj932gyisrkwbv11czkg3v0bn7qn6yif";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/8ae80e9202d69ed3214325dd15c4b2f114263954/recipes/dimmer";
|
||||
|
@ -8901,13 +8901,13 @@
|
|||
pname = "eide";
|
||||
version = "2.1.2";
|
||||
src = fetchgit {
|
||||
url = "git://git.tuxfamily.org/gitroot/eide/emacs-ide.git";
|
||||
url = "https://git.tuxfamily.org/eide/emacs-ide.git";
|
||||
rev = "5f046ea74eee7af9afbd815c2bfd11fa9c72e6b3";
|
||||
sha256 = "1bd9vqqzhbkpfr80r91r65gv6mqnjqfnyclylivg79sfkkahil9n";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/eide";
|
||||
sha256 = "1i5brijz7pnqdk411j091fb8clapsbsihaak70g12fa5qic835fv";
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/34b70a5616e27ff9904a2803c86e049acfe9b26d/recipes/eide";
|
||||
sha256 = "168f4mz10byq1kdcfd029gkb3j6jk6lc4kdr4g204823x073f0ni";
|
||||
name = "eide";
|
||||
};
|
||||
packageRequires = [];
|
||||
|
@ -9094,22 +9094,22 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
el-spice = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, thingatpt-plus }:
|
||||
el-spice = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "el-spice";
|
||||
version = "0.2.2";
|
||||
version = "0.3.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vedang";
|
||||
repo = "el-spice";
|
||||
rev = "53921ffe9a84d9395eea90709309d3d5529921ea";
|
||||
sha256 = "0390pfgfgj7hwfmkwikwhip0hmwkgx784l529cqvalc31jchi94i";
|
||||
rev = "972dace20ec61cd27b9322432d0c7a688c6f061a";
|
||||
sha256 = "1wrb46y4s4v0lwwyriz2qn1j1l804jyb4dmadf462jxln85rml70";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/4666eee9f6837d6d9dba77e04aa4c8c4a93b47b5/recipes/el-spice";
|
||||
sha256 = "0i0l3y9w1q9pf5zhvmsq4h427imix67jgcfwq21b6j82dzg5l4hg";
|
||||
name = "el-spice";
|
||||
};
|
||||
packageRequires = [ thingatpt-plus ];
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/el-spice";
|
||||
license = lib.licenses.free;
|
||||
|
@ -9157,6 +9157,27 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
elbank = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
|
||||
melpaBuild {
|
||||
pname = "elbank";
|
||||
version = "1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "NicolasPetton";
|
||||
repo = "Elbank";
|
||||
rev = "e4b532373a32889b8ab3389bd3e726dff5dd0bcf";
|
||||
sha256 = "0kqiwa5gr8q0rhr598v9p7dx88i3359j49j04crqwnc5y107s1xk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/05d252ee84adae2adc88fd325540f76b6cdaf010/recipes/elbank";
|
||||
sha256 = "1ry84aiajyrnrspf7w4yjm0rmdam8ijrz0s7291yr8c70hslc997";
|
||||
name = "elbank";
|
||||
};
|
||||
packageRequires = [ emacs seq ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/elbank";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
elcord = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "elcord";
|
||||
|
@ -9514,15 +9535,15 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
elpy = callPackage ({ company, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
|
||||
elpy = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
|
||||
melpaBuild {
|
||||
pname = "elpy";
|
||||
version = "1.17.0";
|
||||
version = "1.18.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jorgenschaefer";
|
||||
repo = "elpy";
|
||||
rev = "99f0b6401bff25d40b9f58123533271f7870a286";
|
||||
sha256 = "06n0vr8y5s8y7q9v96z030l1i9n29p622p36biyi5cjcmgf5h09j";
|
||||
rev = "30cb5e3c344edef572b6cffac94c6ff80bf6595f";
|
||||
sha256 = "17iwdaly9kw17ih86rk9w1iswn8r6vvj9sh71picsxg6gqdrqnrk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
|
||||
|
@ -9531,6 +9552,7 @@
|
|||
};
|
||||
packageRequires = [
|
||||
company
|
||||
emacs
|
||||
find-file-in-project
|
||||
highlight-indentation
|
||||
pyvenv
|
||||
|
@ -9608,12 +9630,12 @@
|
|||
elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "elx";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacscollective";
|
||||
repo = "elx";
|
||||
rev = "127fd4fca8ac6470cfda62f47bb1c29859862cfc";
|
||||
sha256 = "0j7j7wh89a34scilw11pbdb86nf515ig38pjkwyarfvj93gigc04";
|
||||
rev = "9f32e91ebbaebd7f1125107dce2aa979827b26c0";
|
||||
sha256 = "1hc4jw2fy25ri2hh3xw7sp67yfl2jvrgj1a25xa6svchjq3h1yf2";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx";
|
||||
|
@ -9763,8 +9785,8 @@
|
|||
sha256 = "07gvx0bbpf6j3g8kpk9908wf8fx1yb3075v6407wjxxighl0n5zz";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-sqlite";
|
||||
sha256 = "1vywq3ypcs61s60y7x0ac8rdm9yj43iwzxh8gk9zdyrcn9qpis0i";
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9/recipes/emacsql-sqlite";
|
||||
sha256 = "1y81nabzzb9f7b8azb9giy23ckywcbrrg4b88gw5qyjizbb3h70x";
|
||||
name = "emacsql-sqlite";
|
||||
};
|
||||
packageRequires = [ cl-generic cl-lib emacs emacsql ];
|
||||
|
@ -11345,12 +11367,12 @@
|
|||
evil-matchit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "evil-matchit";
|
||||
version = "2.2.5";
|
||||
version = "2.2.6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "redguardtoo";
|
||||
repo = "evil-matchit";
|
||||
rev = "ceb13ad1b34eb0debe2472c024841bdddce9e593";
|
||||
sha256 = "1wal8kwz1gx0cw1a91rf0d9wl490kjiilv6kwd779zf5041hnhwf";
|
||||
rev = "50bb88241983f0bf06d35a455a87c04eddc11c83";
|
||||
sha256 = "1qn5nydh2pinjlyyplrdxrn2r828im6mgij95ahs8z14y9yxwcif";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit";
|
||||
|
@ -12372,12 +12394,12 @@
|
|||
find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "find-file-in-project";
|
||||
version = "5.4.6";
|
||||
version = "5.4.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "technomancy";
|
||||
repo = "find-file-in-project";
|
||||
rev = "31ebfd65d254904ba3e5ec96507c0b01d7768940";
|
||||
sha256 = "1xy7a6crng5x7k0x810ijrm882gm597ljwzi4cj2i93js625cw2b";
|
||||
rev = "7be14de3c737e70606d208d8d443b89e58cd646d";
|
||||
sha256 = "1sdnyqv69mipbgs9yax88m9b6crsa59rjhwrih197pifl4089awr";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
|
||||
|
@ -17162,12 +17184,12 @@
|
|||
helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
|
||||
melpaBuild {
|
||||
pname = "helm";
|
||||
version = "2.8.7";
|
||||
version = "2.8.8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacs-helm";
|
||||
repo = "helm";
|
||||
rev = "5b2057c7755f6ea20e1ea011c6fb992d12650161";
|
||||
sha256 = "0hf27j1rv3xnnari70k7p1b51pdyv6zsp1r6b8xk4qwp8y0crpx9";
|
||||
rev = "5b7237acc11ed0fbee10af9cf6345da7c3d9dd26";
|
||||
sha256 = "18ay4c5mvr5b5i8qfn1h75yy5znzm1l6h5rhhzhhaiidvb2arr69";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
|
||||
|
@ -17390,22 +17412,22 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
helm-cider = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, seq }:
|
||||
helm-cider = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "helm-cider";
|
||||
version = "0.3.0";
|
||||
version = "0.4.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "clojure-emacs";
|
||||
repo = "helm-cider";
|
||||
rev = "a24ef274e382c1a158a76eae2570f1f007031cb8";
|
||||
sha256 = "062abfb4sfpcc6fx3nrf3j0bisglrhyrg7rxwhhcqm9jhalksmdl";
|
||||
rev = "9a948b834dd31b3f60d4701d6dd0ecfab0adbb72";
|
||||
sha256 = "0wssd9jv6xighjhfh3p8if1anz3rcrjr71a4j063v6gyknb7fv27";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-cider";
|
||||
sha256 = "0ykhrvh6mix55sv4j8q6614sibksdlwaks736maamqwl3wk6826x";
|
||||
name = "helm-cider";
|
||||
};
|
||||
packageRequires = [ cider emacs helm-core seq ];
|
||||
packageRequires = [ cider emacs helm-core ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/helm-cider";
|
||||
license = lib.licenses.free;
|
||||
|
@ -17498,12 +17520,12 @@
|
|||
helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "helm-core";
|
||||
version = "2.8.7";
|
||||
version = "2.8.8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacs-helm";
|
||||
repo = "helm";
|
||||
rev = "5b2057c7755f6ea20e1ea011c6fb992d12650161";
|
||||
sha256 = "0hf27j1rv3xnnari70k7p1b51pdyv6zsp1r6b8xk4qwp8y0crpx9";
|
||||
rev = "5b7237acc11ed0fbee10af9cf6345da7c3d9dd26";
|
||||
sha256 = "18ay4c5mvr5b5i8qfn1h75yy5znzm1l6h5rhhzhhaiidvb2arr69";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
|
||||
|
@ -18587,6 +18609,27 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
helm-system-packages = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, seq }:
|
||||
melpaBuild {
|
||||
pname = "helm-system-packages";
|
||||
version = "1.7.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "emacs-helm";
|
||||
repo = "helm-system-packages";
|
||||
rev = "22ff951b092a3fbde8eadf284a24e86bb4694f6a";
|
||||
sha256 = "0argxi8dppgyfljwn654a7183lva74wnnwzkk3xlrvgngmir56kp";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/0c46cfb0fcda0500e15d04106150a072a1a75ccc/recipes/helm-system-packages";
|
||||
sha256 = "01mndx2zzh7r7gmpn6gd1vy1w3l6dnhvgn7n2p39viji1r8b39s4";
|
||||
name = "helm-system-packages";
|
||||
};
|
||||
packageRequires = [ emacs helm seq ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/helm-system-packages";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
helm-themes = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "helm-themes";
|
||||
|
@ -19532,6 +19575,27 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
ibuffer-tramp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "ibuffer-tramp";
|
||||
version = "1.0.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "svend";
|
||||
repo = "ibuffer-tramp";
|
||||
rev = "bcad0bda3a67f55d1be936bf8fa9ef735fe1e3f3";
|
||||
sha256 = "1ry7nbhqhjy6gkxd10s97nbm6flk5nm0l5q8071fprx8xxphqj8f";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a7449b15cb2a89cf06ea3de2cfdc6bc387db3b/recipes/ibuffer-tramp";
|
||||
sha256 = "11a9b9g1jk2r3fldi012zka4jzy68kfn4991xp046qm2fbc7la32";
|
||||
name = "ibuffer-tramp";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/ibuffer-tramp";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
ibuffer-vc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "ibuffer-vc";
|
||||
|
@ -19640,12 +19704,12 @@
|
|||
ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, s }:
|
||||
melpaBuild {
|
||||
pname = "ido-completing-read-plus";
|
||||
version = "4.5";
|
||||
version = "4.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DarwinAwardWinner";
|
||||
repo = "ido-completing-read-plus";
|
||||
rev = "e8cfebac1df2bfca52003f28ed84cb1a39dc8345";
|
||||
sha256 = "14g5v823wsr0sgrawqw9kwilm68w0k4plz3b00jd7z903np9cxih";
|
||||
rev = "51861afe385f59f3262ee40acbe772ccb3dd52e7";
|
||||
sha256 = "0hspgk8m4acyhpcldwg3xqla9xp3fjrhf37cnjp45j1b3h94x3iy";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-completing-read+";
|
||||
|
@ -19742,22 +19806,22 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
ido-ubiquitous = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
|
||||
ido-ubiquitous = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "ido-ubiquitous";
|
||||
version = "4.5";
|
||||
version = "4.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DarwinAwardWinner";
|
||||
repo = "ido-completing-read-plus";
|
||||
rev = "e8cfebac1df2bfca52003f28ed84cb1a39dc8345";
|
||||
sha256 = "14g5v823wsr0sgrawqw9kwilm68w0k4plz3b00jd7z903np9cxih";
|
||||
rev = "51861afe385f59f3262ee40acbe772ccb3dd52e7";
|
||||
sha256 = "0hspgk8m4acyhpcldwg3xqla9xp3fjrhf37cnjp45j1b3h94x3iy";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-ubiquitous";
|
||||
sha256 = "11sdk0ymsqnsw1gycvq2wj4j0g502fp23qk6q9d95lm98nz68frz";
|
||||
name = "ido-ubiquitous";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ido-completing-read-plus ];
|
||||
packageRequires = [ cl-lib ido-completing-read-plus ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/ido-ubiquitous";
|
||||
license = lib.licenses.free;
|
||||
|
@ -20104,14 +20168,14 @@
|
|||
pname = "impatient-mode";
|
||||
version = "1.0.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "netguy204";
|
||||
repo = "imp.el";
|
||||
owner = "skeeto";
|
||||
repo = "impatient-mode";
|
||||
rev = "eba1efce3dd20b5f5017ab64bae0cfb3b181c2b0";
|
||||
sha256 = "0vr4i3ayp1n8zg3v9rfv81qnr0vrdbkzphwd5kyadjgy4sbfjykj";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/bb1fbd03f17d2069a461260ad5e2ad4e5441919b/recipes/impatient-mode";
|
||||
sha256 = "05vp04zh5w0ss959galdrnridv268dzqymqzqfpkfjbg8kryzfxg";
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/aaa64c4d43139075d77f4518de94bcbe475d21fc/recipes/impatient-mode";
|
||||
sha256 = "07z5ds3zgzkxvxwaalp9i5x2rl5sq4jjk8ygk1rfmsl52l5y1z6j";
|
||||
name = "impatient-mode";
|
||||
};
|
||||
packageRequires = [ cl-lib htmlize simple-httpd ];
|
||||
|
@ -21254,12 +21318,12 @@
|
|||
js-auto-format-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "js-auto-format-mode";
|
||||
version = "1.0.6";
|
||||
version = "1.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ybiquitous";
|
||||
repo = "js-auto-format-mode";
|
||||
rev = "37e83641fd5eab45e813e4bc74a835fe7229c160";
|
||||
sha256 = "0hmrhp3lijd77kl0b98nbl1p8fmgjfry2hhvh5vickx3315w7qgw";
|
||||
rev = "6bd44162ac422304803f606278bb0c08ab940a5d";
|
||||
sha256 = "1hy4wyw7yi93ngagg9qmkljjqaypfnzks3vny1pn6d5nw2acb1vx";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/2d3be16771b5b5fde639da3ee97890620354ee7a/recipes/js-auto-format-mode";
|
||||
|
@ -21695,12 +21759,12 @@
|
|||
kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "kaolin-themes";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ogdenwebb";
|
||||
repo = "emacs-kaolin-themes";
|
||||
rev = "88a25b89a480f1193cc1c5502f3a5d0b68cb7227";
|
||||
sha256 = "03bbpaih29yx8s16v59mca8v6sak6294zq7d534613la28n4h6w7";
|
||||
rev = "56bafd9b1b022ebfd98cad022792957164ec56fb";
|
||||
sha256 = "02nmrdc2ldvfzyn3s9qrvq61nl93krc1vyr4ad1vkmbyqrwszyvd";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
|
||||
|
@ -22472,12 +22536,12 @@
|
|||
linum-relative = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "linum-relative";
|
||||
version = "0.5";
|
||||
version = "0.6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "coldnew";
|
||||
repo = "linum-relative";
|
||||
rev = "b8a99dcfe38a491172a8193053fb7849634b43c0";
|
||||
sha256 = "11bjnqqwvr9zrvz5dlm8a0yw4zg9ysh3jdiq5a6iw09d3f0h1v2s";
|
||||
rev = "896df4b40c1e1eb59f55fcee48a1543f0ccd724e";
|
||||
sha256 = "0b3n1gk2w1p72x0zfdz9l70winq2fnjpjrgq0awxx730xk7ypp5n";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/97ae01be4892a7c35aa0f82213433a2944041d87/recipes/linum-relative";
|
||||
|
@ -22689,12 +22753,12 @@
|
|||
live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "live-py-mode";
|
||||
version = "2.20.1";
|
||||
version = "2.21.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "donkirkby";
|
||||
repo = "live-py-plugin";
|
||||
rev = "eed38dc66430802e754c48bb44aaf524d7b1596c";
|
||||
sha256 = "1rl279h18z9fka4zdaqm2h4jxpq3wykja3x7jyhj4bnrqvkw66gh";
|
||||
rev = "465c3f807c3ccd9af0af7032aec40c039d950ac0";
|
||||
sha256 = "1idn0bjxw5sgjb7p958fdxn8mg2rs8yjqsz8k56r9jjzr7z9jdfx";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
|
||||
|
@ -27526,12 +27590,12 @@
|
|||
org-wild-notifier = callPackage ({ alert, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
|
||||
melpaBuild {
|
||||
pname = "org-wild-notifier";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "akhramov";
|
||||
repo = "org-wild-notifier.el";
|
||||
rev = "f5bf3b13c630265051904cb4c9a0613ead86847c";
|
||||
sha256 = "0z2flnqimwndq8w7ahi57n7a87l5iknn3dpwirxynq4brzazzi7j";
|
||||
rev = "28f6af12a9efbcab53e310363c451f53ce8ea3f2";
|
||||
sha256 = "00v4f26np4i947xgqr03wylz4ichc168znlwxn4l6np1s85i3mzb";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/114552a24f73f13b253e3db4885039b680f6ef33/recipes/org-wild-notifier";
|
||||
|
@ -27997,12 +28061,12 @@
|
|||
ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
|
||||
melpaBuild {
|
||||
pname = "ox-hugo";
|
||||
version = "0.7";
|
||||
version = "0.8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kaushalmodi";
|
||||
repo = "ox-hugo";
|
||||
rev = "b47f6f79603adb4f505500ed83150afca7601cfc";
|
||||
sha256 = "1xlkmiwgxsai0hsx9r1gx88bdj72vxaq0icr399ksnwba58rwmr1";
|
||||
rev = "9751d34e1133b89a533a978c085b0715f85db648";
|
||||
sha256 = "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
|
||||
|
@ -28394,12 +28458,12 @@
|
|||
paren-face = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "paren-face";
|
||||
version = "1.0.2";
|
||||
version = "1.0.3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tarsius";
|
||||
repo = "paren-face";
|
||||
rev = "0a7cbd65bb578cc52a9dc495a4fcaf23a57507bf";
|
||||
sha256 = "0wsnng874dbyikd4dgx2rxmcp0774ix5v29dq372zynq6lamqkl7";
|
||||
rev = "166975683225367c866e6ae6f6acb88d24e21a35";
|
||||
sha256 = "02mh8w2na6qa94p3bh6pvdvmg36p2vrbp5hpjnwjcayrb92dskgy";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d398398d1d5838dc4985a06515ee668f0f566aab/recipes/paren-face";
|
||||
|
@ -30834,12 +30898,12 @@
|
|||
pyvenv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "pyvenv";
|
||||
version = "1.10";
|
||||
version = "1.11";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jorgenschaefer";
|
||||
repo = "pyvenv";
|
||||
rev = "91c47b8d2608ccbcac2eba91f0e36b422101ce55";
|
||||
sha256 = "09c0f7ln1in8h03idbzggvmqkxj6i9jdjbmg1nnyarhffmgbcvnh";
|
||||
rev = "f925bcb46ea64b699f7cd06933c48e0d5db88b73";
|
||||
sha256 = "1a346qdimr1dvj53q033aqnahwd2dhyn9jadrs019nm0bzgw7g63";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/e37236b89b9705ba7a9d134b1fb2c3c003953a9b/recipes/pyvenv";
|
||||
|
@ -31254,12 +31318,12 @@
|
|||
rdf-prefix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "rdf-prefix";
|
||||
version = "1.9";
|
||||
version = "1.10";
|
||||
src = fetchFromGitHub {
|
||||
owner = "simenheg";
|
||||
repo = "rdf-prefix";
|
||||
rev = "25cc3c8902f16191496b549705b00ffc7dff51f1";
|
||||
sha256 = "00ycsqzgn5rq8r4r86z1j43i2a7wj4r3c2vcggdaizyf4parmgmy";
|
||||
rev = "164136d05505275d42d1ca3a390f55fcc89694b8";
|
||||
sha256 = "18jp3yynnk2248mzwf8h62awfw8fh25m5ah5di0dg62xw56l9nig";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5f083bd629697038ea6391c7a4eeedc909a5231/recipes/rdf-prefix";
|
||||
|
@ -33757,12 +33821,12 @@
|
|||
smart-mode-line = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rich-minority }:
|
||||
melpaBuild {
|
||||
pname = "smart-mode-line";
|
||||
version = "2.10.1";
|
||||
version = "2.11.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Malabarba";
|
||||
repo = "smart-mode-line";
|
||||
rev = "8fd76a66abe4d37925e3d6152c6bd1e8648a293a";
|
||||
sha256 = "1176fxrzzk4fyp4wjyp0xyqrga74j5csr5x37mlgplh9790248dx";
|
||||
rev = "5aca51956fae55d7310c1f96b5d128201087864a";
|
||||
sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/smart-mode-line";
|
||||
|
@ -33778,12 +33842,12 @@
|
|||
smart-mode-line-powerline-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline, smart-mode-line }:
|
||||
melpaBuild {
|
||||
pname = "smart-mode-line-powerline-theme";
|
||||
version = "2.10.1";
|
||||
version = "2.11.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Malabarba";
|
||||
repo = "smart-mode-line";
|
||||
rev = "8fd76a66abe4d37925e3d6152c6bd1e8648a293a";
|
||||
sha256 = "1176fxrzzk4fyp4wjyp0xyqrga74j5csr5x37mlgplh9790248dx";
|
||||
rev = "5aca51956fae55d7310c1f96b5d128201087864a";
|
||||
sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/60072b183151e519d141ec559b4902d20c87904c/recipes/smart-mode-line-powerline-theme";
|
||||
|
@ -34030,12 +34094,12 @@
|
|||
snakemake-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "snakemake-mode";
|
||||
version = "1.2.1";
|
||||
version = "1.3.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kyleam";
|
||||
repo = "snakemake-mode";
|
||||
rev = "22b3efd741e26f59e18c9fd28691d8b84c9130ab";
|
||||
sha256 = "0hjp5ci7miggw0gs2y8q867gi7p3dq2yyfkckkh52isrp0yvz0wf";
|
||||
rev = "6cf6d20db2e5253ce3f86e302651faa28f220aa7";
|
||||
sha256 = "0dmvd5f5rb5kkzjkhzz17b40hlld23sy5wyzr8vq763f6pzs37kk";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c3a5b51fee1c9e6ce7e21555faa355d118d34b8d/recipes/snakemake-mode";
|
||||
|
@ -35121,12 +35185,12 @@
|
|||
swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
|
||||
melpaBuild {
|
||||
pname = "swift-mode";
|
||||
version = "4.0.1";
|
||||
version = "4.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "chrisbarrett";
|
||||
repo = "swift-mode";
|
||||
rev = "8c45f69a078c41619a7a3db6d54a732c3fad8e3f";
|
||||
sha256 = "1isy71vkws3ywm4iwa85dk12810az3h85n6bimd36dfqbhfwdrli";
|
||||
rev = "7739e4954cc614ecd6b37e935f82ad057e256d56";
|
||||
sha256 = "09mvwfi3nv4hkdvh76d7737nl3zaxn4a5vpmv2645q9s4vcq8zj8";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode";
|
||||
|
@ -36295,12 +36359,12 @@
|
|||
tracking = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||
melpaBuild {
|
||||
pname = "tracking";
|
||||
version = "2.6";
|
||||
version = "2.7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jorgenschaefer";
|
||||
repo = "circe";
|
||||
rev = "59f1096238e6c30303a6fe9fc1c635f49e5946c6";
|
||||
sha256 = "19h3983zy3f15cgs86irvbdzz55qyjm48qd7gjlzcxplr7vnnh0j";
|
||||
rev = "661a2cdb3a3d9bc11ee511a4f90116c88e0d3484";
|
||||
sha256 = "19fcvmm915dz9l2w1rna4yik96rb3hrk7042012g961xn4sgs0ih";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking";
|
||||
|
@ -37792,12 +37856,12 @@
|
|||
webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
|
||||
melpaBuild {
|
||||
pname = "webpaste";
|
||||
version = "2.0.0";
|
||||
version = "2.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "etu";
|
||||
repo = "webpaste.el";
|
||||
rev = "aed3e00b6332a068d53ce482f5139a95c3dcd245";
|
||||
sha256 = "1p4sgn0rh8a5f0f6f1njq329zwgs6yp8j3zqs0yfz4kaikw1xw10";
|
||||
rev = "2da60b8857d107721b089346121a7d51296a58bf";
|
||||
sha256 = "1r945qz7z5z80qvzlqvz985mz51zy3pj3fk36y0flc380y4ap6hd";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste";
|
||||
|
@ -39048,22 +39112,22 @@
|
|||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
yatemplate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
|
||||
yatemplate = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
|
||||
melpaBuild {
|
||||
pname = "yatemplate";
|
||||
version = "2.0";
|
||||
version = "3.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mineo";
|
||||
repo = "yatemplate";
|
||||
rev = "90c14d2e2b8247eeba464a52560af484f8542558";
|
||||
sha256 = "00q3803nz89r91v1rwld98j1wgfc7kc6ni5a3h3zjwz1issyv5is";
|
||||
rev = "c1de31d2b16d98af197a4392b6481346ab4e8d57";
|
||||
sha256 = "0lp5ym2smmvmlxpdyv4kh75qsz8dsdz9afd8nxaq8y4fazzabblx";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/8ba3cdb74f121cbf36b6d9d5a434c363905ce526/recipes/yatemplate";
|
||||
sha256 = "05gd9sxdiqpw2p1kdagwgxd94wiw1fmmcsp9v4p74i9sqmf6qn6q";
|
||||
name = "yatemplate";
|
||||
};
|
||||
packageRequires = [ yasnippet ];
|
||||
packageRequires = [ emacs yasnippet ];
|
||||
meta = {
|
||||
homepage = "https://melpa.org/#/yatemplate";
|
||||
license = lib.licenses.free;
|
||||
|
@ -39074,8 +39138,8 @@
|
|||
version = "1.80";
|
||||
src = fetchhg {
|
||||
url = "https://www.yatex.org/hgrepos/yatex/";
|
||||
rev = "5bb46b7ab3de";
|
||||
sha256 = "1ap043fq9yl2n4slrjkjld9b743ac7ygj52z9af709v6sa660ahg";
|
||||
rev = "b1896ef49747";
|
||||
sha256 = "1a8qc1krskl5qdy4fikilrrzrwmrghs4h1yaj5lclzywpc67zi8b";
|
||||
};
|
||||
recipeFile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/e28710244a1bef8f56156fe1c271520896a9c694/recipes/yatex";
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{ callPackage }: {
|
||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org";
|
||||
version = "20180122";
|
||||
version = "20180129";
|
||||
src = fetchurl {
|
||||
url = "https://orgmode.org/elpa/org-20180122.tar";
|
||||
sha256 = "0a3a5v5x43xknqc6m5rcgdsqlw047w1djq372akfn5wafsk8a916";
|
||||
url = "https://orgmode.org/elpa/org-20180129.tar";
|
||||
sha256 = "0cwxqr34c77qmv7flcpd46qwkn0nzli21s3m9km00mwc8xy308n4";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -14,10 +14,10 @@
|
|||
}) {};
|
||||
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org-plus-contrib";
|
||||
version = "20180122";
|
||||
version = "20180129";
|
||||
src = fetchurl {
|
||||
url = "https://orgmode.org/elpa/org-plus-contrib-20180122.tar";
|
||||
sha256 = "1ss6h03xkvgk2qm1dx4dxxxalbswjc1jl9v87q99nls8iavmqa8x";
|
||||
url = "https://orgmode.org/elpa/org-plus-contrib-20180129.tar";
|
||||
sha256 = "1bk7jmizlvfbq2bbis3kal8nllxj752a8dkq7j68q6kfbc6w1z24";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
|
|
@ -20,11 +20,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "nano-${version}";
|
||||
version = "2.9.2";
|
||||
version = "2.9.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/nano/${name}.tar.xz";
|
||||
sha256 = "0m9xm085pi0fhmmshgppipjimr1jkxksbyg8pa5cwaap3d2vgk2f";
|
||||
sha256 = "04j05nbnp8vjjwja90d83p4s6ywyl6qhggflcjzw0p9d9gyvr0vp";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tiled-${version}";
|
||||
version = "1.1.1";
|
||||
version = "1.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bjorn";
|
||||
repo = "tiled";
|
||||
rev = "v${version}";
|
||||
sha256 = "1c6n5xshadxv5qwv8kfrj1kbfnkvx6nyxc9p4mpzkjrkxw1b1qf1";
|
||||
sha256 = "1bzp89914rlrwf2whky3fx10rwxqiwbw9acyqllvam3l4hmv4nlz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig qmake ];
|
||||
|
@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
|
|||
bsd2 # libtiled and tmxviewer
|
||||
gpl2Plus # all the rest
|
||||
];
|
||||
maintainers = with maintainers; [ dywedir ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ lib, fetchFromGitHub }:
|
||||
rec {
|
||||
version = "8.0.1428";
|
||||
version = "8.0.1451";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vim";
|
||||
repo = "vim";
|
||||
rev = "v${version}";
|
||||
sha256 = "0pqqh7g96w8jfc5kvv2il6fcbhccwhk4k5skk52g1c1ixsblwz3y";
|
||||
sha256 = "1vxd5mr8c62qyf7ax7gi2wka48282yplckq91154yd55xcqw36zx";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
|
||||
|
||||
let
|
||||
version = "1.19.2";
|
||||
version = "1.19.3";
|
||||
channel = "stable";
|
||||
|
||||
plat = {
|
||||
|
@ -12,9 +12,9 @@ let
|
|||
}.${stdenv.system};
|
||||
|
||||
sha256 = {
|
||||
"i686-linux" = "05qfcmwl1r43slwkb2rxh99hwpzd8c622la0ffd9p2jg4lbkgs1p";
|
||||
"x86_64-linux" = "0kjwmw68av9mnqcg1vaazm3k240y9jvbng6n7ycgzxwddzx0qlac";
|
||||
"x86_64-darwin" = "1mjmi5r9qlc6ggh3w566454ar06by15xsm6dymr8zv4sb352w70h";
|
||||
"i686-linux" = "0qaijcsjy9sysim19gyqmagg8rmxgamf0l74qj3ap0wsv2v7xixr";
|
||||
"x86_64-linux" = "1kvkcrr1hgnssy2z45h8fdgr9j6w94myr2hvlknwcahzxrnrwr7k";
|
||||
"x86_64-darwin" = "19vkv97yq0alnq4dvs62a2vx3f1mvfz1ic63114s9sd6smikrg0g";
|
||||
}.${stdenv.system};
|
||||
|
||||
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkgconfig, libtool
|
||||
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
|
||||
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
|
||||
, ApplicationServices
|
||||
|
@ -15,7 +15,7 @@ let
|
|||
|
||||
cfg = {
|
||||
version = "7.0.7-22";
|
||||
sha256 = "12c48cfhc2a3zvhgxdywrfy8b4m2vx85vn2qj69iyni5x849xpj9";
|
||||
sha256 = "1ad7mwx48xrkvm3v060n2f67kmi0qk7gfql1shiwbkkjvzzaaiam";
|
||||
patches = [];
|
||||
};
|
||||
in
|
||||
|
@ -24,13 +24,10 @@ stdenv.mkDerivation rec {
|
|||
name = "imagemagick-${version}";
|
||||
inherit (cfg) version;
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
"mirror://imagemagick/releases/ImageMagick-${version}.tar.xz"
|
||||
# the original source above removes tarballs quickly
|
||||
"http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
|
||||
"https://bintray.com/homebrew/mirror/download_file?file_path=imagemagick-${version}.tar.xz"
|
||||
];
|
||||
src = fetchFromGitHub {
|
||||
owner = "ImageMagick";
|
||||
repo = "ImageMagick";
|
||||
rev = cfg.version;
|
||||
inherit (cfg) sha256;
|
||||
};
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.15.0";
|
||||
version = "3.16.0";
|
||||
name = "calibre-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
||||
sha256 = "1zvk499g3ddl82f6655ddqzl7r62hj1fq3qjsxpn07an2lizail7";
|
||||
sha256 = "0dsnn974lfd6xbnyjhgxl2hd07kjhm1w9plqi28mx8nqa8bwqira";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dunst-${version}";
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dunst-project";
|
||||
repo = "dunst";
|
||||
rev = "v${version}";
|
||||
sha256 = "1085v4193yfj8ksngp4mk5n0nwzr3s5y3cs3c74ymaldfl20x91k";
|
||||
sha256 = "0i518v2z9fklzl5w60gkwwmg30yz3bd0k4rxjrxjabx73pvxm1mz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl pkgconfig which systemd ];
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
version = "0.6.0";
|
||||
version = "0.7.1";
|
||||
name = "kitty-${version}";
|
||||
format = "other";
|
||||
|
||||
|
@ -10,7 +10,7 @@ buildPythonApplication rec {
|
|||
owner = "kovidgoyal";
|
||||
repo = "kitty";
|
||||
rev = "v${version}";
|
||||
sha256 = "1p86gry91m4kicy79fc1qfr0hcsd5xnvxzmm4q956x883h6h766r";
|
||||
sha256 = "0c02xy5psb7v7xfncz4bflrbinifpcm1yn8hvh0zaf7p4vr837p7";
|
||||
};
|
||||
|
||||
buildInputs = [ fontconfig glfw ncurses libunistring harfbuzz libX11 libXrandr libXinerama libXcursor libxkbcommon libXi libXext ];
|
||||
|
|
34
pkgs/applications/misc/osm2xmap/default.nix
Normal file
34
pkgs/applications/misc/osm2xmap/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{ stdenv, fetchFromGitHub, libroxml, proj, libyamlcpp, boost } :
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "osm2xmap-${version}";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "1d3f18wzk240yp0q8i2vskhcfj5ar61s4hw83vgps0wr2aglph3w";
|
||||
repo = "osm2xmap";
|
||||
owner = "sembruk";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"GIT_VERSION=$(version)"
|
||||
"GIT_TIMESTAMP="
|
||||
"SHAREDIR=$(out)/share/"
|
||||
"INSTALL_BINDIR=$(out)/bin"
|
||||
"INSTALL_MANDIR=$(out)/share/man/man1"
|
||||
"INSTALL_SHAREDIR=$(out)/share/"
|
||||
];
|
||||
|
||||
installFlags = [ "DESTDIR=$(out)" ];
|
||||
|
||||
buildInputs = [ libroxml proj libyamlcpp boost ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/sembruk/osm2xmap";
|
||||
description = "Converter from OpenStreetMap data format to OpenOrienteering Mapper format.";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.mpickering ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
with pythonPackages;
|
||||
buildPythonApplication rec {
|
||||
version = "1.19.0";
|
||||
version = "1.21.0";
|
||||
name = "rtv-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "michael-lazar";
|
||||
repo = "rtv";
|
||||
rev = "v${version}";
|
||||
sha256 = "19rnw9cac06ns10vqn2cj0v61ycrj9g1ysa3hncamwxxibmkycp7";
|
||||
sha256 = "0srm01nrb23hdmj3ripsa9p8nv2cgss3m6and9rdr875qw5ii130";
|
||||
};
|
||||
|
||||
# Tests try to access network
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
{ stdenv, fetchurl, intltool, pkgconfig, glib, libnotify, gtk3, libgee
|
||||
, keybinder3, json_glib, zeitgeist, vala_0_34, hicolor_icon_theme, gobjectIntrospection
|
||||
{ stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee
|
||||
, keybinder3, json_glib, zeitgeist, vala_0_38, hicolor_icon_theme, gobjectIntrospection
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.2.99.2";
|
||||
version = "0.2.99.3";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "synapse-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/synapse-project/0.3/${version}/+download/${name}.tar.xz";
|
||||
sha256 = "04cnsmwf9xa52dh7rpb4ia715c0ls8jg1p7llc9yf3lbg1m0bvzv";
|
||||
sha256 = "0rwd42164xqfi40r13yr29cx6zy3bckgxk00y53b376nl5yqacvy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig intltool vala_0_34
|
||||
pkgconfig gettext vala_0_38
|
||||
# For setup hook
|
||||
gobjectIntrospection
|
||||
];
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
# This file is autogenerated from update.sh in the same directory.
|
||||
{
|
||||
beta = {
|
||||
sha256 = "09ris0aj743x3mh7q45z55byxwmw7h6klhibbcazb1axj85ahbil";
|
||||
sha256bin64 = "18833sqqfssjvcmf6v7wj9h9gsc07wr09cms5c0k7f8v9dqysc7r";
|
||||
version = "64.0.3282.119";
|
||||
sha256 = "1ki9ii3r9iv6k7df2zr14ysm6w3fkvhvcwaw3qjm4b4q6ymznshl";
|
||||
sha256bin64 = "0i1g0hv2vji8jx9c973x8nr1ynzsvqjaqcncxj77x6vj9wp0v41p";
|
||||
version = "64.0.3282.140";
|
||||
};
|
||||
dev = {
|
||||
sha256 = "04vrcsvlanjljah3pbgfz49ygwr9i6zymr1a09kldrnykv770c5l";
|
||||
sha256bin64 = "016s8lh94i0m3zyld32vzqfw1c0s97sa143dyww7x26b2mp93lcc";
|
||||
version = "65.0.3322.3";
|
||||
sha256 = "1b3gyj55xyqsb439szisfn8c4mnpws3pfzrndrl5kgdd239qrfqz";
|
||||
sha256bin64 = "1hmkinzn4gpikjfd8c9j30px3i0x6y8dddn9pyvjzsk6dzfcvknz";
|
||||
version = "65.0.3325.31";
|
||||
};
|
||||
stable = {
|
||||
sha256 = "09ris0aj743x3mh7q45z55byxwmw7h6klhibbcazb1axj85ahbil";
|
||||
sha256bin64 = "18a61myi3wlrk9zr7jjad1zi8k0ls9cnl2nyhjibjlwiz3npwbm5";
|
||||
version = "64.0.3282.119";
|
||||
sha256 = "1ki9ii3r9iv6k7df2zr14ysm6w3fkvhvcwaw3qjm4b4q6ymznshl";
|
||||
sha256bin64 = "1zsgcnilip9rxbs51xvnchp87gh4fmgxzrcf9dhfrnldhji17ikj";
|
||||
version = "64.0.3282.140";
|
||||
};
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -38,12 +38,25 @@
|
|||
|
||||
## other
|
||||
|
||||
# If you want the resulting program to call itself
|
||||
# "Firefox"/"Torbrowser" instead of "Nightly" or whatever, enable this
|
||||
# option. However, in Firefox's case, those binaries may not be
|
||||
# distributed without permission from the Mozilla Foundation, see
|
||||
# http://www.mozilla.org/foundation/trademarks/.
|
||||
, enableOfficialBranding ? isTorBrowserLike
|
||||
# As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
|
||||
# https://github.com/NixOS/nixpkgs/issues/31843#issuecomment-346372756 we
|
||||
# have permission to use the official firefox branding.
|
||||
#
|
||||
# Fur purposes of documentation the statement of @sylvestre:
|
||||
# > As the person who did part of the work described in the LWN article
|
||||
# > and release manager working for Mozilla, I can confirm the statement
|
||||
# > that I made in
|
||||
# > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006
|
||||
# >
|
||||
# > @garbas shared with me the list of patches applied for the Nix package.
|
||||
# > As they are just for portability and tiny modifications, they don't
|
||||
# > alter the experience of the product. In parallel, Rok also shared the
|
||||
# > build options. They seem good (even if I cannot judge the quality of the
|
||||
# > packaging of the underlying dependencies like sqlite, png, etc).
|
||||
# > Therefor, as long as you keep the patch queue sane and you don't alter
|
||||
# > the experience of Firefox users, you won't have any issues using the
|
||||
# > official branding.
|
||||
, enableOfficialBranding ? true
|
||||
}:
|
||||
|
||||
assert stdenv.cc ? libc && stdenv.cc.libc != null;
|
||||
|
@ -88,8 +101,20 @@ stdenv.mkDerivation (rec {
|
|||
rm -f js/src/configure
|
||||
rm -f .mozconfig*
|
||||
|
||||
'' + lib.optionalString (stdenv.lib.versionAtLeast version "58.0.0") ''
|
||||
cat >.mozconfig <<END_MOZCONFIG
|
||||
${lib.concatStringsSep "\n" (map (flag: "ac_add_options ${flag}") configureFlags)}
|
||||
${lib.optionalString googleAPISupport "ac_add_options --with-google-api-keyfile=$TMPDIR/ga"}
|
||||
END_MOZCONFIG
|
||||
'' + lib.optionalString googleAPISupport ''
|
||||
# Google API key used by Chromium and Firefox.
|
||||
# Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
|
||||
# please get your own set of keys.
|
||||
echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga
|
||||
configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga")
|
||||
'' + ''
|
||||
# this will run autoconf213
|
||||
make -f client.mk configure-files
|
||||
${if (stdenv.lib.versionAtLeast version "58.0.0") then "./mach configure" else "make -f client.mk configure-files"}
|
||||
|
||||
configureScript="$(realpath ./configure)"
|
||||
|
||||
|
@ -99,11 +124,6 @@ stdenv.mkDerivation (rec {
|
|||
test -f layout/style/ServoBindings.toml && sed -i -e '/"-DMOZ_STYLO"/ a , "-cxx-isystem", "'$cxxLib'", "-isystem", "'$archLib'"' layout/style/ServoBindings.toml
|
||||
|
||||
cd obj-*
|
||||
'' + lib.optionalString googleAPISupport ''
|
||||
# Google API key used by Chromium and Firefox.
|
||||
# Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
|
||||
# please get your own set of keys.
|
||||
echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" >ga
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
|
@ -166,7 +186,6 @@ stdenv.mkDerivation (rec {
|
|||
++ flag gssSupport "negotiateauth"
|
||||
++ lib.optional (!ffmpegSupport) "--disable-gstreamer"
|
||||
++ flag webrtcSupport "webrtc"
|
||||
++ lib.optional googleAPISupport "--with-google-api-keyfile=ga"
|
||||
++ flag crashreporterSupport "crashreporter"
|
||||
++ lib.optional drmSupport "--enable-eme=widevine"
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ rec {
|
|||
|
||||
firefox = common rec {
|
||||
pname = "firefox";
|
||||
version = "57.0.4";
|
||||
version = "58.0.1";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "58846037aebbf14b85e6b3a46dbe617c780c6916e437ea4ee32a2502a6b55e3689921a0be28b920dedf2f966195df04ac8e45411caeb2601a168ec08b4827cf0";
|
||||
sha512 = "08xgv1qm2xx5wjczqg1ldf0yqm939zsghhr4acbkwnymv5apfak3vx0kcr9iwqkmdqjdjmggxz439kjn510f92fik33zjfsjn7sd9k5";
|
||||
};
|
||||
|
||||
patches =
|
||||
|
|
|
@ -29,13 +29,13 @@ let
|
|||
in python3Packages.buildPythonApplication rec {
|
||||
name = "qutebrowser-${version}${versionPostfix}";
|
||||
namePrefix = "";
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
versionPostfix = "";
|
||||
|
||||
# the release tarballs are different from the git checkout!
|
||||
src = fetchurl {
|
||||
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
|
||||
sha256 = "1w02z5akr1v2517rbqrnv65vfsqvgw310g2nhanbwdg606crzr94";
|
||||
sha256 = "09fa77rg1yrl8cksavxmgm9z2246s4d8wjbkl5jm1gsam345f7mz";
|
||||
};
|
||||
|
||||
# Needs tox
|
||||
|
|
|
@ -15,15 +15,15 @@ let
|
|||
# instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
|
||||
# currently https://storage.googleapis.com/minikube/k8s_releases.json
|
||||
|
||||
localkube-version = "1.8.0";
|
||||
localkube-version = "1.9.0";
|
||||
localkube-binary = fetchurl {
|
||||
url = "https://storage.googleapis.com/minikube/k8sReleases/v${localkube-version}/localkube-linux-amd64";
|
||||
sha256 = "09mv1g9i0d14brvvp2wxgmfqvgp0na5dbm4z76a660q1fxszvgqc";
|
||||
sha256 = "1z5c061mx2flg6hq05d00bvkn722gxv8y9rfpjyk23nk697k31fh";
|
||||
};
|
||||
in buildGoPackage rec {
|
||||
pname = "minikube";
|
||||
name = "${pname}-${version}";
|
||||
version = "0.24.1";
|
||||
version = "0.25.0";
|
||||
|
||||
goPackagePath = "k8s.io/minikube";
|
||||
|
||||
|
@ -31,7 +31,7 @@ in buildGoPackage rec {
|
|||
owner = "kubernetes";
|
||||
repo = "minikube";
|
||||
rev = "v${version}";
|
||||
sha256 = "18b5ic4lcn84hq2ji5alyx58x9vi0b03544i5xzfgn3h2k78kynk";
|
||||
sha256 = "0nsdi8mr8p69z696ksfb5ahzqqnvjn4a2z6cp0kyby8sakcjhsby";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -100,8 +100,8 @@ in rec {
|
|||
terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
|
||||
|
||||
terraform_0_11 = pluggable (generic {
|
||||
version = "0.11.1";
|
||||
sha256 = "04qyhlif3b3kjs3m6c3mx45sgr5r13x55aic638zzlrhbpmqiih1";
|
||||
version = "0.11.3";
|
||||
sha256 = "0637x7jcm62pdnivmh4rggly6dmlvdh3jpsd1z4vba15gbm203nz";
|
||||
patches = [ ./provider-path.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoPackage rec {
|
||||
name = "terragrunt-${version}";
|
||||
version = "0.13.23";
|
||||
version = "0.14.0";
|
||||
|
||||
goPackagePath = "github.com/gruntwork-io/terragrunt";
|
||||
|
||||
|
@ -10,7 +10,7 @@ buildGoPackage rec {
|
|||
rev = "v${version}";
|
||||
owner = "gruntwork-io";
|
||||
repo = "terragrunt";
|
||||
sha256 = "1xx3kw38vr563x3bn0rrg1iq4r51rl0qci2magwwng62cgh3zaiy";
|
||||
sha256 = "1fz4ny7jmwr1xp68bmzlb6achird7jwbb6n6zim6c1w0qybxiqg9";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/aws/aws-sdk-go";
|
||||
rev = "d0cb8551ac28d362e77ea475e5b7b2ebaec06b6b";
|
||||
sha256 = "1546kb49wb1qjx6pz7aj4iygmqsjps70npb5csm5q08wxk63vhls";
|
||||
rev = "00cca3f093a8236a93fbbeeae7d28ad83811683c";
|
||||
sha256 = "1x2frsin6d9drx9k65pv0r0l0asj16fzj815s2a9db2mxh8jycsp";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -41,8 +41,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/hashicorp/go-getter";
|
||||
rev = "994f50a6f071b07cfbea9eca9618c9674091ca51";
|
||||
sha256 = "1v2whvi9rnrkz4ji3b3sinvv3ahr5s4iyzchz00wjw0q2kdvj1zj";
|
||||
rev = "285374cdfad63de2c43d7562f49ced6dde5a7ba0";
|
||||
sha256 = "0xmwxfb0vm20ga1j1r3lavxm15vwqdkisdkshw1nia7byhwmb4xm";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -68,8 +68,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mattn/go-zglob";
|
||||
rev = "4b74c24375b3b1ee226867156e01996f4e19a8d6";
|
||||
sha256 = "1qc502an4q3wgvrd9zw6zprgm28d90d2f98bdamdf4js03jj22xn";
|
||||
rev = "4959821b481786922ac53e7ef25c61ae19fb7c36";
|
||||
sha256 = "0rwkdw143kphpmingsrw1zp030zf3p08f64h347jpdm4lz8z5449";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -95,8 +95,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mitchellh/mapstructure";
|
||||
rev = "06020f85339e21b2478f756a78e295255ffa4d6a";
|
||||
sha256 = "12zb5jh7ri4vna3f24y9g10nzrnz9wbvwnk29wjk3vg0ljia64s9";
|
||||
rev = "b4575eea38cca1123ec2dc90c26529b5c5acfcff";
|
||||
sha256 = "1x80f3kcb1wd2mdxks3wcsp26q9g7ahr8b18z1anl5igg6zl61kf";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -104,8 +104,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/stretchr/testify";
|
||||
rev = "2aa2c176b9dab406a6970f6a55f513e8a8c8b18f";
|
||||
sha256 = "1j92x4291flz3i4pk6bi3y59nnsi6lj34zmyfp7axf68fd8vm5ml";
|
||||
rev = "12b6f73e6084dad08a7c6e575284b177ecafbc71";
|
||||
sha256 = "01f80s0q64pw5drfgqwwk1wfwwkvd2lhbs56lhhkff4ni83k73fd";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -122,8 +122,8 @@
|
|||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/urfave/cli";
|
||||
rev = "39908eb08fee7c10d842622a114a5c133fb0a3c6";
|
||||
sha256 = "1s0whq54xmcljdg94g6sghpf6mkhf6fdxxb18zg0yzzj6fz9yj8j";
|
||||
rev = "75104e932ac2ddb944a6ea19d9f9f26316ff1145";
|
||||
sha256 = "13iagavgqq3sn9m3sck0chydwy5rcbhj0ylvc1169vs8q2m13yh9";
|
||||
};
|
||||
}
|
||||
]
|
||||
|
|
|
@ -40,13 +40,13 @@ in
|
|||
stdenv.mkDerivation rec {
|
||||
name = "signal-desktop-${version}";
|
||||
|
||||
version = "1.1.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src =
|
||||
if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
sha256 = "1v0ydfdgcnkh6rk7gmqbjrzpz56mw2gjmakz58gpn167ln7l1vkl";
|
||||
sha256 = "047l3yyqvzyi5969r0n9cwdarsxfbssj415ysh57w7vkdp01axsr";
|
||||
}
|
||||
else
|
||||
throw "Signal for Desktop is not currently supported on ${stdenv.system}";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, fetchurl, fetchgit, pkgconfig
|
||||
{ stdenv, fetchurl, fetchgit, fetchpatch, pkgconfig
|
||||
, qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
|
||||
, alsaLib, python
|
||||
, jackSupport ? false, libjack2 ? null
|
||||
|
@ -17,7 +17,7 @@ let
|
|||
generic = overrides: source: stdenv.mkDerivation (source // overrides // {
|
||||
name = "${overrides.type}-${source.version}";
|
||||
|
||||
patches = optional jackSupport ./mumble-jack-support.patch;
|
||||
patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig python ]
|
||||
++ { qt4 = [ qmake4Hook ]; qt5 = [ qt5.qmake ]; }."qt${toString source.qtVersion}"
|
||||
|
@ -116,6 +116,13 @@ let
|
|||
url = "https://github.com/mumble-voip/mumble/releases/download/${version}/mumble-${version}.tar.gz";
|
||||
sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh";
|
||||
};
|
||||
|
||||
# Fix compile error against boost 1.66 (#33655):
|
||||
patches = singleton (fetchpatch {
|
||||
url = "https://github.com/mumble-voip/mumble/commit/"
|
||||
+ "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
|
||||
sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
|
||||
});
|
||||
};
|
||||
|
||||
gitSource = rec {
|
||||
|
|
|
@ -1,42 +1,21 @@
|
|||
{ stdenv, fetchurl, fetchpatch }:
|
||||
|
||||
rec {
|
||||
version = "3.1.2";
|
||||
version = "3.1.3";
|
||||
src = fetchurl {
|
||||
# signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5
|
||||
url = "mirror://samba/rsync/src/rsync-${version}.tar.gz";
|
||||
sha256 = "1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc";
|
||||
sha256 = "1h0011dj6jgqpgribir4anljjv7bbrdcs8g91pbsmzf5zr75bk2m";
|
||||
};
|
||||
upstreamPatchTarball = fetchurl {
|
||||
# signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5
|
||||
url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
|
||||
sha256 = "167vk463bb3xl9c4gsbxms111dk1ip7pq8y361xc0xfa427q9hhd";
|
||||
};
|
||||
patches = [
|
||||
(fetchurl {
|
||||
# signed with key 0048 C8B0 26D4 C96F 0E58 9C2F 6C85 9FB1 4B96 A8C5
|
||||
url = "mirror://samba/rsync/rsync-patches-${version}.tar.gz";
|
||||
sha256 = "09i3dcl37p22dp75vlnsvx7bm05ggafnrf1zwhf2kbij4ngvxvpd";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2017-16548.patch";
|
||||
url = "https://git.samba.org/rsync.git/?p=rsync.git;a=commitdiff_plain;h=47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1;hp=bc112b0e7feece62ce98708092306639a8a53cce";
|
||||
sha256 = "1dcdnfhbc5gd0ph7pds0xr2v8rpb2a4p7l9c1wml96nhnyww1pg1";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2017-17433.patch";
|
||||
url = "https://git.samba.org/?p=rsync.git;a=patch;h=3e06d40029cfdce9d0f73d87cfd4edaf54be9c51";
|
||||
sha256 = "1kvnh6znp37a447h9fm2pk7v4phx20bk60j4wbsd92xlpp7vck52";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2017-17434-patch1.patch";
|
||||
url = "https://git.samba.org/?p=rsync.git;a=patch;h=5509597decdbd7b91994210f700329d8a35e70a1";
|
||||
sha256 = "16gg670s6b4gn3fywkkagixkpkpf31a3fiqx2a544640pblbgvyx";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2017-17434-patch2.patch";
|
||||
url = "https://git.samba.org/?p=rsync.git;a=patch;h=70aeb5fddd1b2f8e143276f8d5a085db16c593b9";
|
||||
sha256 = "182pc5bk1i57ganyn51bcs6vi2fib7zcw4kz3iyqkzihnjds10a6";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://rsync.samba.org/;
|
||||
description = "Fast incremental file transfer utility";
|
||||
homepage = https://rsync.samba.org/;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
|
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
mainSrc = base.src;
|
||||
|
||||
patchesSrc = base.patches;
|
||||
patchesSrc = base.upstreamPatchTarball;
|
||||
|
||||
srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc;
|
||||
patches = stdenv.lib.optional enableCopyDevicesPatch "./patches/copy-devices.diff";
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
, hicolor_icon_theme, libsoup, gnome3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "homebank-5.1.6";
|
||||
name = "homebank-5.1.7";
|
||||
src = fetchurl {
|
||||
url = "http://homebank.free.fr/public/${name}.tar.gz";
|
||||
sha256 = "1q4h890g6a6pm6kfiavbq9sbpsnap0f854sja2y5q3x0j0ay2q98";
|
||||
sha256 = "19szz86jxya8v4r3pa5czng9q2kn5hhbk273x1wqvdv40z0577jp";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
|
||||
|
|
|
@ -65,6 +65,6 @@ let
|
|||
runScript = target;
|
||||
};
|
||||
in buildFHSUserEnv {
|
||||
name = attrs.toolName;
|
||||
name = "${attrs.toolName}-${attrs.version}";
|
||||
runScript = "${pkg.outPath}/bin/${attrs.toolName}";
|
||||
} // { inherit (pkg) meta name; }
|
||||
|
|
|
@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0irh9b4haz0pzzxrb4hwcss91a0xb499kjrcrmr2s59p3zq8bbd9";
|
||||
};
|
||||
|
||||
buildInputs = [ gmp cmake ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ gmp ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure = ''
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "symbiyosys-${version}";
|
||||
version = "2018.01.10";
|
||||
version = "2018.02.04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cliffordwolf";
|
||||
owner = "yosyshq";
|
||||
repo = "symbiyosys";
|
||||
rev = "25936009bbc2cffd289c607ddf42a578527aa59c";
|
||||
sha256 = "06idd8vbn4s2k6bja4f6lxjc4qwgbak2fhfxj8f18ki1xb3yqfh6";
|
||||
rev = "236f6412c1c1afe95d752eaf907f66f19c343134";
|
||||
sha256 = "06bsvvkn9yhz9jvgf7a6pf407ab9m5qrr42niww666z967xdw4p0";
|
||||
};
|
||||
|
||||
buildInputs = [ python3 yosys ];
|
||||
|
|
|
@ -100,6 +100,8 @@ rec {
|
|||
|
||||
gitflow = callPackage ./gitflow { };
|
||||
|
||||
grv = callPackage ./grv { };
|
||||
|
||||
hub = callPackage ./hub {
|
||||
inherit (darwin) Security;
|
||||
};
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
{ stdenv, buildGoPackage, fetchFromGitHub, curl, libgit2_0_25, ncurses, pkgconfig, readline }:
|
||||
let
|
||||
version = "0.1.1";
|
||||
in
|
||||
buildGoPackage {
|
||||
name = "grv-${version}";
|
||||
|
||||
buildInputs = [ ncurses readline curl libgit2_0_25 ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
goPackagePath = "github.com/rgburke/grv";
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rgburke";
|
||||
repo = "grv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0q9gvxfw48d4kjpb2jx7lg577vazjg0n961y6ija5saja5n16mk2";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = " GRV is a terminal interface for viewing git repositories";
|
||||
homepage = https://github.com/rgburke/grv;
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ andir ];
|
||||
};
|
||||
}
|
102
pkgs/applications/version-management/git-and-tools/grv/deps.nix
Normal file
102
pkgs/applications/version-management/git-and-tools/grv/deps.nix
Normal file
|
@ -0,0 +1,102 @@
|
|||
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
|
||||
[
|
||||
{
|
||||
goPackagePath = "github.com/Sirupsen/logrus";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/Sirupsen/logrus";
|
||||
rev = "768a92a02685ee7535069fc1581341b41bab9b72";
|
||||
sha256 = "1m67cxb6p0zgq0xba63qb4vvy6z5d78alya0vnx5djfixygiij53";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/bradfitz/slice";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/bradfitz/slice";
|
||||
rev = "d9036e2120b5ddfa53f3ebccd618c4af275f47da";
|
||||
sha256 = "189h48w3ppvx2kqyxq0s55kxv629lljjxbyqjnlrgg8fy6ya8wgy";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/gobwas/glob";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/gobwas/glob";
|
||||
rev = "51eb1ee00b6d931c66d229ceeb7c31b985563420";
|
||||
sha256 = "090wzpwsjana1qas8ipwh1pj959gvc4b7vwybzi01f3bmd79jwlp";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/mattn/go-runewidth";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mattn/go-runewidth";
|
||||
rev = "97311d9f7767e3d6f422ea06661bc2c7a19e8a5d";
|
||||
sha256 = "0dxlrzn570xl7gb11hjy1v4p3gw3r41yvqhrffgw95ha3q9p50cg";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/rgburke/goncurses";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/rgburke/goncurses";
|
||||
rev = "9a788ac9d81e61c6a2ca6205ee8d72d738ed12b9";
|
||||
sha256 = "0xqwxscdszbybriyzqmsd2zkzda9anckx56q8gksfy3gwj286gpb";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/rjeczalik/notify";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/rjeczalik/notify";
|
||||
rev = "27b537f07230b3f917421af6dcf044038dbe57e2";
|
||||
sha256 = "05alsqjz2x8jzz2yp8r20zwglcg7y1ywq60zy6icj18qs3abmlp0";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/tchap/go-patricia";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/tchap/go-patricia";
|
||||
rev = "5ad6cdb7538b0097d5598c7e57f0a24072adf7dc";
|
||||
sha256 = "0351x63zqympgfsnjl78cgvqhvipl3kfs1i15hfaw91hqin6dykr";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "go4.org";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/camlistore/go4";
|
||||
rev = "fba789b7e39ba524b9e60c45c37a50fae63a2a09";
|
||||
sha256 = "01irxqy8na646b4zbw7v3zwy3yx9m7flhim5c3z4lzq5hiy2h75i";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/crypto";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/crypto";
|
||||
rev = "1875d0a70c90e57f11972aefd42276df65e895b9";
|
||||
sha256 = "1kprrdzr4i4biqn7r9gfxzsmijya06i9838skprvincdb1pm0q2q";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/sys";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sys";
|
||||
rev = "3dbebcf8efb6a5011a60c2b4591c1022a759af8a";
|
||||
sha256 = "02pwjyimpm13km3fk0rg2l9p37w7qycdwp74piawwgcgh80qnww9";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "gopkg.in/libgit2/git2go.v25";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://gopkg.in/libgit2/git2go.v25";
|
||||
rev = "334260d743d713a55ff3c097ec6707f2bb39e9d5";
|
||||
sha256 = "0hfya9z2pg29zbc0s92hj241rnbk7d90jzj34q0dp8b7akz6r1rc";
|
||||
};
|
||||
}
|
||||
]
|
|
@ -1,17 +1,20 @@
|
|||
{ stdenv, fetchurl, cmake, qtbase }:
|
||||
{ stdenv, fetchgit, cmake, qtbase }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qgit-2.6";
|
||||
name = "qgit-2.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://libre.tibirna.org/attachments/download/12/${name}.tar.gz";
|
||||
sha256 = "1brrhac6s6jrw3djhgailg5d5s0vgrfvr0sczqgzpp3i6pxf8qzl";
|
||||
src = fetchgit {
|
||||
url = "http://repo.or.cz/qgit4/redivivus.git";
|
||||
rev = name;
|
||||
sha256 = "0c0zxykpgkxb8gpgzz5i6b8nrzg7cdxikvpg678x7gsnxhlwjv3a";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
license = licenses.gpl2;
|
||||
homepage = http://libre.tibirna.org/projects/qgit/wiki/QGit;
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "src-${version}";
|
||||
version = "1.13";
|
||||
version = "1.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.catb.org/~esr/src/${name}.tar.gz";
|
||||
sha256 = "0l13ld8nxm1c720ns22lyx3q1bq2c2zn78vi5w92b7nl6p2nncy8";
|
||||
sha256 = "17885hpq8nxhqzwl50nrgdk1q9dq4cxjxldgkk8shdf08s5hcqhk";
|
||||
};
|
||||
|
||||
buildInputs = [ python rcs git makeWrapper ];
|
||||
|
|
|
@ -208,4 +208,16 @@ rec {
|
|||
tiniRev = "949e6facb77383876aeff8a6944dde66b3089574";
|
||||
tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
|
||||
};
|
||||
|
||||
docker_18_01 = dockerGen rec {
|
||||
version = "18.01.0-ce";
|
||||
rev = "03596f51b120095326d2004d676e97228a21014d"; # git commit
|
||||
sha256 = "1zffaxwkfz8ca76f5ql5z76mcjx37jbgv2kk75i68487yg16x0md";
|
||||
runcRev = "b2567b37d7b75eb4cf325b77297b140ea686ce8f";
|
||||
runcSha256 = "0zarsrbfcm1yp6mdl6rcrigdf7nb70xmv2cbggndz0qqyrw0mk0l";
|
||||
containerdRev = "89623f28b87a6004d4b785663257362d1658a729";
|
||||
containerdSha256 = "0irx7ps6rhq7z69cr3gspxdr7ywrv6dz62gkr1z2723cki9hsxma";
|
||||
tiniRev = "949e6facb77383876aeff8a6944dde66b3089574";
|
||||
tiniSha256 = "0zj4kdis1vvc6dwn4gplqna0bs7v6d1y2zc8v80s3zi018inhznw";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
{ stdenv, fetchFromGitHub
|
||||
, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice_protocol, fontconfig
|
||||
, libX11, freefont_ttf
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "looking-glass-client-${version}";
|
||||
version = "a10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnif";
|
||||
repo = "LookingGlass";
|
||||
rev = version;
|
||||
sha256 = "10jxnkrvskjzkg86iz3hnb5v91ykzx6pvcnpy1v4436g5f2d62wn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
buildInputs = [
|
||||
SDL SDL2 SDL2_ttf openssl spice_protocol fontconfig
|
||||
libX11 freefont_ttf
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
sourceRoot = "source/client";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv bin $out/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A KVM Frame Relay (KVMFR) implementation";
|
||||
longDescription = ''
|
||||
Looking Glass is an open source application that allows the use of a KVM
|
||||
(Kernel-based Virtual Machine) configured for VGA PCI Pass-through
|
||||
without an attached physical monitor, keyboard or mouse. This is the final
|
||||
step required to move away from dual booting with other operating systems
|
||||
for legacy programs that require high performance graphics.
|
||||
'';
|
||||
homepage = https://looking-glass.hostfission.com/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.pneumaticat ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -21,10 +21,10 @@ let
|
|||
buildType = "release";
|
||||
# Manually sha256sum the extensionPack file, must be hex!
|
||||
# Do not forget to update the hash in ./guest-additions/default.nix!
|
||||
extpack = "98e9df4f23212c3de827af9d770b391cf2dba8d21f4de597145512c1479302cd";
|
||||
extpackRev = "119785";
|
||||
main = "053xpf0kxrig4jq5djfz9drhkxy1x5a4p9qvgxc0b3hnk6yn1869";
|
||||
version = "5.2.4";
|
||||
extpack = "70584a70b666e9332ae2c6be0e64da4b8e3a27124801156577f205750bdde4f5";
|
||||
extpackRev = "120293";
|
||||
main = "1rx45ivwk89ghjc5zdd7c7j92w0w3930xj7l1zhwrvshxs454w7y";
|
||||
version = "5.2.6";
|
||||
|
||||
# See https://github.com/NixOS/nixpkgs/issues/672 for details
|
||||
extensionPack = requireFile rec {
|
||||
|
|
|
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
|||
|
||||
src = fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||
sha256 = "0qhsr6vc48ld2p9q3a6n6rfg57rsn163axr3r1m2yqr2snr4pnk0";
|
||||
sha256 = "1px9jp6lv7ff7kn4ns5r4dq7xl4wiz3h4ckgdhgvxs040njpdzy5";
|
||||
};
|
||||
|
||||
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||
|
|
|
@ -41,7 +41,6 @@ with luaPackages; stdenv.mkDerivation rec {
|
|||
#cmakeFlags = "-DGENERATE_MANPAGES=ON";
|
||||
cmakeFlags = "-DOVERRIDE_VERSION=${version}";
|
||||
|
||||
LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ cairo pango gobjectIntrospection ]}";
|
||||
GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
|
||||
LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
|
||||
LUA_PATH = "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
|
||||
|
@ -52,7 +51,6 @@ with luaPackages; stdenv.mkDerivation rec {
|
|||
--add-flags '--search ${lgi}/lib/lua/${lua.luaversion}' \
|
||||
--add-flags '--search ${lgi}/share/lua/${lua.luaversion}' \
|
||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||
--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
|
||||
--prefix PATH : "${stdenv.lib.makeBinPath [ compton unclutter procps iproute coreutils curl alsaUtils findutils xterm ]}"
|
||||
|
||||
wrapProgram $out/bin/awesome-client \
|
||||
|
|
|
@ -1,15 +1,5 @@
|
|||
From 00c5af939567429d40877845dc52b54fde2d8a50 Mon Sep 17 00:00:00 2001
|
||||
From: "Alexander V. Nikolaev" <avn@avnik.info>
|
||||
Date: Thu, 26 Nov 2015 10:53:12 +0200
|
||||
Subject: [PATCH 1/3] Substitution vars for absolute paths
|
||||
|
||||
---
|
||||
libqtile/pangocffi.py | 6 +++---
|
||||
libqtile/xcursors.py | 2 +-
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libqtile/pangocffi.py b/libqtile/pangocffi.py
|
||||
index 27691d1..25f690d 100644
|
||||
index 1e8f5c04..e860d43a 100644
|
||||
--- a/libqtile/pangocffi.py
|
||||
+++ b/libqtile/pangocffi.py
|
||||
@@ -58,9 +58,9 @@ except ImportError:
|
||||
|
@ -26,18 +16,15 @@ index 27691d1..25f690d 100644
|
|||
|
||||
def CairoContext(cairo_t):
|
||||
diff --git a/libqtile/xcursors.py b/libqtile/xcursors.py
|
||||
index e0e55e1..59b6428 100644
|
||||
index f1133555..3e61204a 100644
|
||||
--- a/libqtile/xcursors.py
|
||||
+++ b/libqtile/xcursors.py
|
||||
@@ -114,7 +114,7 @@ class Cursors(dict):
|
||||
@@ -112,7 +112,7 @@ class Cursors(dict):
|
||||
|
||||
def _setup_xcursor_binding(self):
|
||||
try:
|
||||
- xcursor = ffi.dlopen('libxcb-cursor.so')
|
||||
+ xcursor = ffi.dlopen('@xcb-cursor@/lib/libxcb-cursor.so')
|
||||
except OSError:
|
||||
self.log.warning("xcb-cursor not found, fallback to font pointer")
|
||||
logger.warning("xcb-cursor not found, fallback to font pointer")
|
||||
return False
|
||||
--
|
||||
2.6.3
|
||||
|
||||
|
|
|
@ -1,57 +1,52 @@
|
|||
From f299a0aa0eefcf16bb4990f00ac3946727f43ef3 Mon Sep 17 00:00:00 2001
|
||||
From: "Alexander V. Nikolaev" <avn@avnik.info>
|
||||
Date: Fri, 27 Nov 2015 10:49:48 +0200
|
||||
Subject: [PATCH 2/3] Restore PATH and PYTHONPATH
|
||||
|
||||
---
|
||||
bin/qtile | 1 +
|
||||
bin/qtile-run | 1 +
|
||||
bin/qtile-session | 2 ++
|
||||
libqtile/utils.py | 7 +++++++
|
||||
4 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/bin/qshell b/bin/qshell
|
||||
index 2ba7e61c..0ac2a2ef 100755
|
||||
--- a/bin/qshell
|
||||
+++ b/bin/qshell
|
||||
@@ -28,5 +28,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
|
||||
sys.path.insert(0, base_dir)
|
||||
|
||||
if __name__ == '__main__':
|
||||
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
||||
from libqtile.scripts import qshell
|
||||
qshell.main()
|
||||
diff --git a/bin/qtile b/bin/qtile
|
||||
index 66034fe..ce3fcd1 100755
|
||||
index 3e82814d..335b5cea 100755
|
||||
--- a/bin/qtile
|
||||
+++ b/bin/qtile
|
||||
@@ -131,6 +131,7 @@ def make_qtile():
|
||||
@@ -29,5 +29,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
|
||||
sys.path.insert(0, base_dir)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if __name__ == '__main__':
|
||||
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
||||
rename_process()
|
||||
q = make_qtile()
|
||||
try:
|
||||
from libqtile.scripts import qtile
|
||||
qtile.main()
|
||||
diff --git a/bin/qtile-run b/bin/qtile-run
|
||||
index ccedb96..646a476 100755
|
||||
index e4b121be..1c203bc9 100755
|
||||
--- a/bin/qtile-run
|
||||
+++ b/bin/qtile-run
|
||||
@@ -50,6 +50,7 @@ def main():
|
||||
proc.wait()
|
||||
@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
|
||||
sys.path.insert(0, base_dir)
|
||||
|
||||
if __name__ == "__main__":
|
||||
if __name__ == '__main__':
|
||||
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
||||
try:
|
||||
main()
|
||||
except KeyboardInterrupt:
|
||||
diff --git a/bin/qtile-session b/bin/qtile-session
|
||||
index 84f6a2d..da31b12 100755
|
||||
--- a/bin/qtile-session
|
||||
+++ b/bin/qtile-session
|
||||
@@ -25,6 +25,8 @@
|
||||
Qtile session manager.
|
||||
"""
|
||||
from libqtile.scripts import qtile_run
|
||||
qtile_run.main()
|
||||
diff --git a/bin/qtile-top b/bin/qtile-top
|
||||
index 5316e0e7..272c6430 100755
|
||||
--- a/bin/qtile-top
|
||||
+++ b/bin/qtile-top
|
||||
@@ -8,5 +8,6 @@ base_dir = os.path.abspath(os.path.join(this_dir, ".."))
|
||||
sys.path.insert(0, base_dir)
|
||||
|
||||
+__import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
||||
+
|
||||
from libqtile.log_utils import init_log
|
||||
import logging
|
||||
import os
|
||||
if __name__ == '__main__':
|
||||
+ __import__("importlib").import_module("libqtile.utils").restore_os_environment()
|
||||
from libqtile.scripts import qtile_top
|
||||
qtile_top.main()
|
||||
diff --git a/libqtile/utils.py b/libqtile/utils.py
|
||||
index 284089b..ec3539e 100644
|
||||
index 36ed0a58..bca9eab3 100644
|
||||
--- a/libqtile/utils.py
|
||||
+++ b/libqtile/utils.py
|
||||
@@ -227,3 +227,11 @@ def describe_attributes(obj, attrs, func=None):
|
||||
@@ -240,3 +240,11 @@ def describe_attributes(obj, attrs, func=None):
|
||||
pairs.append('%s=%s' % (attr, value))
|
||||
|
||||
return ', '.join(pairs)
|
||||
|
|
|
@ -1,17 +1,8 @@
|
|||
From b560c11078fecc35df2c62f34beda06c4e80a10d Mon Sep 17 00:00:00 2001
|
||||
From: "Alexander V. Nikolaev" <avn@avnik.info>
|
||||
Date: Fri, 27 Nov 2015 10:54:35 +0200
|
||||
Subject: [PATCH 3/3] Restart executable
|
||||
|
||||
---
|
||||
libqtile/manager.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libqtile/manager.py b/libqtile/manager.py
|
||||
index b1a38e2..110f7d8 100644
|
||||
index 36518a74..9b6bdd02 100644
|
||||
--- a/libqtile/manager.py
|
||||
+++ b/libqtile/manager.py
|
||||
@@ -1339,7 +1339,7 @@ class Qtile(command.CommandObject):
|
||||
@@ -1386,7 +1386,7 @@ class Qtile(command.CommandObject):
|
||||
argv = [s for s in argv if not s.startswith('--with-state')]
|
||||
argv.append('--with-state=' + buf.getvalue().decode())
|
||||
|
||||
|
@ -19,7 +10,4 @@ index b1a38e2..110f7d8 100644
|
|||
+ self.cmd_execute(os.environ.get("QTILE_WRAPPER", "@out@/bin/qtile"), argv[1:])
|
||||
|
||||
def cmd_spawn(self, cmd):
|
||||
"""
|
||||
--
|
||||
2.6.3
|
||||
|
||||
"""Run cmd in a shell.
|
||||
|
|
|
@ -7,13 +7,13 @@ in
|
|||
|
||||
python27Packages.buildPythonApplication rec {
|
||||
name = "qtile-${version}";
|
||||
version = "0.10.4";
|
||||
version = "0.10.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qtile";
|
||||
repo = "qtile";
|
||||
rev = "v${version}";
|
||||
sha256 = "0rwklzgkp3x242xql6qmfpfnhr788hd3jc1l80pc5ybxlwyfx59i";
|
||||
sha256 = "18szgplyym0b65vnaa8nqzadq6q0mhsiky9g5hqhn7xzf4kykmj8";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue