Merge branch 'master' into parnell/fetchdocker
This commit is contained in:
commit
bd9869d0f2
10
.github/CODEOWNERS
vendored
10
.github/CODEOWNERS
vendored
@ -12,17 +12,17 @@
|
|||||||
|
|
||||||
# Libraries
|
# Libraries
|
||||||
/lib @edolstra @nbp
|
/lib @edolstra @nbp
|
||||||
/lib/systems @edolstra @nbp @ericson2314
|
/lib/systems @nbp @ericson2314
|
||||||
|
|
||||||
# Nixpkgs Internals
|
# Nixpkgs Internals
|
||||||
/default.nix @nbp
|
/default.nix @nbp
|
||||||
/pkgs/top-level/default.nix @nbp @Ericson2314
|
/pkgs/top-level/default.nix @nbp @Ericson2314
|
||||||
/pkgs/top-level/impure.nix @nbp @Ericson2314
|
/pkgs/top-level/impure.nix @nbp @Ericson2314
|
||||||
/pkgs/top-level/stage.nix @nbp @Ericson2314
|
/pkgs/top-level/stage.nix @nbp @Ericson2314
|
||||||
/pkgs/stdenv @edolstra
|
/pkgs/stdenv
|
||||||
/pkgs/build-support/cc-wrapper @edolstra @Ericson2314
|
/pkgs/build-support/cc-wrapper @Ericson2314 @orivej
|
||||||
/pkgs/build-support/bintools-wrapper @edolstra @Ericson2314
|
/pkgs/build-support/bintools-wrapper @Ericson2314 @orivej
|
||||||
/pkgs/build-support/setup-hooks @edolstra @Ericson2314
|
/pkgs/build-support/setup-hooks @Ericson2314
|
||||||
|
|
||||||
# NixOS Internals
|
# NixOS Internals
|
||||||
/nixos/default.nix @nbp
|
/nixos/default.nix @nbp
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The "target platform" attribute is, unlike the other two attributes, not actually fundamental to the process of building software.
|
The "target platform" attribute is, unlike the other two attributes, not actually fundamental to the process of building software.
|
||||||
Instead, it is only relevant for compatability with building certain specific compilers and build tools.
|
Instead, it is only relevant for compatibility with building certain specific compilers and build tools.
|
||||||
It can be safely ignored for all other packages.
|
It can be safely ignored for all other packages.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
@ -162,7 +162,7 @@
|
|||||||
<para>
|
<para>
|
||||||
A runtime dependency between 2 packages implies that between them both the host and target platforms match.
|
A runtime dependency between 2 packages implies that between them both the host and target platforms match.
|
||||||
This is directly implied by the meaning of "host platform" and "runtime dependency":
|
This is directly implied by the meaning of "host platform" and "runtime dependency":
|
||||||
The package dependency exists while both packages are runnign on a single host platform.
|
The package dependency exists while both packages are running on a single host platform.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
A build time dependency, however, implies a shift in platforms between the depending package and the depended-on package.
|
A build time dependency, however, implies a shift in platforms between the depending package and the depended-on package.
|
||||||
|
@ -191,7 +191,6 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th
|
|||||||
toolz = buildPythonPackage rec {
|
toolz = buildPythonPackage rec {
|
||||||
pname = "toolz";
|
pname = "toolz";
|
||||||
version = "0.7.4";
|
version = "0.7.4";
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
@ -237,7 +236,6 @@ with import <nixpkgs> {};
|
|||||||
my_toolz = python35.pkgs.buildPythonPackage rec {
|
my_toolz = python35.pkgs.buildPythonPackage rec {
|
||||||
pname = "toolz";
|
pname = "toolz";
|
||||||
version = "0.7.4";
|
version = "0.7.4";
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
src = python35.pkgs.fetchPypi {
|
src = python35.pkgs.fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
@ -283,15 +281,15 @@ order to build [`datashape`](https://github.com/blaze/datashape).
|
|||||||
{ # ...
|
{ # ...
|
||||||
|
|
||||||
datashape = buildPythonPackage rec {
|
datashape = buildPythonPackage rec {
|
||||||
name = "datashape-${version}";
|
pname = "datashape";
|
||||||
version = "0.4.7";
|
version = "0.4.7";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = fetchPypi {
|
||||||
url = "mirror://pypi/D/DataShape/${name}.tar.gz";
|
inherit pname version;
|
||||||
sha256 = "14b2ef766d4c9652ab813182e866f493475e65e558bed0822e38bf07bba1a278";
|
sha256 = "14b2ef766d4c9652ab813182e866f493475e65e558bed0822e38bf07bba1a278";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = with self; [ pytest ];
|
checkInputs = with self; [ pytest ];
|
||||||
propagatedBuildInputs = with self; [ numpy multipledispatch dateutil ];
|
propagatedBuildInputs = with self; [ numpy multipledispatch dateutil ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
@ -318,10 +316,11 @@ when building the bindings and are therefore added as `buildInputs`.
|
|||||||
{ # ...
|
{ # ...
|
||||||
|
|
||||||
lxml = buildPythonPackage rec {
|
lxml = buildPythonPackage rec {
|
||||||
name = "lxml-3.4.4";
|
pname = "lxml";
|
||||||
|
version = "3.4.4";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = fetchPypi {
|
||||||
url = "mirror://pypi/l/lxml/${name}.tar.gz";
|
inherit pname version;
|
||||||
sha256 = "16a0fa97hym9ysdk3rmqz32xdjqmy4w34ld3rm3jf5viqjx65lxk";
|
sha256 = "16a0fa97hym9ysdk3rmqz32xdjqmy4w34ld3rm3jf5viqjx65lxk";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -351,11 +350,11 @@ and `CFLAGS`.
|
|||||||
{ # ...
|
{ # ...
|
||||||
|
|
||||||
pyfftw = buildPythonPackage rec {
|
pyfftw = buildPythonPackage rec {
|
||||||
name = "pyfftw-${version}";
|
pname = "pyFFTW";
|
||||||
version = "0.9.2";
|
version = "0.9.2";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = fetchPypi {
|
||||||
url = "mirror://pypi/p/pyFFTW/pyFFTW-${version}.tar.gz";
|
inherit pname version;
|
||||||
sha256 = "f6bbb6afa93085409ab24885a1a3cdb8909f095a142f4d49e346f2bd1b789074";
|
sha256 = "f6bbb6afa93085409ab24885a1a3cdb8909f095a142f4d49e346f2bd1b789074";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -440,11 +439,11 @@ We first create a function that builds `toolz` in `~/path/to/toolz/release.nix`
|
|||||||
{ pkgs, buildPythonPackage }:
|
{ pkgs, buildPythonPackage }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
name = "toolz-${version}";
|
pname = "toolz";
|
||||||
version = "0.7.4";
|
version = "0.7.4";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = fetchPypi {
|
||||||
url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
|
inherit pname version;
|
||||||
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
|
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -549,25 +548,31 @@ The `buildPythonPackage` function is implemented in
|
|||||||
|
|
||||||
The following is an example:
|
The following is an example:
|
||||||
```nix
|
```nix
|
||||||
{ # ...
|
|
||||||
|
|
||||||
twisted = buildPythonPackage {
|
buildPythonPackage rec {
|
||||||
name = "twisted-8.1.0";
|
version = "3.3.1";
|
||||||
|
pname = "pytest";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
preCheck = ''
|
||||||
url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.1/Twisted-8.1.0.tar.bz2;
|
# don't test bash builtins
|
||||||
sha256 = "0q25zbr4xzknaghha72mq57kh53qw1bf8csgp63pm9sfi72qhirl";
|
rm testing/test_argcomplete.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "cf8436dc59d8695346fcd3ab296de46425ecab00d64096cebe79fb51ecb2eb93";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ self.ZopeInterface ];
|
checkInputs = [ hypothesis ];
|
||||||
|
buildInputs = [ setuptools_scm ];
|
||||||
|
propagatedBuildInputs = [ attrs py setuptools six pluggy ];
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://twistedmatrix.com/;
|
maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
|
||||||
description = "Twisted, an event-driven networking engine written in Python";
|
description = "Framework for writing tests";
|
||||||
license = stdenv.lib.licenses.mit;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
The `buildPythonPackage` mainly does four things:
|
The `buildPythonPackage` mainly does four things:
|
||||||
@ -623,7 +628,6 @@ with import <nixpkgs> {};
|
|||||||
packageOverrides = self: super: {
|
packageOverrides = self: super: {
|
||||||
pandas = super.pandas.overridePythonAttrs(old: rec {
|
pandas = super.pandas.overridePythonAttrs(old: rec {
|
||||||
version = "0.19.1";
|
version = "0.19.1";
|
||||||
name = "pandas-${version}";
|
|
||||||
src = super.fetchPypi {
|
src = super.fetchPypi {
|
||||||
pname = "pandas";
|
pname = "pandas";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
@ -36,7 +36,7 @@ rec {
|
|||||||
overrideDerivation = drv: f:
|
overrideDerivation = drv: f:
|
||||||
let
|
let
|
||||||
newDrv = derivation (drv.drvAttrs // (f drv));
|
newDrv = derivation (drv.drvAttrs // (f drv));
|
||||||
in addPassthru newDrv (
|
in lib.flip (extendDerivation true) newDrv (
|
||||||
{ meta = drv.meta or {};
|
{ meta = drv.meta or {};
|
||||||
passthru = if drv ? passthru then drv.passthru else {};
|
passthru = if drv ? passthru then drv.passthru else {};
|
||||||
}
|
}
|
||||||
@ -131,8 +131,8 @@ rec {
|
|||||||
|
|
||||||
|
|
||||||
/* Add attributes to each output of a derivation without changing
|
/* Add attributes to each output of a derivation without changing
|
||||||
the derivation itself. */
|
the derivation itself and check a given condition when evaluating. */
|
||||||
addPassthru = drv: passthru:
|
extendDerivation = condition: passthru: drv:
|
||||||
let
|
let
|
||||||
outputs = drv.outputs or [ "out" ];
|
outputs = drv.outputs or [ "out" ];
|
||||||
|
|
||||||
@ -142,13 +142,23 @@ rec {
|
|||||||
outputToAttrListElement = outputName:
|
outputToAttrListElement = outputName:
|
||||||
{ name = outputName;
|
{ name = outputName;
|
||||||
value = commonAttrs // {
|
value = commonAttrs // {
|
||||||
inherit (drv.${outputName}) outPath drvPath type outputName;
|
inherit (drv.${outputName}) type outputName;
|
||||||
|
drvPath = assert condition; drv.${outputName}.drvPath;
|
||||||
|
outPath = assert condition; drv.${outputName}.outPath;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputsList = map outputToAttrListElement outputs;
|
outputsList = map outputToAttrListElement outputs;
|
||||||
in commonAttrs // { outputUnspecified = true; };
|
in commonAttrs // {
|
||||||
|
outputUnspecified = true;
|
||||||
|
drvPath = assert condition; drv.drvPath;
|
||||||
|
outPath = assert condition; drv.outPath;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Add attributes to each output of a derivation without changing
|
||||||
|
the derivation itself. */
|
||||||
|
addPassthru = lib.warn "`addPassthru` is deprecated, replace with `extendDerivation true`"
|
||||||
|
(extendDerivation true);
|
||||||
|
|
||||||
/* Strip a derivation of all non-essential attributes, returning
|
/* Strip a derivation of all non-essential attributes, returning
|
||||||
only those needed by hydra-eval-jobs. Also strictly evaluate the
|
only those needed by hydra-eval-jobs. Also strictly evaluate the
|
||||||
|
@ -87,13 +87,14 @@ let
|
|||||||
inherit (stringsWithDeps) textClosureList textClosureMap
|
inherit (stringsWithDeps) textClosureList textClosureMap
|
||||||
noDepEntry fullDepEntry packEntry stringAfter;
|
noDepEntry fullDepEntry packEntry stringAfter;
|
||||||
inherit (customisation) overrideDerivation makeOverridable
|
inherit (customisation) overrideDerivation makeOverridable
|
||||||
callPackageWith callPackagesWith addPassthru hydraJob makeScope;
|
callPackageWith callPackagesWith extendDerivation addPassthru
|
||||||
|
hydraJob makeScope;
|
||||||
inherit (meta) addMetaAttrs dontDistribute setName updateName
|
inherit (meta) addMetaAttrs dontDistribute setName updateName
|
||||||
appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio
|
appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio
|
||||||
hiPrioSet;
|
hiPrioSet;
|
||||||
inherit (sources) pathType pathIsDirectory cleanSourceFilter
|
inherit (sources) pathType pathIsDirectory cleanSourceFilter
|
||||||
cleanSource sourceByRegex sourceFilesBySuffices
|
cleanSource sourceByRegex sourceFilesBySuffices
|
||||||
commitIdFromGitRepo cleanSourceWith;
|
commitIdFromGitRepo cleanSourceWith pathHasContext canCleanSource;
|
||||||
inherit (modules) evalModules closeModules unifyModuleSyntax
|
inherit (modules) evalModules closeModules unifyModuleSyntax
|
||||||
applyIfFunction unpackSubmodule packSubmodule mergeModules
|
applyIfFunction unpackSubmodule packSubmodule mergeModules
|
||||||
mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
|
mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
|
||||||
|
@ -60,6 +60,7 @@
|
|||||||
arobyn = "Alexei Robyn <shados@shados.net>";
|
arobyn = "Alexei Robyn <shados@shados.net>";
|
||||||
artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
|
artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
|
||||||
ashalkhakov = "Artyom Shalkhakov <artyom.shalkhakov@gmail.com>";
|
ashalkhakov = "Artyom Shalkhakov <artyom.shalkhakov@gmail.com>";
|
||||||
|
ashgillman = "Ashley Gillman <gillmanash@gmail.com>";
|
||||||
aske = "Kirill Boltaev <aske@fmap.me>";
|
aske = "Kirill Boltaev <aske@fmap.me>";
|
||||||
asppsa = "Alastair Pharo <asppsa@gmail.com>";
|
asppsa = "Alastair Pharo <asppsa@gmail.com>";
|
||||||
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
||||||
@ -117,6 +118,7 @@
|
|||||||
chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
|
chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
|
||||||
chattered = "Phil Scott <me@philscotted.com>";
|
chattered = "Phil Scott <me@philscotted.com>";
|
||||||
ChengCat = "Yucheng Zhang <yu@cheng.cat>";
|
ChengCat = "Yucheng Zhang <yu@cheng.cat>";
|
||||||
|
chiiruno = "Okina Matara <okinan@protonmail.com>";
|
||||||
choochootrain = "Hurshal Patel <hurshal@imap.cc>";
|
choochootrain = "Hurshal Patel <hurshal@imap.cc>";
|
||||||
chpatrick = "Patrick Chilton <chpatrick@gmail.com>";
|
chpatrick = "Patrick Chilton <chpatrick@gmail.com>";
|
||||||
chreekat = "Bryan Richter <b@chreekat.net>";
|
chreekat = "Bryan Richter <b@chreekat.net>";
|
||||||
@ -298,6 +300,7 @@
|
|||||||
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
|
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
|
||||||
ixmatus = "Parnell Springmeyer <parnell@digitalmentat.com>";
|
ixmatus = "Parnell Springmeyer <parnell@digitalmentat.com>";
|
||||||
izorkin = "Yurii Izorkin <Izorkin@gmail.com>";
|
izorkin = "Yurii Izorkin <Izorkin@gmail.com>";
|
||||||
|
ixxie = "Matan Bendix Shenhav <matan@fluxcraft.net>";
|
||||||
j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
|
j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
|
||||||
jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";
|
jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";
|
||||||
jammerful = "jammerful <jammerful@gmail.com>";
|
jammerful = "jammerful <jammerful@gmail.com>";
|
||||||
@ -383,12 +386,14 @@
|
|||||||
lovek323 = "Jason O'Conal <jason@oconal.id.au>";
|
lovek323 = "Jason O'Conal <jason@oconal.id.au>";
|
||||||
lowfatcomputing = "Andreas Wagner <andreas.wagner@lowfatcomputing.org>";
|
lowfatcomputing = "Andreas Wagner <andreas.wagner@lowfatcomputing.org>";
|
||||||
lsix = "Lancelot SIX <lsix@lancelotsix.com>";
|
lsix = "Lancelot SIX <lsix@lancelotsix.com>";
|
||||||
|
lschuermann = "Leon Schuermann <leon.git@is.currently.online>";
|
||||||
ltavard = "Laure Tavard <laure.tavard@univ-grenoble-alpes.fr>";
|
ltavard = "Laure Tavard <laure.tavard@univ-grenoble-alpes.fr>";
|
||||||
lucas8 = "Luc Chabassier <luc.linux@mailoo.org>";
|
lucas8 = "Luc Chabassier <luc.linux@mailoo.org>";
|
||||||
ludo = "Ludovic Courtès <ludo@gnu.org>";
|
ludo = "Ludovic Courtès <ludo@gnu.org>";
|
||||||
lufia = "Kyohei Kadota <lufia@lufia.org>";
|
lufia = "Kyohei Kadota <lufia@lufia.org>";
|
||||||
luispedro = "Luis Pedro Coelho <luis@luispedro.org>";
|
luispedro = "Luis Pedro Coelho <luis@luispedro.org>";
|
||||||
lukego = "Luke Gorrie <luke@snabb.co>";
|
lukego = "Luke Gorrie <luke@snabb.co>";
|
||||||
|
luz = "Luz <luz666@daum.net>";
|
||||||
lw = "Sergey Sofeychuk <lw@fmap.me>";
|
lw = "Sergey Sofeychuk <lw@fmap.me>";
|
||||||
lyt = "Tim Liou <wheatdoge@gmail.com>";
|
lyt = "Tim Liou <wheatdoge@gmail.com>";
|
||||||
m3tti = "Mathaeus Sander <mathaeus.peter.sander@gmail.com>";
|
m3tti = "Mathaeus Sander <mathaeus.peter.sander@gmail.com>";
|
||||||
@ -440,6 +445,7 @@
|
|||||||
mjanczyk = "Marcin Janczyk <m@dragonvr.pl>";
|
mjanczyk = "Marcin Janczyk <m@dragonvr.pl>";
|
||||||
mjp = "Mike Playle <mike@mythik.co.uk>"; # github = "MikePlayle";
|
mjp = "Mike Playle <mike@mythik.co.uk>"; # github = "MikePlayle";
|
||||||
mlieberman85 = "Michael Lieberman <mlieberman85@gmail.com>";
|
mlieberman85 = "Michael Lieberman <mlieberman85@gmail.com>";
|
||||||
|
mmahut = "Marek Mahut <marek.mahut@gmail.com>";
|
||||||
moaxcp = "John Mercier <moaxcp@gmail.com>";
|
moaxcp = "John Mercier <moaxcp@gmail.com>";
|
||||||
modulistic = "Pablo Costa <modulistic@gmail.com>";
|
modulistic = "Pablo Costa <modulistic@gmail.com>";
|
||||||
mog = "Matthew O'Gorman <mog-lists@rldn.net>";
|
mog = "Matthew O'Gorman <mog-lists@rldn.net>";
|
||||||
@ -480,6 +486,7 @@
|
|||||||
nico202 = "Nicolò Balzarotti <anothersms@gmail.com>";
|
nico202 = "Nicolò Balzarotti <anothersms@gmail.com>";
|
||||||
NikolaMandic = "Ratko Mladic <nikola@mandic.email>";
|
NikolaMandic = "Ratko Mladic <nikola@mandic.email>";
|
||||||
nixy = "Andrew R. M. <nixy@nixy.moe>";
|
nixy = "Andrew R. M. <nixy@nixy.moe>";
|
||||||
|
nmattia = "Nicolas Mattia <nicolas@nmattia.com>";
|
||||||
nocoolnametom = "Tom Doggett <nocoolnametom@gmail.com>";
|
nocoolnametom = "Tom Doggett <nocoolnametom@gmail.com>";
|
||||||
notthemessiah = "Brian Cohen <brian.cohen.88@gmail.com>";
|
notthemessiah = "Brian Cohen <brian.cohen.88@gmail.com>";
|
||||||
np = "Nicolas Pouillard <np.nix@nicolaspouillard.fr>";
|
np = "Nicolas Pouillard <np.nix@nicolaspouillard.fr>";
|
||||||
@ -505,6 +512,7 @@
|
|||||||
pakhfn = "Fedor Pakhomov <pakhfn@gmail.com>";
|
pakhfn = "Fedor Pakhomov <pakhfn@gmail.com>";
|
||||||
panaeon = "Vitalii Voloshyn <vitalii.voloshyn@gmail.com";
|
panaeon = "Vitalii Voloshyn <vitalii.voloshyn@gmail.com";
|
||||||
paperdigits = "Mica Semrick <mica@silentumbrella.com>";
|
paperdigits = "Mica Semrick <mica@silentumbrella.com>";
|
||||||
|
paraseba = "Sebastian Galkin <paraseba@gmail.com>";
|
||||||
pashev = "Igor Pashev <pashev.igor@gmail.com>";
|
pashev = "Igor Pashev <pashev.igor@gmail.com>";
|
||||||
patternspandemic = "Brad Christensen <patternspandemic@live.com>";
|
patternspandemic = "Brad Christensen <patternspandemic@live.com>";
|
||||||
pawelpacana = "Paweł Pacana <pawel.pacana@gmail.com>";
|
pawelpacana = "Paweł Pacana <pawel.pacana@gmail.com>";
|
||||||
@ -593,6 +601,7 @@
|
|||||||
rzetterberg = "Richard Zetterberg <richard.zetterberg@gmail.com>";
|
rzetterberg = "Richard Zetterberg <richard.zetterberg@gmail.com>";
|
||||||
s1lvester = "Markus Silvester <s1lvester@bockhacker.me>";
|
s1lvester = "Markus Silvester <s1lvester@bockhacker.me>";
|
||||||
samdroid-apps = "Sam Parkinson <sam@sam.today>";
|
samdroid-apps = "Sam Parkinson <sam@sam.today>";
|
||||||
|
samueldr = "Samuel Dionne-Riel <samuel@dionne-riel.com>";
|
||||||
samuelrivas = "Samuel Rivas <samuelrivas@gmail.com>";
|
samuelrivas = "Samuel Rivas <samuelrivas@gmail.com>";
|
||||||
sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
|
sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
|
||||||
sargon = "Daniel Ehlers <danielehlers@mindeye.net>";
|
sargon = "Daniel Ehlers <danielehlers@mindeye.net>";
|
||||||
@ -603,6 +612,7 @@
|
|||||||
scolobb = "Sergiu Ivanov <sivanov@colimite.fr>";
|
scolobb = "Sergiu Ivanov <sivanov@colimite.fr>";
|
||||||
sdll = "Sasha Illarionov <sasha.delly@gmail.com>";
|
sdll = "Sasha Illarionov <sasha.delly@gmail.com>";
|
||||||
SeanZicari = "Sean Zicari <sean.zicari@gmail.com>";
|
SeanZicari = "Sean Zicari <sean.zicari@gmail.com>";
|
||||||
|
sellout = "Greg Pfeil <greg@technomadic.org>";
|
||||||
sepi = "Raffael Mancini <raffael@mancini.lu>";
|
sepi = "Raffael Mancini <raffael@mancini.lu>";
|
||||||
seppeljordan = "Sebastian Jordan <sebastian.jordan.mail@googlemail.com>";
|
seppeljordan = "Sebastian Jordan <sebastian.jordan.mail@googlemail.com>";
|
||||||
shanemikel = "Shane Pearlman <shanemikel1@gmail.com>";
|
shanemikel = "Shane Pearlman <shanemikel1@gmail.com>";
|
||||||
@ -638,6 +648,7 @@
|
|||||||
sternenseemann = "Lukas Epple <post@lukasepple.de>";
|
sternenseemann = "Lukas Epple <post@lukasepple.de>";
|
||||||
stesie = "Stefan Siegl <stesie@brokenpipe.de>";
|
stesie = "Stefan Siegl <stesie@brokenpipe.de>";
|
||||||
steveej = "Stefan Junker <mail@stefanjunker.de>";
|
steveej = "Stefan Junker <mail@stefanjunker.de>";
|
||||||
|
StillerHarpo = "Florian Engel <florianengel39@gmail.com>";
|
||||||
stumoss = "Stuart Moss <samoss@gmail.com>";
|
stumoss = "Stuart Moss <samoss@gmail.com>";
|
||||||
SuprDewd = "Bjarki Ágúst Guðmundsson <suprdewd@gmail.com>";
|
SuprDewd = "Bjarki Ágúst Guðmundsson <suprdewd@gmail.com>";
|
||||||
swarren83 = "Shawn Warren <shawn.w.warren@gmail.com>";
|
swarren83 = "Shawn Warren <shawn.w.warren@gmail.com>";
|
||||||
@ -729,9 +740,11 @@
|
|||||||
wyvie = "Elijah Rum <elijahrum@gmail.com>";
|
wyvie = "Elijah Rum <elijahrum@gmail.com>";
|
||||||
xaverdh = "Dominik Xaver Hörl <hoe.dom@gmx.de>";
|
xaverdh = "Dominik Xaver Hörl <hoe.dom@gmx.de>";
|
||||||
xnwdd = "Guillermo NWDD <nwdd+nixos@no.team>";
|
xnwdd = "Guillermo NWDD <nwdd+nixos@no.team>";
|
||||||
|
xurei = "Olivier Bourdoux <olivier.bourdoux@gmail.com>";
|
||||||
xvapx = "Marti Serra <marti.serra.coscollano@gmail.com>";
|
xvapx = "Marti Serra <marti.serra.coscollano@gmail.com>";
|
||||||
xwvvvvwx = "David Terry <davidterry@posteo.de>";
|
xwvvvvwx = "David Terry <davidterry@posteo.de>";
|
||||||
xzfc = "Albert Safin <xzfcpw@gmail.com>";
|
xzfc = "Albert Safin <xzfcpw@gmail.com>";
|
||||||
|
y0no = "Yoann Ono <y0no@y0no.fr>";
|
||||||
yarr = "Dmitry V. <savraz@gmail.com>";
|
yarr = "Dmitry V. <savraz@gmail.com>";
|
||||||
yegortimoshenko = "Yegor Timoshenko <yegortimoshenko@gmail.com>";
|
yegortimoshenko = "Yegor Timoshenko <yegortimoshenko@gmail.com>";
|
||||||
ylwghst = "Burim Augustin Berisa <ylwghst@onionmail.info>";
|
ylwghst = "Burim Augustin Berisa <ylwghst@onionmail.info>";
|
||||||
|
@ -93,4 +93,8 @@ rec {
|
|||||||
else lib.head matchRef
|
else lib.head matchRef
|
||||||
else throw ("Not a .git directory: " + path);
|
else throw ("Not a .git directory: " + path);
|
||||||
in lib.flip readCommitFromFile "HEAD";
|
in lib.flip readCommitFromFile "HEAD";
|
||||||
|
|
||||||
|
pathHasContext = builtins.hasContext or (lib.hasPrefix builtins.storeDir);
|
||||||
|
|
||||||
|
canCleanSource = src: src ? _isLibCleanSourceWith || !(pathHasContext (toString src));
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,13 @@
|
|||||||
# Usage $0 debian-patches.txt debian-patches.nix
|
# Usage $0 debian-patches.txt debian-patches.nix
|
||||||
# An example input and output files can be found in applications/graphics/xara/
|
# An example input and output files can be found in applications/graphics/xara/
|
||||||
|
|
||||||
DEB_URL=http://patch-tracker.debian.org/patch/series/dl
|
DEB_URL=https://sources.debian.org/data/main
|
||||||
declare -a deb_patches
|
declare -a deb_patches
|
||||||
mapfile -t deb_patches < $1
|
mapfile -t deb_patches < $1
|
||||||
|
|
||||||
prefix="${DEB_URL}/${deb_patches[0]}"
|
# First letter
|
||||||
|
deb_prefix="${deb_patches[0]:0:1}"
|
||||||
|
prefix="${DEB_URL}/${deb_prefix}/${deb_patches[0]}/debian/patches"
|
||||||
|
|
||||||
if [[ -n "$2" ]]; then
|
if [[ -n "$2" ]]; then
|
||||||
exec 1> $2
|
exec 1> $2
|
||||||
|
@ -21,7 +21,7 @@ find . -type f | while read src; do
|
|||||||
# Sanitize file name
|
# Sanitize file name
|
||||||
filename=$(basename "$src" | tr '@' '_')
|
filename=$(basename "$src" | tr '@' '_')
|
||||||
nameVersion="${filename%.tar.*}"
|
nameVersion="${filename%.tar.*}"
|
||||||
name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,')
|
name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,' | sed -e 's,-everywhere-src$,,')
|
||||||
version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,')
|
version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,')
|
||||||
echo "$name,$version,$src,$filename" >>$csv
|
echo "$name,$version,$src,$filename" >>$csv
|
||||||
done
|
done
|
||||||
|
@ -1,9 +1,16 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
# --print: avoid dependency on environment
|
||||||
|
optPrint=
|
||||||
|
if [ "$1" == "--print" ]; then
|
||||||
|
optPrint=true
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$#" != 1 ] && [ "$#" != 2 ]; then
|
if [ "$#" != 1 ] && [ "$#" != 2 ]; then
|
||||||
cat <<-EOF
|
cat <<-EOF
|
||||||
Usage: $0 commit-spec [commit-spec]
|
Usage: $0 [--print] commit-spec [commit-spec]
|
||||||
You need to be in a git-controlled nixpkgs tree.
|
You need to be in a git-controlled nixpkgs tree.
|
||||||
The current state of the tree will be used if the second commit is missing.
|
The current state of the tree will be used if the second commit is missing.
|
||||||
EOF
|
EOF
|
||||||
@ -113,3 +120,8 @@ newPkgs "${tree[1]}" "${tree[2]}" '--argstr system "x86_64-linux"' > "$newlist"
|
|||||||
sed -n 's/\([^. ]*\.\)*\([^. ]*\) .*$/\2/p' < "$newlist" \
|
sed -n 's/\([^. ]*\.\)*\([^. ]*\) .*$/\2/p' < "$newlist" \
|
||||||
| sort | uniq -c
|
| sort | uniq -c
|
||||||
|
|
||||||
|
if [ -n "$optPrint" ]; then
|
||||||
|
echo
|
||||||
|
cat "$newlist"
|
||||||
|
fi
|
||||||
|
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
version="5.0"
|
version="5.0"
|
||||||
xml:id="sec-instaling-virtualbox-guest">
|
xml:id="sec-instaling-virtualbox-guest">
|
||||||
|
|
||||||
<title>Installing in a Virtualbox guest</title>
|
<title>Installing in a VirtualBox guest</title>
|
||||||
<para>
|
<para>
|
||||||
Installing NixOS into a Virtualbox guest is convenient for users who want to
|
Installing NixOS into a VirtualBox guest is convenient for users who want to
|
||||||
try NixOS without installing it on bare metal. If you want to use a pre-made
|
try NixOS without installing it on bare metal. If you want to use a pre-made
|
||||||
Virtualbox appliance, it is available at <link
|
VirtualBox appliance, it is available at <link
|
||||||
xlink:href="https://nixos.org/nixos/download.html">the downloads page</link>.
|
xlink:href="https://nixos.org/nixos/download.html">the downloads page</link>.
|
||||||
If you want to set up a Virtualbox guest manually, follow these instructions:
|
If you want to set up a VirtualBox guest manually, follow these instructions:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<orderedlist>
|
<orderedlist>
|
||||||
|
|
||||||
<listitem><para>Add a New Machine in Virtualbox with OS Type "Linux / Other
|
<listitem><para>Add a New Machine in VirtualBox with OS Type "Linux / Other
|
||||||
Linux"</para></listitem>
|
Linux"</para></listitem>
|
||||||
|
|
||||||
<listitem><para>Base Memory Size: 768 MB or higher.</para></listitem>
|
<listitem><para>Base Memory Size: 768 MB or higher.</para></listitem>
|
||||||
|
@ -45,7 +45,10 @@ for a UEFI installation is by and large the same as a BIOS installation. The dif
|
|||||||
using <command>ifconfig</command>.</para>
|
using <command>ifconfig</command>.</para>
|
||||||
<para>To manually configure the network on the graphical installer,
|
<para>To manually configure the network on the graphical installer,
|
||||||
first disable network-manager with
|
first disable network-manager with
|
||||||
<command>systemctl stop network-manager</command>.</para></listitem>
|
<command>systemctl stop network-manager</command>.</para>
|
||||||
|
<para>To manually configure the wifi on the minimal installer, run
|
||||||
|
<command>wpa_supplicant -B -i interface -c <(wpa_passphrase 'SSID' 'key')</command>.</para></listitem>
|
||||||
|
|
||||||
|
|
||||||
<listitem><para>If you would like to continue the installation from a different
|
<listitem><para>If you would like to continue the installation from a different
|
||||||
machine you need to activate the SSH daemon via <literal>systemctl start sshd</literal>.
|
machine you need to activate the SSH daemon via <literal>systemctl start sshd</literal>.
|
||||||
|
@ -131,6 +131,11 @@ following incompatible changes:</para>
|
|||||||
Other types dependencies should be unaffected.
|
Other types dependencies should be unaffected.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<literal>lib.addPassthru</literal> is removed. Use <literal>lib.extendDerivation true</literal> instead. <emphasis role="strong">TODO: actually remove it before branching 18.03 off.</emphasis>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The <literal>memcached</literal> service no longer accept dynamic socket
|
The <literal>memcached</literal> service no longer accept dynamic socket
|
||||||
@ -139,6 +144,11 @@ following incompatible changes:</para>
|
|||||||
will be accessible at <literal>/run/memcached/memcached.sock</literal>.
|
will be accessible at <literal>/run/memcached/memcached.sock</literal>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <varname>hardware.amdHybridGraphics.disable</varname> option was removed for lack of a maintainer. If you still need this module, you may wish to include a copy of it from an older version of nixos in your imports.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
@ -13,10 +13,16 @@
|
|||||||
# grafted in the file system at path `target'.
|
# grafted in the file system at path `target'.
|
||||||
, contents ? []
|
, contents ? []
|
||||||
|
|
||||||
, # Whether the disk should be partitioned (with a single partition
|
, # Type of partition table to use; either "legacy", "efi", or "none".
|
||||||
# containing the root filesystem) or contain the root filesystem
|
# For "efi" images, the GPT partition table is used and a mandatory ESP
|
||||||
# directly.
|
# partition of reasonable size is created in addition to the root partition.
|
||||||
partitioned ? true
|
# If `installBootLoader` is true, GRUB will be installed in EFI mode.
|
||||||
|
# For "legacy", the msdos partition table is used and a single large root
|
||||||
|
# partition is created. If `installBootLoader` is true, GRUB will be
|
||||||
|
# installed in legacy mode.
|
||||||
|
# For "none", no partition table is created. Enabling `installBootLoader`
|
||||||
|
# most likely fails as GRUB will probably refuse to install.
|
||||||
|
partitionTableType ? "legacy"
|
||||||
|
|
||||||
# Whether to invoke switch-to-configuration boot during image creation
|
# Whether to invoke switch-to-configuration boot during image creation
|
||||||
, installBootLoader ? true
|
, installBootLoader ? true
|
||||||
@ -37,6 +43,10 @@
|
|||||||
format ? "raw"
|
format ? "raw"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert partitionTableType == "legacy" || partitionTableType == "efi" || partitionTableType == "none";
|
||||||
|
# We use -E offset=X below, which is only supported by e2fsprogs
|
||||||
|
assert partitionTableType != "none" -> fsType == "ext4";
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let format' = format; in let
|
let format' = format; in let
|
||||||
@ -51,6 +61,27 @@ let format' = format; in let
|
|||||||
raw = "img";
|
raw = "img";
|
||||||
}.${format};
|
}.${format};
|
||||||
|
|
||||||
|
rootPartition = { # switch-case
|
||||||
|
legacy = "1";
|
||||||
|
efi = "2";
|
||||||
|
}.${partitionTableType};
|
||||||
|
|
||||||
|
partitionDiskScript = { # switch-case
|
||||||
|
legacy = ''
|
||||||
|
parted --script $diskImage -- \
|
||||||
|
mklabel msdos \
|
||||||
|
mkpart primary ext4 1MiB -1
|
||||||
|
'';
|
||||||
|
efi = ''
|
||||||
|
parted --script $diskImage -- \
|
||||||
|
mklabel gpt \
|
||||||
|
mkpart ESP fat32 8MiB 256MiB \
|
||||||
|
set 1 boot on \
|
||||||
|
mkpart primary ext4 256MiB -1
|
||||||
|
'';
|
||||||
|
none = "";
|
||||||
|
}.${partitionTableType};
|
||||||
|
|
||||||
nixpkgs = cleanSource pkgs.path;
|
nixpkgs = cleanSource pkgs.path;
|
||||||
|
|
||||||
channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}" {} ''
|
channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}" {} ''
|
||||||
@ -79,20 +110,31 @@ let format' = format; in let
|
|||||||
targets = map (x: x.target) contents;
|
targets = map (x: x.target) contents;
|
||||||
|
|
||||||
prepareImage = ''
|
prepareImage = ''
|
||||||
export PATH=${makeSearchPathOutput "bin" "bin" prepareImageInputs}
|
export PATH=${makeBinPath prepareImageInputs}
|
||||||
|
|
||||||
|
# Yes, mkfs.ext4 takes different units in different contexts. Fun.
|
||||||
|
sectorsToKilobytes() {
|
||||||
|
echo $(( ( "$1" * 512 ) / 1024 ))
|
||||||
|
}
|
||||||
|
|
||||||
|
sectorsToBytes() {
|
||||||
|
echo $(( "$1" * 512 ))
|
||||||
|
}
|
||||||
|
|
||||||
mkdir $out
|
mkdir $out
|
||||||
diskImage=nixos.raw
|
diskImage=nixos.raw
|
||||||
truncate -s ${toString diskSize}M $diskImage
|
truncate -s ${toString diskSize}M $diskImage
|
||||||
|
|
||||||
${if partitioned then ''
|
${partitionDiskScript}
|
||||||
parted --script $diskImage -- mklabel msdos mkpart primary ext4 1M -1s
|
|
||||||
offset=$((2048*512))
|
|
||||||
'' else ''
|
|
||||||
offset=0
|
|
||||||
''}
|
|
||||||
|
|
||||||
mkfs.${fsType} -F -L nixos -E offset=$offset $diskImage
|
${if partitionTableType != "none" then ''
|
||||||
|
# Get start & length of the root partition in sectors to $START and $SECTORS.
|
||||||
|
eval $(partx $diskImage -o START,SECTORS --nr ${rootPartition} --pairs)
|
||||||
|
|
||||||
|
mkfs.${fsType} -F -L nixos $diskImage -E offset=$(sectorsToBytes $START) $(sectorsToKilobytes $SECTORS)K
|
||||||
|
'' else ''
|
||||||
|
mkfs.${fsType} -F -L nixos $diskImage
|
||||||
|
''}
|
||||||
|
|
||||||
root="$PWD/root"
|
root="$PWD/root"
|
||||||
mkdir -p $root
|
mkdir -p $root
|
||||||
@ -133,12 +175,12 @@ let format' = format; in let
|
|||||||
find $root/nix/store -mindepth 1 -maxdepth 1 -type f -o -type d | xargs chmod -R a-w
|
find $root/nix/store -mindepth 1 -maxdepth 1 -type f -o -type d | xargs chmod -R a-w
|
||||||
|
|
||||||
echo "copying staging root to image..."
|
echo "copying staging root to image..."
|
||||||
cptofs ${optionalString partitioned "-P 1"} -t ${fsType} -i $diskImage $root/* /
|
cptofs -p ${optionalString (partitionTableType != "none") "-P ${rootPartition}"} -t ${fsType} -i $diskImage $root/* /
|
||||||
'';
|
'';
|
||||||
in pkgs.vmTools.runInLinuxVM (
|
in pkgs.vmTools.runInLinuxVM (
|
||||||
pkgs.runCommand name
|
pkgs.runCommand name
|
||||||
{ preVM = prepareImage;
|
{ preVM = prepareImage;
|
||||||
buildInputs = with pkgs; [ utillinux e2fsprogs ];
|
buildInputs = with pkgs; [ utillinux e2fsprogs dosfstools ];
|
||||||
exportReferencesGraph = [ "closure" metaClosure ];
|
exportReferencesGraph = [ "closure" metaClosure ];
|
||||||
postVM = ''
|
postVM = ''
|
||||||
${if format == "raw" then ''
|
${if format == "raw" then ''
|
||||||
@ -152,11 +194,7 @@ in pkgs.vmTools.runInLinuxVM (
|
|||||||
memSize = 1024;
|
memSize = 1024;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
${if partitioned then ''
|
rootDisk=${if partitionTableType != "none" then "/dev/vda${rootPartition}" else "/dev/vda"}
|
||||||
rootDisk=/dev/vda1
|
|
||||||
'' else ''
|
|
||||||
rootDisk=/dev/vda
|
|
||||||
''}
|
|
||||||
|
|
||||||
# Some tools assume these exist
|
# Some tools assume these exist
|
||||||
ln -s vda /dev/xvda
|
ln -s vda /dev/xvda
|
||||||
@ -166,6 +204,14 @@ in pkgs.vmTools.runInLinuxVM (
|
|||||||
mkdir $mountPoint
|
mkdir $mountPoint
|
||||||
mount $rootDisk $mountPoint
|
mount $rootDisk $mountPoint
|
||||||
|
|
||||||
|
# Create the ESP and mount it. Unlike e2fsprogs, mkfs.vfat doesn't support an
|
||||||
|
# '-E offset=X' option, so we can't do this outside the VM.
|
||||||
|
${optionalString (partitionTableType == "efi") ''
|
||||||
|
mkdir -p /mnt/boot
|
||||||
|
mkfs.vfat -n ESP /dev/vda1
|
||||||
|
mount /dev/vda1 /mnt/boot
|
||||||
|
''}
|
||||||
|
|
||||||
# Install a configuration.nix
|
# Install a configuration.nix
|
||||||
mkdir -p /mnt/etc/nixos
|
mkdir -p /mnt/etc/nixos
|
||||||
${optionalString (configFile != null) ''
|
${optionalString (configFile != null) ''
|
||||||
|
@ -46,7 +46,7 @@ in {
|
|||||||
inherit lib config;
|
inherit lib config;
|
||||||
inherit (cfg) contents format name;
|
inherit (cfg) contents format name;
|
||||||
pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
|
pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
|
||||||
partitioned = config.ec2.hvm;
|
partitionTableType = if config.ec2.hvm then "legacy" else "none";
|
||||||
diskSize = cfg.sizeMB;
|
diskSize = cfg.sizeMB;
|
||||||
configFile = pkgs.writeText "configuration.nix"
|
configFile = pkgs.writeText "configuration.nix"
|
||||||
''
|
''
|
||||||
|
@ -36,7 +36,7 @@ in
|
|||||||
default = {};
|
default = {};
|
||||||
description = ''
|
description = ''
|
||||||
A set of environment variables used in the global environment.
|
A set of environment variables used in the global environment.
|
||||||
These variables will be set on shell initialisation.
|
These variables will be set on shell initialisation (e.g. in /etc/profile).
|
||||||
The value of each variable can be either a string or a list of
|
The value of each variable can be either a string or a list of
|
||||||
strings. The latter is concatenated, interspersed with colon
|
strings. The latter is concatenated, interspersed with colon
|
||||||
characters.
|
characters.
|
||||||
|
@ -27,6 +27,7 @@ in
|
|||||||
boot.loader.grub.enable = false;
|
boot.loader.grub.enable = false;
|
||||||
boot.loader.generic-extlinux-compatible.enable = true;
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
|
boot.consoleLogLevel = lib.mkDefault 7;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
# The serial ports listed here are:
|
# The serial ports listed here are:
|
||||||
@ -42,8 +43,17 @@ in
|
|||||||
populateBootCommands = let
|
populateBootCommands = let
|
||||||
configTxt = pkgs.writeText "config.txt" ''
|
configTxt = pkgs.writeText "config.txt" ''
|
||||||
kernel=u-boot-rpi3.bin
|
kernel=u-boot-rpi3.bin
|
||||||
|
|
||||||
|
# Boot in 64-bit mode.
|
||||||
arm_control=0x200
|
arm_control=0x200
|
||||||
|
|
||||||
|
# U-Boot used to need this to work, regardless of whether UART is actually used or not.
|
||||||
|
# TODO: check when/if this can be removed.
|
||||||
enable_uart=1
|
enable_uart=1
|
||||||
|
|
||||||
|
# Prevent the firmware from smashing the framebuffer setup done by the mainline kernel
|
||||||
|
# when attempting to show low-voltage or overtemperature warnings.
|
||||||
|
avoid_warnings=1
|
||||||
'';
|
'';
|
||||||
in ''
|
in ''
|
||||||
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
|
(cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/boot/)
|
||||||
|
@ -27,6 +27,7 @@ in
|
|||||||
boot.loader.grub.enable = false;
|
boot.loader.grub.enable = false;
|
||||||
boot.loader.generic-extlinux-compatible.enable = true;
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
|
boot.consoleLogLevel = lib.mkDefault 7;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
# The serial ports listed here are:
|
# The serial ports listed here are:
|
||||||
# - ttyS0: for Tegra (Jetson TK1)
|
# - ttyS0: for Tegra (Jetson TK1)
|
||||||
|
@ -27,6 +27,7 @@ in
|
|||||||
boot.loader.grub.enable = false;
|
boot.loader.grub.enable = false;
|
||||||
boot.loader.generic-extlinux-compatible.enable = true;
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
|
boot.consoleLogLevel = lib.mkDefault 7;
|
||||||
boot.kernelPackages = pkgs.linuxPackages_rpi;
|
boot.kernelPackages = pkgs.linuxPackages_rpi;
|
||||||
|
|
||||||
# FIXME: this probably should be in installation-device.nix
|
# FIXME: this probably should be in installation-device.nix
|
||||||
|
@ -301,6 +301,7 @@
|
|||||||
pykms = 282;
|
pykms = 282;
|
||||||
kodi = 283;
|
kodi = 283;
|
||||||
restya-board = 284;
|
restya-board = 284;
|
||||||
|
mighttpd2 = 285;
|
||||||
|
|
||||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||||
|
|
||||||
@ -570,6 +571,7 @@
|
|||||||
pykms = 282;
|
pykms = 282;
|
||||||
kodi = 283;
|
kodi = 283;
|
||||||
restya-board = 284;
|
restya-board = 284;
|
||||||
|
mighttpd2 = 285;
|
||||||
|
|
||||||
# When adding a gid, make sure it doesn't match an existing
|
# When adding a gid, make sure it doesn't match an existing
|
||||||
# uid. Users and groups with the same name should have equal
|
# uid. Users and groups with the same name should have equal
|
||||||
|
@ -200,6 +200,7 @@
|
|||||||
./services/desktops/dleyna-server.nix
|
./services/desktops/dleyna-server.nix
|
||||||
./services/desktops/geoclue2.nix
|
./services/desktops/geoclue2.nix
|
||||||
./services/desktops/gnome3/at-spi2-core.nix
|
./services/desktops/gnome3/at-spi2-core.nix
|
||||||
|
./services/desktops/gnome3/chrome-gnome-shell.nix
|
||||||
./services/desktops/gnome3/evolution-data-server.nix
|
./services/desktops/gnome3/evolution-data-server.nix
|
||||||
./services/desktops/gnome3/gnome-disks.nix
|
./services/desktops/gnome3/gnome-disks.nix
|
||||||
./services/desktops/gnome3/gnome-documents.nix
|
./services/desktops/gnome3/gnome-documents.nix
|
||||||
@ -225,7 +226,6 @@
|
|||||||
./services/games/terraria.nix
|
./services/games/terraria.nix
|
||||||
./services/hardware/acpid.nix
|
./services/hardware/acpid.nix
|
||||||
./services/hardware/actkbd.nix
|
./services/hardware/actkbd.nix
|
||||||
./services/hardware/amd-hybrid-graphics.nix
|
|
||||||
./services/hardware/bluetooth.nix
|
./services/hardware/bluetooth.nix
|
||||||
./services/hardware/brltty.nix
|
./services/hardware/brltty.nix
|
||||||
./services/hardware/freefall.nix
|
./services/hardware/freefall.nix
|
||||||
@ -540,6 +540,7 @@
|
|||||||
./services/networking/ssh/lshd.nix
|
./services/networking/ssh/lshd.nix
|
||||||
./services/networking/ssh/sshd.nix
|
./services/networking/ssh/sshd.nix
|
||||||
./services/networking/strongswan.nix
|
./services/networking/strongswan.nix
|
||||||
|
./services/networking/stunnel.nix
|
||||||
./services/networking/supplicant.nix
|
./services/networking/supplicant.nix
|
||||||
./services/networking/supybot.nix
|
./services/networking/supybot.nix
|
||||||
./services/networking/syncthing.nix
|
./services/networking/syncthing.nix
|
||||||
@ -634,6 +635,7 @@
|
|||||||
./services/web-servers/lighttpd/default.nix
|
./services/web-servers/lighttpd/default.nix
|
||||||
./services/web-servers/lighttpd/gitweb.nix
|
./services/web-servers/lighttpd/gitweb.nix
|
||||||
./services/web-servers/lighttpd/inginious.nix
|
./services/web-servers/lighttpd/inginious.nix
|
||||||
|
./services/web-servers/mighttpd2.nix
|
||||||
./services/web-servers/minio.nix
|
./services/web-servers/minio.nix
|
||||||
./services/web-servers/nginx/default.nix
|
./services/web-servers/nginx/default.nix
|
||||||
./services/web-servers/phpfpm/default.nix
|
./services/web-servers/phpfpm/default.nix
|
||||||
|
@ -48,6 +48,15 @@ in
|
|||||||
Name of the theme to be used by oh-my-zsh.
|
Name of the theme to be used by oh-my-zsh.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cacheDir = mkOption {
|
||||||
|
default = "$HOME/.cache/oh-my-zsh";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Cache directory to be used by `oh-my-zsh`.
|
||||||
|
Without this option it would default to the read-only nix store.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -74,6 +83,13 @@ in
|
|||||||
"ZSH_THEME=\"${cfg.theme}\""
|
"ZSH_THEME=\"${cfg.theme}\""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
${optionalString (cfg.cacheDir != null) ''
|
||||||
|
if [[ ! -d "${cfg.cacheDir}" ]]; then
|
||||||
|
mkdir -p "${cfg.cacheDir}"
|
||||||
|
fi
|
||||||
|
ZSH_CACHE_DIR=${cfg.cacheDir}
|
||||||
|
''}
|
||||||
|
|
||||||
source $ZSH/oh-my-zsh.sh
|
source $ZSH/oh-my-zsh.sh
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -36,8 +36,9 @@ in
|
|||||||
shellAliases = mkOption {
|
shellAliases = mkOption {
|
||||||
default = config.environment.shellAliases;
|
default = config.environment.shellAliases;
|
||||||
description = ''
|
description = ''
|
||||||
Set of aliases for zsh shell. See <option>environment.shellAliases</option>
|
Set of aliases for zsh shell. Overrides the default value taken from
|
||||||
for an option format description.
|
<option>environment.shellAliases</option>.
|
||||||
|
See <option>environment.shellAliases</option> for an option format description.
|
||||||
'';
|
'';
|
||||||
type = types.attrs; # types.attrsOf types.stringOrPath;
|
type = types.attrs; # types.attrsOf types.stringOrPath;
|
||||||
};
|
};
|
||||||
|
@ -139,6 +139,14 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tosHash = mkOption {
|
||||||
|
type = types.string;
|
||||||
|
default = "cc88d8d9517f490191401e7b54e9ffd12a2b9082ec7a1d4cec6101f9f1647e7b";
|
||||||
|
description = ''
|
||||||
|
SHA256 of the Terms of Services document. This changes once in a while.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
production = mkOption {
|
production = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
@ -188,7 +196,7 @@ in
|
|||||||
domain = if data.domain != null then data.domain else cert;
|
domain = if data.domain != null then data.domain else cert;
|
||||||
cpath = "${cfg.directory}/${cert}";
|
cpath = "${cfg.directory}/${cert}";
|
||||||
rights = if data.allowKeysForGroup then "750" else "700";
|
rights = if data.allowKeysForGroup then "750" else "700";
|
||||||
cmdline = [ "-v" "-d" domain "--default_root" data.webroot "--valid_min" cfg.validMin ]
|
cmdline = [ "-v" "-d" domain "--default_root" data.webroot "--valid_min" cfg.validMin "--tos_sha256" cfg.tosHash ]
|
||||||
++ optionals (data.email != null) [ "--email" data.email ]
|
++ optionals (data.email != null) [ "--email" data.email ]
|
||||||
++ concatMap (p: [ "-f" p ]) data.plugins
|
++ concatMap (p: [ "-f" p ]) data.plugins
|
||||||
++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains)
|
++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains)
|
||||||
|
@ -8,6 +8,22 @@ let
|
|||||||
|
|
||||||
inherit (pkgs) sudo;
|
inherit (pkgs) sudo;
|
||||||
|
|
||||||
|
toUserString = user: if (isInt user) then "#${toString user}" else "${user}";
|
||||||
|
toGroupString = group: if (isInt group) then "%#${toString group}" else "%${group}";
|
||||||
|
|
||||||
|
toCommandOptionsString = options:
|
||||||
|
"${concatStringsSep ":" options}${optionalString (length options != 0) ":"} ";
|
||||||
|
|
||||||
|
toCommandsString = commands:
|
||||||
|
concatStringsSep ", " (
|
||||||
|
map (command:
|
||||||
|
if (isString command) then
|
||||||
|
command
|
||||||
|
else
|
||||||
|
"${toCommandOptionsString command.options}${command.command}"
|
||||||
|
) commands
|
||||||
|
);
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -47,6 +63,97 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
security.sudo.extraRules = mkOption {
|
||||||
|
description = ''
|
||||||
|
Define specific rules to be in the <filename>sudoers</filename> file.
|
||||||
|
'';
|
||||||
|
default = [];
|
||||||
|
example = [
|
||||||
|
# Allow execution of any command by all users in group sudo,
|
||||||
|
# requiring a password.
|
||||||
|
{ groups = [ "sudo" ]; commands = [ "ALL" ]; }
|
||||||
|
|
||||||
|
# Allow execution of "/home/root/secret.sh" by user `backup`, `database`
|
||||||
|
# and the group with GID `1006` without a password.
|
||||||
|
{ users = [ "backup" ]; groups = [ 1006 ];
|
||||||
|
commands = [ { command = "/home/root/secret.sh"; options = [ "SETENV" "NOPASSWD" ]; } ]; }
|
||||||
|
|
||||||
|
# Allow all users of group `bar` to run two executables as user `foo`
|
||||||
|
# with arguments being pre-set.
|
||||||
|
{ groups = [ "bar" ]; runAs = "foo";
|
||||||
|
commands =
|
||||||
|
[ "/home/baz/cmd1.sh hello-sudo"
|
||||||
|
{ command = ''/home/baz/cmd2.sh ""''; options = [ "SETENV" ]; } ]; }
|
||||||
|
];
|
||||||
|
type = with types; listOf (submodule {
|
||||||
|
options = {
|
||||||
|
users = mkOption {
|
||||||
|
type = with types; listOf (either string int);
|
||||||
|
description = ''
|
||||||
|
The usernames / UIDs this rule should apply for.
|
||||||
|
'';
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
groups = mkOption {
|
||||||
|
type = with types; listOf (either string int);
|
||||||
|
description = ''
|
||||||
|
The groups / GIDs this rule should apply for.
|
||||||
|
'';
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
host = mkOption {
|
||||||
|
type = types.string;
|
||||||
|
default = "ALL";
|
||||||
|
description = ''
|
||||||
|
For what host this rule should apply.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
runAs = mkOption {
|
||||||
|
type = with types; string;
|
||||||
|
default = "ALL:ALL";
|
||||||
|
description = ''
|
||||||
|
Under which user/group the specified command is allowed to run.
|
||||||
|
|
||||||
|
A user can be specified using just the username: <code>"foo"</code>.
|
||||||
|
It is also possible to specify a user/group combination using <code>"foo:bar"</code>
|
||||||
|
or to only allow running as a specific group with <code>":bar"</code>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
commands = mkOption {
|
||||||
|
description = ''
|
||||||
|
The commands for which the rule should apply.
|
||||||
|
'';
|
||||||
|
type = with types; listOf (either string (submodule {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
command = mkOption {
|
||||||
|
type = with types; string;
|
||||||
|
description = ''
|
||||||
|
A command being either just a path to a binary to allow any arguments,
|
||||||
|
the full command with arguments pre-set or with <code>""</code> used as the argument,
|
||||||
|
not allowing arguments to the command at all.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
options = mkOption {
|
||||||
|
type = with types; listOf (enum [ "NOPASSWD" "PASSWD" "NOEXEC" "EXEC" "SETENV" "NOSETENV" "LOG_INPUT" "NOLOG_INPUT" "LOG_OUTPUT" "NOLOG_OUTPUT" ]);
|
||||||
|
description = ''
|
||||||
|
Options for running the command. Refer to the <a href="https://www.sudo.ws/man/1.7.10/sudoers.man.html">sudo manual</a>.
|
||||||
|
'';
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
security.sudo.extraConfig = mkOption {
|
security.sudo.extraConfig = mkOption {
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
default = "";
|
default = "";
|
||||||
@ -61,10 +168,16 @@ in
|
|||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
security.sudo.extraRules = [
|
||||||
|
{ groups = [ "wheel" ];
|
||||||
|
commands = [ { command = "ALL"; options = (if cfg.wheelNeedsPassword then [ "SETENV" ] else [ "NOPASSWD" "SETENV" ]); } ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
security.sudo.configFile =
|
security.sudo.configFile =
|
||||||
''
|
''
|
||||||
# Don't edit this file. Set the NixOS options ‘security.sudo.configFile’
|
# Don't edit this file. Set the NixOS options ‘security.sudo.configFile’
|
||||||
# or ‘security.sudo.extraConfig’ instead.
|
# or ‘security.sudo.extraRules’ instead.
|
||||||
|
|
||||||
# Keep SSH_AUTH_SOCK so that pam_ssh_agent_auth.so can do its magic.
|
# Keep SSH_AUTH_SOCK so that pam_ssh_agent_auth.so can do its magic.
|
||||||
Defaults env_keep+=SSH_AUTH_SOCK
|
Defaults env_keep+=SSH_AUTH_SOCK
|
||||||
@ -72,8 +185,18 @@ in
|
|||||||
# "root" is allowed to do anything.
|
# "root" is allowed to do anything.
|
||||||
root ALL=(ALL:ALL) SETENV: ALL
|
root ALL=(ALL:ALL) SETENV: ALL
|
||||||
|
|
||||||
# Users in the "wheel" group can do anything.
|
# extraRules
|
||||||
%wheel ALL=(ALL:ALL) ${if cfg.wheelNeedsPassword then "" else "NOPASSWD: ALL, "}SETENV: ALL
|
${concatStringsSep "\n" (
|
||||||
|
lists.flatten (
|
||||||
|
map (
|
||||||
|
rule: if (length rule.commands != 0) then [
|
||||||
|
(map (user: "${toUserString user} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.users)
|
||||||
|
(map (group: "${toGroupString group} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.groups)
|
||||||
|
] else []
|
||||||
|
) cfg.extraRules
|
||||||
|
)
|
||||||
|
)}
|
||||||
|
|
||||||
${cfg.extraConfig}
|
${cfg.extraConfig}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
# Chrome GNOME Shell native host connector.
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
services.gnome3.chrome-gnome-shell.enable = mkEnableOption ''
|
||||||
|
Chrome GNOME Shell native host connector, a DBus service
|
||||||
|
allowing to install GNOME Shell extensions from a web browser.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf config.services.gnome3.chrome-gnome-shell.enable {
|
||||||
|
environment.etc = {
|
||||||
|
"chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json";
|
||||||
|
"opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.chrome-gnome-shell ];
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.chrome-gnome-shell ];
|
||||||
|
};
|
||||||
|
}
|
13
nixos/modules/services/hardware/80-net-setup-link.rules
Normal file
13
nixos/modules/services/hardware/80-net-setup-link.rules
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Copied from systemd 203.
|
||||||
|
ACTION=="remove", GOTO="net_name_slot_end"
|
||||||
|
SUBSYSTEM!="net", GOTO="net_name_slot_end"
|
||||||
|
NAME!="", GOTO="net_name_slot_end"
|
||||||
|
|
||||||
|
IMPORT{cmdline}="net.ifnames"
|
||||||
|
ENV{net.ifnames}=="0", GOTO="net_name_slot_end"
|
||||||
|
|
||||||
|
NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}"
|
||||||
|
NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}"
|
||||||
|
NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}"
|
||||||
|
|
||||||
|
LABEL="net_name_slot_end"
|
@ -1,46 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
###### interface
|
|
||||||
|
|
||||||
options = {
|
|
||||||
|
|
||||||
hardware.amdHybridGraphics.disable = lib.mkOption {
|
|
||||||
default = false;
|
|
||||||
type = lib.types.bool;
|
|
||||||
description = ''
|
|
||||||
Completely disable the AMD graphics card and use the
|
|
||||||
integrated graphics processor instead.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
###### implementation
|
|
||||||
|
|
||||||
config = lib.mkIf config.hardware.amdHybridGraphics.disable {
|
|
||||||
systemd.services."amd-hybrid-graphics" = {
|
|
||||||
path = [ pkgs.bash ];
|
|
||||||
description = "Disable AMD Card";
|
|
||||||
after = [ "sys-kernel-debug.mount" ];
|
|
||||||
before = [ "systemd-vconsole-setup.service" "display-manager.service" ];
|
|
||||||
requires = [ "sys-kernel-debug.mount" "vgaswitcheroo.path" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
RemainAfterExit = true;
|
|
||||||
ExecStart = "${pkgs.bash}/bin/sh -c 'echo -e \"IGD\\nOFF\" > /sys/kernel/debug/vgaswitcheroo/switch'";
|
|
||||||
ExecStop = "${pkgs.bash}/bin/sh -c 'echo ON >/sys/kernel/debug/vgaswitcheroo/switch'";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.paths."vgaswitcheroo" = {
|
|
||||||
pathConfig = {
|
|
||||||
PathExists = "/sys/kernel/debug/vgaswitcheroo/switch";
|
|
||||||
Unit = "amd-hybrid-graphics.service";
|
|
||||||
};
|
|
||||||
wantedBy = ["multi-user.target"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
@ -119,7 +119,7 @@ let
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
${optionalString config.networking.usePredictableInterfaceNames ''
|
${optionalString config.networking.usePredictableInterfaceNames ''
|
||||||
cp ${udev}/lib/udev/rules.d/80-net-setup-link.rules $out/80-net-setup-link.rules
|
cp ${./80-net-setup-link.rules} $out/80-net-setup-link.rules
|
||||||
''}
|
''}
|
||||||
|
|
||||||
# If auto-configuration is disabled, then remove
|
# If auto-configuration is disabled, then remove
|
||||||
|
@ -5,18 +5,25 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.services.netdata;
|
cfg = config.services.netdata;
|
||||||
|
|
||||||
configFile = pkgs.writeText "netdata.conf" cfg.configText;
|
wrappedPlugins = pkgs.runCommand "wrapped-plugins" {} ''
|
||||||
|
mkdir -p $out/libexec/netdata/plugins.d
|
||||||
|
ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin
|
||||||
|
'';
|
||||||
|
|
||||||
|
localConfig = {
|
||||||
|
global = {
|
||||||
|
"plugins directory" = "${wrappedPlugins}/libexec/netdata/plugins.d ${pkgs.netdata}/libexec/netdata/plugins.d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mkConfig = generators.toINI {} (recursiveUpdate localConfig cfg.config);
|
||||||
|
configFile = pkgs.writeText "netdata.conf" (if cfg.configText != null then cfg.configText else mkConfig);
|
||||||
|
|
||||||
defaultUser = "netdata";
|
defaultUser = "netdata";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
services.netdata = {
|
services.netdata = {
|
||||||
enable = mkOption {
|
enable = mkEnableOption "netdata";
|
||||||
default = false;
|
|
||||||
type = types.bool;
|
|
||||||
description = "Whether to enable netdata monitoring.";
|
|
||||||
};
|
|
||||||
|
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
@ -31,9 +38,9 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
configText = mkOption {
|
configText = mkOption {
|
||||||
type = types.lines;
|
type = types.nullOr types.lines;
|
||||||
default = "";
|
description = "Verbatim netdata.conf, cannot be combined with config.";
|
||||||
description = "netdata.conf configuration.";
|
default = null;
|
||||||
example = ''
|
example = ''
|
||||||
[global]
|
[global]
|
||||||
debug log = syslog
|
debug log = syslog
|
||||||
@ -42,11 +49,29 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config = mkOption {
|
||||||
|
type = types.attrsOf types.attrs;
|
||||||
|
default = {};
|
||||||
|
description = "netdata.conf configuration as nix attributes. cannot be combined with configText.";
|
||||||
|
example = literalExample ''
|
||||||
|
global = {
|
||||||
|
"debug log" = "syslog";
|
||||||
|
"access log" = "syslog";
|
||||||
|
"error log" = "syslog";
|
||||||
|
};
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
assertions =
|
||||||
|
[ { assertion = cfg.config != {} -> cfg.configText == null ;
|
||||||
|
message = "Cannot specify both config and configText";
|
||||||
|
}
|
||||||
|
];
|
||||||
systemd.services.netdata = {
|
systemd.services.netdata = {
|
||||||
|
path = with pkgs; [ gawk curl ];
|
||||||
description = "Real time performance monitoring";
|
description = "Real time performance monitoring";
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
@ -66,6 +91,15 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
security.wrappers."apps.plugin" = {
|
||||||
|
source = "${pkgs.netdata}/libexec/netdata/plugins.d/apps.plugin";
|
||||||
|
capabilities = "cap_dac_read_search,cap_sys_ptrace+ep";
|
||||||
|
owner = cfg.user;
|
||||||
|
group = cfg.group;
|
||||||
|
permissions = "u+rx,g+rx,o-rwx";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
users.extraUsers = optional (cfg.user == defaultUser) {
|
users.extraUsers = optional (cfg.user == defaultUser) {
|
||||||
name = defaultUser;
|
name = defaultUser;
|
||||||
};
|
};
|
||||||
|
@ -145,6 +145,16 @@ in {
|
|||||||
};
|
};
|
||||||
users.groups.dnscrypt-wrapper = { };
|
users.groups.dnscrypt-wrapper = { };
|
||||||
|
|
||||||
|
security.polkit.extraConfig = ''
|
||||||
|
// Allow dnscrypt-wrapper user to restart dnscrypt-wrapper.service
|
||||||
|
polkit.addRule(function(action, subject) {
|
||||||
|
if (action.id == "org.freedesktop.systemd1.manage-units" &&
|
||||||
|
action.lookup("unit") == "dnscrypt-wrapper.service" &&
|
||||||
|
subject.user == "dnscrypt-wrapper") {
|
||||||
|
return polkit.Result.YES;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
'';
|
||||||
|
|
||||||
systemd.services.dnscrypt-wrapper = {
|
systemd.services.dnscrypt-wrapper = {
|
||||||
description = "dnscrypt-wrapper daemon";
|
description = "dnscrypt-wrapper daemon";
|
||||||
|
@ -12,6 +12,10 @@ let
|
|||||||
keyfile ${cfg.ssl.keyfile}
|
keyfile ${cfg.ssl.keyfile}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passwordConf = optionalString cfg.checkPasswords ''
|
||||||
|
password_file ${cfg.dataDir}/passwd
|
||||||
|
'';
|
||||||
|
|
||||||
mosquittoConf = pkgs.writeText "mosquitto.conf" ''
|
mosquittoConf = pkgs.writeText "mosquitto.conf" ''
|
||||||
pid_file /run/mosquitto/pid
|
pid_file /run/mosquitto/pid
|
||||||
acl_file ${aclFile}
|
acl_file ${aclFile}
|
||||||
@ -19,6 +23,7 @@ let
|
|||||||
allow_anonymous ${boolToString cfg.allowAnonymous}
|
allow_anonymous ${boolToString cfg.allowAnonymous}
|
||||||
bind_address ${cfg.host}
|
bind_address ${cfg.host}
|
||||||
port ${toString cfg.port}
|
port ${toString cfg.port}
|
||||||
|
${passwordConf}
|
||||||
${listenerConf}
|
${listenerConf}
|
||||||
${cfg.extraConf}
|
${cfg.extraConf}
|
||||||
'';
|
'';
|
||||||
@ -153,6 +158,15 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
checkPasswords = mkOption {
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
type = types.bool;
|
||||||
|
description = ''
|
||||||
|
Refuse connection when clients provide incorrect passwords.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraConf = mkOption {
|
extraConf = mkOption {
|
||||||
default = "";
|
default = "";
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
|
@ -50,6 +50,11 @@ let
|
|||||||
"up ${pkgs.writeScript "openvpn-${name}-up" upScript}"}
|
"up ${pkgs.writeScript "openvpn-${name}-up" upScript}"}
|
||||||
${optionalString (cfg.down != "" || cfg.updateResolvConf)
|
${optionalString (cfg.down != "" || cfg.updateResolvConf)
|
||||||
"down ${pkgs.writeScript "openvpn-${name}-down" downScript}"}
|
"down ${pkgs.writeScript "openvpn-${name}-down" downScript}"}
|
||||||
|
${optionalString (cfg.authUserPass != null)
|
||||||
|
"auth-user-pass ${pkgs.writeText "openvpn-credentials-${name}" ''
|
||||||
|
${cfg.authUserPass.username}
|
||||||
|
${cfg.authUserPass.password}
|
||||||
|
''}"}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in {
|
in {
|
||||||
@ -161,6 +166,29 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
authUserPass = mkOption {
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
This option can be used to store the username / password credentials
|
||||||
|
with the "auth-user-pass" authentication method.
|
||||||
|
|
||||||
|
WARNING: Using this option will put the credentials WORLD-READABLE in the Nix store!
|
||||||
|
'';
|
||||||
|
type = types.nullOr (types.submodule {
|
||||||
|
|
||||||
|
options = {
|
||||||
|
username = mkOption {
|
||||||
|
description = "The username to store inside the credentials file.";
|
||||||
|
type = types.string;
|
||||||
|
};
|
||||||
|
|
||||||
|
password = mkOption {
|
||||||
|
description = "The password to store inside the credentials file.";
|
||||||
|
type = types.string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -17,7 +17,7 @@ let
|
|||||||
|
|
||||||
search_lan = entry.searchLAN;
|
search_lan = entry.searchLAN;
|
||||||
use_sync_trash = entry.useSyncTrash;
|
use_sync_trash = entry.useSyncTrash;
|
||||||
known_hosts = knownHosts;
|
known_hosts = entry.knownHosts;
|
||||||
}) cfg.sharedFolders;
|
}) cfg.sharedFolders;
|
||||||
|
|
||||||
configFile = pkgs.writeText "config.json" (builtins.toJSON ({
|
configFile = pkgs.writeText "config.json" (builtins.toJSON ({
|
||||||
|
@ -137,6 +137,14 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
openFirewall = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Whether to automatically open the specified ports in the firewall.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
listenAddresses = mkOption {
|
listenAddresses = mkOption {
|
||||||
type = with types; listOf (submodule {
|
type = with types; listOf (submodule {
|
||||||
options = {
|
options = {
|
||||||
@ -302,7 +310,7 @@ in
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = cfg.ports;
|
networking.firewall.allowedTCPPorts = if cfg.openFirewall then cfg.ports else [];
|
||||||
|
|
||||||
security.pam.services.sshd =
|
security.pam.services.sshd =
|
||||||
{ startSession = true;
|
{ startSession = true;
|
||||||
|
221
nixos/modules/services/networking/stunnel.nix
Normal file
221
nixos/modules/services/networking/stunnel.nix
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
cfg = config.services.stunnel;
|
||||||
|
yesNo = val: if val then "yes" else "no";
|
||||||
|
|
||||||
|
verifyChainPathAssert = n: c: {
|
||||||
|
assertion = c.verifyHostname == null || (c.verifyChain || c.verifyPeer);
|
||||||
|
message = "stunnel: \"${n}\" client configuration - hostname verification " +
|
||||||
|
"is not possible without either verifyChain or verifyPeer enabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
serverConfig = {
|
||||||
|
options = {
|
||||||
|
accept = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
description = "On which port stunnel should listen for incoming TLS connections.";
|
||||||
|
};
|
||||||
|
|
||||||
|
connect = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
description = "To which port the decrypted connection should be forwarded.";
|
||||||
|
};
|
||||||
|
|
||||||
|
cert = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "File containing both the private and public keys.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
clientConfig = {
|
||||||
|
options = {
|
||||||
|
accept = mkOption {
|
||||||
|
type = types.string;
|
||||||
|
description = "IP:Port on which connections should be accepted.";
|
||||||
|
};
|
||||||
|
|
||||||
|
connect = mkOption {
|
||||||
|
type = types.string;
|
||||||
|
description = "IP:Port destination to connect to.";
|
||||||
|
};
|
||||||
|
|
||||||
|
verifyChain = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Check if the provided certificate has a valid certificate chain (against CAPath).";
|
||||||
|
};
|
||||||
|
|
||||||
|
verifyPeer = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Check if the provided certificate is contained in CAPath.";
|
||||||
|
};
|
||||||
|
|
||||||
|
CAPath = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||||
|
description = "Path to a file containing certificates to validate against.";
|
||||||
|
};
|
||||||
|
|
||||||
|
verifyHostname = mkOption {
|
||||||
|
type = with types; nullOr string;
|
||||||
|
default = null;
|
||||||
|
description = "If set, stunnel checks if the provided certificate is valid for the given hostname.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
services.stunnel = {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Whether to enable the stunnel TLS tunneling service.";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = with types; nullOr string;
|
||||||
|
default = "nobody";
|
||||||
|
description = "The user under which stunnel runs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = with types; nullOr string;
|
||||||
|
default = "nogroup";
|
||||||
|
description = "The group under which stunnel runs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
logLevel = mkOption {
|
||||||
|
type = types.enum [ "emerg" "alert" "crit" "err" "warning" "notice" "info" "debug" ];
|
||||||
|
default = "info";
|
||||||
|
description = "Verbosity of stunnel output.";
|
||||||
|
};
|
||||||
|
|
||||||
|
fipsMode = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Enable FIPS 140-2 mode required for compliance.";
|
||||||
|
};
|
||||||
|
|
||||||
|
enableInsecureSSLv3 = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Enable support for the insecure SSLv3 protocol.";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
servers = mkOption {
|
||||||
|
description = "Define the server configuations.";
|
||||||
|
type = with types; attrsOf (submodule serverConfig);
|
||||||
|
example = {
|
||||||
|
fancyWebserver = {
|
||||||
|
enable = true;
|
||||||
|
accept = 443;
|
||||||
|
connect = 8080;
|
||||||
|
cert = "/path/to/pem/file";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
|
|
||||||
|
clients = mkOption {
|
||||||
|
description = "Define the client configurations.";
|
||||||
|
type = with types; attrsOf (submodule clientConfig);
|
||||||
|
example = {
|
||||||
|
foobar = {
|
||||||
|
accept = "0.0.0.0:8080";
|
||||||
|
connect = "nixos.org:443";
|
||||||
|
verifyChain = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
assertions = concatLists [
|
||||||
|
(singleton {
|
||||||
|
assertion = (length (attrValues cfg.servers) != 0) || ((length (attrValues cfg.clients)) != 0);
|
||||||
|
message = "stunnel: At least one server- or client-configuration has to be present.";
|
||||||
|
})
|
||||||
|
|
||||||
|
(mapAttrsToList verifyChainPathAssert cfg.clients)
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.stunnel ];
|
||||||
|
|
||||||
|
environment.etc."stunnel.cfg".text = ''
|
||||||
|
${ if cfg.user != null then "setuid = ${cfg.user}" else "" }
|
||||||
|
${ if cfg.group != null then "setgid = ${cfg.group}" else "" }
|
||||||
|
|
||||||
|
debug = ${cfg.logLevel}
|
||||||
|
|
||||||
|
${ optionalString cfg.fipsMode "fips = yes" }
|
||||||
|
${ optionalString cfg.enableInsecureSSLv3 "options = -NO_SSLv3" }
|
||||||
|
|
||||||
|
; ----- SERVER CONFIGURATIONS -----
|
||||||
|
${ lib.concatStringsSep "\n"
|
||||||
|
(lib.mapAttrsToList
|
||||||
|
(n: v: ''
|
||||||
|
[${n}]
|
||||||
|
accept = ${toString v.accept}
|
||||||
|
connect = ${toString v.connect}
|
||||||
|
cert = ${v.cert}
|
||||||
|
|
||||||
|
'')
|
||||||
|
cfg.servers)
|
||||||
|
}
|
||||||
|
|
||||||
|
; ----- CLIENT CONFIGURATIONS -----
|
||||||
|
${ lib.concatStringsSep "\n"
|
||||||
|
(lib.mapAttrsToList
|
||||||
|
(n: v: ''
|
||||||
|
[${n}]
|
||||||
|
client = yes
|
||||||
|
accept = ${v.accept}
|
||||||
|
connect = ${v.connect}
|
||||||
|
verifyChain = ${yesNo v.verifyChain}
|
||||||
|
verifyPeer = ${yesNo v.verifyPeer}
|
||||||
|
${optionalString (v.CAPath != null) "CApath = ${v.CAPath}"}
|
||||||
|
${optionalString (v.verifyHostname != null) "checkHost = ${v.verifyHostname}"}
|
||||||
|
OCSPaia = yes
|
||||||
|
|
||||||
|
'')
|
||||||
|
cfg.clients)
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
systemd.services.stunnel = {
|
||||||
|
description = "stunnel TLS tunneling service";
|
||||||
|
after = [ "network.target" ];
|
||||||
|
wants = [ "network.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
restartTriggers = [ config.environment.etc."stunnel.cfg".source ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.stunnel}/bin/stunnel ${config.environment.etc."stunnel.cfg".source}";
|
||||||
|
Type = "forking";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -6,6 +6,7 @@ let
|
|||||||
cfg = config.services.elasticsearch;
|
cfg = config.services.elasticsearch;
|
||||||
|
|
||||||
es5 = builtins.compareVersions (builtins.parseDrvName cfg.package.name).version "5" >= 0;
|
es5 = builtins.compareVersions (builtins.parseDrvName cfg.package.name).version "5" >= 0;
|
||||||
|
es6 = builtins.compareVersions (builtins.parseDrvName cfg.package.name).version "6" >= 0;
|
||||||
|
|
||||||
esConfig = ''
|
esConfig = ''
|
||||||
network.host: ${cfg.listenAddress}
|
network.host: ${cfg.listenAddress}
|
||||||
@ -92,8 +93,6 @@ in {
|
|||||||
node.name: "elasticsearch"
|
node.name: "elasticsearch"
|
||||||
node.master: true
|
node.master: true
|
||||||
node.data: false
|
node.data: false
|
||||||
index.number_of_shards: 5
|
|
||||||
index.number_of_replicas: 1
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -165,7 +164,10 @@ in {
|
|||||||
path = [ pkgs.inetutils ];
|
path = [ pkgs.inetutils ];
|
||||||
environment = {
|
environment = {
|
||||||
ES_HOME = cfg.dataDir;
|
ES_HOME = cfg.dataDir;
|
||||||
ES_JAVA_OPTS = toString ([ "-Des.path.conf=${configDir}" ] ++ cfg.extraJavaOptions);
|
ES_JAVA_OPTS = toString ( optional (!es6) [ "-Des.path.conf=${configDir}" ]
|
||||||
|
++ cfg.extraJavaOptions);
|
||||||
|
} // optionalAttrs es6 {
|
||||||
|
ES_PATH_CONF = configDir;
|
||||||
};
|
};
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${cfg.package}/bin/elasticsearch ${toString cfg.extraCmdLineOptions}";
|
ExecStart = "${cfg.package}/bin/elasticsearch ${toString cfg.extraCmdLineOptions}";
|
||||||
|
132
nixos/modules/services/web-servers/mighttpd2.nix
Normal file
132
nixos/modules/services/web-servers/mighttpd2.nix
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.mighttpd2;
|
||||||
|
configFile = pkgs.writeText "mighty-config" cfg.config;
|
||||||
|
routingFile = pkgs.writeText "mighty-routing" cfg.routing;
|
||||||
|
in {
|
||||||
|
options.services.mighttpd2 = {
|
||||||
|
enable = mkEnableOption "Mighttpd2 web server";
|
||||||
|
|
||||||
|
config = mkOption {
|
||||||
|
default = "";
|
||||||
|
example = ''
|
||||||
|
# Example configuration for Mighttpd 2
|
||||||
|
Port: 80
|
||||||
|
# IP address or "*"
|
||||||
|
Host: *
|
||||||
|
Debug_Mode: Yes # Yes or No
|
||||||
|
# If available, "nobody" is much more secure for User:.
|
||||||
|
User: root
|
||||||
|
# If available, "nobody" is much more secure for Group:.
|
||||||
|
Group: root
|
||||||
|
Pid_File: /var/run/mighty.pid
|
||||||
|
Logging: Yes # Yes or No
|
||||||
|
Log_File: /var/log/mighty # The directory must be writable by User:
|
||||||
|
Log_File_Size: 16777216 # bytes
|
||||||
|
Log_Backup_Number: 10
|
||||||
|
Index_File: index.html
|
||||||
|
Index_Cgi: index.cgi
|
||||||
|
Status_File_Dir: /usr/local/share/mighty/status
|
||||||
|
Connection_Timeout: 30 # seconds
|
||||||
|
Fd_Cache_Duration: 10 # seconds
|
||||||
|
# Server_Name: Mighttpd/3.x.y
|
||||||
|
Tls_Port: 443
|
||||||
|
Tls_Cert_File: cert.pem # should change this with an absolute path
|
||||||
|
# should change this with comma-separated absolute paths
|
||||||
|
Tls_Chain_Files: chain.pem
|
||||||
|
# Currently, Tls_Key_File must not be encrypted.
|
||||||
|
Tls_Key_File: privkey.pem # should change this with an absolute path
|
||||||
|
Service: 0 # 0 is HTTP only, 1 is HTTPS only, 2 is both
|
||||||
|
'';
|
||||||
|
type = types.lines;
|
||||||
|
description = ''
|
||||||
|
Verbatim config file to use
|
||||||
|
(see http://www.mew.org/~kazu/proj/mighttpd/en/config.html)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
routing = mkOption {
|
||||||
|
default = "";
|
||||||
|
example = ''
|
||||||
|
# Example routing for Mighttpd 2
|
||||||
|
|
||||||
|
# Domain lists
|
||||||
|
[localhost www.example.com]
|
||||||
|
|
||||||
|
# Entries are looked up in the specified order
|
||||||
|
# All paths must end with "/"
|
||||||
|
|
||||||
|
# A path to CGI scripts should be specified with "=>"
|
||||||
|
/~alice/cgi-bin/ => /home/alice/public_html/cgi-bin/
|
||||||
|
|
||||||
|
# A path to static files should be specified with "->"
|
||||||
|
/~alice/ -> /home/alice/public_html/
|
||||||
|
/cgi-bin/ => /export/cgi-bin/
|
||||||
|
|
||||||
|
# Reverse proxy rules should be specified with ">>"
|
||||||
|
# /path >> host:port/path2
|
||||||
|
# Either "host" or ":port" can be committed, but not both.
|
||||||
|
/app/cal/ >> example.net/calendar/
|
||||||
|
# Yesod app in the same server
|
||||||
|
/app/wiki/ >> 127.0.0.1:3000/
|
||||||
|
|
||||||
|
/ -> /export/www/
|
||||||
|
'';
|
||||||
|
type = types.lines;
|
||||||
|
description = ''
|
||||||
|
Verbatim routing file to use
|
||||||
|
(see http://www.mew.org/~kazu/proj/mighttpd/en/config.html)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
cores = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = types.nullOr types.int;
|
||||||
|
description = ''
|
||||||
|
How many cores to use.
|
||||||
|
If null it will be determined automatically
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
assertions =
|
||||||
|
[ { assertion = cfg.routing != "";
|
||||||
|
message = "You need at least one rule in mighttpd2.routing";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
systemd.services.mighttpd2 = {
|
||||||
|
description = "Mighttpd2 web server";
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = ''
|
||||||
|
${pkgs.haskellPackages.mighttpd2}/bin/mighty \
|
||||||
|
${configFile} \
|
||||||
|
${routingFile} \
|
||||||
|
+RTS -N${optionalString (cfg.cores != null) "${cfg.cores}"}
|
||||||
|
'';
|
||||||
|
Type = "simple";
|
||||||
|
User = "mighttpd2";
|
||||||
|
Group = "mighttpd2";
|
||||||
|
Restart = "on-failure";
|
||||||
|
AmbientCapabilities = "cap_net_bind_service";
|
||||||
|
CapabilityBoundingSet = "cap_net_bind_service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.extraUsers.mighttpd2 = {
|
||||||
|
group = "mighttpd2";
|
||||||
|
uid = config.ids.uids.mighttpd2;
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.extraGroups.mighttpd2.gid = config.ids.gids.mighttpd2;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ fgaz ];
|
||||||
|
}
|
@ -3,9 +3,7 @@
|
|||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
xcfg = config.services.xserver;
|
cfg = config.services.xserver.desktopManager.xfce;
|
||||||
pcfg = config.hardware.pulseaudio;
|
|
||||||
cfg = xcfg.desktopManager.xfce;
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -52,17 +50,76 @@ in
|
|||||||
description = "Application used by XFCE to lock the screen.";
|
description = "Application used by XFCE to lock the screen.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs.xfce // pkgs; [
|
||||||
|
# Get GTK+ themes and gtk-update-icon-cache
|
||||||
|
gtk2.out
|
||||||
|
|
||||||
config = mkIf (xcfg.enable && cfg.enable) {
|
# Supplies some abstract icons such as:
|
||||||
|
# utilities-terminal, accessories-text-editor
|
||||||
|
gnome3.defaultIconTheme
|
||||||
|
|
||||||
services.xserver.desktopManager.session = singleton
|
hicolor_icon_theme
|
||||||
{ name = "xfce";
|
tango-icon-theme
|
||||||
|
xfce4-icon-theme
|
||||||
|
|
||||||
|
desktop_file_utils
|
||||||
|
shared_mime_info
|
||||||
|
|
||||||
|
# Needed by Xfce's xinitrc script
|
||||||
|
# TODO: replace with command -v
|
||||||
|
which
|
||||||
|
|
||||||
|
exo
|
||||||
|
garcon
|
||||||
|
gtk-xfce-engine
|
||||||
|
gvfs
|
||||||
|
libxfce4ui
|
||||||
|
tumbler
|
||||||
|
xfconf
|
||||||
|
|
||||||
|
mousepad
|
||||||
|
ristretto
|
||||||
|
xfce4-appfinder
|
||||||
|
xfce4-screenshooter
|
||||||
|
xfce4-session
|
||||||
|
xfce4-settings
|
||||||
|
xfce4-terminal
|
||||||
|
|
||||||
|
(thunar.override { thunarPlugins = cfg.thunarPlugins; })
|
||||||
|
thunar-volman # TODO: drop
|
||||||
|
] ++ (if config.hardware.pulseaudio.enable
|
||||||
|
then [ xfce4-mixer-pulse xfce4-volumed-pulse ]
|
||||||
|
else [ xfce4-mixer xfce4-volumed ])
|
||||||
|
# TODO: NetworkManager doesn't belong here
|
||||||
|
++ optionals config.networking.networkmanager.enable [ networkmanagerapplet ]
|
||||||
|
++ optionals config.powerManagement.enable [ xfce4-power-manager ]
|
||||||
|
++ optionals cfg.enableXfwm [ xfwm4 ]
|
||||||
|
++ optionals (!cfg.noDesktop) [
|
||||||
|
xfce4-panel
|
||||||
|
xfce4-notifyd
|
||||||
|
xfdesktop
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.pathsToLink = [
|
||||||
|
"/share/xfce4"
|
||||||
|
"/share/themes"
|
||||||
|
"/share/mime"
|
||||||
|
"/share/desktop-directories"
|
||||||
|
"/share/gtksourceview-2.0"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
|
||||||
|
GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver.desktopManager.session = [{
|
||||||
|
name = "xfce";
|
||||||
bgSupport = true;
|
bgSupport = true;
|
||||||
start =
|
start = ''
|
||||||
''
|
|
||||||
${cfg.extraSessionCommands}
|
${cfg.extraSessionCommands}
|
||||||
|
|
||||||
# Set GTK_PATH so that GTK+ can find the theme engines.
|
# Set GTK_PATH so that GTK+ can find the theme engines.
|
||||||
@ -74,60 +131,12 @@ in
|
|||||||
${pkgs.stdenv.shell} ${pkgs.xfce.xinitrc} &
|
${pkgs.stdenv.shell} ${pkgs.xfce.xinitrc} &
|
||||||
waitPID=$!
|
waitPID=$!
|
||||||
'';
|
'';
|
||||||
};
|
}];
|
||||||
|
|
||||||
services.xserver.updateDbusEnvironment = true;
|
services.xserver.updateDbusEnvironment = true;
|
||||||
|
|
||||||
environment.systemPackages =
|
|
||||||
[ pkgs.gtk2.out # To get GTK+'s themes and gtk-update-icon-cache
|
|
||||||
pkgs.hicolor_icon_theme
|
|
||||||
pkgs.tango-icon-theme
|
|
||||||
pkgs.shared_mime_info
|
|
||||||
pkgs.which # Needed by the xfce's xinitrc script.
|
|
||||||
pkgs."${cfg.screenLock}"
|
|
||||||
pkgs.xfce.exo
|
|
||||||
pkgs.xfce.gtk_xfce_engine
|
|
||||||
pkgs.xfce.mousepad
|
|
||||||
pkgs.xfce.ristretto
|
|
||||||
pkgs.xfce.terminal
|
|
||||||
(pkgs.xfce.thunar.override { thunarPlugins = cfg.thunarPlugins; })
|
|
||||||
pkgs.xfce.xfce4icontheme
|
|
||||||
pkgs.xfce.xfce4session
|
|
||||||
pkgs.xfce.xfce4settings
|
|
||||||
(if pcfg.enable then pkgs.xfce.xfce4mixer_pulse else pkgs.xfce.xfce4mixer)
|
|
||||||
(if pcfg.enable then pkgs.xfce.xfce4volumed_pulse else pkgs.xfce.xfce4volumed)
|
|
||||||
pkgs.xfce.xfce4-screenshooter
|
|
||||||
pkgs.xfce.xfconf
|
|
||||||
# This supplies some "abstract" icons such as
|
|
||||||
# "utilities-terminal" and "accessories-text-editor".
|
|
||||||
pkgs.gnome3.defaultIconTheme
|
|
||||||
pkgs.desktop_file_utils
|
|
||||||
pkgs.xfce.libxfce4ui
|
|
||||||
pkgs.xfce.garcon
|
|
||||||
pkgs.xfce.thunar_volman
|
|
||||||
pkgs.xfce.gvfs
|
|
||||||
pkgs.xfce.xfce4_appfinder
|
|
||||||
pkgs.xfce.tumbler # found via dbus
|
|
||||||
]
|
|
||||||
++ optional cfg.enableXfwm pkgs.xfce.xfwm4
|
|
||||||
++ optional config.powerManagement.enable pkgs.xfce.xfce4_power_manager
|
|
||||||
++ optional config.networking.networkmanager.enable pkgs.networkmanagerapplet
|
|
||||||
++ optionals (!cfg.noDesktop)
|
|
||||||
[ pkgs.xfce.xfce4panel
|
|
||||||
pkgs.xfce.xfdesktop
|
|
||||||
pkgs.xfce.xfce4notifyd # found via dbus
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.pathsToLink =
|
|
||||||
[ "/share/xfce4" "/share/themes" "/share/mime" "/share/desktop-directories" "/share/gtksourceview-2.0" ];
|
|
||||||
|
|
||||||
environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ];
|
|
||||||
environment.variables.GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
|
|
||||||
|
|
||||||
# Enable helpful DBus services.
|
# Enable helpful DBus services.
|
||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
services.upower.enable = config.powerManagement.enable;
|
services.upower.enable = config.powerManagement.enable;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -548,7 +548,7 @@ in
|
|||||||
knownVideoDrivers;
|
knownVideoDrivers;
|
||||||
in optional (driver != null) ({ inherit name; modules = []; driverName = name; } // driver));
|
in optional (driver != null) ({ inherit name; modules = []; driverName = name; } // driver));
|
||||||
|
|
||||||
nixpkgs.config.xorg = optionalAttrs (elem "vboxvideo" cfg.videoDrivers) { abiCompat = "1.18"; };
|
nixpkgs.config = optionalAttrs (elem "vboxvideo" cfg.videoDrivers) { xorg.abiCompat = "1.18"; };
|
||||||
|
|
||||||
assertions = [
|
assertions = [
|
||||||
{ assertion = config.security.polkit.enable;
|
{ assertion = config.security.polkit.enable;
|
||||||
|
@ -40,6 +40,10 @@ in
|
|||||||
kernel documentation</link>. Otherwise, if
|
kernel documentation</link>. Otherwise, if
|
||||||
<option>networking.useDHCP</option> is enabled, an IP address
|
<option>networking.useDHCP</option> is enabled, an IP address
|
||||||
is acquired using DHCP.
|
is acquired using DHCP.
|
||||||
|
|
||||||
|
You should add the module(s) required for your network card to
|
||||||
|
boot.initrd.availableKernelModules. lspci -v -s <ethernet controller>
|
||||||
|
will tell you which.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -208,10 +208,11 @@ in
|
|||||||
"usbhid"
|
"usbhid"
|
||||||
"hid_generic" "hid_lenovo" "hid_apple" "hid_roccat" "hid_logitech_hidpp"
|
"hid_generic" "hid_lenovo" "hid_apple" "hid_roccat" "hid_logitech_hidpp"
|
||||||
|
|
||||||
# Misc. keyboard stuff.
|
] ++ optionals (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
|
||||||
|
# Misc. x86 keyboard stuff.
|
||||||
"pcips2" "atkbd" "i8042"
|
"pcips2" "atkbd" "i8042"
|
||||||
|
|
||||||
# Needed by the stage 2 init script.
|
# x86 RTC needed by the stage 2 init script.
|
||||||
"rtc_cmos"
|
"rtc_cmos"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -212,7 +212,7 @@ in
|
|||||||
echo "Obtaining SSH keys..."
|
echo "Obtaining SSH keys..."
|
||||||
mkdir -m 0700 -p /root/.ssh
|
mkdir -m 0700 -p /root/.ssh
|
||||||
AUTH_KEYS=$(${mktemp})
|
AUTH_KEYS=$(${mktemp})
|
||||||
${wget} -O $AUTH_KEYS http://metadata.google.internal/computeMetadata/v1/project/attributes/sshKeys
|
${wget} -O $AUTH_KEYS --header="Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/sshKeys
|
||||||
if [ -s $AUTH_KEYS ]; then
|
if [ -s $AUTH_KEYS ]; then
|
||||||
|
|
||||||
# Read in key one by one, split in case Google decided
|
# Read in key one by one, split in case Google decided
|
||||||
|
@ -128,6 +128,7 @@ in {
|
|||||||
dmidecode
|
dmidecode
|
||||||
dnsmasq
|
dnsmasq
|
||||||
ebtables
|
ebtables
|
||||||
|
cfg.qemuPackage # libvirtd requires qemu-img to manage disk images
|
||||||
]
|
]
|
||||||
++ optional vswitch.enable vswitch.package;
|
++ optional vswitch.enable vswitch.package;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ in {
|
|||||||
name = "nixos-ova-${config.system.nixosLabel}-${pkgs.stdenv.system}";
|
name = "nixos-ova-${config.system.nixosLabel}-${pkgs.stdenv.system}";
|
||||||
|
|
||||||
inherit pkgs lib config;
|
inherit pkgs lib config;
|
||||||
partitioned = true;
|
partitionTableType = "legacy";
|
||||||
diskSize = cfg.baseImageSize;
|
diskSize = cfg.baseImageSize;
|
||||||
|
|
||||||
postVM =
|
postVM =
|
||||||
|
@ -57,7 +57,7 @@ in rec {
|
|||||||
nixos.ova.x86_64-linux
|
nixos.ova.x86_64-linux
|
||||||
|
|
||||||
#(all nixos.tests.containers)
|
#(all nixos.tests.containers)
|
||||||
nixos.tests.chromium
|
nixos.tests.chromium.x86_64-linux
|
||||||
(all nixos.tests.firefox)
|
(all nixos.tests.firefox)
|
||||||
(all nixos.tests.firewall)
|
(all nixos.tests.firewall)
|
||||||
(all nixos.tests.gnome3)
|
(all nixos.tests.gnome3)
|
||||||
@ -80,7 +80,7 @@ in rec {
|
|||||||
(all nixos.tests.boot.uefiUsb)
|
(all nixos.tests.boot.uefiUsb)
|
||||||
(all nixos.tests.boot-stage1)
|
(all nixos.tests.boot-stage1)
|
||||||
(all nixos.tests.hibernate)
|
(all nixos.tests.hibernate)
|
||||||
nixos.tests.docker
|
nixos.tests.docker.x86_64-linux
|
||||||
(all nixos.tests.ecryptfs)
|
(all nixos.tests.ecryptfs)
|
||||||
(all nixos.tests.env)
|
(all nixos.tests.env)
|
||||||
(all nixos.tests.ipv6)
|
(all nixos.tests.ipv6)
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
, supportedSystems ? [ "x86_64-linux" "aarch64-linux" ]
|
, supportedSystems ? [ "x86_64-linux" "aarch64-linux" ]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
with import ../pkgs/top-level/release-lib.nix { inherit supportedSystems; };
|
||||||
with import ../lib;
|
with import ../lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -11,15 +12,15 @@ let
|
|||||||
versionSuffix =
|
versionSuffix =
|
||||||
(if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
|
(if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
|
||||||
|
|
||||||
forAllSystems = genAttrs supportedSystems;
|
|
||||||
|
|
||||||
importTest = fn: args: system: import fn ({
|
importTest = fn: args: system: import fn ({
|
||||||
inherit system;
|
inherit system;
|
||||||
} // args);
|
} // args);
|
||||||
|
|
||||||
callTest = fn: args: forAllSystems (system: hydraJob (importTest fn args system));
|
callTestOnTheseSystems = systems: fn: args: forTheseSystems systems (system: hydraJob (importTest fn args system));
|
||||||
|
callTest = callTestOnTheseSystems supportedSystems;
|
||||||
|
|
||||||
callSubTests = fn: args: let
|
callSubTests = callSubTestsOnTheseSystems supportedSystems;
|
||||||
|
callSubTestsOnTheseSystems = systems: fn: args: let
|
||||||
discover = attrs: let
|
discover = attrs: let
|
||||||
subTests = filterAttrs (const (hasAttr "test")) attrs;
|
subTests = filterAttrs (const (hasAttr "test")) attrs;
|
||||||
in mapAttrs (const (t: hydraJob t.test)) subTests;
|
in mapAttrs (const (t: hydraJob t.test)) subTests;
|
||||||
@ -28,10 +29,7 @@ let
|
|||||||
${system} = test;
|
${system} = test;
|
||||||
}) (discover (importTest fn args system));
|
}) (discover (importTest fn args system));
|
||||||
|
|
||||||
# If the test is only for a particular system, use only the specified
|
in foldAttrs mergeAttrs {} (map discoverForSystem (intersectLists systems supportedSystems));
|
||||||
# system instead of generating attributes for all available systems.
|
|
||||||
in if args ? system then discover (import fn args)
|
|
||||||
else foldAttrs mergeAttrs {} (map discoverForSystem supportedSystems);
|
|
||||||
|
|
||||||
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||||
|
|
||||||
@ -91,9 +89,9 @@ let
|
|||||||
|
|
||||||
makeNetboot = config:
|
makeNetboot = config:
|
||||||
let
|
let
|
||||||
config_evaled = import lib/eval-config.nix config;
|
configEvaled = import lib/eval-config.nix config;
|
||||||
build = config_evaled.config.system.build;
|
build = configEvaled.config.system.build;
|
||||||
kernelTarget = config_evaled.pkgs.stdenv.platform.kernelTarget;
|
kernelTarget = configEvaled.pkgs.stdenv.platform.kernelTarget;
|
||||||
in
|
in
|
||||||
pkgs.symlinkJoin {
|
pkgs.symlinkJoin {
|
||||||
name = "netboot";
|
name = "netboot";
|
||||||
@ -108,6 +106,7 @@ let
|
|||||||
echo "file initrd $out/initrd" >> $out/nix-support/hydra-build-products
|
echo "file initrd $out/initrd" >> $out/nix-support/hydra-build-products
|
||||||
echo "file ipxe $out/netboot.ipxe" >> $out/nix-support/hydra-build-products
|
echo "file ipxe $out/netboot.ipxe" >> $out/nix-support/hydra-build-products
|
||||||
'';
|
'';
|
||||||
|
preferLocalBuild = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -124,22 +123,13 @@ in rec {
|
|||||||
# Build the initial ramdisk so Hydra can keep track of its size over time.
|
# Build the initial ramdisk so Hydra can keep track of its size over time.
|
||||||
initialRamdisk = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.initialRamdisk);
|
initialRamdisk = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.initialRamdisk);
|
||||||
|
|
||||||
netboot = {
|
netboot = forTheseSystems [ "x86_64-linux" "aarch64-linux" ] (system: makeNetboot {
|
||||||
x86_64-linux = makeNetboot {
|
inherit system;
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [
|
modules = [
|
||||||
./modules/installer/netboot/netboot-minimal.nix
|
./modules/installer/netboot/netboot-minimal.nix
|
||||||
versionModule
|
versionModule
|
||||||
];
|
];
|
||||||
};
|
});
|
||||||
} // (optionalAttrs (elem "aarch64-linux" supportedSystems) {
|
|
||||||
aarch64-linux = makeNetboot {
|
|
||||||
system = "aarch64-linux";
|
|
||||||
modules = [
|
|
||||||
./modules/installer/netboot/netboot-minimal.nix
|
|
||||||
versionModule
|
|
||||||
];
|
|
||||||
};});
|
|
||||||
|
|
||||||
iso_minimal = forAllSystems (system: makeIso {
|
iso_minimal = forAllSystems (system: makeIso {
|
||||||
module = ./modules/installer/cd-dvd/installation-cd-minimal.nix;
|
module = ./modules/installer/cd-dvd/installation-cd-minimal.nix;
|
||||||
@ -147,7 +137,7 @@ in rec {
|
|||||||
inherit system;
|
inherit system;
|
||||||
});
|
});
|
||||||
|
|
||||||
iso_graphical = genAttrs [ "x86_64-linux" ] (system: makeIso {
|
iso_graphical = forTheseSystems [ "x86_64-linux" ] (system: makeIso {
|
||||||
module = ./modules/installer/cd-dvd/installation-cd-graphical-kde.nix;
|
module = ./modules/installer/cd-dvd/installation-cd-graphical-kde.nix;
|
||||||
type = "graphical";
|
type = "graphical";
|
||||||
inherit system;
|
inherit system;
|
||||||
@ -155,7 +145,7 @@ in rec {
|
|||||||
|
|
||||||
# A variant with a more recent (but possibly less stable) kernel
|
# A variant with a more recent (but possibly less stable) kernel
|
||||||
# that might support more hardware.
|
# that might support more hardware.
|
||||||
iso_minimal_new_kernel = genAttrs [ "x86_64-linux" ] (system: makeIso {
|
iso_minimal_new_kernel = forTheseSystems [ "x86_64-linux" ] (system: makeIso {
|
||||||
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix;
|
module = ./modules/installer/cd-dvd/installation-cd-minimal-new-kernel.nix;
|
||||||
type = "minimal-new-kernel";
|
type = "minimal-new-kernel";
|
||||||
inherit system;
|
inherit system;
|
||||||
@ -163,7 +153,7 @@ in rec {
|
|||||||
|
|
||||||
|
|
||||||
# A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
|
# A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF).
|
||||||
ova = genAttrs [ "x86_64-linux" ] (system:
|
ova = forTheseSystems [ "x86_64-linux" ] (system:
|
||||||
|
|
||||||
with import nixpkgs { inherit system; };
|
with import nixpkgs { inherit system; };
|
||||||
|
|
||||||
@ -237,8 +227,8 @@ in rec {
|
|||||||
tests.blivet = callTest tests/blivet.nix {};
|
tests.blivet = callTest tests/blivet.nix {};
|
||||||
tests.boot = callSubTests tests/boot.nix {};
|
tests.boot = callSubTests tests/boot.nix {};
|
||||||
tests.boot-stage1 = callTest tests/boot-stage1.nix {};
|
tests.boot-stage1 = callTest tests/boot-stage1.nix {};
|
||||||
tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
|
tests.cadvisor = callTestOnTheseSystems ["x86_64-linux"] tests/cadvisor.nix {};
|
||||||
tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
|
tests.chromium = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/chromium.nix {}).stable;
|
||||||
tests.cjdns = callTest tests/cjdns.nix {};
|
tests.cjdns = callTest tests/cjdns.nix {};
|
||||||
tests.cloud-init = callTest tests/cloud-init.nix {};
|
tests.cloud-init = callTest tests/cloud-init.nix {};
|
||||||
tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
|
tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
|
||||||
@ -252,20 +242,20 @@ in rec {
|
|||||||
tests.containers-hosts = callTest tests/containers-hosts.nix {};
|
tests.containers-hosts = callTest tests/containers-hosts.nix {};
|
||||||
tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
|
tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
|
||||||
tests.couchdb = callTest tests/couchdb.nix {};
|
tests.couchdb = callTest tests/couchdb.nix {};
|
||||||
tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; });
|
tests.docker = callTestOnTheseSystems ["x86_64-linux"] tests/docker.nix {};
|
||||||
tests.docker-edge = hydraJob (import tests/docker-edge.nix { system = "x86_64-linux"; });
|
tests.docker-edge = callTestOnTheseSystems ["x86_64-linux"] tests/docker-edge.nix {};
|
||||||
tests.dovecot = callTest tests/dovecot.nix {};
|
tests.dovecot = callTest tests/dovecot.nix {};
|
||||||
tests.dnscrypt-proxy = callTest tests/dnscrypt-proxy.nix { system = "x86_64-linux"; };
|
tests.dnscrypt-proxy = callTestOnTheseSystems ["x86_64-linux"] tests/dnscrypt-proxy.nix {};
|
||||||
tests.ecryptfs = callTest tests/ecryptfs.nix {};
|
tests.ecryptfs = callTest tests/ecryptfs.nix {};
|
||||||
tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; });
|
tests.etcd = callTestOnTheseSystems ["x86_64-linux"] tests/etcd.nix {};
|
||||||
tests.ec2-nixops = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-nixops;
|
tests.ec2-nixops = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-nixops;
|
||||||
tests.ec2-config = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-config;
|
tests.ec2-config = (callSubTestsOnTheseSystems ["x86_64-linux"] tests/ec2.nix {}).boot-ec2-config;
|
||||||
tests.elk = hydraJob (import tests/elk.nix { system = "x86_64-linux"; });
|
tests.elk = callSubTestsOnTheseSystems ["x86_64-linux"] tests/elk.nix {};
|
||||||
tests.env = callTest tests/env.nix {};
|
tests.env = callTest tests/env.nix {};
|
||||||
tests.ferm = callTest tests/ferm.nix {};
|
tests.ferm = callTest tests/ferm.nix {};
|
||||||
tests.firefox = callTest tests/firefox.nix {};
|
tests.firefox = callTest tests/firefox.nix {};
|
||||||
tests.firewall = callTest tests/firewall.nix {};
|
tests.firewall = callTest tests/firewall.nix {};
|
||||||
tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });
|
tests.fleet = callTestOnTheseSystems ["x86_64-linux"] tests/fleet.nix {};
|
||||||
#tests.gitlab = callTest tests/gitlab.nix {};
|
#tests.gitlab = callTest tests/gitlab.nix {};
|
||||||
tests.gitolite = callTest tests/gitolite.nix {};
|
tests.gitolite = callTest tests/gitolite.nix {};
|
||||||
tests.gocd-agent = callTest tests/gocd-agent.nix {};
|
tests.gocd-agent = callTest tests/gocd-agent.nix {};
|
||||||
@ -313,6 +303,7 @@ in rec {
|
|||||||
tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; };
|
tests.nat.firewall = callTest tests/nat.nix { withFirewall = true; };
|
||||||
tests.nat.firewall-conntrack = callTest tests/nat.nix { withFirewall = true; withConntrackHelpers = true; };
|
tests.nat.firewall-conntrack = callTest tests/nat.nix { withFirewall = true; withConntrackHelpers = true; };
|
||||||
tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; };
|
tests.nat.standalone = callTest tests/nat.nix { withFirewall = false; };
|
||||||
|
tests.netdata = callTest tests/netdata.nix { };
|
||||||
tests.networking.networkd = callSubTests tests/networking.nix { networkd = true; };
|
tests.networking.networkd = callSubTests tests/networking.nix { networkd = true; };
|
||||||
tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; };
|
tests.networking.scripted = callSubTests tests/networking.nix { networkd = false; };
|
||||||
# TODO: put in networking.nix after the test becomes more complete
|
# TODO: put in networking.nix after the test becomes more complete
|
||||||
@ -326,7 +317,7 @@ in rec {
|
|||||||
tests.openssh = callTest tests/openssh.nix {};
|
tests.openssh = callTest tests/openssh.nix {};
|
||||||
tests.owncloud = callTest tests/owncloud.nix {};
|
tests.owncloud = callTest tests/owncloud.nix {};
|
||||||
tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
|
tests.pam-oath-login = callTest tests/pam-oath-login.nix {};
|
||||||
#tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; });
|
#tests.panamax = callTestOnTheseSystems ["x86_64-linux"] tests/panamax.nix {};
|
||||||
tests.peerflix = callTest tests/peerflix.nix {};
|
tests.peerflix = callTest tests/peerflix.nix {};
|
||||||
tests.php-pcre = callTest tests/php-pcre.nix {};
|
tests.php-pcre = callTest tests/php-pcre.nix {};
|
||||||
tests.postgresql = callSubTests tests/postgresql.nix {};
|
tests.postgresql = callSubTests tests/postgresql.nix {};
|
||||||
@ -348,12 +339,13 @@ in rec {
|
|||||||
tests.smokeping = callTest tests/smokeping.nix {};
|
tests.smokeping = callTest tests/smokeping.nix {};
|
||||||
tests.snapper = callTest tests/snapper.nix {};
|
tests.snapper = callTest tests/snapper.nix {};
|
||||||
tests.statsd = callTest tests/statsd.nix {};
|
tests.statsd = callTest tests/statsd.nix {};
|
||||||
|
tests.sudo = callTest tests/sudo.nix {};
|
||||||
tests.switchTest = callTest tests/switch-test.nix {};
|
tests.switchTest = callTest tests/switch-test.nix {};
|
||||||
tests.taskserver = callTest tests/taskserver.nix {};
|
tests.taskserver = callTest tests/taskserver.nix {};
|
||||||
tests.tomcat = callTest tests/tomcat.nix {};
|
tests.tomcat = callTest tests/tomcat.nix {};
|
||||||
tests.udisks2 = callTest tests/udisks2.nix {};
|
tests.udisks2 = callTest tests/udisks2.nix {};
|
||||||
tests.vault = callTest tests/vault.nix {};
|
tests.vault = callTest tests/vault.nix {};
|
||||||
tests.virtualbox = callSubTests tests/virtualbox.nix { system = "x86_64-linux"; };
|
tests.virtualbox = callSubTestsOnTheseSystems ["x86_64-linux"] tests/virtualbox.nix {};
|
||||||
tests.wordpress = callTest tests/wordpress.nix {};
|
tests.wordpress = callTest tests/wordpress.nix {};
|
||||||
tests.xfce = callTest tests/xfce.nix {};
|
tests.xfce = callTest tests/xfce.nix {};
|
||||||
tests.xmonad = callTest tests/xmonad.nix {};
|
tests.xmonad = callTest tests/xmonad.nix {};
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
# Test the ELK stack: Elasticsearch, Logstash and Kibana.
|
{ system ? builtins.currentSystem }:
|
||||||
|
with import ../lib/testing.nix { inherit system; };
|
||||||
import ./make-test.nix ({ pkgs, ...} :
|
with pkgs.lib;
|
||||||
let
|
let
|
||||||
esUrl = "http://localhost:9200";
|
esUrl = "http://localhost:9200";
|
||||||
in {
|
|
||||||
name = "ELK";
|
mkElkTest = name : elk : makeTest {
|
||||||
|
inherit name;
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ eelco chaoflow offline basvandijk ];
|
maintainers = [ eelco chaoflow offline basvandijk ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
one =
|
one =
|
||||||
{ config, pkgs, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
@ -32,7 +32,7 @@ in {
|
|||||||
services = {
|
services = {
|
||||||
logstash = {
|
logstash = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.logstash5;
|
package = elk.logstash;
|
||||||
inputConfig = ''
|
inputConfig = ''
|
||||||
exec { command => "echo -n flowers" interval => 1 type => "test" }
|
exec { command => "echo -n flowers" interval => 1 type => "test" }
|
||||||
exec { command => "echo -n dragons" interval => 1 type => "test" }
|
exec { command => "echo -n dragons" interval => 1 type => "test" }
|
||||||
@ -55,12 +55,12 @@ in {
|
|||||||
|
|
||||||
elasticsearch = {
|
elasticsearch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.elasticsearch5;
|
package = elk.elasticsearch;
|
||||||
};
|
};
|
||||||
|
|
||||||
kibana = {
|
kibana = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.kibana5;
|
package = elk.kibana;
|
||||||
elasticsearch.url = esUrl;
|
elasticsearch.url = esUrl;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -92,4 +92,16 @@ in {
|
|||||||
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"flowers\"}}}' | jq .hits.total | grep -v 0");
|
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"flowers\"}}}' | jq .hits.total | grep -v 0");
|
||||||
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"dragons\"}}}' | jq .hits.total | grep 0");
|
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"dragons\"}}}' | jq .hits.total | grep 0");
|
||||||
'';
|
'';
|
||||||
})
|
};
|
||||||
|
in mapAttrs mkElkTest {
|
||||||
|
"ELK-5" = {
|
||||||
|
elasticsearch = pkgs.elasticsearch5;
|
||||||
|
logstash = pkgs.logstash5;
|
||||||
|
kibana = pkgs.kibana5;
|
||||||
|
};
|
||||||
|
"ELK-6" = {
|
||||||
|
elasticsearch = pkgs.elasticsearch6;
|
||||||
|
logstash = pkgs.logstash6;
|
||||||
|
kibana = pkgs.kibana6;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
@ -46,6 +46,7 @@ let
|
|||||||
in makeTest {
|
in makeTest {
|
||||||
name = "keymap-${layout}";
|
name = "keymap-${layout}";
|
||||||
|
|
||||||
|
machine.services.xserver.desktopManager.xterm.enable = false;
|
||||||
machine.i18n.consoleKeyMap = mkOverride 900 layout;
|
machine.i18n.consoleKeyMap = mkOverride 900 layout;
|
||||||
machine.services.xserver.layout = mkOverride 900 layout;
|
machine.services.xserver.layout = mkOverride 900 layout;
|
||||||
machine.imports = [ ./common/x11.nix extraConfig ];
|
machine.imports = [ ./common/x11.nix extraConfig ];
|
||||||
|
@ -115,11 +115,6 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
$machine->succeed("nix-store -qR /run/current-system | grep nixos-");
|
$machine->succeed("nix-store -qR /run/current-system | grep nixos-");
|
||||||
};
|
};
|
||||||
|
|
||||||
# Test sudo
|
|
||||||
subtest "sudo", sub {
|
|
||||||
$machine->succeed("su - sybil -c 'sudo true'");
|
|
||||||
};
|
|
||||||
|
|
||||||
# Test sysctl
|
# Test sysctl
|
||||||
subtest "sysctl", sub {
|
subtest "sysctl", sub {
|
||||||
$machine->waitForUnit("systemd-sysctl.service");
|
$machine->waitForUnit("systemd-sysctl.service");
|
||||||
|
31
nixos/tests/netdata.nix
Normal file
31
nixos/tests/netdata.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# This test runs netdata and checks for data via apps.plugin
|
||||||
|
|
||||||
|
import ./make-test.nix ({ pkgs, ...} : {
|
||||||
|
name = "netdata";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ cransom ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
netdata =
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [ curl jq ];
|
||||||
|
services.netdata.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
startAll;
|
||||||
|
|
||||||
|
$netdata->waitForUnit("netdata.service");
|
||||||
|
# check if netdata can read disk ops for root owned processes.
|
||||||
|
# if > 0, successful. verifies both netdata working and
|
||||||
|
# apps.plugin has elevated capabilities.
|
||||||
|
my $cmd = <<'CMD';
|
||||||
|
curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \
|
||||||
|
jq -e '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
|
||||||
|
CMD
|
||||||
|
$netdata->waitUntilSucceeds($cmd);
|
||||||
|
'';
|
||||||
|
})
|
93
nixos/tests/sudo.nix
Normal file
93
nixos/tests/sudo.nix
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
# Some tests to ensure sudo is working properly.
|
||||||
|
|
||||||
|
let
|
||||||
|
password = "helloworld";
|
||||||
|
|
||||||
|
in
|
||||||
|
import ./make-test.nix ({ pkgs, ...} : {
|
||||||
|
name = "sudo";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ lschuermann ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine =
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
users.extraGroups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; };
|
||||||
|
users.users = {
|
||||||
|
test0 = { isNormalUser = true; extraGroups = [ "wheel" ]; };
|
||||||
|
test1 = { isNormalUser = true; password = password; };
|
||||||
|
test2 = { isNormalUser = true; extraGroups = [ "foobar" ]; password = password; };
|
||||||
|
test3 = { isNormalUser = true; extraGroups = [ "barfoo" ]; };
|
||||||
|
test4 = { isNormalUser = true; extraGroups = [ "baz" ]; };
|
||||||
|
test5 = { isNormalUser = true; };
|
||||||
|
};
|
||||||
|
|
||||||
|
security.sudo = {
|
||||||
|
enable = true;
|
||||||
|
wheelNeedsPassword = false;
|
||||||
|
|
||||||
|
extraRules = [
|
||||||
|
# SUDOERS SYNTAX CHECK (Test whether the module produces a valid output;
|
||||||
|
# errors being detected by the visudo checks.
|
||||||
|
|
||||||
|
# These should not create any entries
|
||||||
|
{ users = [ "notest1" ]; commands = [ ]; }
|
||||||
|
{ commands = [ { command = "ALL"; options = [ ]; } ]; }
|
||||||
|
|
||||||
|
# Test defining commands with the options syntax, though not setting any options
|
||||||
|
{ users = [ "notest2" ]; commands = [ { command = "ALL"; options = [ ]; } ]; }
|
||||||
|
|
||||||
|
|
||||||
|
# CONFIGURATION FOR TEST CASES
|
||||||
|
{ users = [ "test1" ]; groups = [ "foobar" ]; commands = [ "ALL" ]; }
|
||||||
|
{ groups = [ "barfoo" 1337 ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" "NOSETENV" ]; } ]; }
|
||||||
|
{ users = [ "test5" ]; commands = [ { command = "ALL"; options = [ "NOPASSWD" "SETENV" ]; } ]; runAs = "test1:barfoo"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
''
|
||||||
|
subtest "users in wheel group should have passwordless sudo", sub {
|
||||||
|
$machine->succeed("su - test0 -c \"sudo -u root true\"");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "test1 user should have sudo with password", sub {
|
||||||
|
$machine->succeed("su - test1 -c \"echo ${password} | sudo -S -u root true\"");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "test1 user should not be able to use sudo without password", sub {
|
||||||
|
$machine->fail("su - test1 -c \"sudo -n -u root true\"");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "users in group 'foobar' should be able to use sudo with password", sub {
|
||||||
|
$machine->succeed("sudo -u test2 echo ${password} | sudo -S -u root true");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "users in group 'barfoo' should be able to use sudo without password", sub {
|
||||||
|
$machine->succeed("sudo -u test3 sudo -n -u root true");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "users in group 'baz' (GID 1337) should be able to use sudo without password", sub {
|
||||||
|
$machine->succeed("sudo -u test4 sudo -n -u root echo true");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "test5 user should be able to run commands under test1", sub {
|
||||||
|
$machine->succeed("sudo -u test5 sudo -n -u test1 true");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "test5 user should not be able to run commands under root", sub {
|
||||||
|
$machine->fail("sudo -u test5 sudo -n -u root true");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "test5 user should be able to keep his environment", sub {
|
||||||
|
$machine->succeed("sudo -u test5 sudo -n -E -u test1 true");
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "users in group 'barfoo' should not be able to keep their environment", sub {
|
||||||
|
$machine->fail("sudo -u test3 sudo -n -E -u root true");
|
||||||
|
};
|
||||||
|
'';
|
||||||
|
})
|
@ -1,11 +1,11 @@
|
|||||||
{ callPackage, boost155, boost162, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3 }:
|
{ callPackage, boost155, boost164, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2, python3 }:
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
|
||||||
aeon = callPackage ./aeon { };
|
aeon = callPackage ./aeon { };
|
||||||
|
|
||||||
bitcoin = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
|
bitcoin = libsForQt5.callPackage ./bitcoin.nix { boost = boost164; miniupnpc = miniupnpc_2; withGui = true; };
|
||||||
bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; };
|
bitcoind = callPackage ./bitcoin.nix { boost = boost164; miniupnpc = miniupnpc_2; withGui = false; };
|
||||||
|
|
||||||
bitcoin-abc = libsForQt5.callPackage ./bitcoin-abc.nix { withGui = true; };
|
bitcoin-abc = libsForQt5.callPackage ./bitcoin-abc.nix { withGui = true; };
|
||||||
bitcoind-abc = callPackage ./bitcoin-abc.nix { withGui = false; };
|
bitcoind-abc = callPackage ./bitcoin-abc.nix { withGui = false; };
|
||||||
@ -29,6 +29,8 @@ rec {
|
|||||||
dogecoin = callPackage ./dogecoin.nix { withGui = true; };
|
dogecoin = callPackage ./dogecoin.nix { withGui = true; };
|
||||||
dogecoind = callPackage ./dogecoin.nix { withGui = false; };
|
dogecoind = callPackage ./dogecoin.nix { withGui = false; };
|
||||||
|
|
||||||
|
ethsign = callPackage ./ethsign { };
|
||||||
|
|
||||||
freicoin = callPackage ./freicoin.nix { boost = boost155; };
|
freicoin = callPackage ./freicoin.nix { boost = boost155; };
|
||||||
go-ethereum = callPackage ./go-ethereum.nix {
|
go-ethereum = callPackage ./go-ethereum.nix {
|
||||||
inherit (darwin) libobjc;
|
inherit (darwin) libobjc;
|
||||||
|
59
pkgs/applications/altcoins/ethsign/default.nix
Normal file
59
pkgs/applications/altcoins/ethsign/default.nix
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
{ stdenv, buildGoPackage, fetchFromGitHub, fetchgit, clang }:
|
||||||
|
|
||||||
|
buildGoPackage rec {
|
||||||
|
name = "ethsign-${version}";
|
||||||
|
version = "0.8.2";
|
||||||
|
|
||||||
|
goPackagePath = "github.com/dapphub/ethsign";
|
||||||
|
hardeningDisable = ["fortify"];
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "dapphub";
|
||||||
|
repo = "ethsign";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1gd0bq5x49sjm83r2wivjf03dxvhdli6cvwb9b853wwcvy4inmmh";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraSrcs = [
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/ethereum/go-ethereum";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ethereum";
|
||||||
|
repo = "go-ethereum";
|
||||||
|
rev = "v1.7.3";
|
||||||
|
sha256 = "1w6rbq2qpjyf2v9mr18yiv2af1h2sgyvgrdk4bd8ixgl3qcd5b11";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/urfave/cli.v1";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "urfave";
|
||||||
|
repo = "cli";
|
||||||
|
rev = "v1.19.1";
|
||||||
|
sha256 = "1ny63c7bfwfrsp7vfkvb4i0xhq4v7yxqnwxa52y4xlfxs4r6v6fg";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/crypto";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://go.googlesource.com/crypto";
|
||||||
|
rev = "94eea52f7b742c7cbe0b03b22f0c4c8631ece122";
|
||||||
|
sha256 = "095zyvjb0m2pz382500miqadhk7w3nis8z3j941z8cq4rdafijvi";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/sys";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://go.googlesource.com/sys";
|
||||||
|
rev = "53aa286056ef226755cd898109dbcdaba8ac0b81";
|
||||||
|
sha256 = "1yd17ccklby099cpdcsgx6lf0lj968hsnppp16mwh9009ldf72r1";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = http://github.com/dapphub/ethsign;
|
||||||
|
description = "Make raw signed Ethereum transactions";
|
||||||
|
license = [licenses.gpl3];
|
||||||
|
};
|
||||||
|
}
|
@ -1,22 +1,24 @@
|
|||||||
{ stdenv, makeWrapper, lib, fetchFromGitHub
|
{ stdenv, makeWrapper, lib, fetchFromGitHub
|
||||||
, bc, coreutils, curl, ethabi, git, gnused, jshon, perl, solc, which }:
|
, bc, coreutils, curl, ethabi, git, gnused, jshon, perl, solc, which
|
||||||
|
, nodejs, ethsign
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "seth-${version}";
|
name = "seth-${version}";
|
||||||
version = "0.5.6";
|
version = "0.6.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dapphub";
|
owner = "dapphub";
|
||||||
repo = "seth";
|
repo = "seth";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1zl70xy7njjwy4k4g84v7lpf9a2nnnbxh4mkpw7jzqfs2mr636z6";
|
sha256 = "1lbr7i3rznfp3h03y7pc094r0m992lbzr926rnr0xxbyp755wvm4";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [makeWrapper];
|
nativeBuildInputs = [makeWrapper];
|
||||||
buildPhase = "true";
|
buildPhase = "true";
|
||||||
makeFlags = ["prefix=$(out)"];
|
makeFlags = ["prefix=$(out)"];
|
||||||
postInstall = let path = lib.makeBinPath [
|
postInstall = let path = lib.makeBinPath [
|
||||||
bc coreutils curl ethabi git gnused jshon perl solc which
|
bc coreutils curl ethabi git gnused jshon perl solc which nodejs ethsign
|
||||||
]; in ''
|
]; in ''
|
||||||
wrapProgram "$out/bin/seth" --prefix PATH : "${path}"
|
wrapProgram "$out/bin/seth" --prefix PATH : "${path}"
|
||||||
'';
|
'';
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, vlc
|
{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, vlc
|
||||||
, qtbase, qtmultimedia, qtsvg, qttools
|
, qtbase, qtmultimedia, qtsvg, qttools
|
||||||
|
|
||||||
# Cantata doesn't build with cdparanoia enabled so we disable that
|
# Cantata doesn't build with cdparanoia enabled so we disable that
|
||||||
@ -45,6 +45,15 @@ in stdenv.mkDerivation rec {
|
|||||||
sha256 = "1b633chgfs8rya78bzzck5zijna15d1y4nmrz4dcjp862ks5y5q6";
|
sha256 = "1b633chgfs8rya78bzzck5zijna15d1y4nmrz4dcjp862ks5y5q6";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# patch is needed for 2.2.0 with qt 5.10 (doesn't harm earlier versions)
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/CDrummond/cantata/commit/4da7a9128f2c5eaf23ae2a5006d300dc4f21fc6a.patch";
|
||||||
|
sha256 = "1z21ax3542z7hm628xv110lmplaspb407jzgfk16xkphww5qyphj";
|
||||||
|
name = "fix_qt_510.patch";
|
||||||
|
})
|
||||||
|
|
||||||
|
];
|
||||||
buildInputs = [ vlc qtbase qtmultimedia qtsvg ]
|
buildInputs = [ vlc qtbase qtmultimedia qtsvg ]
|
||||||
++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ]
|
++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ]
|
||||||
++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
|
++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "cava-${version}";
|
name = "cava-${version}";
|
||||||
version = "0.4.2";
|
version = "0.6.0";
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
alsaLib
|
alsaLib
|
||||||
@ -16,14 +16,16 @@ stdenv.mkDerivation rec {
|
|||||||
owner = "karlstav";
|
owner = "karlstav";
|
||||||
repo = "cava";
|
repo = "cava";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1c5gl8ghmd89f6097rjd2dzrgh1z4i4v9m4vn5wkpnnm68b96yyc";
|
sha256 = "01maaq5pfd4a7zilgarwr1nl7jbqyrvir6w7ikchggsckrlk23wr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook ];
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
substituteInPlace Makefile \
|
substituteInPlace Makefile.am \
|
||||||
--replace "-L/usr/local/lib -Wl,-rpath /usr/local/lib" ""
|
--replace "-L/usr/local/lib -Wl,-rpath /usr/local/lib" ""
|
||||||
|
substituteInPlace configure.ac \
|
||||||
|
--replace "/usr/share/consolefonts" "$out/share/consolefonts"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -62,6 +62,5 @@ in stdenv.mkDerivation rec {
|
|||||||
homepage = http://gillesdegottex.github.io/dfasma/;
|
homepage = http://gillesdegottex.github.io/dfasma/;
|
||||||
license = [ licenses.gpl3Plus reaperFork.meta.license ];
|
license = [ licenses.gpl3Plus reaperFork.meta.license ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ nckx ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -16,13 +16,14 @@ with stdenv.lib.strings;
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "2.1.0";
|
version = "2.5.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "grame-cncm";
|
owner = "grame-cncm";
|
||||||
repo = "faust";
|
repo = "faust";
|
||||||
rev = "v${builtins.replaceStrings ["."] ["-"] version}";
|
rev = "v${builtins.replaceStrings ["."] ["-"] version}";
|
||||||
sha256 = "1pmiwy287g79ipz9pppnkfrdgls3l912kpkr7dfymk9wk5y5di9m";
|
sha256 = "0sjhy7axa2dj1977iz6zmqvz9qzalcfnrx2fqx3xmk9hly847d6z";
|
||||||
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, gtk2
|
, gtk2
|
||||||
, jack2Full
|
, jack2Full
|
||||||
, opencv
|
, opencv
|
||||||
|
, libsndfile
|
||||||
}:
|
}:
|
||||||
|
|
||||||
faust.wrapWithBuildEnv {
|
faust.wrapWithBuildEnv {
|
||||||
@ -18,6 +19,7 @@ faust.wrapWithBuildEnv {
|
|||||||
gtk2
|
gtk2
|
||||||
jack2Full
|
jack2Full
|
||||||
opencv
|
opencv
|
||||||
|
libsndfile
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, jack2Full
|
, jack2Full
|
||||||
, opencv
|
, opencv
|
||||||
, qt4
|
, qt4
|
||||||
|
, libsndfile
|
||||||
}:
|
}:
|
||||||
|
|
||||||
faust.wrapWithBuildEnv {
|
faust.wrapWithBuildEnv {
|
||||||
@ -17,6 +18,7 @@ faust.wrapWithBuildEnv {
|
|||||||
jack2Full
|
jack2Full
|
||||||
opencv
|
opencv
|
||||||
qt4
|
qt4
|
||||||
|
libsndfile
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = https://xiph.org/flac/;
|
homepage = https://xiph.org/flac/;
|
||||||
description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
|
description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.mornfall ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,5 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = http://gillesdegottex.github.io/fmit/;
|
homepage = http://gillesdegottex.github.io/fmit/;
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ nckx ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchFromGitHub, python3, python3Packages, intltool
|
{ stdenv, fetchFromGitHub, python3, python3Packages, intltool
|
||||||
, glibcLocales, gnome3, gtk3, wrapGAppsHook
|
, glibcLocales, gnome3, gtk3, wrapGAppsHook
|
||||||
, ipodSupport ? false, libgpod
|
, ipodSupport ? false, libgpod, gobjectIntrospection
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
@ -22,14 +22,11 @@ python3Packages.buildPythonApplication rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
intltool
|
intltool
|
||||||
python3Packages.wrapPython
|
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
glibcLocales
|
glibcLocales
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [ python3 gobjectIntrospection ];
|
||||||
python3
|
|
||||||
];
|
|
||||||
|
|
||||||
checkInputs = with python3Packages; [
|
checkInputs = with python3Packages; [
|
||||||
coverage minimock
|
coverage minimock
|
||||||
|
@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "A command line editor for id3v2 tags";
|
description = "A command line editor for id3v2 tags";
|
||||||
homepage = http://id3v2.sourceforge.net/;
|
homepage = http://id3v2.sourceforge.net/;
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ nckx ];
|
|
||||||
platforms = with platforms; unix;
|
platforms = with platforms; unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,5 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ nckx ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,5 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
|
homepage = http://www.ibrahimshaath.co.uk/keyfinder/;
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ nckx ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.mornfall ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "A featureful ncurses based MPD client inspired by ncmpc";
|
description = "A featureful ncurses based MPD client inspired by ncmpc";
|
||||||
homepage = https://ncmpcpp.rybczak.net/;
|
homepage = https://ncmpcpp.rybczak.net/;
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ jfrankenau koral lovek323 mornfall ];
|
maintainers = with maintainers; [ jfrankenau koral lovek323 ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,32 +1,26 @@
|
|||||||
{ stdenv, fetchurl, puredata }:
|
{ stdenv, fetchFromGitHub, puredata }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "cyclone-${version}";
|
name = "cyclone-${version}";
|
||||||
version = "0.1-alpha55";
|
version = "0.3beta-2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "mirror://sourceforge/project/pure-data/libraries/cyclone/${name}.tar.gz";
|
owner = "porres";
|
||||||
sha256 = "1yys9xrlz09xgnqk2gqdl8vw6xj6l9d7km2lkihidgjql0jx5b5i";
|
repo = "pd-cyclone";
|
||||||
|
rev = "cyclone${version}";
|
||||||
|
sha256 = "192jrq3bdsv626js1ymq10gwp9wwcszjs63ys6ap9ig8xdkbhr3q";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ puredata ];
|
buildInputs = [ puredata ];
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
makeFlags = [
|
||||||
|
"pdincludepath=${puredata}/include/pd"
|
||||||
|
"prefix=$(out)"
|
||||||
|
];
|
||||||
|
|
||||||
patchPhase = ''
|
postInstall = ''
|
||||||
for file in `grep -r -l g_canvas.h`
|
mv "$out/lib/pd-externals/cyclone" "$out/"
|
||||||
do
|
rm -rf $out/lib
|
||||||
sed -i 's|#include "g_canvas.h"|#include "${puredata}/include/pd/g_canvas.h"|g' $file
|
|
||||||
done
|
|
||||||
for file in `grep -r -l m_imp.h`
|
|
||||||
do
|
|
||||||
sed -i 's|#include "m_imp.h"|#include "${puredata}/include/pd/m_imp.h"|g' $file
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/cyclone
|
|
||||||
cp -r bin/* $out/cyclone
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1,28 +1,26 @@
|
|||||||
{ stdenv, fetchurl, puredata }:
|
{ stdenv, fetchFromGitHub, puredata }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "maxlib-${version}";
|
name = "maxlib-${version}";
|
||||||
version = "1.5.5";
|
version = "1.5.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "mirror://sourceforge/project/pure-data/libraries/maxlib/${name}.tar.gz";
|
owner = "electrickery";
|
||||||
sha256 = "0vxl9s815dnay5r0067rxsfh8f6jbk61f0nxrydzjydfycza7p1w";
|
repo = "pd-maxlib";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "10w9qfgn26lj3zqjksf2r1wsjpf5xy4dx22jay9l6idy9q62mxsn";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ puredata ];
|
buildInputs = [ puredata ];
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
patchPhase = ''
|
makeFlags = [ "prefix=$(out)" ];
|
||||||
for i in ${puredata}/include/pd/*; do
|
|
||||||
ln -s $i .
|
|
||||||
done
|
|
||||||
sed -i "s@/usr@$out@g" Makefile
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv $out/local/lib/pd-externals/maxlib/ $out
|
mv $out/lib/pd-externals/maxlib/ $out
|
||||||
rm -rf $out/local/
|
rm -rf $out/local/
|
||||||
|
rm -rf $out/lib/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1,28 +1,38 @@
|
|||||||
{ stdenv, fetchurl, unzip, puredata }:
|
{ stdenv, fetchurl, unzip, puredata, fftw }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.6.0";
|
version = "0.7.0";
|
||||||
name = "timbreid-${version}";
|
name = "timbreid-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://williambrent.conflations.com/pd/timbreID-${version}-src.zip";
|
url = "http://williambrent.conflations.com/pd/timbreID-${version}-src.zip";
|
||||||
sha256 = "02rnkb0vpjxrr60c3hryv7zhyjpci2mi9dk27kjxpj5zp26gjk0p";
|
sha256 = "14k2xk5zrzrw1zprdbwx45hrlc7ck8vq4drpd3l455i5r8yk4y6b";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ unzip puredata ];
|
buildInputs = [ unzip puredata fftw ];
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
|
mkdir source
|
||||||
|
cd source
|
||||||
unzip $src
|
unzip $src
|
||||||
mv timbreID-0.6.0-src/tID/* .
|
'';
|
||||||
rm -rf timbreID-0.6.0-src/tID/
|
|
||||||
rm -rf timbreID-0.6.0-src/INSTALL.txt
|
buildPhase = ''
|
||||||
|
make tIDLib.o all
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/
|
mkdir -p $out/
|
||||||
cp -r *.pd $out/
|
cp -r *.pd $out/
|
||||||
cp -r *.pd_linux $out/
|
cp -r *.pd_linux $out/
|
||||||
cp -r *.wav $out/
|
cp -r audio/ $out/
|
||||||
|
cp -r data/ $out/
|
||||||
|
cp -r doc/ $out/
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
mv $out/share/doc/ $out/
|
||||||
|
rm -rf $out/share/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = http://www.filter24.org/seq24;
|
homepage = http://www.filter24.org/seq24;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ goibhniu nckx ];
|
maintainers = with maintainers; [ goibhniu ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
androidStudio = stdenv.mkDerivation {
|
androidStudio = stdenv.mkDerivation {
|
||||||
name = "${pname}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip";
|
url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip";
|
||||||
@ -48,6 +48,7 @@ let
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
cp -r . $out
|
cp -r . $out
|
||||||
wrapProgram $out/bin/studio.sh \
|
wrapProgram $out/bin/studio.sh \
|
||||||
|
--set ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
|
||||||
--set PATH "${stdenv.lib.makeBinPath [
|
--set PATH "${stdenv.lib.makeBinPath [
|
||||||
|
|
||||||
# Checked in studio.sh
|
# Checked in studio.sh
|
||||||
@ -68,7 +69,6 @@ let
|
|||||||
|
|
||||||
# Runtime stuff
|
# Runtime stuff
|
||||||
git
|
git
|
||||||
|
|
||||||
]}" \
|
]}" \
|
||||||
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
|
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
|
||||||
|
|
||||||
|
@ -27,9 +27,9 @@ in rec {
|
|||||||
|
|
||||||
preview = mkStudio {
|
preview = mkStudio {
|
||||||
pname = "android-studio-preview";
|
pname = "android-studio-preview";
|
||||||
version = "3.1.0.6"; # "Android Studio 3.1 Canary 7"
|
version = "3.1.0.7"; # "Android Studio 3.1 Canary 8"
|
||||||
build = "173.4524538";
|
build = "173.4529993";
|
||||||
sha256Hash = "0rj7swychriznylrr09g0rnj12rymms925xbry85ba72hj1jjf6w";
|
sha256Hash = "0mfkzdxbrdqlfqqx83dr9ibkpjwjf54kka9qra9j31zqcmy8rd53";
|
||||||
|
|
||||||
meta = stable.meta // {
|
meta = stable.meta // {
|
||||||
description = "The Official IDE for Android (preview version)";
|
description = "The Official IDE for Android (preview version)";
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "atom-beta-${version}";
|
name = "atom-beta-${version}";
|
||||||
version = "1.24.0-beta2";
|
version = "1.24.0-beta3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
||||||
sha256 = "1s5zfccpiyg3nqq3a93dg5sr6pk8gvwf8assq9g78l7qkryqr4ac";
|
sha256 = "02nnjjwlkxafi2fbi4gz276nqkmi92kf3q414vw1k3kc8q5zvxrs";
|
||||||
name = "${name}.deb";
|
name = "${name}.deb";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "atom-${version}";
|
name = "atom-${version}";
|
||||||
version = "1.23.2";
|
version = "1.23.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
||||||
sha256 = "04shnmy80ixjrc8d57i5w23xfxw1dmxj7kbygsal9l8kxgd76k7h";
|
sha256 = "0vq0pics8ajjqwqlk396dxl10k80059f9bik0j4wj2cals42bifc";
|
||||||
name = "${name}.deb";
|
name = "${name}.deb";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
{ stdenv, fetchFromGitHub, freetype, libX11, libXt, libXft
|
{ stdenv, fetchFromGitHub, freetype, libX11, libXi, libXt, libXft }:
|
||||||
, version ? "2016-10-08"
|
|
||||||
, rev ? "a17c4a9c2a1af2de0a756fe16d482e0db88c0541"
|
|
||||||
, sha256 ? "03xmfzlijz4gbmr7l0pb1gl9kmlz1ab3hr8d51innvlasy4g6xgj"
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
inherit version;
|
version = "2017-10-27";
|
||||||
name = "deadpixi-sam-unstable-${version}";
|
name = "deadpixi-sam-unstable-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
inherit sha256 rev;
|
|
||||||
owner = "deadpixi";
|
owner = "deadpixi";
|
||||||
repo = "sam";
|
repo = "sam";
|
||||||
|
rev = "51693780fb1457913389db6634163998f9b775b8";
|
||||||
|
sha256 = "0nfkj93j4bgli4ixbk041nwi14rabk04kqg8krq4mj0044m1qywr";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace config.mk.def \
|
substituteInPlace config.mk.def \
|
||||||
--replace "/usr/include/freetype2" "${freetype.dev}/include/freetype2"
|
--replace "/usr/include/freetype2" "${freetype.dev}/include/freetype2" \
|
||||||
|
--replace "CC=gcc" ""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
CFLAGS = "-D_DARWIN_C_SOURCE";
|
||||||
makeFlags = [ "DESTDIR=$(out)" ];
|
makeFlags = [ "DESTDIR=$(out)" ];
|
||||||
buildInputs = [ libX11 libXt libXft ];
|
buildInputs = [ libX11 libXi libXt libXft ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $out/share/applications
|
mkdir -p $out/share/applications
|
||||||
@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Updated version of the sam text editor";
|
description = "Updated version of the sam text editor";
|
||||||
license = with licenses; lpl-102;
|
license = with licenses; lpl-102;
|
||||||
maintainers = with maintainers; [ ramkromberg ];
|
maintainers = with maintainers; [ ramkromberg ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -20,9 +20,19 @@ rec {
|
|||||||
|
|
||||||
# Helper for the common case where we have separate feature and
|
# Helper for the common case where we have separate feature and
|
||||||
# plugin JARs.
|
# plugin JARs.
|
||||||
buildEclipsePlugin = { name, srcFeature, srcPlugin, ... } @ attrs:
|
buildEclipsePlugin =
|
||||||
|
{ name, srcFeature, srcPlugin ? null, srcPlugins ? [], ... } @ attrs:
|
||||||
|
assert srcPlugin == null -> srcPlugins != [];
|
||||||
|
assert srcPlugin != null -> srcPlugins == [];
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
pSrcs = if (srcPlugin != null) then [ srcPlugin ] else srcPlugins;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
buildEclipsePluginBase (attrs // {
|
buildEclipsePluginBase (attrs // {
|
||||||
srcs = [ srcFeature srcPlugin ];
|
srcs = [ srcFeature ] ++ pSrcs;
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
dropinDir="$out/eclipse/dropins/${name}"
|
dropinDir="$out/eclipse/dropins/${name}"
|
||||||
@ -31,7 +41,9 @@ rec {
|
|||||||
unzip ${srcFeature} -d $dropinDir/features/
|
unzip ${srcFeature} -d $dropinDir/features/
|
||||||
|
|
||||||
mkdir -p $dropinDir/plugins
|
mkdir -p $dropinDir/plugins
|
||||||
cp -v ${srcPlugin} $dropinDir/plugins/${name}.jar
|
for plugin in ${toString pSrcs}; do
|
||||||
|
cp -v $plugin $dropinDir/plugins/$(stripHash $plugin)
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -102,6 +114,52 @@ rec {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ansi-econsole = buildEclipsePlugin rec {
|
||||||
|
name = "ansi-econsole-${version}";
|
||||||
|
version = "1.3.5.201612301822";
|
||||||
|
|
||||||
|
srcFeature = fetchurl {
|
||||||
|
url = "https://mihnita.github.io/ansi-econsole/install/features/net.mihai-nita.ansicon_${version}.jar";
|
||||||
|
sha256 = "086ylxpsrlpbvwv5mw7v6b44j63cwzgi8apg2mq058ydr5ak6hxs";
|
||||||
|
};
|
||||||
|
|
||||||
|
srcPlugin = fetchurl {
|
||||||
|
url = "https://mihnita.github.io/ansi-econsole/install/plugins/net.mihai-nita.ansicon.plugin_${version}.jar";
|
||||||
|
sha256 = "1j42l0xxzs89shqkyn91lb0gia10mifzy0i73c3n7gj7sv2ddbjq";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://mihai-nita.net/java/#ePluginAEC";
|
||||||
|
description = "Adds support for ANSI escape sequences in the Eclipse console";
|
||||||
|
license = licenses.asl20;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = [ maintainers.rycee ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
antlr-runtime_4_5 = buildEclipsePluginBase rec {
|
||||||
|
name = "antlr-runtime-4.5.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.antlr.org/download/${name}.jar";
|
||||||
|
sha256 = "0lm78i2annlczlc2cg5xvby0g1dyl0sh1y5xc2pymjlmr67a1g4k";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
dropinDir="$out/eclipse/dropins/"
|
||||||
|
mkdir -p $dropinDir
|
||||||
|
cp -v $src $dropinDir/${name}.jar
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A powerful parser generator for processing structured text or binary files";
|
||||||
|
homepage = http://www.antlr.org/;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = [ maintainers.rycee ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
anyedittools = buildEclipsePlugin rec {
|
anyedittools = buildEclipsePlugin rec {
|
||||||
name = "anyedit-${version}";
|
name = "anyedit-${version}";
|
||||||
version = "2.7.1.201709201439";
|
version = "2.7.1.201709201439";
|
||||||
@ -127,16 +185,16 @@ rec {
|
|||||||
|
|
||||||
autodetect-encoding = buildEclipsePlugin rec {
|
autodetect-encoding = buildEclipsePlugin rec {
|
||||||
name = "autodetect-encoding-${version}";
|
name = "autodetect-encoding-${version}";
|
||||||
version = "1.8.4.201708052053";
|
version = "1.8.5.201801191359";
|
||||||
|
|
||||||
srcFeature = fetchurl {
|
srcFeature = fetchurl {
|
||||||
url = "https://cypher256.github.io/eclipse-encoding-plugin/features/eclipse.encoding.plugin.feature_${version}.jar";
|
url = "https://github.com/cypher256/eclipse-encoding-plugin/raw/master/eclipse.encoding.updatesite.snapshot/features/eclipse.encoding.plugin.feature_${version}.jar";
|
||||||
sha256 = "1gbvib5dd75pp5mr17ckj2y66gnxjvpc067im5nsl9fyljdw867c";
|
sha256 = "1m8ypsc1dwz0y6yhjgxsdi9813d38jllv7javgwvcd30g042a3kx";
|
||||||
};
|
};
|
||||||
|
|
||||||
srcPlugin = fetchurl {
|
srcPlugin = fetchurl {
|
||||||
url = "https://cypher256.github.io/eclipse-encoding-plugin/plugins/mergedoc.encoding_${version}.jar";
|
url = "https://github.com/cypher256/eclipse-encoding-plugin/raw/master/eclipse.encoding.updatesite.snapshot/plugins/mergedoc.encoding_${version}.jar";
|
||||||
sha256 = "0728zsbfs1mc4qvx2p92hkxpnknckqk0xvqlmzivsnr62b5qd5im";
|
sha256 = "1n2rzybfcwp3ss2qi0fhd8vm38vdwav8j837lqiqlfcnvzwsk86m";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -192,12 +250,12 @@ rec {
|
|||||||
|
|
||||||
checkstyle = buildEclipseUpdateSite rec {
|
checkstyle = buildEclipseUpdateSite rec {
|
||||||
name = "checkstyle-${version}";
|
name = "checkstyle-${version}";
|
||||||
version = "8.5.1.201712211522";
|
version = "8.7.0.201801131309";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/8.5.1/net.sf.eclipsecs-updatesite_${version}.zip";
|
url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/8.7.0/net.sf.eclipsecs-updatesite_${version}.zip";
|
||||||
sha256 = "0nid4a4qib9vx34ddry7sylj20p2d47dd0vn4zqqmj5dgqx1a1ab";
|
sha256 = "07fymk705x4mwq7vh2i6frsf67jql4bzrkdzhb4n74zb0g1dib60";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -233,7 +291,7 @@ rec {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
cup = buildEclipsePluginBase rec {
|
cup = buildEclipsePlugin rec {
|
||||||
name = "cup-${version}";
|
name = "cup-${version}";
|
||||||
version = "1.1.0.201604221613";
|
version = "1.1.0.201604221613";
|
||||||
version_ = "1.0.0.201604221613";
|
version_ = "1.0.0.201604221613";
|
||||||
@ -243,31 +301,20 @@ rec {
|
|||||||
sha256 = "13nnsf0cqg02z3af6xg45rhcgiffsibxbx6h1zahjv7igvqgkyna";
|
sha256 = "13nnsf0cqg02z3af6xg45rhcgiffsibxbx6h1zahjv7igvqgkyna";
|
||||||
};
|
};
|
||||||
|
|
||||||
srcPlugin1 = fetchurl {
|
srcPlugins = [
|
||||||
|
(fetchurl {
|
||||||
url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/CupReferencedLibraries_${version_}.jar";
|
url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/CupReferencedLibraries_${version_}.jar";
|
||||||
sha256 = "0kif8kivrysprva1pxzajm88gi967qf7idhb6ga2xpvsdcris91j";
|
sha256 = "0kif8kivrysprva1pxzajm88gi967qf7idhb6ga2xpvsdcris91j";
|
||||||
};
|
})
|
||||||
|
|
||||||
srcPlugin2 = fetchurl {
|
(fetchurl {
|
||||||
url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/de.tum.in.www2.CupPlugin_${version}.jar";
|
url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/de.tum.in.www2.CupPlugin_${version}.jar";
|
||||||
sha256 = "022phbrsny3gb8npb6sxyqqxacx138q5bd7dq3gqxh3kprx5chbl";
|
sha256 = "022phbrsny3gb8npb6sxyqqxacx138q5bd7dq3gqxh3kprx5chbl";
|
||||||
};
|
})
|
||||||
|
];
|
||||||
srcs = [ srcFeature srcPlugin1 srcPlugin2 ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ zest ];
|
propagatedBuildInputs = [ zest ];
|
||||||
|
|
||||||
phases = [ "installPhase" ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
dropinDir="$out/eclipse/dropins/${name}"
|
|
||||||
mkdir -p $dropinDir/features
|
|
||||||
unzip ${srcFeature} -d $dropinDir/features/
|
|
||||||
mkdir -p $dropinDir/plugins
|
|
||||||
cp -v ${srcPlugin1} $dropinDir/plugins/''${srcPlugin1#*-}
|
|
||||||
cp -v ${srcPlugin2} $dropinDir/plugins/''${srcPlugin2#*-}
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://www2.cs.tum.edu/projects/cup/eclipse.php;
|
homepage = http://www2.cs.tum.edu/projects/cup/eclipse.php;
|
||||||
description = "IDE for developing CUP based parsers";
|
description = "IDE for developing CUP based parsers";
|
||||||
@ -360,6 +407,44 @@ rec {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jsonedit = buildEclipsePlugin rec {
|
||||||
|
name = "jsonedit-${version}";
|
||||||
|
version = "1.0.1";
|
||||||
|
|
||||||
|
srcFeature = fetchurl {
|
||||||
|
url = "https://boothen.github.io/Json-Eclipse-Plugin/features/jsonedit-feature_${version}.jar";
|
||||||
|
sha256 = "19221409wzcsrlm2fqf6mrxzb5ip1x6y5ba8anw788p7aaz1w30k";
|
||||||
|
};
|
||||||
|
|
||||||
|
srcPlugins =
|
||||||
|
let
|
||||||
|
fetch = { n, h }:
|
||||||
|
fetchurl {
|
||||||
|
url = "https://boothen.github.io/Json-Eclipse-Plugin/plugins/jsonedit-${n}_${version}.jar";
|
||||||
|
sha256 = h;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
map fetch [
|
||||||
|
{ n = "core"; h = "05ipjbh9yz97zhqaqq6cja3zz44n0dn40ms13qnlgf4bxyaf0f6w"; }
|
||||||
|
{ n = "editor"; h = "1i71rh2fd5hsx6gygnafz2gjz4hlb0ckazxn0maxmnlx4p5apjql"; }
|
||||||
|
{ n = "folding"; h = "13p8vqdna23ln82w1jgchm59375f1ky0p2b1v7jih55yfhw1ymam"; }
|
||||||
|
{ n = "model"; h = "0llswhsd58f0rjb9canjncavq4z7q8zidn26yl5gradbbz580p6w"; }
|
||||||
|
{ n = "outline"; h = "1rs8g0iv2kklbl7j0p6nr26m6ii89yyr9bpi05mh21xva40pzkl5"; }
|
||||||
|
{ n = "preferences"; h = "0vs074ahhiba7if43ryf9m8xd81sqj9grppy0pzcnkkdkbk870n0"; }
|
||||||
|
{ n = "text"; h = "0nqpzjw8hhvh9jlpldpmcmg83a170wjdabgsvjq207j12jkvfiqq"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ antlr-runtime_4_5 ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Adds support for JSON files to Eclipse";
|
||||||
|
homepage = https://github.com/boothen/Json-Eclipse-Plugin;
|
||||||
|
license = licenses.epl10;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = [ maintainers.rycee ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
jdt = buildEclipseUpdateSite rec {
|
jdt = buildEclipseUpdateSite rec {
|
||||||
name = "jdt-${version}";
|
name = "jdt-${version}";
|
||||||
version = "4.7.2";
|
version = "4.7.2";
|
||||||
|
@ -135,10 +135,10 @@
|
|||||||
arbitools = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
arbitools = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "arbitools";
|
pname = "arbitools";
|
||||||
version = "0.93";
|
version = "0.94";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/arbitools-0.93.el";
|
url = "https://elpa.gnu.org/packages/arbitools-0.94.el";
|
||||||
sha256 = "0z3lqp8dqfkams5h4sw569p48d2rvpd3d8lb4xaw0z8l49y2mvg8";
|
sha256 = "00iq8rr1275p48ic5mibcx657li723q8r7ax4g21w6bzwsj3gksd";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib ];
|
packageRequires = [ cl-lib ];
|
||||||
meta = {
|
meta = {
|
||||||
@ -564,10 +564,10 @@
|
|||||||
debbugs = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, soap-client }:
|
debbugs = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, soap-client }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "debbugs";
|
pname = "debbugs";
|
||||||
version = "0.14";
|
version = "0.15";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/debbugs-0.14.tar";
|
url = "https://elpa.gnu.org/packages/debbugs-0.15.tar";
|
||||||
sha256 = "07wgcvg038l88gxvjr0gjpjhyk743w22x1rqghz3gkmif0g70say";
|
sha256 = "1x7jw2ldgkknyxg7x9fhnqkary691icnysmi3xw0g2fjrvllzhqw";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib soap-client ];
|
packageRequires = [ cl-lib soap-client ];
|
||||||
meta = {
|
meta = {
|
||||||
@ -768,10 +768,10 @@
|
|||||||
el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
|
el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "el-search";
|
pname = "el-search";
|
||||||
version = "1.4.0.14";
|
version = "1.5.1";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/el-search-1.4.0.14.tar";
|
url = "https://elpa.gnu.org/packages/el-search-1.5.1.tar";
|
||||||
sha256 = "1qc30dia59i2bklhivfhmsghirnpgz5mvcjdc78n0r8nizb68jfp";
|
sha256 = "0bbq59d8x4ncrmpfq54w6rwpp604f1x834b81l7wflwxv7ni5msx";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs stream ];
|
packageRequires = [ emacs stream ];
|
||||||
meta = {
|
meta = {
|
||||||
@ -931,10 +931,10 @@
|
|||||||
gited = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
gited = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "gited";
|
pname = "gited";
|
||||||
version = "0.3.3";
|
version = "0.3.4";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/gited-0.3.3.tar";
|
url = "https://elpa.gnu.org/packages/gited-0.3.4.tar";
|
||||||
sha256 = "0h3ps26sy4wp1s9vpsj066fpqjqacjlprz3kb09macgsg88k2c1p";
|
sha256 = "0s03p0z5dqhigl01hzin2qy53nm7b4ilvfm83d0ca683i9rb7hx1";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib emacs ];
|
packageRequires = [ cl-lib emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
@ -1386,10 +1386,10 @@
|
|||||||
mines = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
mines = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "mines";
|
pname = "mines";
|
||||||
version = "1.2";
|
version = "1.5";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/mines-1.2.tar";
|
url = "https://elpa.gnu.org/packages/mines-1.5.tar";
|
||||||
sha256 = "1xwnw2hyk1qz98mdnckk0i05li0gzygq12kkmrlidxnk7ngbq9vw";
|
sha256 = "1wpkn47iza78hzj396z5c05hsimnhhhmr1cq598azd6h8c1zca7g";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib emacs ];
|
packageRequires = [ cl-lib emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
@ -2320,10 +2320,10 @@
|
|||||||
}) {};
|
}) {};
|
||||||
which-key = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
|
which-key = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
|
||||||
pname = "which-key";
|
pname = "which-key";
|
||||||
version = "3.0.2";
|
version = "3.1.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/which-key-3.0.2.tar";
|
url = "https://elpa.gnu.org/packages/which-key-3.1.0.tar";
|
||||||
sha256 = "1s7bq7vq9xsf2pz1w03l743yzaxm9gk5qgympcwlkiq90ph13vcn";
|
sha256 = "17n09i92m7qdicybxl60j81c8fn7jcx25wds0sb7j8i364psjabq";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -56,6 +56,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
homepage = http://emacs-w3m.namazu.org/;
|
homepage = http://emacs-w3m.namazu.org/;
|
||||||
|
|
||||||
maintainers = [ stdenv.lib.maintainers.mornfall ];
|
maintainers = [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1544,12 +1544,12 @@
|
|||||||
anti-zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
anti-zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "anti-zenburn-theme";
|
pname = "anti-zenburn-theme";
|
||||||
version = "2.4";
|
version = "2.5.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "m00natic";
|
owner = "m00natic";
|
||||||
repo = "anti-zenburn-theme";
|
repo = "anti-zenburn-theme";
|
||||||
rev = "53591a18aee564c6d08a5be69b4060a299903255";
|
rev = "c80cc51bb1aaf11dd53b9d08e01d61bc9b32622f";
|
||||||
sha256 = "06cn81sksvl88l1g3cfgp1kf8xzfv00b31j2rf58f45zlbl5ckv9";
|
sha256 = "1c97d2jkh7iawgsbcg19gha9ffnxypbcfz0sgcsgf9vy4bvnc350";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/6f6f803dc99a1b1fdb5b4e79f1c9cf72b702d091/recipes/anti-zenburn-theme";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/6f6f803dc99a1b1fdb5b4e79f1c9cf72b702d091/recipes/anti-zenburn-theme";
|
||||||
@ -1753,12 +1753,12 @@
|
|||||||
apiwrap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
apiwrap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "apiwrap";
|
pname = "apiwrap";
|
||||||
version = "0.3";
|
version = "0.4";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vermiculus";
|
owner = "vermiculus";
|
||||||
repo = "apiwrap.el";
|
repo = "apiwrap.el";
|
||||||
rev = "5d25972192cd34553997ba193c09eab093a2b870";
|
rev = "7935275ee45f0359d887b8563ffd1d002f0c618e";
|
||||||
sha256 = "1pp2gzw17k58s9akraf8p4jxbar8viym2a43rkc7agzy47qsybs0";
|
sha256 = "1p6sj46135dh7fgpzrfzsp5zkmx5si5lndwc7pnk30fbz5pindsw";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/0197fd3657e65e3826375d9b6f19da3058366c91/recipes/apiwrap";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/0197fd3657e65e3826375d9b6f19da3058366c91/recipes/apiwrap";
|
||||||
@ -2047,12 +2047,12 @@
|
|||||||
auto-compile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, packed }:
|
auto-compile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, packed }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "auto-compile";
|
pname = "auto-compile";
|
||||||
version = "1.4.1";
|
version = "1.4.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "emacscollective";
|
owner = "emacscollective";
|
||||||
repo = "auto-compile";
|
repo = "auto-compile";
|
||||||
rev = "a31819a1b75a2320edb0f7f25d6c6faf528bf41a";
|
rev = "8d117868a0a091389d528428136e60f951e9c550";
|
||||||
sha256 = "17hzl03livgj49zb0knlfn6r020nvj41pjjz3acy82zwrjydsvxa";
|
sha256 = "1qkw8qzhqzk16kvk1200ha10gi6ny0saqvyqm6b1ww0iw3q1ic5c";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/auto-compile";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/auto-compile";
|
||||||
@ -3061,12 +3061,12 @@
|
|||||||
bog = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
bog = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "bog";
|
pname = "bog";
|
||||||
version = "1.3.0";
|
version = "1.3.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kyleam";
|
owner = "kyleam";
|
||||||
repo = "bog";
|
repo = "bog";
|
||||||
rev = "cf7817de3f37ce2404ee637a655f1a511b829585";
|
rev = "6ed4d3edbe771e586d873b826330f3ef23aa1611";
|
||||||
sha256 = "0h166w8bg864ppwg64m0vhg649mmkclld85zcd0lmbqa9wfml5j5";
|
sha256 = "0s4jwlaq3mqyzkyg3x4nh4nx7vw825jhz7ggakay7a2cfvpa4i2j";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/19fd0bf2f8e52c79120c492a6dcabdd51b465d35/recipes/bog";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/19fd0bf2f8e52c79120c492a6dcabdd51b465d35/recipes/bog";
|
||||||
@ -3142,6 +3142,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
borg = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "borg";
|
||||||
|
version = "2.0.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "emacscollective";
|
||||||
|
repo = "borg";
|
||||||
|
rev = "34eac585d6829e17ce59b09fe6ad5d675302c096";
|
||||||
|
sha256 = "1q7k2c7pxcywg6xjk8awg73skyw59a6w4aa9sxbsz9vdj2zn04k9";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/878ab90d444f3a1fd2c9f9068ca7b477e218f1da/recipes/borg";
|
||||||
|
sha256 = "0gn4hf7hn190gl0kg59nr6jzjnb39c0hy9b3brrsfld9hyxga9jr";
|
||||||
|
name = "borg";
|
||||||
|
};
|
||||||
|
packageRequires = [];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/borg";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
boxquote = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
boxquote = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "boxquote";
|
pname = "boxquote";
|
||||||
@ -3754,12 +3775,12 @@
|
|||||||
caml = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
caml = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "caml";
|
pname = "caml";
|
||||||
version = "4.6.0";
|
version = "4.6.1pre1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ocaml";
|
owner = "ocaml";
|
||||||
repo = "ocaml";
|
repo = "ocaml";
|
||||||
rev = "0d68080b95016f747b7cb63dd36ccdd42d40016e";
|
rev = "b50ba2e822ff3a780f9b5a323d48e40881a88fc7";
|
||||||
sha256 = "1dxg82xqjx4yh4sg2dy48ybn4czv9yq0q3zpr29sxp1grvwvrg2b";
|
sha256 = "10im6z3nrkn0yh8004jwk68gjl0lz7qq3dpj24q50nhhqabw9ah5";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
|
||||||
@ -4751,12 +4772,12 @@
|
|||||||
cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "cmake-mode";
|
pname = "cmake-mode";
|
||||||
version = "3.10.1";
|
version = "3.10.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Kitware";
|
owner = "Kitware";
|
||||||
repo = "CMake";
|
repo = "CMake";
|
||||||
rev = "166bf4c490b8f46eca057fc23c3f3c2e042e9cb3";
|
rev = "c1e087a9d3af74299d7681c9f9de59e5977a1539";
|
||||||
sha256 = "1qgny1px7afgxi7hj12fg0zk55sy9mbk0w5sigamyzxp336nfxmz";
|
sha256 = "08qw6kq3l7dv37s5mppqxb6ys22h733k0qh2llzk2430wv5y9crk";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
|
||||||
@ -6038,12 +6059,12 @@
|
|||||||
counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "counsel-etags";
|
pname = "counsel-etags";
|
||||||
version = "1.3.7";
|
version = "1.3.8";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "redguardtoo";
|
owner = "redguardtoo";
|
||||||
repo = "counsel-etags";
|
repo = "counsel-etags";
|
||||||
rev = "921fa5a062bda9a0f9226fdaa76530ad809ff7b9";
|
rev = "e05fdb306eee197d63976d24bf0e16db241c6c06";
|
||||||
sha256 = "1qvp3ihchfwy57sfnnkk6m591s381w57ppig9c0izlbzw3n7hi7n";
|
sha256 = "1m6m2ygafy38483rd8qfq4zwmw1x7m5zpnvqdmsckiqik3s2z98n";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
|
||||||
@ -6353,12 +6374,12 @@
|
|||||||
csound-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, multi, shut-up }:
|
csound-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, multi, shut-up }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "csound-mode";
|
pname = "csound-mode";
|
||||||
version = "0.1.2";
|
version = "0.2.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hlolli";
|
owner = "hlolli";
|
||||||
repo = "csound-mode";
|
repo = "csound-mode";
|
||||||
rev = "877c7c9d5bdc6a2acf4ac1a10e9e24ba1bd3cc76";
|
rev = "5a892e6ad72e7844e8e14c0da04fcb6bc125fe5e";
|
||||||
sha256 = "1vsngs42n8xp72701ppvmwyy6b90vnj39fq12yvp7x9zqf29lmq1";
|
sha256 = "1gzg2r7agllz2asp7dbxykydpnw3861whs2pfhr3fwwb39xf1pva";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c940d29de11e43b4abf2901c466c94d426a21818/recipes/csound-mode";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/c940d29de11e43b4abf2901c466c94d426a21818/recipes/csound-mode";
|
||||||
@ -6476,6 +6497,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
cubicle-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "cubicle-mode";
|
||||||
|
version = "1.1.2";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "cubicle-model-checker";
|
||||||
|
repo = "cubicle";
|
||||||
|
rev = "b043b0247bf9b144a5c3360e5096a4b141dd1fb6";
|
||||||
|
sha256 = "0zsfz1h68xpbgdb1ln8l081vwrgd7i01ap4rjlyrsk8j3q3ry5wz";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/81c29c912b83cbb536d30ba04130b39c0e5e5969/recipes/cubicle-mode";
|
||||||
|
sha256 = "0xcmd0s6dfryl1ihfaqq0pfqc906yzzwk3d3nv8g6b6w78pv1lzv";
|
||||||
|
name = "cubicle-mode";
|
||||||
|
};
|
||||||
|
packageRequires = [];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/cubicle-mode";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
cuda-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
cuda-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "cuda-mode";
|
pname = "cuda-mode";
|
||||||
@ -6626,12 +6668,12 @@
|
|||||||
dante = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild, s }:
|
dante = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "dante";
|
pname = "dante";
|
||||||
version = "1.3";
|
version = "1.4";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jyp";
|
owner = "jyp";
|
||||||
repo = "dante";
|
repo = "dante";
|
||||||
rev = "6b260611dc08468fca9b9af132a00783dd2cf8d9";
|
rev = "1a25bf26ee8d9878ce858cfaff84b083339056d6";
|
||||||
sha256 = "0s5wi010sn3ng9fr7fqbc11kmjqirr28wya3rnnzzb3m5gyxs8id";
|
sha256 = "0kvsx9n8qm9s2w9bz167jzcb1b3d4fgc807w1miwil9dcyar6rkk";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
|
||||||
@ -6815,12 +6857,12 @@
|
|||||||
datetime = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
datetime = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "datetime";
|
pname = "datetime";
|
||||||
version = "0.3";
|
version = "0.3.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "doublep";
|
owner = "doublep";
|
||||||
repo = "datetime";
|
repo = "datetime";
|
||||||
rev = "082d2c7b0e38c26a8c46af9c9956a2e100d88e71";
|
rev = "d99e56785d750d6c7e416955f047fe057fae54a6";
|
||||||
sha256 = "0fdswqi53qx924lib7nd9dazn0916xf1ybrh3bcn3f8cn6b8ikg5";
|
sha256 = "0s2pmj2wpprmdx1mppbch8i1srwhfl2pzyhsmczan75wmiblpqfj";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/fff9f0748b0ef76130b24e85ed109325256f956e/recipes/datetime";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/fff9f0748b0ef76130b24e85ed109325256f956e/recipes/datetime";
|
||||||
@ -6962,12 +7004,12 @@
|
|||||||
deft = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
deft = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "deft";
|
pname = "deft";
|
||||||
version = "0.7";
|
version = "0.8";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jrblevin";
|
owner = "jrblevin";
|
||||||
repo = "deft";
|
repo = "deft";
|
||||||
rev = "4001a55cf5f79cdbfa00f1405e8a4645af4acd40";
|
rev = "c4b30d780bfa732ff52d85f0311e4a045f44a7b4";
|
||||||
sha256 = "157c6ck6gb59i7dikbdnaq7cwlh3nnk0vqgil4v1294s2xbpp46n";
|
sha256 = "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/deft";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/deft";
|
||||||
@ -7235,12 +7277,12 @@
|
|||||||
dimmer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
dimmer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "dimmer";
|
pname = "dimmer";
|
||||||
version = "0.2.1";
|
version = "0.2.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gonewest818";
|
owner = "gonewest818";
|
||||||
repo = "dimmer.el";
|
repo = "dimmer.el";
|
||||||
rev = "b0faaa6919e633229ced07ff8bd8b5c68b90243a";
|
rev = "031be18db14c5c45758d64584b0f94d77e8f32da";
|
||||||
sha256 = "04k7m5kg2a32ldgxfc2jkdwbmxzyc3yv66871ywv9152db2g7iml";
|
sha256 = "0csj6194cjds4lzyk850jfndg38447w0dk6xza4vafwx2nd9lfvf";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/8ae80e9202d69ed3214325dd15c4b2f114263954/recipes/dimmer";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/8ae80e9202d69ed3214325dd15c4b2f114263954/recipes/dimmer";
|
||||||
@ -8690,12 +8732,12 @@
|
|||||||
edit-server = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
edit-server = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "edit-server";
|
pname = "edit-server";
|
||||||
version = "1.13";
|
version = "1.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "stsquad";
|
owner = "stsquad";
|
||||||
repo = "emacs_chrome";
|
repo = "emacs_chrome";
|
||||||
rev = "f0db18f0d6e9885e4aef3ace8342fd6f635fadf6";
|
rev = "4e959de2f78268b348d2eaac4e43c846792d345f";
|
||||||
sha256 = "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn";
|
sha256 = "0xxby3ghs38i1l7kag12rnzlzcg9297pm8k6kqq3aqzsg9d2950y";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d98d69008b5ca8b92fa7a6045b9d1af86f269386/recipes/edit-server";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/d98d69008b5ca8b92fa7a6045b9d1af86f269386/recipes/edit-server";
|
||||||
@ -9115,6 +9157,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
elcord = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "elcord";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Zulu-Inuoe";
|
||||||
|
repo = "elcord";
|
||||||
|
rev = "91c665fd832ef3b79c3eb810b7a6b08979a352cd";
|
||||||
|
sha256 = "04nxyj94rmi22wfasi4lavn3lzkcpxpr5ksfqc8dfq9bllz4c9pa";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/36b64d0fead049df5ebd6606943a8f769324539e/recipes/elcord";
|
||||||
|
sha256 = "044mwil9alh2v7bjj8yvx8azym2b7a5xb0c7y0r0k2vj72wiirjb";
|
||||||
|
name = "elcord";
|
||||||
|
};
|
||||||
|
packageRequires = [ emacs ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/elcord";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
eldoc-eval = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
eldoc-eval = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "eldoc-eval";
|
pname = "eldoc-eval";
|
||||||
@ -9181,12 +9244,12 @@
|
|||||||
elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "elfeed";
|
pname = "elfeed";
|
||||||
version = "2.2.0";
|
version = "2.3.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "skeeto";
|
owner = "skeeto";
|
||||||
repo = "elfeed";
|
repo = "elfeed";
|
||||||
rev = "79077efc34aad25bb43cf46a28a69a308196c972";
|
rev = "00b25d974abc4f3e61676068397758035bfdfc30";
|
||||||
sha256 = "1xsy7qr9k9ad5ig9vvf9bbxc5ik5xi1kpmq87q9iq3g321idcwnl";
|
sha256 = "0qivqhz2mhjyqrqkfjrv8q6387cbzwvmyay2jbws5vibwbxjciwz";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed";
|
||||||
@ -9223,12 +9286,12 @@
|
|||||||
elfeed-web = callPackage ({ elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, simple-httpd }:
|
elfeed-web = callPackage ({ elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, simple-httpd }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "elfeed-web";
|
pname = "elfeed-web";
|
||||||
version = "2.2.0";
|
version = "2.3.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "skeeto";
|
owner = "skeeto";
|
||||||
repo = "elfeed";
|
repo = "elfeed";
|
||||||
rev = "79077efc34aad25bb43cf46a28a69a308196c972";
|
rev = "00b25d974abc4f3e61676068397758035bfdfc30";
|
||||||
sha256 = "1xsy7qr9k9ad5ig9vvf9bbxc5ik5xi1kpmq87q9iq3g321idcwnl";
|
sha256 = "0qivqhz2mhjyqrqkfjrv8q6387cbzwvmyay2jbws5vibwbxjciwz";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web";
|
||||||
@ -9433,12 +9496,12 @@
|
|||||||
elpa-mirror = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
elpa-mirror = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "elpa-mirror";
|
pname = "elpa-mirror";
|
||||||
version = "2.1.0";
|
version = "2.1.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "redguardtoo";
|
owner = "redguardtoo";
|
||||||
repo = "elpa-mirror";
|
repo = "elpa-mirror";
|
||||||
rev = "9cf096448b69c795b20aab89557e9add6029b13c";
|
rev = "83a38b5721c459d311833522903de96f874e1a4e";
|
||||||
sha256 = "05la1v1p7wyrjflh8lv3pwr7ywm2rvvzhh8phr24w31jfs2kp4gf";
|
sha256 = "0j2nk1nhbihfqajkmzp3501mhv5617qhb7qbj46qz8azs8a1dvri";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d64ce7042c45f29fb394be25ce415912182bac8b/recipes/elpa-mirror";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/d64ce7042c45f29fb394be25ce415912182bac8b/recipes/elpa-mirror";
|
||||||
@ -9545,12 +9608,12 @@
|
|||||||
elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "elx";
|
pname = "elx";
|
||||||
version = "1.1.1";
|
version = "1.2.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "emacscollective";
|
owner = "emacscollective";
|
||||||
repo = "elx";
|
repo = "elx";
|
||||||
rev = "9f5d593b65686e8da29ef79457c8f6fc061af7e5";
|
rev = "127fd4fca8ac6470cfda62f47bb1c29859862cfc";
|
||||||
sha256 = "1vs7nmsi82gv9mw1mia6ri1vmn26ldwnj8akirqgq31rfgyfj4vh";
|
sha256 = "0j7j7wh89a34scilw11pbdb86nf515ig38pjkwyarfvj93gigc04";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx";
|
||||||
@ -12435,12 +12498,12 @@
|
|||||||
fish-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
fish-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "fish-mode";
|
pname = "fish-mode";
|
||||||
version = "0.1.2";
|
version = "0.1.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wwwjfy";
|
owner = "wwwjfy";
|
||||||
repo = "emacs-fish";
|
repo = "emacs-fish";
|
||||||
rev = "22aabbccd564883684f6d224b8e0a512f334be41";
|
rev = "cd0387f7f1d5c50e080091f86ca97d8a67d603a6";
|
||||||
sha256 = "17djaz79spms9il71m4xdfjhm58dzswb6fpncngkgx8kxvcy9y24";
|
sha256 = "0q4cq1rkiz5mjxhp7p5awmw59q1yjb2sryc9i54cwhr5dwwqf95k";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/efac97c0f54a3300251020c4626056526c18b441/recipes/fish-mode";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/efac97c0f54a3300251020c4626056526c18b441/recipes/fish-mode";
|
||||||
@ -13048,6 +13111,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
flycheck-mmark = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "flycheck-mmark";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mmark-md";
|
||||||
|
repo = "flycheck-mmark";
|
||||||
|
rev = "b73b40cb9c5cf6bc6fa501aa87a4c30b210c0c5f";
|
||||||
|
sha256 = "1w75accl67i0qwadwp7dgpxaj0i8zwckvv5isyn93vknzw5dz66x";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/2fd10423ab80e32245bb494005c8f87a8987fffb/recipes/flycheck-mmark";
|
||||||
|
sha256 = "0lnw7pz40hijcpi9b92vjxvvyh9v50ww2f2r8z9pyhl9mjy2245x";
|
||||||
|
name = "flycheck-mmark";
|
||||||
|
};
|
||||||
|
packageRequires = [ emacs flycheck ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/flycheck-mmark";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
flycheck-nimsuggest = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, nim-mode }:
|
flycheck-nimsuggest = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, nim-mode }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "flycheck-nimsuggest";
|
pname = "flycheck-nimsuggest";
|
||||||
@ -14760,12 +14844,12 @@
|
|||||||
ghub-plus = callPackage ({ apiwrap, emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
|
ghub-plus = callPackage ({ apiwrap, emacs, fetchFromGitHub, fetchurl, ghub, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ghub-plus";
|
pname = "ghub-plus";
|
||||||
version = "0.2";
|
version = "0.2.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vermiculus";
|
owner = "vermiculus";
|
||||||
repo = "ghub-plus";
|
repo = "ghub-plus";
|
||||||
rev = "e04050f81106029c342deb7adbfc67b2a888ec58";
|
rev = "8cfdaf42446a68e6aa4eb0655d43563407cb5636";
|
||||||
sha256 = "0ydd6aiy8x878jlzp88gi30yslhkcin0rbdjirj2vjs88cfvcjq6";
|
sha256 = "0acfqf1219bnzyf64sv68fvpi4a13nc0wv8dz5a8h6r1j0ysx6qj";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/03a412fd25218ff6f302734e078a699ff0234e36/recipes/ghub+";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/03a412fd25218ff6f302734e078a699ff0234e36/recipes/ghub+";
|
||||||
@ -18065,12 +18149,12 @@
|
|||||||
helm-org-rifle = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
|
helm-org-rifle = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "helm-org-rifle";
|
pname = "helm-org-rifle";
|
||||||
version = "1.4.2";
|
version = "1.5.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alphapapa";
|
owner = "alphapapa";
|
||||||
repo = "helm-org-rifle";
|
repo = "helm-org-rifle";
|
||||||
rev = "26749ff9f34b2abddf7c47ff71b1046942e38398";
|
rev = "68f01726795ca3054cfc6327dcdb22c9c83dfdfa";
|
||||||
sha256 = "1q969rlqj706wdzd3s54pqpfpqkg18bzl5srl7xkw43cfzxpcpj2";
|
sha256 = "0vak9phqgxz5dk1zj3i4cs94y797h77qadirsf33gl073cg95l8a";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle";
|
||||||
@ -18632,12 +18716,12 @@
|
|||||||
helpful = callPackage ({ dash, dash-functional, elisp-refs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }:
|
helpful = callPackage ({ dash, dash-functional, elisp-refs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "helpful";
|
pname = "helpful";
|
||||||
version = "0.5";
|
version = "0.6";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Wilfred";
|
owner = "Wilfred";
|
||||||
repo = "helpful";
|
repo = "helpful";
|
||||||
rev = "9fdbf5b24df28b046731db1c7a1cc90338d55dce";
|
rev = "e1b660e2a48b39b0a81119c2593362dd60076757";
|
||||||
sha256 = "13kw0i4vhd8fgwgchap5qxckvhs00ifr7z68whnd3xzklx3v47bj";
|
sha256 = "031hglxwlq8fryi8vs11hyflcrk09qc9qja28nqby0adn20z47mc";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
|
||||||
@ -19409,12 +19493,12 @@
|
|||||||
ialign = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
ialign = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ialign";
|
pname = "ialign";
|
||||||
version = "0.2.0";
|
version = "0.4.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mkcms";
|
owner = "mkcms";
|
||||||
repo = "interactive-align";
|
repo = "interactive-align";
|
||||||
rev = "df591e452f9a56c69fb69de961baa75751bae3d8";
|
rev = "1d00ab870d06b946d94e5e6d340b85a3e51fbfb1";
|
||||||
sha256 = "1k3c0wxbn6yrd75275ny66avp70qpd3glnmagsgq3x8mbyxh233d";
|
sha256 = "191w5di4f0in49h60xmc5d6xaisbkv8y9f9bxzc3162c4b982qfr";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/072f1f7ce17e2972863bce10af9c52b3c6502eab/recipes/ialign";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/072f1f7ce17e2972863bce10af9c52b3c6502eab/recipes/ialign";
|
||||||
@ -19889,6 +19973,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
imake = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "imake";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "tarsius";
|
||||||
|
repo = "imake";
|
||||||
|
rev = "edd2e59f7996c35450987cf8f137ecb54777e9ca";
|
||||||
|
sha256 = "12mq1ki001jgjdfr3fx43z1xz4jrki18rb0wkb7n956dvl34w0fg";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/28de8f7f5302b27c7c6600ad65a998119518be43/recipes/imake";
|
||||||
|
sha256 = "0j732fi6999n9990w4l28raw140fvqfbynyh4x65yilhw95r7c34";
|
||||||
|
name = "imake";
|
||||||
|
};
|
||||||
|
packageRequires = [ emacs ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/imake";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
imapfilter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
imapfilter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "imapfilter";
|
pname = "imapfilter";
|
||||||
@ -20141,6 +20246,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
inf-crystal = callPackage ({ crystal-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "inf-crystal";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "brantou";
|
||||||
|
repo = "inf-crystal.el";
|
||||||
|
rev = "71a330f2d29e2fb4f51d223cf6230b88620a80af";
|
||||||
|
sha256 = "0vija33n2j4j5inzm29qk1bjzaxjm97zn263j15258pqxwkbddv3";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/ff84c742eebb84577f362b2739f4bcf1434d58ac/recipes/inf-crystal";
|
||||||
|
sha256 = "09ssq7i5c2fxxbrsp3nn1f1ah1yv2nb19n5s1iqyykkk316k2q26";
|
||||||
|
name = "inf-crystal";
|
||||||
|
};
|
||||||
|
packageRequires = [ crystal-mode emacs ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/inf-crystal";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "inf-ruby";
|
pname = "inf-ruby";
|
||||||
@ -21569,12 +21695,12 @@
|
|||||||
kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "kaolin-themes";
|
pname = "kaolin-themes";
|
||||||
version = "1.1.1";
|
version = "1.2.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ogdenwebb";
|
owner = "ogdenwebb";
|
||||||
repo = "emacs-kaolin-themes";
|
repo = "emacs-kaolin-themes";
|
||||||
rev = "d4a1cbae1fc77192e5844291821709c82c9dc455";
|
rev = "88a25b89a480f1193cc1c5502f3a5d0b68cb7227";
|
||||||
sha256 = "04k2yz3vrj1h0zf6cz0jd97fg8zah2j980l5ycsgyy0dk9ysink8";
|
sha256 = "03bbpaih29yx8s16v59mca8v6sak6294zq7d534613la28n4h6w7";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
|
||||||
@ -23115,12 +23241,12 @@
|
|||||||
magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "magit-popup";
|
pname = "magit-popup";
|
||||||
version = "2.12.0";
|
version = "2.12.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "magit";
|
owner = "magit";
|
||||||
repo = "magit-popup";
|
repo = "magit-popup";
|
||||||
rev = "05a836caf02eba91fa26bdf5dd6fd183fe23937d";
|
rev = "ab75385a1fb8c0fba0769d448b13ba8324835261";
|
||||||
sha256 = "08p57alfbkcsqkhnfjhfckqhans278ffjyhhhvgy8s7asa6as9kl";
|
sha256 = "0ky4l3k3camh1paa5ap9frr9hcadj7nj40l3imiiqfcvgyl8ijp6";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup";
|
||||||
@ -23136,12 +23262,12 @@
|
|||||||
magit-rockstar = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
|
magit-rockstar = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "magit-rockstar";
|
pname = "magit-rockstar";
|
||||||
version = "1.0.6";
|
version = "1.1.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tarsius";
|
owner = "tarsius";
|
||||||
repo = "magit-rockstar";
|
repo = "magit-rockstar";
|
||||||
rev = "a65042e3445008b55190f1258ae54bd78e12174b";
|
rev = "c8320472e8a50c8299140ba0943bb1fe485d294a";
|
||||||
sha256 = "1wbbg9jr9kl69sbq9b9dgwvnplmdzjyanwfcncamw3lfcjfnw1bn";
|
sha256 = "1xjym51z0v7ibxw059f6k3zljli6z390rmxvrywbfzkb8hqms0l1";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a20b539cbd38ffa546c1b56b9fac78c0b9457f6/recipes/magit-rockstar";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a20b539cbd38ffa546c1b56b9fac78c0b9457f6/recipes/magit-rockstar";
|
||||||
@ -25388,12 +25514,12 @@
|
|||||||
no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "no-littering";
|
pname = "no-littering";
|
||||||
version = "0.5.11";
|
version = "0.5.12";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "emacscollective";
|
owner = "emacscollective";
|
||||||
repo = "no-littering";
|
repo = "no-littering";
|
||||||
rev = "a4b42b185b65e78bc3bb6523e23aefb1213eb3b2";
|
rev = "8e321f1036770c20637a0f946b655805cd070e25";
|
||||||
sha256 = "1yzcawvz3vbq6pgr0b3sk0qg24jx1fpkinwcmsdl283ib8msbc7g";
|
sha256 = "11hxf0fkka4mv1qsw0nx3ymvgcav95r2bvk1gwyj5m5cbwb4a1n9";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/no-littering";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/no-littering";
|
||||||
@ -25490,11 +25616,11 @@
|
|||||||
}) {};
|
}) {};
|
||||||
notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
|
notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
|
||||||
pname = "notmuch";
|
pname = "notmuch";
|
||||||
version = "0.26pre2";
|
version = "0.26";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://git.notmuchmail.org/git/notmuch";
|
url = "git://git.notmuchmail.org/git/notmuch";
|
||||||
rev = "4cb1eeba83416a12c616aca6469c027b8b8a303d";
|
rev = "3c4e64d976eb561ac5157df1bbe5882e3e65b583";
|
||||||
sha256 = "0brcdwblfj3nb2ca0izvhlm3x1pf0r72wsa9f2hf0ssnh9w2z40s";
|
sha256 = "00a9ggrc63n88g7vp57c09r859pl2dbxnqgf543ks94lm0jzyz3f";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
|
||||||
@ -25531,12 +25657,12 @@
|
|||||||
nov = callPackage ({ dash, emacs, esxml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
nov = callPackage ({ dash, emacs, esxml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "nov";
|
pname = "nov";
|
||||||
version = "0.2.1";
|
version = "0.2.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wasamasa";
|
owner = "wasamasa";
|
||||||
repo = "nov.el";
|
repo = "nov.el";
|
||||||
rev = "19ab463864f137b43704b4f34173349c88e84d8e";
|
rev = "4ef20ebb587ffb0ab73c85ad5748d41af1071596";
|
||||||
sha256 = "00f5hhw157nwdwy26yn6l3z2hgk6xxvx5xl0hasskj1l9rg0zgh2";
|
sha256 = "03s0qjvwk1f7y3i4wh2p5y3z4hdv00adgz8za3vphzc0q8i1kjzb";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov";
|
||||||
@ -26182,12 +26308,12 @@
|
|||||||
omnisharp = callPackage ({ auto-complete, cl-lib ? null, csharp-mode, dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, s, shut-up }:
|
omnisharp = callPackage ({ auto-complete, cl-lib ? null, csharp-mode, dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, s, shut-up }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "omnisharp";
|
pname = "omnisharp";
|
||||||
version = "4.1";
|
version = "4.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OmniSharp";
|
owner = "OmniSharp";
|
||||||
repo = "omnisharp-emacs";
|
repo = "omnisharp-emacs";
|
||||||
rev = "95f56022edf9fcaba8402db05a6927af050b12a8";
|
rev = "588b8482685adedbc56933cb13c58d9cc6a82456";
|
||||||
sha256 = "133maq29hfjaq4vilz9wvr9vjkschkpydkw2197sscv7whfzv78j";
|
sha256 = "1iqwxc19jvcb2gsm2aq59zblg1qjmbxgb2yl3h3aybqp968j3i00";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
|
||||||
@ -27397,6 +27523,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
org-wild-notifier = callPackage ({ alert, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "org-wild-notifier";
|
||||||
|
version = "0.2.1";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "akhramov";
|
||||||
|
repo = "org-wild-notifier.el";
|
||||||
|
rev = "f5bf3b13c630265051904cb4c9a0613ead86847c";
|
||||||
|
sha256 = "0z2flnqimwndq8w7ahi57n7a87l5iknn3dpwirxynq4brzazzi7j";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/114552a24f73f13b253e3db4885039b680f6ef33/recipes/org-wild-notifier";
|
||||||
|
sha256 = "1lmpa614jnkpmfg3m1d2wjn9w0zig3gwd02n3dyjn23n71fiyhkp";
|
||||||
|
name = "org-wild-notifier";
|
||||||
|
};
|
||||||
|
packageRequires = [ alert dash org ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/org-wild-notifier";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
org2blog = callPackage ({ fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, metaweblog, org, xml-rpc }:
|
org2blog = callPackage ({ fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, metaweblog, org, xml-rpc }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "org2blog";
|
pname = "org2blog";
|
||||||
@ -28310,12 +28457,12 @@
|
|||||||
parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "parsebib";
|
pname = "parsebib";
|
||||||
version = "2.3.1";
|
version = "2.3.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "joostkremers";
|
owner = "joostkremers";
|
||||||
repo = "parsebib";
|
repo = "parsebib";
|
||||||
rev = "bc31b627c666df576aa37e21c27a2223b3cb91a3";
|
rev = "c8d59deb20552f9a1885297b5ae0b8f753d191a5";
|
||||||
sha256 = "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh";
|
sha256 = "1b1iiiy184czp014gg1bb3jks9frmkw8hs5z2l2lnzjmfjr6jm6g";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
|
||||||
@ -29040,6 +29187,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
php-runtime = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "php-runtime";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "emacs-php";
|
||||||
|
repo = "php-runtime.el";
|
||||||
|
rev = "fa4312863245511462b75cb31df2f8558288f4df";
|
||||||
|
sha256 = "1glwy0cgnn0z4rnd45pqy0bmyaddhxfjlj778hz7ghy40h9kqbdn";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/615c9ac208d8c20082a8ac83e49e93d99e2cbc89/recipes/php-runtime";
|
||||||
|
sha256 = "0dvnwajrjsgyqzglzpkx9vwx3f55mrag6dsbdjqc9vvpvxhmgfwb";
|
||||||
|
name = "php-runtime";
|
||||||
|
};
|
||||||
|
packageRequires = [ cl-lib emacs ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/php-runtime";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
phpcbf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
phpcbf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "phpcbf";
|
pname = "phpcbf";
|
||||||
@ -29292,6 +29460,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
play-crystal = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "play-crystal";
|
||||||
|
version = "0.1.2";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "veelenga";
|
||||||
|
repo = "play-crystal.el";
|
||||||
|
rev = "86b54346e7c832c14f8e5654a462f6490a6b11d7";
|
||||||
|
sha256 = "0kvkr24f8r21pahm2lsvbr9bg53770wxwpdfmmjljs2zmgxf2c40";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/92715977136afa731e85e894542dc88b664b3304/recipes/play-crystal";
|
||||||
|
sha256 = "1jqf36b1mhyf4j7fs386g6isy09q7k8zwdc4rb34mhjg1a56gcnf";
|
||||||
|
name = "play-crystal";
|
||||||
|
};
|
||||||
|
packageRequires = [ dash emacs request ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/play-crystal";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
play-routes-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
play-routes-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "play-routes-mode";
|
pname = "play-routes-mode";
|
||||||
@ -31491,12 +31680,12 @@
|
|||||||
req-package = callPackage ({ dash, fetchFromGitHub, fetchurl, ht, lib, log4e, melpaBuild, use-package }:
|
req-package = callPackage ({ dash, fetchFromGitHub, fetchurl, ht, lib, log4e, melpaBuild, use-package }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "req-package";
|
pname = "req-package";
|
||||||
version = "1.0";
|
version = "1.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "edvorg";
|
owner = "edvorg";
|
||||||
repo = "req-package";
|
repo = "req-package";
|
||||||
rev = "30f76a9c52994562191c90c315002410706f6c0b";
|
rev = "0c0ac7451149dac6bfda2adfe959d1df1c273de6";
|
||||||
sha256 = "0qdr2pshfq6v75s9hx9wgvn56pd7b65vaqaa64dryr7v4yzd4r15";
|
sha256 = "0sx3kw1gpliifbc0gh2z1lvig68v3gwqjbj0izgn77js8kqxad84";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/f58a801f0791566d0c39493a5f82ff0d15d7ab41/recipes/req-package";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/f58a801f0791566d0c39493a5f82ff0d15d7ab41/recipes/req-package";
|
||||||
@ -31680,12 +31869,12 @@
|
|||||||
rg = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
rg = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "rg";
|
pname = "rg";
|
||||||
version = "1.4.0";
|
version = "1.4.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dajva";
|
owner = "dajva";
|
||||||
repo = "rg.el";
|
repo = "rg.el";
|
||||||
rev = "5de611eae7787ecbc285fe7e31e412b9281a4e14";
|
rev = "68984092d0e0725057e7b67ba32016903170f189";
|
||||||
sha256 = "18mhcipj5yywd5648pwm955wx3ipsnp9nwjyyl270qnn56hwkb6g";
|
sha256 = "0qd3qh640339n1dn1isk23xhnkj0pds08yzfak4ijxyzlgl63bdq";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg";
|
||||||
@ -36169,12 +36358,12 @@
|
|||||||
treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, pfuture, s }:
|
treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, pfuture, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "treemacs";
|
pname = "treemacs";
|
||||||
version = "1.15.3";
|
version = "1.16.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexander-Miller";
|
owner = "Alexander-Miller";
|
||||||
repo = "treemacs";
|
repo = "treemacs";
|
||||||
rev = "2dabf88d5948a04d0313b0195be397761fc22b58";
|
rev = "ef7597d5e99d50efd014bfa9f01046956d0da95f";
|
||||||
sha256 = "0j1ampw5i3m0q69cp2nf9xr9qqxiyasjk7wmsg9nwnx7sibhfddk";
|
sha256 = "15379w0frxwl9p1xraqapn9r2wra75g8mjybj41jd1y65acjg9wg";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs";
|
||||||
@ -36190,12 +36379,12 @@
|
|||||||
treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
|
treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "treemacs-evil";
|
pname = "treemacs-evil";
|
||||||
version = "1.15.3";
|
version = "1.16.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexander-Miller";
|
owner = "Alexander-Miller";
|
||||||
repo = "treemacs";
|
repo = "treemacs";
|
||||||
rev = "2dabf88d5948a04d0313b0195be397761fc22b58";
|
rev = "ef7597d5e99d50efd014bfa9f01046956d0da95f";
|
||||||
sha256 = "0j1ampw5i3m0q69cp2nf9xr9qqxiyasjk7wmsg9nwnx7sibhfddk";
|
sha256 = "15379w0frxwl9p1xraqapn9r2wra75g8mjybj41jd1y65acjg9wg";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-evil";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-evil";
|
||||||
@ -36211,12 +36400,12 @@
|
|||||||
treemacs-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, treemacs }:
|
treemacs-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, treemacs }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "treemacs-projectile";
|
pname = "treemacs-projectile";
|
||||||
version = "1.15.3";
|
version = "1.16.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexander-Miller";
|
owner = "Alexander-Miller";
|
||||||
repo = "treemacs";
|
repo = "treemacs";
|
||||||
rev = "2dabf88d5948a04d0313b0195be397761fc22b58";
|
rev = "ef7597d5e99d50efd014bfa9f01046956d0da95f";
|
||||||
sha256 = "0j1ampw5i3m0q69cp2nf9xr9qqxiyasjk7wmsg9nwnx7sibhfddk";
|
sha256 = "15379w0frxwl9p1xraqapn9r2wra75g8mjybj41jd1y65acjg9wg";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-projectile";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a680ee3b4a0ab286ac04d84b3fba7606b40c65b/recipes/treemacs-projectile";
|
||||||
@ -37792,12 +37981,12 @@
|
|||||||
which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "which-key";
|
pname = "which-key";
|
||||||
version = "3.0.2";
|
version = "3.1.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "justbur";
|
owner = "justbur";
|
||||||
repo = "emacs-which-key";
|
repo = "emacs-which-key";
|
||||||
rev = "6d2e17c949ff7bfebfe0b0878a93d94b31585031";
|
rev = "7559a79e95aada65601f7413a1c3f08bfa34557b";
|
||||||
sha256 = "03szbjp6j6rjj43k3vs2jay4y7bnhhh1ymgqv8vvdnqsf88pdg88";
|
sha256 = "1l9m04hypk8j5qkg7rlhsknj9hx5l3zjy97s3kv7wbcwvcx3yxhz";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key";
|
||||||
@ -38089,8 +38278,8 @@
|
|||||||
version = "0.9.8";
|
version = "0.9.8";
|
||||||
src = fetchhg {
|
src = fetchhg {
|
||||||
url = "https://bitbucket.com/ArneBab/wisp";
|
url = "https://bitbucket.com/ArneBab/wisp";
|
||||||
rev = "52fa9101d8c4";
|
rev = "d04938232934";
|
||||||
sha256 = "1ijzd3xmygkkkwm0ckkmi576y93drcs63l6bsc8qz2pvjcn5k8sw";
|
sha256 = "1sjadb0kh3hrdsvwywi04agrzrs21sxzh1v1km0z3x6f15nr048c";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
|
||||||
@ -38127,12 +38316,12 @@
|
|||||||
with-editor = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
with-editor = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "with-editor";
|
pname = "with-editor";
|
||||||
version = "2.7.0";
|
version = "2.7.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "magit";
|
owner = "magit";
|
||||||
repo = "with-editor";
|
repo = "with-editor";
|
||||||
rev = "99d3278b1c79718de16dd4f57dcc8c4aa31a4051";
|
rev = "04d59d68dab58a7cf3034c84d8ba0553b78ae30c";
|
||||||
sha256 = "1mcfinr1wv87hqn2787dcyn7lkgfni4xfgsji50pwj3zfgg0yqyr";
|
sha256 = "080f39m9nmi163arpmxw45xwadb7q7w7p385yi1jy62bzvqnk0pm";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor";
|
||||||
@ -38754,6 +38943,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
yapfify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "yapfify";
|
||||||
|
version = "0.0.6";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "JorisE";
|
||||||
|
repo = "yapfify";
|
||||||
|
rev = "9e63a9135bd8dbfbee55819837a3aa0d119c5e6f";
|
||||||
|
sha256 = "1bf09hah2g8x0jbrdh4fm1v01qjymiv38yvv8a5qmfpv5k93lcrc";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/060c32d8e9fdc56fe702d265a935d74d76082f86/recipes/yapfify";
|
||||||
|
sha256 = "0scl8lk1c5i7jp1qj5gg8zf3zyi8lkb57ijkmvcs4czzlyv3y9bm";
|
||||||
|
name = "yapfify";
|
||||||
|
};
|
||||||
|
packageRequires = [];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/yapfify";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
yard-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
yard-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "yard-mode";
|
pname = "yard-mode";
|
||||||
@ -38864,8 +39074,8 @@
|
|||||||
version = "1.80";
|
version = "1.80";
|
||||||
src = fetchhg {
|
src = fetchhg {
|
||||||
url = "https://www.yatex.org/hgrepos/yatex/";
|
url = "https://www.yatex.org/hgrepos/yatex/";
|
||||||
rev = "668632d9392e";
|
rev = "5bb46b7ab3de";
|
||||||
sha256 = "1d37yr7yqqg1gavi3406rv9rfvcm5ic365jhs6pispfx1kr77k6n";
|
sha256 = "1ap043fq9yl2n4slrjkjld9b743ac7ygj52z9af709v6sa660ahg";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/e28710244a1bef8f56156fe1c271520896a9c694/recipes/yatex";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/e28710244a1bef8f56156fe1c271520896a9c694/recipes/yatex";
|
||||||
|
@ -164,9 +164,6 @@ self:
|
|||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
qiita = markBroken super.qiita;
|
qiita = markBroken super.qiita;
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
rcirc-menu = markBroken super.rcirc-menu;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
speech-tagger = markBroken super.speech-tagger;
|
speech-tagger = markBroken super.speech-tagger;
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ callPackage }: {
|
{ callPackage }: {
|
||||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||||
pname = "org";
|
pname = "org";
|
||||||
version = "20180108";
|
version = "20180122";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://orgmode.org/elpa/org-20180108.tar";
|
url = "https://orgmode.org/elpa/org-20180122.tar";
|
||||||
sha256 = "02rs7zi3dzps0mlyfbgiywd2smnlw0pk8ps1nqk0d5hx3n6d15yv";
|
sha256 = "0a3a5v5x43xknqc6m5rcgdsqlw047w1djq372akfn5wafsk8a916";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
@ -14,10 +14,10 @@
|
|||||||
}) {};
|
}) {};
|
||||||
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||||
pname = "org-plus-contrib";
|
pname = "org-plus-contrib";
|
||||||
version = "20180108";
|
version = "20180122";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://orgmode.org/elpa/org-plus-contrib-20180108.tar";
|
url = "https://orgmode.org/elpa/org-plus-contrib-20180122.tar";
|
||||||
sha256 = "10mhiqsrxxmhsy8dl88r456shx6ajm4w19pz259b960551r596iz";
|
sha256 = "1ss6h03xkvgk2qm1dx4dxxxalbswjc1jl9v87q99nls8iavmqa8x";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -234,12 +234,12 @@ in
|
|||||||
|
|
||||||
clion = buildClion rec {
|
clion = buildClion rec {
|
||||||
name = "clion-${version}";
|
name = "clion-${version}";
|
||||||
version = "2017.3.1"; /* updated by script */
|
version = "2017.3.2"; /* updated by script */
|
||||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||||
sha256 = "19pb78s5pa5ywifi1azs8gpg0a65c9n3yiqng348a7s27azkw01z"; /* updated by script */
|
sha256 = "0lv0nwfgm6h67mxhh0a2154ym7wcbm1qp3k1k1i00lg0lwig1rcw"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-clion";
|
wmClass = "jetbrains-clion";
|
||||||
update-channel = "CLion_Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
update-channel = "CLion_Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
||||||
@ -260,12 +260,12 @@ in
|
|||||||
|
|
||||||
goland = buildGoland rec {
|
goland = buildGoland rec {
|
||||||
name = "goland-${version}";
|
name = "goland-${version}";
|
||||||
version = "2017.3"; /* updated by script */
|
version = "2017.3.1"; /* updated by script */
|
||||||
description = "Up and Coming Go IDE";
|
description = "Up and Coming Go IDE";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
||||||
sha256 = "0l4l0lsmq1g4fwfrxhbrnfsp8nk38ml48cryvdr241zsxz43fax0"; /* updated by script */
|
sha256 = "0cfjfv01ra67sr8n8ijqwd9zm2yzb1nm447kf0mr5cynr124ch0z"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-goland";
|
wmClass = "jetbrains-goland";
|
||||||
update-channel = "goland_release";
|
update-channel = "goland_release";
|
||||||
@ -273,12 +273,12 @@ in
|
|||||||
|
|
||||||
idea-community = buildIdea rec {
|
idea-community = buildIdea rec {
|
||||||
name = "idea-community-${version}";
|
name = "idea-community-${version}";
|
||||||
version = "2017.3.2";
|
version = "2017.3.3"; /* updated by script */
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = stdenv.lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||||
sha256 = "70cc4f36a6517c7af980456758214414ea74c5c4f314ecf30dd2640600badd62"; /* updated by script */
|
sha256 = "1wxaz25609wri2d91s9wy00gngplyjg7gzix3mzdhgysm00qizf1"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea-ce";
|
wmClass = "jetbrains-idea-ce";
|
||||||
update-channel = "IDEA_Release";
|
update-channel = "IDEA_Release";
|
||||||
@ -286,12 +286,12 @@ in
|
|||||||
|
|
||||||
idea-ultimate = buildIdea rec {
|
idea-ultimate = buildIdea rec {
|
||||||
name = "idea-ultimate-${version}";
|
name = "idea-ultimate-${version}";
|
||||||
version = "2017.3.2"; /* updated by script */
|
version = "2017.3.3"; /* updated by script */
|
||||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
|
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
|
||||||
sha256 = "0lygnhn2wbs1678g3jbd3c5yzxnjp106qx7v9kgvb1k6l9mqb3my"; /* updated by script */
|
sha256 = "01d5a6m927q9bnjlpz8va8bfjnj52k8q6i3im5ygj6lwadbzawyf"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea";
|
wmClass = "jetbrains-idea";
|
||||||
update-channel = "IDEA_Release";
|
update-channel = "IDEA_Release";
|
||||||
@ -299,12 +299,12 @@ in
|
|||||||
|
|
||||||
phpstorm = buildPhpStorm rec {
|
phpstorm = buildPhpStorm rec {
|
||||||
name = "phpstorm-${version}";
|
name = "phpstorm-${version}";
|
||||||
version = "2017.3.2";
|
version = "2017.3.3"; /* updated by script */
|
||||||
description = "Professional IDE for Web and PHP developers";
|
description = "Professional IDE for Web and PHP developers";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
||||||
sha256 = "1grkqvj4j33d8hmy11ipkcci20sw7jpnc5zl28a9g85f2pzvsvs0";
|
sha256 = "0mk4d2c41qvfz7sqxqw7adak86pm95wvhzxrfg32y01r5i5q0av7"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-phpstorm";
|
wmClass = "jetbrains-phpstorm";
|
||||||
update-channel = "PS2017.3";
|
update-channel = "PS2017.3";
|
||||||
@ -312,12 +312,12 @@ in
|
|||||||
|
|
||||||
pycharm-community = buildPycharm rec {
|
pycharm-community = buildPycharm rec {
|
||||||
name = "pycharm-community-${version}";
|
name = "pycharm-community-${version}";
|
||||||
version = "2017.3.2"; /* updated by script */
|
version = "2017.3.3"; /* updated by script */
|
||||||
description = "PyCharm Community Edition";
|
description = "PyCharm Community Edition";
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = stdenv.lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||||
sha256 = "1xp4hva2wj2r3haqwmji4vpg6xm9fsx2xihslwmq89vfrbzybyq6"; /* updated by script */
|
sha256 = "1j9pp8lfy62d9l3953d5mpij60s6sqyv3bcjimgy85hsrw570x3r"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm-ce";
|
wmClass = "jetbrains-pycharm-ce";
|
||||||
update-channel = "PyCharm_Release";
|
update-channel = "PyCharm_Release";
|
||||||
@ -325,12 +325,12 @@ in
|
|||||||
|
|
||||||
pycharm-professional = buildPycharm rec {
|
pycharm-professional = buildPycharm rec {
|
||||||
name = "pycharm-professional-${version}";
|
name = "pycharm-professional-${version}";
|
||||||
version = "2017.3.2"; /* updated by script */
|
version = "2017.3.3"; /* updated by script */
|
||||||
description = "PyCharm Professional Edition";
|
description = "PyCharm Professional Edition";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||||
sha256 = "0bqavq9f9pg82yh04bpzpb3a36980v2bn70j1ch6gsm3hdd75swv"; /* updated by script */
|
sha256 = "180cwva49air4j7g409algrm4svvmcbapspf9als3djhazqmczgr"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm";
|
wmClass = "jetbrains-pycharm";
|
||||||
update-channel = "PyCharm_Release";
|
update-channel = "PyCharm_Release";
|
||||||
@ -351,12 +351,12 @@ in
|
|||||||
|
|
||||||
ruby-mine = buildRubyMine rec {
|
ruby-mine = buildRubyMine rec {
|
||||||
name = "ruby-mine-${version}";
|
name = "ruby-mine-${version}";
|
||||||
version = "2017.3.1"; /* updated by script */
|
version = "2017.3.2"; /* updated by script */
|
||||||
description = "The Most Intelligent Ruby and Rails IDE";
|
description = "The Most Intelligent Ruby and Rails IDE";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
||||||
sha256 = "01y89blg30y41j2h254mhf7b7d7nd3bgscinn03vpkjfg7hzr689"; /* updated by script */
|
sha256 = "1dc14k7i0nfhkzi0j53hysqzxcls29j487jr9kv1aqp81k544bdy"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-rubymine";
|
wmClass = "jetbrains-rubymine";
|
||||||
update-channel = "rm2017.3";
|
update-channel = "rm2017.3";
|
||||||
@ -364,12 +364,12 @@ in
|
|||||||
|
|
||||||
webstorm = buildWebStorm rec {
|
webstorm = buildWebStorm rec {
|
||||||
name = "webstorm-${version}";
|
name = "webstorm-${version}";
|
||||||
version = "2017.3.2"; /* updated by script */
|
version = "2017.3.3"; /* updated by script */
|
||||||
description = "Professional IDE for Web and JavaScript development";
|
description = "Professional IDE for Web and JavaScript development";
|
||||||
license = stdenv.lib.licenses.unfree;
|
license = stdenv.lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
||||||
sha256 = "1if99qjpnf9x7d3f1anpiglg9lwc3phamfd4wbyi9yjnk3rf5qcr"; /* updated by script */
|
sha256 = "1fhs13944928rqcqbv8d29qm1y0zzry4drr9gqqmj814y2vkbpnl"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-webstorm";
|
wmClass = "jetbrains-webstorm";
|
||||||
update-channel = "WS_Release";
|
update-channel = "WS_Release";
|
||||||
|
@ -1,16 +1,7 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
|
{ stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
|
||||||
, libtool, libuv, luaPackages, ncurses, perl, pkgconfig
|
, libtool, libuv, luaPackages, ncurses, perl, pkgconfig
|
||||||
, unibilium, makeWrapper, vimUtils, xsel, gperf, callPackage
|
, unibilium, vimUtils, xsel, gperf, callPackage
|
||||||
|
|
||||||
, withPython ? true, pythonPackages, extraPythonPackages ? []
|
|
||||||
, withPython3 ? true, python3Packages, extraPython3Packages ? []
|
|
||||||
, withJemalloc ? true, jemalloc
|
, withJemalloc ? true, jemalloc
|
||||||
, withRuby ? true, bundlerEnv, ruby
|
|
||||||
|
|
||||||
, withPyGUI ? false
|
|
||||||
, vimAlias ? false
|
|
||||||
, viAlias ? false
|
|
||||||
, configure ? null
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
@ -41,59 +32,20 @@ let
|
|||||||
description = "VT220/xterm/ECMA-48 terminal emulator library";
|
description = "VT220/xterm/ECMA-48 terminal emulator library";
|
||||||
homepage = http://www.leonerd.org.uk/code/libvterm/;
|
homepage = http://www.leonerd.org.uk/code/libvterm/;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ nckx garbas ];
|
maintainers = with maintainers; [ garbas ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
rubyEnv = bundlerEnv {
|
|
||||||
name = "neovim-ruby-env";
|
|
||||||
gemdir = ./ruby_provider;
|
|
||||||
postBuild = ''
|
|
||||||
ln -s ${ruby}/bin/* $out/bin
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
rubyWrapper = ''--cmd \"let g:ruby_host_prog='$out/bin/nvim-ruby'\" '';
|
|
||||||
|
|
||||||
pluginPythonPackages = if configure == null then [] else builtins.concatLists
|
|
||||||
(map ({ pythonDependencies ? [], ...}: pythonDependencies)
|
|
||||||
(vimUtils.requiredPlugins configure));
|
|
||||||
pythonEnv = pythonPackages.python.buildEnv.override {
|
|
||||||
extraLibs = (
|
|
||||||
if withPyGUI
|
|
||||||
then [ pythonPackages.neovim_gui ]
|
|
||||||
else [ pythonPackages.neovim ]
|
|
||||||
) ++ extraPythonPackages ++ pluginPythonPackages;
|
|
||||||
ignoreCollisions = true;
|
|
||||||
};
|
|
||||||
pythonWrapper = ''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" '';
|
|
||||||
|
|
||||||
pluginPython3Packages = if configure == null then [] else builtins.concatLists
|
|
||||||
(map ({ python3Dependencies ? [], ...}: python3Dependencies)
|
|
||||||
(vimUtils.requiredPlugins configure));
|
|
||||||
python3Env = python3Packages.python.buildEnv.override {
|
|
||||||
extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages ++ pluginPython3Packages;
|
|
||||||
ignoreCollisions = true;
|
|
||||||
};
|
|
||||||
python3Wrapper = ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '';
|
|
||||||
|
|
||||||
additionalFlags =
|
|
||||||
optionalString (withPython || withPython3 || withRuby)
|
|
||||||
''--add-flags "${(optionalString withPython pythonWrapper) +
|
|
||||||
(optionalString withPython3 python3Wrapper) +
|
|
||||||
(optionalString withRuby rubyWrapper)}" --unset PYTHONPATH '' +
|
|
||||||
optionalString (withRuby)
|
|
||||||
''--suffix PATH : ${rubyEnv}/bin --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath} '';
|
|
||||||
|
|
||||||
neovim = stdenv.mkDerivation rec {
|
neovim = stdenv.mkDerivation rec {
|
||||||
name = "neovim-${version}";
|
name = "neovim-unwrapped-${version}";
|
||||||
version = "0.2.1";
|
version = "0.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neovim";
|
owner = "neovim";
|
||||||
repo = "neovim";
|
repo = "neovim";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "19ppj0i59kk70j09gap6azm0jm4y95fr5fx7n9gx377y3xjs8h03";
|
sha256 = "1dxr29d0hyag7snbww5s40as90412qb61rgj7gd9rps1iccl9gv4";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@ -113,7 +65,6 @@ let
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
gettext
|
gettext
|
||||||
makeWrapper
|
|
||||||
pkgconfig
|
pkgconfig
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -140,17 +91,6 @@ let
|
|||||||
install_name_tool -change libjemalloc.1.dylib \
|
install_name_tool -change libjemalloc.1.dylib \
|
||||||
${jemalloc}/lib/libjemalloc.1.dylib \
|
${jemalloc}/lib/libjemalloc.1.dylib \
|
||||||
$out/bin/nvim
|
$out/bin/nvim
|
||||||
'' + optionalString withPython ''
|
|
||||||
ln -s ${pythonEnv}/bin/python $out/bin/nvim-python
|
|
||||||
'' + optionalString withPython3 ''
|
|
||||||
ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
|
|
||||||
'' + optionalString withPython3 ''
|
|
||||||
ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
|
|
||||||
'' + optionalString withPyGUI ''
|
|
||||||
makeWrapper "${pythonEnv}/bin/pynvim" "$out/bin/pynvim" \
|
|
||||||
--prefix PATH : "$out/bin"
|
|
||||||
'' + optionalString (withPython || withPython3 || withRuby) ''
|
|
||||||
wrapProgram $out/bin/nvim ${additionalFlags}
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
@ -175,24 +115,5 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in if (vimAlias == false && viAlias == false && configure == null)
|
in
|
||||||
then neovim
|
neovim
|
||||||
else stdenv.mkDerivation {
|
|
||||||
name = "neovim-${neovim.version}-configured";
|
|
||||||
inherit (neovim) version meta;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
buildCommand = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
for item in ${neovim}/bin/*; do
|
|
||||||
ln -s $item $out/bin/
|
|
||||||
done
|
|
||||||
'' + optionalString vimAlias ''
|
|
||||||
ln -s $out/bin/nvim $out/bin/vim
|
|
||||||
'' + optionalString viAlias ''
|
|
||||||
ln -s $out/bin/nvim $out/bin/vi
|
|
||||||
'' + optionalString (configure != null) ''
|
|
||||||
wrapProgram $out/bin/nvim --add-flags "-u ${vimUtils.vimrcFile configure}"
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
msgpack (1.1.0)
|
msgpack (1.2.2)
|
||||||
multi_json (1.12.2)
|
multi_json (1.13.1)
|
||||||
neovim (0.6.1)
|
neovim (0.6.2)
|
||||||
msgpack (~> 1.0)
|
msgpack (~> 1.0)
|
||||||
multi_json (~> 1.0)
|
multi_json (~> 1.0)
|
||||||
|
|
||||||
|
@ -2,26 +2,26 @@
|
|||||||
msgpack = {
|
msgpack = {
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0ck7w17d6b4jbb8inh1q57bghi9cjkiaxql1d3glmj1yavbpmlh7";
|
sha256 = "1ai0sfdv9jnr333fsvkn7a8vqvn0iwiw83yj603a3i68ds1x6di1";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.0";
|
version = "1.2.2";
|
||||||
};
|
};
|
||||||
multi_json = {
|
multi_json = {
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x";
|
sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.12.2";
|
version = "1.13.1";
|
||||||
};
|
};
|
||||||
neovim = {
|
neovim = {
|
||||||
dependencies = ["msgpack" "multi_json"];
|
dependencies = ["msgpack" "multi_json"];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1dnv2pdl8lwwy4av8bqc6kdlgxw88dmajm4fkdk6hc7qdx1sw234";
|
sha256 = "15r3j9bwlpm1ry7cp6059xb0irvsvvlmw53i28z6sf2khwfj5j53";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.6.1";
|
version = "0.6.2";
|
||||||
};
|
};
|
||||||
}
|
}
|
111
pkgs/applications/editors/neovim/wrapper.nix
Normal file
111
pkgs/applications/editors/neovim/wrapper.nix
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
{ stdenv, lib, makeDesktopItem, makeWrapper, lndir
|
||||||
|
, vimUtils
|
||||||
|
, neovim
|
||||||
|
, bundlerEnv, ruby
|
||||||
|
, pythonPackages
|
||||||
|
, python3Packages
|
||||||
|
}:
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
|
neovim:
|
||||||
|
|
||||||
|
let
|
||||||
|
wrapper = {
|
||||||
|
name ? "neovim"
|
||||||
|
, withPython ? true, extraPythonPackages ? []
|
||||||
|
, withPython3 ? true, extraPython3Packages ? []
|
||||||
|
, withRuby ? true
|
||||||
|
, withPyGUI ? false
|
||||||
|
, vimAlias ? false
|
||||||
|
, viAlias ? false
|
||||||
|
, configure ? null
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
|
||||||
|
rubyEnv = bundlerEnv {
|
||||||
|
name = "neovim-ruby-env";
|
||||||
|
gemdir = ./ruby_provider;
|
||||||
|
postBuild = ''
|
||||||
|
ln -s ${ruby}/bin/* $out/bin
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
pluginPythonPackages = if configure == null then [] else builtins.concatLists
|
||||||
|
(map ({ pythonDependencies ? [], ...}: pythonDependencies)
|
||||||
|
(vimUtils.requiredPlugins configure));
|
||||||
|
pythonEnv = pythonPackages.python.buildEnv.override {
|
||||||
|
extraLibs = (
|
||||||
|
if withPyGUI
|
||||||
|
then [ pythonPackages.neovim_gui ]
|
||||||
|
else [ pythonPackages.neovim ]
|
||||||
|
) ++ extraPythonPackages ++ pluginPythonPackages;
|
||||||
|
ignoreCollisions = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
pluginPython3Packages = if configure == null then [] else builtins.concatLists
|
||||||
|
(map ({ python3Dependencies ? [], ...}: python3Dependencies)
|
||||||
|
(vimUtils.requiredPlugins configure));
|
||||||
|
python3Env = python3Packages.python.buildEnv.override {
|
||||||
|
extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages ++ pluginPython3Packages;
|
||||||
|
ignoreCollisions = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
inherit name;
|
||||||
|
buildCommand = let bin="${neovim}/bin/nvim"; in ''
|
||||||
|
if [ ! -x "${bin}" ]
|
||||||
|
then
|
||||||
|
echo "cannot find executable file \`${bin}'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
makeWrapper "$(readlink -v --canonicalize-existing "${bin}")" \
|
||||||
|
"$out/bin/nvim" --add-flags " \
|
||||||
|
--cmd \"${if withPython then "let g:python_host_prog='$out/bin/nvim-python'" else "let g:loaded_python_provider = 1"}\" \
|
||||||
|
--cmd \"${if withPython3 then "let g:python3_host_prog='$out/bin/nvim-python3'" else "let g:loaded_python3_provider = 1"}\" \
|
||||||
|
--cmd \"${if withRuby then "let g:ruby_host_prog='$out/bin/nvim-ruby'" else "let g:loaded_ruby_provider=1"}\" " \
|
||||||
|
--unset PYTHONPATH \
|
||||||
|
${optionalString withRuby '' --suffix PATH : ${rubyEnv}/bin --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' }
|
||||||
|
|
||||||
|
''
|
||||||
|
+ optionalString (!stdenv.isDarwin) ''
|
||||||
|
# copy and patch the original neovim.desktop file
|
||||||
|
mkdir -p $out/share/applications
|
||||||
|
substitute ${neovim}/share/applications/nvim.desktop $out/share/applications/nvim.desktop \
|
||||||
|
--replace 'TryExec=nvim' "TryExec=$out/bin/nvim" \
|
||||||
|
--replace 'Name=Neovim' 'Name=WrappedNeovim'
|
||||||
|
''
|
||||||
|
+ optionalString withPython ''
|
||||||
|
ln -s ${pythonEnv}/bin/python $out/bin/nvim-python
|
||||||
|
'' + optionalString withPython3 ''
|
||||||
|
ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3
|
||||||
|
'' + optionalString withRuby ''
|
||||||
|
ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
|
||||||
|
''
|
||||||
|
+ optionalString withPyGUI ''
|
||||||
|
makeWrapper "${pythonEnv}/bin/pynvim" "$out/bin/pynvim" \
|
||||||
|
--prefix PATH : "$out/bin"
|
||||||
|
'' + optionalString vimAlias ''
|
||||||
|
ln -s $out/bin/nvim $out/bin/vim
|
||||||
|
'' + optionalString viAlias ''
|
||||||
|
ln -s $out/bin/nvim $out/bin/vi
|
||||||
|
'' + optionalString (configure != null) ''
|
||||||
|
wrapProgram $out/bin/nvim --add-flags "-u ${vimUtils.vimrcFile configure}"
|
||||||
|
''
|
||||||
|
;
|
||||||
|
|
||||||
|
preferLocalBuild = true;
|
||||||
|
|
||||||
|
buildInputs = [makeWrapper];
|
||||||
|
passthru = { unwrapped = neovim; };
|
||||||
|
|
||||||
|
meta = neovim.meta // {
|
||||||
|
description = neovim.meta.description;
|
||||||
|
hydraPlatforms = [];
|
||||||
|
# prefer wrapper over the package
|
||||||
|
priority = (neovim.meta.priority or 0) - 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
lib.makeOverridable wrapper
|
@ -1,10 +1,10 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, makeDesktopItem, cmake, boost, zlib, openssl
|
{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost
|
||||||
, R, qtbase, qtwebkit, qtwebchannel, libuuid, hunspellDicts, unzip, ant, jdk
|
, zlib, openssl, R, qtbase, qtwebkit, qtwebchannel, libuuid, hunspellDicts
|
||||||
, gnumake, makeWrapper, pandoc
|
, unzip, ant, jdk, gnumake, makeWrapper, pandoc
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.1.383";
|
version = "1.1.414";
|
||||||
ginVer = "1.5";
|
ginVer = "1.5";
|
||||||
gwtVer = "2.7.0";
|
gwtVer = "2.7.0";
|
||||||
in
|
in
|
||||||
@ -15,19 +15,15 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel libuuid ];
|
buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel libuuid ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz";
|
owner = "rstudio";
|
||||||
sha256 = "06680l9amq03b4jarmzfr605bijhb79fip9rk464zab6hgwqbp3f";
|
repo = "rstudio";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1rr2zkv53r8swhq5d745jpp0ivxpsizzh7srf34isqpkn5pgx3v8";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Hack RStudio to only use the input R.
|
# Hack RStudio to only use the input R.
|
||||||
patches = [
|
patches = [ ./r-location.patch ];
|
||||||
./r-location.patch
|
|
||||||
(fetchpatch {
|
|
||||||
url = https://aur.archlinux.org/cgit/aur.git/plain/socketproxy-openssl.patch?h=rstudio-desktop-git;
|
|
||||||
sha256 = "0ywq9rk14s5961l6hvd3cw70jsm73r16h0bsh4yp52vams7cwy9d";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}";
|
postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}";
|
||||||
|
|
||||||
inherit ginVer;
|
inherit ginVer;
|
||||||
@ -49,14 +45,18 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk";
|
sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk";
|
||||||
};
|
};
|
||||||
|
|
||||||
rmarkdownSrc = fetchurl {
|
rmarkdownSrc = fetchFromGitHub {
|
||||||
url = "https://github.com/rstudio/rmarkdown/archive/95b8b1fa64f78ca99f225a67fff9817103be56.zip";
|
owner = "rstudio";
|
||||||
sha256 = "12fa65qr04rwsprkmyl651mkaqcbn1znwsmcjg4qsk9n5nxg0fah";
|
repo = "rmarkdown";
|
||||||
|
rev = "v1.8";
|
||||||
|
sha256 = "1blqxdr1vp2z5wd52nmf8hq36sdd4s2pyms441dqj50v35f8girb";
|
||||||
};
|
};
|
||||||
|
|
||||||
rsconnectSrc = fetchurl {
|
rsconnectSrc = fetchFromGitHub {
|
||||||
url = "https://github.com/rstudio/rsconnect/archive/425f3767b3142bc6b81c9eb62c4722f1eedc9781.zip";
|
owner = "rstudio";
|
||||||
sha256 = "1sgf9dj9wfk4c6n5p1jc45386pf0nj2alg2j9qx09av3can1dy9p";
|
repo = "rsconnect";
|
||||||
|
rev = "953c945779dd180c1bfe68f41c173c13ec3e222d";
|
||||||
|
sha256 = "1yxwd9v4mvddh7m5rbljicmssw7glh1lhin7a9f01vxxa92vpj7z";
|
||||||
};
|
};
|
||||||
|
|
||||||
rstudiolibclang = fetchurl {
|
rstudiolibclang = fetchurl {
|
||||||
@ -88,8 +88,10 @@ stdenv.mkDerivation rec {
|
|||||||
done
|
done
|
||||||
|
|
||||||
unzip $mathJaxSrc -d dependencies/common/mathjax-26
|
unzip $mathJaxSrc -d dependencies/common/mathjax-26
|
||||||
unzip $rmarkdownSrc -d dependencies/common/rmarkdown
|
mkdir -p dependencies/common/rmarkdown
|
||||||
unzip $rsconnectSrc -d dependencies/common/rsconnect
|
ln -s $rmarkdownSrc dependencies/common/rmarkdown/
|
||||||
|
mkdir -p dependencies/common/rsconnect
|
||||||
|
ln -s $rsconnectSrc dependencies/common/rsconnect/
|
||||||
mkdir -p dependencies/common/libclang/3.5
|
mkdir -p dependencies/common/libclang/3.5
|
||||||
unzip $rstudiolibclang -d dependencies/common/libclang/3.5
|
unzip $rstudiolibclang -d dependencies/common/libclang/3.5
|
||||||
mkdir -p dependencies/common/libclang/builtin-headers
|
mkdir -p dependencies/common/libclang/builtin-headers
|
||||||
|
@ -6,10 +6,10 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "sigil-${version}";
|
name = "sigil-${version}";
|
||||||
version = "0.9.7";
|
version = "0.9.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
sha256 = "17m2f7pj2sx5rxrbry6wk1lvviy8fi2m270h47sisywnrhddarh7";
|
sha256 = "01pvc7k54mx5c7h1qiw92d4j459psv7n9xg94qbinf8vmpvkrcbw";
|
||||||
rev = version;
|
rev = version;
|
||||||
repo = "Sigil";
|
repo = "Sigil";
|
||||||
owner = "Sigil-Ebook";
|
owner = "Sigil-Ebook";
|
||||||
|
@ -25,6 +25,5 @@ stdenv.mkDerivation rec {
|
|||||||
gpl2Plus # all the rest
|
gpl2Plus # all the rest
|
||||||
];
|
];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.nckx ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ lib, fetchFromGitHub }:
|
{ lib, fetchFromGitHub }:
|
||||||
rec {
|
rec {
|
||||||
version = "8.0.1257";
|
version = "8.0.1428";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vim";
|
owner = "vim";
|
||||||
repo = "vim";
|
repo = "vim";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1y4c7wn5gr7n4c2ni36kadr26aldydxlf06yj7nsmw22ywwg78ig";
|
sha256 = "0pqqh7g96w8jfc5kvv2il6fcbhccwhk4k5skk52g1c1ixsblwz3y";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
"vim_cv_toupper_broken=no"
|
"vim_cv_toupper_broken=no"
|
||||||
"--with-tlib=ncurses"
|
"--with-tlib=ncurses"
|
||||||
"vim_cv_terminfo=yes"
|
"vim_cv_terminfo=yes"
|
||||||
|
"vim_cv_tgetent=zero" # it does on native anyway
|
||||||
"vim_cv_tty_group=tty"
|
"vim_cv_tty_group=tty"
|
||||||
"vim_cv_tty_mode=0660"
|
"vim_cv_tty_mode=0660"
|
||||||
"vim_cv_getcwd_broken=no"
|
"vim_cv_getcwd_broken=no"
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
|
makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.19.1";
|
version = "1.19.2";
|
||||||
channel = "stable";
|
channel = "stable";
|
||||||
|
|
||||||
plat = {
|
plat = {
|
||||||
@ -12,9 +12,9 @@ let
|
|||||||
}.${stdenv.system};
|
}.${stdenv.system};
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
"i686-linux" = "0ypx1jrzg76f8p4yh9hi3bhsrc6w4r7rg6i2aa6q7s8ny0q9hrlx";
|
"i686-linux" = "05qfcmwl1r43slwkb2rxh99hwpzd8c622la0ffd9p2jg4lbkgs1p";
|
||||||
"x86_64-linux" = "1934wdiy2d1fzcjxjyf60dw1g1pp3lk2wv41xgrabfy5j2xfz14r";
|
"x86_64-linux" = "0kjwmw68av9mnqcg1vaazm3k240y9jvbng6n7ycgzxwddzx0qlac";
|
||||||
"x86_64-darwin" = "1zbcddgdwvmnk1gpmgw6rz0rswhkfc72wcjdbvgghm4msfwcgvc8";
|
"x86_64-darwin" = "1mjmi5r9qlc6ggh3w566454ar06by15xsm6dymr8zv4sb352w70h";
|
||||||
}.${stdenv.system};
|
}.${stdenv.system};
|
||||||
|
|
||||||
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
@ -14,8 +14,8 @@ let
|
|||||||
else throw "ImageMagick is not supported on this platform.";
|
else throw "ImageMagick is not supported on this platform.";
|
||||||
|
|
||||||
cfg = {
|
cfg = {
|
||||||
version = "7.0.7-19";
|
version = "7.0.7-21";
|
||||||
sha256 = "1naib6hspmq7d4gfpsksx78gc1lq3p2v3i9pxkkdvr9p9j15c4az";
|
sha256 = "0680dbg77gcyb3g4n22z5mp7c8mg0jpkqb0g4nj7d7r78nl869rv";
|
||||||
patches = [];
|
patches = [];
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
@ -14,8 +14,8 @@ let
|
|||||||
else throw "ImageMagick is not supported on this platform.";
|
else throw "ImageMagick is not supported on this platform.";
|
||||||
|
|
||||||
cfg = {
|
cfg = {
|
||||||
version = "6.9.9-28";
|
version = "6.9.9-33";
|
||||||
sha256 = "132kdl7jlkghfg3smdab14c29cpvrx65ibipxkmwg1nc88ycqivh";
|
sha256 = "05931wfhllrb1c2g2nwnwaf1wazn60y5f70gd11qcqp46rif7z21";
|
||||||
patches = [];
|
patches = [];
|
||||||
}
|
}
|
||||||
# Freeze version on mingw so we don't need to port the patch too often.
|
# Freeze version on mingw so we don't need to port the patch too often.
|
||||||
|
@ -22,6 +22,5 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Tools to trace OpenGL, OpenGL ES, Direct3D, and DirectDraw APIs";
|
description = "Tools to trace OpenGL, OpenGL ES, Direct3D, and DirectDraw APIs";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ nckx ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ mkDerivation, lib, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook, fetchpatch
|
{ mkDerivation, lib, fetchFromGitHub, cmake, doxygen, extra-cmake-modules, wrapGAppsHook, fetchpatch
|
||||||
|
|
||||||
# For `digitaglinktree`
|
# For `digitaglinktree`
|
||||||
, perl, sqlite
|
, perl, sqlite
|
||||||
@ -50,11 +50,13 @@
|
|||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
name = "digikam-${version}";
|
name = "digikam-${version}";
|
||||||
version = "5.7.0";
|
version = "5.8.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "mirror://kde/stable/digikam/${name}.tar.xz";
|
owner = "KDE";
|
||||||
sha256 = "1xah079g47fih8l9qy1ifppfvmq5yms5y1z54nvxdyz8nsszy19n";
|
repo = "digikam";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1bvidg0fn92xvw5brhb34lm7m4iy4jb5xpvnhbgh8vik2m4n41w1";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
|
nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
|
||||||
@ -83,8 +85,7 @@ mkDerivation rec {
|
|||||||
qtsvg
|
qtsvg
|
||||||
qtwebkit
|
qtwebkit
|
||||||
|
|
||||||
# https://bugs.kde.org/show_bug.cgi?id=387960
|
kcalcore
|
||||||
#kcalcore
|
|
||||||
kconfigwidgets
|
kconfigwidgets
|
||||||
kcoreaddons
|
kcoreaddons
|
||||||
kfilemetadata
|
kfilemetadata
|
||||||
@ -112,20 +113,6 @@ mkDerivation rec {
|
|||||||
--replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"
|
--replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
|
||||||
# fix Qt-5.9.3 empty album problem
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://cgit.kde.org/digikam.git/patch/?id=855ba5b7d4bc6337234720a72ea824ddd3b32e5b";
|
|
||||||
sha256 = "0zk8p182piy6xn9v0mhwawya9ciq596vql1qc3lgnx371a97mmni";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
patchFlags = "-d core -p1";
|
|
||||||
|
|
||||||
# `en make -f core/utilities/assistants/expoblending/CMakeFiles/expoblending_src.dir/build.make core/utilities/assistants/expoblending/CMakeFiles/expoblending_src.dir/manager/expoblendingthread.cpp.o`:
|
|
||||||
# digikam_version.h:37:24: fatal error: gitversion.h: No such file or directory
|
|
||||||
enableParallelBuilding = false;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Photo Management Program";
|
description = "Photo Management Program";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user