Merge branch 'master' into staging
* master: (293 commits) go_1_9: skip flaky TestServerCancelsReadTimeoutWhenIdle qsyncthingtray: fix build qt56.qtwebengine: fix build stdman: d860212 -> 2017.04.02 jackett: use mono50 hg-git: disable with python3 hg-git: 0.8.5 -> 0.8.10 xfce4-settings: enable parallel building gcc-snapshot: mark as broken heaptrack: 2017-02-14 -> 2017-10-30 nixos-container: Modify existing test to cover show-ip command nixos-container: Make show-ip work together with ipv4 + netmask linux-copperhead: 4.13.12.a -> 4.13.13.a matterbridge: 1.1.0 -> 1.4.1 nixos/nghttpx: add module for the nghttpx proxy server (#31680) mattermost: 4.3.0 -> 4.4.0 breakpad: delete simp_le: 0.2.0 -> 0.6.1 certbot: 0.11.1 -> 0.19.0 afl: 2.51b -> 2.52b ...
This commit is contained in:
commit
d99a2fc093
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
@ -80,3 +80,6 @@
|
|||||||
|
|
||||||
# Eclipse
|
# Eclipse
|
||||||
/pkgs/applications/editors/eclipse @rycee
|
/pkgs/applications/editors/eclipse @rycee
|
||||||
|
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/31401
|
||||||
|
/lib/maintainers.nix @ghost
|
||||||
|
8
.github/CONTRIBUTING.md
vendored
8
.github/CONTRIBUTING.md
vendored
@ -12,11 +12,11 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
|
|||||||
|
|
||||||
## Submitting changes
|
## Submitting changes
|
||||||
|
|
||||||
* Format the commits in the following way:
|
* Format the commit messages in the following way:
|
||||||
|
|
||||||
```
|
```
|
||||||
(pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)
|
(pkg-name | nixos/<module>): (from -> to | init at version | refactor | etc)
|
||||||
|
|
||||||
(Motivation for change. Additional information.)
|
(Motivation for change. Additional information.)
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -25,10 +25,10 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
|
|||||||
* nginx: init at 2.0.1
|
* nginx: init at 2.0.1
|
||||||
* firefox: 54.0.1 -> 55.0
|
* firefox: 54.0.1 -> 55.0
|
||||||
* nixos/hydra: add bazBaz option
|
* nixos/hydra: add bazBaz option
|
||||||
|
|
||||||
Dual baz behavior is needed to do foo.
|
Dual baz behavior is needed to do foo.
|
||||||
* nixos/nginx: refactor config generation
|
* nixos/nginx: refactor config generation
|
||||||
|
|
||||||
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
|
The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
|
||||||
|
|
||||||
* `meta.description` should:
|
* `meta.description` should:
|
||||||
|
6
.github/ISSUE_TEMPLATE.md
vendored
6
.github/ISSUE_TEMPLATE.md
vendored
@ -8,7 +8,5 @@
|
|||||||
|
|
||||||
## Technical details
|
## Technical details
|
||||||
|
|
||||||
* System: (NixOS: `nixos-version`, Ubuntu/Fedora: `lsb_release -a`, ...)
|
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the
|
||||||
* Nix version: (run `nix-env --version`)
|
results.
|
||||||
* Nixpkgs version: (run `nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion`)
|
|
||||||
* Sandboxing enabled: (run `grep build-use-sandbox /etc/nix/nix.conf`)
|
|
||||||
|
35
.travis.yml
35
.travis.yml
@ -1,35 +0,0 @@
|
|||||||
language: nix
|
|
||||||
sudo: true
|
|
||||||
# 'sudo: false' == containers that start fast, but only get 4G ram;
|
|
||||||
# 'sudo: true' == VMs that start slow, but with 8G
|
|
||||||
# ..as per: https://docs.travis-ci.com/user/ci-environment/#Virtualization-environments
|
|
||||||
# Nixpkgs PR tests OOM with 4G: https://github.com/NixOS/nixpkgs/issues/24200
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: linux
|
|
||||||
sudo: required
|
|
||||||
script:
|
|
||||||
- ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball nixpkgs-unstable
|
|
||||||
- ./maintainers/scripts/travis-nox-review-pr.sh nixos-options nixos-manual
|
|
||||||
env:
|
|
||||||
- BUILD_TYPE="Test Nixpkgs evaluation & NixOS manual build"
|
|
||||||
- os: linux
|
|
||||||
sudo: required
|
|
||||||
dist: trusty
|
|
||||||
before_script:
|
|
||||||
- sudo mount -o remount,exec,size=2G,mode=755 /run/user
|
|
||||||
script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
|
|
||||||
env:
|
|
||||||
- BUILD_TYPE="Build affected packages (Linux)"
|
|
||||||
- os: osx
|
|
||||||
osx_image: xcode7.3
|
|
||||||
script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr
|
|
||||||
env:
|
|
||||||
- BUILD_TYPE="Build affected packages (macOS)"
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
email: false
|
|
@ -11,7 +11,7 @@
|
|||||||
For example, a typical use of cross compilation is to compile programs for embedded devices.
|
For example, a typical use of cross compilation is to compile programs for embedded devices.
|
||||||
These devices often don't have the computing power and memory to compile their own programs.
|
These devices often don't have the computing power and memory to compile their own programs.
|
||||||
One might think that cross-compilation is a fairly niche concern, but there are advantages to being rigorous about distinguishing build-time vs run-time environments even when one is developing and deploying on the same machine.
|
One might think that cross-compilation is a fairly niche concern, but there are advantages to being rigorous about distinguishing build-time vs run-time environments even when one is developing and deploying on the same machine.
|
||||||
Nixpkgs is increasingly adopting this opinion in that packages should be written with cross-compilation in mind, and nixpkgs should evaluate in a similar way (by minimizing cross-compilation-specific special cases) whether or not one is cross-compiling.
|
Nixpkgs is increasingly adopting the opinion that packages should be written with cross-compilation in mind, and nixpkgs should evaluate in a similar way (by minimizing cross-compilation-specific special cases) whether or not one is cross-compiling.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -30,11 +30,11 @@
|
|||||||
<section>
|
<section>
|
||||||
<title>Platform parameters</title>
|
<title>Platform parameters</title>
|
||||||
<para>
|
<para>
|
||||||
The three GNU Autoconf platforms, <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>, are historically the result of much confusion.
|
Nixpkgs follows the <link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html">common historical convention of GNU autoconf</link> of distinguishing between 3 types of platform: <wordasword>build</wordasword>, <wordasword>host</wordasword>, and <wordasword>target</wordasword>.
|
||||||
<link xlink:href="https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html" /> clears this up somewhat but there is more to be said.
|
|
||||||
An important advice to get out the way is, unless you are packaging a compiler or other build tool, just worry about the build and host platforms.
|
In summary, <wordasword>build</wordasword> is the platform on which a package is being built, <wordasword>host</wordasword> is the platform on which it is to run. The third attribute, <wordasword>target</wordasword>, is relevant only for certain specific compilers and build tools.
|
||||||
Dealing with just two platforms usually better matches people's preconceptions, and in this case is completely correct.
|
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
In Nixpkgs, these three platforms are defined as attribute sets under the names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and <literal>targetPlatform</literal>.
|
In Nixpkgs, these three platforms are defined as attribute sets under the names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and <literal>targetPlatform</literal>.
|
||||||
All three are always defined as attributes in the standard environment, and at the top level. That means one can get at them just like a dependency in a function that is imported with <literal>callPackage</literal>:
|
All three are always defined as attributes in the standard environment, and at the top level. That means one can get at them just like a dependency in a function that is imported with <literal>callPackage</literal>:
|
||||||
@ -52,7 +52,7 @@
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><varname>hostPlatform</varname></term>
|
<term><varname>hostPlatform</varname></term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
The "host platform" is the platform on which a package is run.
|
The "host platform" is the platform on which a package will be run.
|
||||||
This is the simplest platform to understand, but also the one with the worst name.
|
This is the simplest platform to understand, but also the one with the worst name.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -60,22 +60,24 @@
|
|||||||
<term><varname>targetPlatform</varname></term>
|
<term><varname>targetPlatform</varname></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The "target platform" is black sheep.
|
The "target platform" attribute is, unlike the other two attributes, not actually fundamental to the process of building software.
|
||||||
The other two intrinsically apply to all compiled software—or any build process with a notion of "build-time" followed by "run-time".
|
Instead, it is only relevant for compatability with building certain specific compilers and build tools.
|
||||||
The target platform only applies to programming tools, and even then only is a good for for some of them.
|
It can be safely ignored for all other packages.
|
||||||
Briefly, GCC, Binutils, GHC, and certain other tools are written in such a way such that a single build can only compile code for a single platform.
|
|
||||||
Thus, when building them, one must think ahead about which platforms they wish to use the tool to produce machine code for, and build binaries for each.
|
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
There is no fundamental need to think about the target ahead of time like this.
|
The build process of certain compilers is written in such a way that the compiler resulting from a single build can itself only produce binaries for a single platform.
|
||||||
LLVM, for example, was designed from the beginning with cross-compilation in mind, and so a normal LLVM binary will support every architecture that LLVM supports.
|
The task specifying this single "target platform" is thus pushed to build time of the compiler.
|
||||||
If the tool supports modular or pluggable backends, one might imagine specifying a <emphasis>set</emphasis> of target platforms / backends one wishes to support, rather than a single one.
|
The root cause of this mistake is often that the compiler (which will be run on the host) and the the standard library/runtime (which will be run on the target) are built by a single build process.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The biggest reason for mess, if there is one, is that many compilers have the bad habit a build process that builds the compiler and standard library/runtime together.
|
There is no fundamental need to think about a single target ahead of time like this.
|
||||||
Then the specifying target platform is essential, because it determines the host platform of the standard library/runtime.
|
If the tool supports modular or pluggable backends, both the need to specify the target at build time and the constraint of having only a single target disappear.
|
||||||
Nixpkgs tries to avoid this where possible too, but still, because the concept of a target platform is so ingrained now in Autoconf and other tools, it is best to support it as is.
|
An example of such a tool is LLVM.
|
||||||
Tools like LLVM that don't need up-front target platforms can safely ignore it like normal packages, and it will do no harm.
|
</para>
|
||||||
|
<para>
|
||||||
|
Although the existance of a "target platfom" is arguably a historical mistake, it is a common one: examples of tools that suffer from it are GCC, Binutils, GHC and Autoconf.
|
||||||
|
Nixpkgs tries to avoid sharing in the mistake where possible.
|
||||||
|
Still, because the concept of a target platform is so ingrained, it is best to support it as is.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -155,14 +157,22 @@
|
|||||||
<section>
|
<section>
|
||||||
<title>Specifying Dependencies</title>
|
<title>Specifying Dependencies</title>
|
||||||
<para>
|
<para>
|
||||||
As mentioned in the introduction to this chapter, one can think about a build time vs run time distinction whether cross-compiling or not.
|
In this section we explore the relationship between both runtime and buildtime dependencies and the 3 Autoconf platforms.
|
||||||
In the case of cross-compilation, this corresponds with whether a derivation running on the native or foreign platform is produced.
|
</para>
|
||||||
An interesting thing to think about is how this corresponds with the three Autoconf platforms.
|
<para>
|
||||||
In the run-time case, the depending and depended-on package simply have matching build, host, and target platforms.
|
A runtime dependency between 2 packages implies that between them both the host and target platforms match.
|
||||||
But in the build-time case, one can imagine "sliding" the platforms one over.
|
This is directly implied by the meaning of "host platform" and "runtime dependency":
|
||||||
The depended-on package's host and target platforms (respectively) become the depending package's build and host platforms.
|
The package dependency exists while both packages are runnign on a single host platform.
|
||||||
This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
|
</para>
|
||||||
|
<para>
|
||||||
|
A build time dependency, however, implies a shift in platforms between the depending package and the depended-on package.
|
||||||
|
The meaning of a build time dependency is that to build the depending package we need to be able to run the depended-on's package.
|
||||||
|
The depending package's build platform is therefore equal to the depended-on package's host platform.
|
||||||
|
Analogously, the depending package's host platform is equal to the depended-on package's target platform.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
In this manner, given the 3 platforms for one package, we can determine the three platforms for all its transitive dependencies.
|
In this manner, given the 3 platforms for one package, we can determine the three platforms for all its transitive dependencies.
|
||||||
|
This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Some examples will probably make this clearer.
|
Some examples will probably make this clearer.
|
||||||
|
@ -231,7 +231,8 @@ genericBuild
|
|||||||
<listitem><para>
|
<listitem><para>
|
||||||
Like <varname>nativeBuildInputs</varname>, but these dependencies are <emphasis>propagated</emphasis>:
|
Like <varname>nativeBuildInputs</varname>, but these dependencies are <emphasis>propagated</emphasis>:
|
||||||
that is, the dependencies listed here are added to the <varname>nativeBuildInputs</varname> of any package that uses <emphasis>this</emphasis> package as a dependency.
|
that is, the dependencies listed here are added to the <varname>nativeBuildInputs</varname> of any package that uses <emphasis>this</emphasis> package as a dependency.
|
||||||
So if package Y has <literal>propagatedBuildInputs = [X]</literal>, and package Z has <literal>buildInputs = [Y]</literal>, then package X will appear in Z’s build environment automatically.
|
So if package Y has <literal>propagatedNativeBuildInputs = [X]</literal>, and package Z has <literal>nativeBuildInputs = [Y]</literal>,
|
||||||
|
then package X will appear in Z’s build environment automatically.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
asppsa = "Alastair Pharo <asppsa@gmail.com>";
|
asppsa = "Alastair Pharo <asppsa@gmail.com>";
|
||||||
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
||||||
asymmetric = "Lorenzo Manacorda <lorenzo@mailbox.org>";
|
asymmetric = "Lorenzo Manacorda <lorenzo@mailbox.org>";
|
||||||
aszlig = "aszlig <aszlig@redmoonstudios.org>";
|
aszlig = "aszlig <aszlig@nix.build>";
|
||||||
auntie = "Jonathan Glines <auntieNeo@gmail.com>";
|
auntie = "Jonathan Glines <auntieNeo@gmail.com>";
|
||||||
avnik = "Alexander V. Nikolaev <avn@avnik.info>";
|
avnik = "Alexander V. Nikolaev <avn@avnik.info>";
|
||||||
aycanirican = "Aycan iRiCAN <iricanaycan@gmail.com>";
|
aycanirican = "Aycan iRiCAN <iricanaycan@gmail.com>";
|
||||||
@ -111,6 +111,7 @@
|
|||||||
changlinli = "Changlin Li <mail@changlinli.com>";
|
changlinli = "Changlin Li <mail@changlinli.com>";
|
||||||
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>";
|
||||||
choochootrain = "Hurshal Patel <hurshal@imap.cc>";
|
choochootrain = "Hurshal Patel <hurshal@imap.cc>";
|
||||||
chpatrick = "Patrick Chilton <chpatrick@gmail.com>";
|
chpatrick = "Patrick Chilton <chpatrick@gmail.com>";
|
||||||
chris-martin = "Chris Martin <ch.martin@gmail.com>";
|
chris-martin = "Chris Martin <ch.martin@gmail.com>";
|
||||||
@ -144,6 +145,7 @@
|
|||||||
DamienCassou = "Damien Cassou <damien@cassou.me>";
|
DamienCassou = "Damien Cassou <damien@cassou.me>";
|
||||||
danbst = "Danylo Hlynskyi <abcz2.uprola@gmail.com>";
|
danbst = "Danylo Hlynskyi <abcz2.uprola@gmail.com>";
|
||||||
dancek = "Hannu Hartikainen <hannu.hartikainen@gmail.com>";
|
dancek = "Hannu Hartikainen <hannu.hartikainen@gmail.com>";
|
||||||
|
danharaj = "Dan Haraj <dan@obsidian.systems>";
|
||||||
danielfullmer = "Daniel Fullmer <danielrf12@gmail.com>";
|
danielfullmer = "Daniel Fullmer <danielrf12@gmail.com>";
|
||||||
dasuxullebt = "Christoph-Simon Senjak <christoph.senjak@googlemail.com>";
|
dasuxullebt = "Christoph-Simon Senjak <christoph.senjak@googlemail.com>";
|
||||||
david50407 = "David Kuo <me@davy.tw>";
|
david50407 = "David Kuo <me@davy.tw>";
|
||||||
@ -218,6 +220,7 @@
|
|||||||
falsifian = "James Cook <james.cook@utoronto.ca>";
|
falsifian = "James Cook <james.cook@utoronto.ca>";
|
||||||
fare = "Francois-Rene Rideau <fahree@gmail.com>";
|
fare = "Francois-Rene Rideau <fahree@gmail.com>";
|
||||||
fgaz = "Francesco Gazzetta <francygazz@gmail.com>";
|
fgaz = "Francesco Gazzetta <francygazz@gmail.com>";
|
||||||
|
FireyFly = "Jonas Höglund <nix@firefly.nu>";
|
||||||
flokli = "Florian Klink <flokli@flokli.de>";
|
flokli = "Florian Klink <flokli@flokli.de>";
|
||||||
florianjacob = "Florian Jacob <projects+nixos@florianjacob.de>";
|
florianjacob = "Florian Jacob <projects+nixos@florianjacob.de>";
|
||||||
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
|
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
|
||||||
@ -282,6 +285,7 @@
|
|||||||
infinisil = "Silvan Mosberger <infinisil@icloud.com>";
|
infinisil = "Silvan Mosberger <infinisil@icloud.com>";
|
||||||
ironpinguin = "Michele Catalano <michele@catalano.de>";
|
ironpinguin = "Michele Catalano <michele@catalano.de>";
|
||||||
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
|
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
|
||||||
|
ixmatus = "Parnell Springmeyer <parnell@digitalmentat.com>";
|
||||||
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>";
|
||||||
@ -325,6 +329,7 @@
|
|||||||
kaiha = "Kai Harries <kai.harries@gmail.com>";
|
kaiha = "Kai Harries <kai.harries@gmail.com>";
|
||||||
kamilchm = "Kamil Chmielewski <kamil.chm@gmail.com>";
|
kamilchm = "Kamil Chmielewski <kamil.chm@gmail.com>";
|
||||||
kampfschlaefer = "Arnold Krille <arnold@arnoldarts.de>";
|
kampfschlaefer = "Arnold Krille <arnold@arnoldarts.de>";
|
||||||
|
karolchmist = "karolchmist <info+nix@chmist.com>";
|
||||||
kentjames = "James Kent <jameschristopherkent@gmail.com";
|
kentjames = "James Kent <jameschristopherkent@gmail.com";
|
||||||
kevincox = "Kevin Cox <kevincox@kevincox.ca>";
|
kevincox = "Kevin Cox <kevincox@kevincox.ca>";
|
||||||
khumba = "Bryan Gardiner <bog@khumba.net>";
|
khumba = "Bryan Gardiner <bog@khumba.net>";
|
||||||
|
@ -1,82 +0,0 @@
|
|||||||
#! /usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
while test -n "$1"; do
|
|
||||||
|
|
||||||
# tell Travis to use folding
|
|
||||||
echo -en "travis_fold:start:$1\r"
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
|
|
||||||
nixpkgs-verify)
|
|
||||||
echo "=== Verifying that nixpkgs evaluates..."
|
|
||||||
|
|
||||||
nix-env --file $TRAVIS_BUILD_DIR --query --available --json > /dev/null
|
|
||||||
;;
|
|
||||||
|
|
||||||
nixos-options)
|
|
||||||
echo "=== Checking NixOS options"
|
|
||||||
|
|
||||||
nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr options --show-trace
|
|
||||||
;;
|
|
||||||
|
|
||||||
nixos-manual)
|
|
||||||
echo "=== Checking NixOS manuals"
|
|
||||||
|
|
||||||
nix-build $TRAVIS_BUILD_DIR/nixos/release.nix --attr manual --show-trace
|
|
||||||
;;
|
|
||||||
|
|
||||||
nixpkgs-manual)
|
|
||||||
echo "=== Checking nixpkgs manuals"
|
|
||||||
|
|
||||||
nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr manual --show-trace
|
|
||||||
;;
|
|
||||||
|
|
||||||
nixpkgs-tarball)
|
|
||||||
echo "=== Checking nixpkgs tarball creation"
|
|
||||||
|
|
||||||
nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr tarball --show-trace
|
|
||||||
;;
|
|
||||||
|
|
||||||
nixpkgs-unstable)
|
|
||||||
echo "=== Checking nixpkgs unstable job"
|
|
||||||
|
|
||||||
nix-instantiate $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr unstable --show-trace
|
|
||||||
;;
|
|
||||||
|
|
||||||
nixpkgs-lint)
|
|
||||||
echo "=== Checking nixpkgs lint"
|
|
||||||
|
|
||||||
nix-shell --packages nixpkgs-lint --run "nixpkgs-lint -f $TRAVIS_BUILD_DIR"
|
|
||||||
;;
|
|
||||||
|
|
||||||
nox)
|
|
||||||
echo "=== Fetching Nox from binary cache"
|
|
||||||
|
|
||||||
# build nox (+ a basic nix-shell env) silently so it's not in the log
|
|
||||||
nix-shell -p nox stdenv --command true
|
|
||||||
;;
|
|
||||||
|
|
||||||
pr)
|
|
||||||
if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
|
|
||||||
echo "=== No pull request found"
|
|
||||||
else
|
|
||||||
echo "=== Building pull request #$TRAVIS_PULL_REQUEST"
|
|
||||||
|
|
||||||
token=""
|
|
||||||
if [ -n "$GITHUB_TOKEN" ]; then
|
|
||||||
token="--token $GITHUB_TOKEN"
|
|
||||||
fi
|
|
||||||
|
|
||||||
nix-shell --packages nox --run "nox-review pr --slug $TRAVIS_REPO_SLUG $token $TRAVIS_PULL_REQUEST"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "Skipping unknown option $1"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo -en "travis_fold:end:$1\r"
|
|
||||||
shift
|
|
||||||
done
|
|
@ -86,8 +86,26 @@ following incompatible changes:</para>
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
ZNC option <option>services.znc.mutable</option> now defaults to <literal>true</literal>.
|
ZNC option <option>services.znc.mutable</option> now defaults to
|
||||||
That means that old configuration is not overwritten by default when update to the znc options are made.
|
<literal>true</literal>. That means that old configuration is not
|
||||||
|
overwritten by default when update to the znc options are made.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The option <option>networking.wireless.networks.<name>.auth</option>
|
||||||
|
has been added for wireless networks with WPA-Enterprise authentication.
|
||||||
|
There is also a new <option>extraConfig</option> option to directly
|
||||||
|
configure <literal>wpa_supplicant</literal> and <option>hidden</option>
|
||||||
|
to connect to hidden networks.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The option <option>services.xserver.desktopManager.default</option> is now <literal>none</literal> by default.
|
||||||
|
An assertion failure is thrown if WM's and DM's default are <literal>none</literal>.
|
||||||
|
To explicitly run a plain X session without and DM or WM, the newly introduced option <option>services.xserver.plainX</option>
|
||||||
|
must be set to true.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
@ -33,18 +33,23 @@
|
|||||||
|
|
||||||
, name ? "nixos-disk-image"
|
, name ? "nixos-disk-image"
|
||||||
|
|
||||||
, # Disk image format, one of qcow2, vpc, raw.
|
, # Disk image format, one of qcow2, qcow2-compressed, vpc, raw.
|
||||||
format ? "raw"
|
format ? "raw"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let format' = format; in let
|
||||||
extensions = {
|
|
||||||
|
format = if (format' == "qcow2-compressed") then "qcow2" else format';
|
||||||
|
|
||||||
|
compress = optionalString (format' == "qcow2-compressed") "-c";
|
||||||
|
|
||||||
|
filename = "nixos." + {
|
||||||
qcow2 = "qcow2";
|
qcow2 = "qcow2";
|
||||||
vpc = "vhd";
|
vpc = "vhd";
|
||||||
raw = "img";
|
raw = "img";
|
||||||
};
|
}.${format};
|
||||||
|
|
||||||
nixpkgs = cleanSource pkgs.path;
|
nixpkgs = cleanSource pkgs.path;
|
||||||
|
|
||||||
@ -125,7 +130,7 @@ let
|
|||||||
fakeroot nixos-prepare-root $root ${channelSources} ${config.system.build.toplevel} closure
|
fakeroot nixos-prepare-root $root ${channelSources} ${config.system.build.toplevel} closure
|
||||||
|
|
||||||
echo "copying staging root to image..."
|
echo "copying staging root to image..."
|
||||||
cptofs ${pkgs.lib.optionalString partitioned "-P 1"} -t ${fsType} -i $diskImage $root/* /
|
cptofs ${optionalString partitioned "-P 1"} -t ${fsType} -i $diskImage $root/* /
|
||||||
'';
|
'';
|
||||||
in pkgs.vmTools.runInLinuxVM (
|
in pkgs.vmTools.runInLinuxVM (
|
||||||
pkgs.runCommand name
|
pkgs.runCommand name
|
||||||
@ -134,12 +139,11 @@ in pkgs.vmTools.runInLinuxVM (
|
|||||||
exportReferencesGraph = [ "closure" metaClosure ];
|
exportReferencesGraph = [ "closure" metaClosure ];
|
||||||
postVM = ''
|
postVM = ''
|
||||||
${if format == "raw" then ''
|
${if format == "raw" then ''
|
||||||
mv $diskImage $out/nixos.img
|
mv $diskImage $out/${filename}
|
||||||
diskImage=$out/nixos.img
|
|
||||||
'' else ''
|
'' else ''
|
||||||
${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} $diskImage $out/nixos.${extensions.${format}}
|
${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} ${compress} $diskImage $out/${filename}
|
||||||
diskImage=$out/nixos.${extensions.${format}}
|
|
||||||
''}
|
''}
|
||||||
|
diskImage=$out/${filename}
|
||||||
${postVM}
|
${postVM}
|
||||||
'';
|
'';
|
||||||
memSize = 1024;
|
memSize = 1024;
|
||||||
|
@ -52,6 +52,8 @@ let
|
|||||||
</fontconfig>
|
</fontconfig>
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
|
||||||
|
|
||||||
# The configuration to be included in /etc/font/
|
# The configuration to be included in /etc/font/
|
||||||
penultimateConf = pkgs.runCommand "font-penultimate-conf" {} ''
|
penultimateConf = pkgs.runCommand "font-penultimate-conf" {} ''
|
||||||
support_folder=$out/etc/fonts/conf.d
|
support_folder=$out/etc/fonts/conf.d
|
||||||
@ -107,6 +109,12 @@ let
|
|||||||
$latest_folder/51-local.conf \
|
$latest_folder/51-local.conf \
|
||||||
--replace local.conf /etc/fonts/${latestVersion}/local.conf
|
--replace local.conf /etc/fonts/${latestVersion}/local.conf
|
||||||
|
|
||||||
|
# local.conf (indirect priority 51)
|
||||||
|
${optionalString (cfg.localConf != "") ''
|
||||||
|
ln -s ${localConf} $out/etc/fonts/local.conf
|
||||||
|
ln -s ${localConf} $out/etc/fonts/${latestVersion}/local.conf
|
||||||
|
''}
|
||||||
|
|
||||||
ln -s ${defaultFontsConf} $support_folder/52-default-fonts.conf
|
ln -s ${defaultFontsConf} $support_folder/52-default-fonts.conf
|
||||||
ln -s ${defaultFontsConf} $latest_folder/52-default-fonts.conf
|
ln -s ${defaultFontsConf} $latest_folder/52-default-fonts.conf
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ if test "$(evalOpt "_type" 2> /dev/null)" = '"option"'; then
|
|||||||
fi
|
fi
|
||||||
echo "Description:"
|
echo "Description:"
|
||||||
echo
|
echo
|
||||||
eval printf $(evalOpt "description")
|
echo $(evalOpt "description")
|
||||||
|
|
||||||
echo $desc;
|
echo $desc;
|
||||||
|
|
||||||
|
@ -193,6 +193,8 @@
|
|||||||
./services/databases/stanchion.nix
|
./services/databases/stanchion.nix
|
||||||
./services/databases/virtuoso.nix
|
./services/databases/virtuoso.nix
|
||||||
./services/desktops/accountsservice.nix
|
./services/desktops/accountsservice.nix
|
||||||
|
./services/desktops/dleyna-renderer.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/evolution-data-server.nix
|
./services/desktops/gnome3/evolution-data-server.nix
|
||||||
@ -482,6 +484,7 @@
|
|||||||
./services/networking/networkmanager.nix
|
./services/networking/networkmanager.nix
|
||||||
./services/networking/nftables.nix
|
./services/networking/nftables.nix
|
||||||
./services/networking/ngircd.nix
|
./services/networking/ngircd.nix
|
||||||
|
./services/networking/nghttpx/default.nix
|
||||||
./services/networking/nix-serve.nix
|
./services/networking/nix-serve.nix
|
||||||
./services/networking/nntp-proxy.nix
|
./services/networking/nntp-proxy.nix
|
||||||
./services/networking/nsd.nix
|
./services/networking/nsd.nix
|
||||||
@ -639,6 +642,7 @@
|
|||||||
./services/x11/display-managers/sddm.nix
|
./services/x11/display-managers/sddm.nix
|
||||||
./services/x11/display-managers/slim.nix
|
./services/x11/display-managers/slim.nix
|
||||||
./services/x11/display-managers/xpra.nix
|
./services/x11/display-managers/xpra.nix
|
||||||
|
./services/x11/fractalart.nix
|
||||||
./services/x11/hardware/libinput.nix
|
./services/x11/hardware/libinput.nix
|
||||||
./services/x11/hardware/multitouch.nix
|
./services/x11/hardware/multitouch.nix
|
||||||
./services/x11/hardware/synaptics.nix
|
./services/x11/hardware/synaptics.nix
|
||||||
|
@ -7,6 +7,11 @@ let
|
|||||||
cfg = config.services.mysql;
|
cfg = config.services.mysql;
|
||||||
|
|
||||||
mysql = cfg.package;
|
mysql = cfg.package;
|
||||||
|
|
||||||
|
isMariaDB =
|
||||||
|
let
|
||||||
|
pName = _p: (builtins.parseDrvName (_p.name)).name;
|
||||||
|
in pName mysql == pName pkgs.mariadb;
|
||||||
|
|
||||||
atLeast55 = versionAtLeast mysql.mysqlVersion "5.5";
|
atLeast55 = versionAtLeast mysql.mysqlVersion "5.5";
|
||||||
|
|
||||||
@ -59,7 +64,7 @@ in
|
|||||||
type = types.package;
|
type = types.package;
|
||||||
example = literalExample "pkgs.mysql";
|
example = literalExample "pkgs.mysql";
|
||||||
description = "
|
description = "
|
||||||
Which MySQL derivation to use.
|
Which MySQL derivation to use. MariaDB packages are supported too.
|
||||||
";
|
";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -360,7 +365,7 @@ in
|
|||||||
|
|
||||||
${concatMapStrings (user:
|
${concatMapStrings (user:
|
||||||
''
|
''
|
||||||
( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if mysql == pkgs.mariadb then "unix_socket" else "auth_socket"};"
|
( echo "CREATE USER IF NOT EXISTS '${user.name}'@'localhost' IDENTIFIED WITH ${if isMariaDB then "unix_socket" else "auth_socket"};"
|
||||||
${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
|
${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
|
||||||
echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';"
|
echo "GRANT ${permission} ON ${database} TO '${user.name}'@'localhost';"
|
||||||
'') user.ensurePermissions)}
|
'') user.ensurePermissions)}
|
||||||
|
@ -153,7 +153,7 @@ in
|
|||||||
default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
|
default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
|
||||||
internal = true;
|
internal = true;
|
||||||
description = ''
|
description = ''
|
||||||
NixOS traditionally used `root` as superuser, most other distros use `postgres`.
|
NixOS traditionally used 'root' as superuser, most other distros use 'postgres'.
|
||||||
From 17.09 we also try to follow this standard. Internal since changing this value
|
From 17.09 we also try to follow this standard. Internal since changing this value
|
||||||
would lead to breakage while setting up databases.
|
would lead to breakage while setting up databases.
|
||||||
'';
|
'';
|
||||||
|
28
nixos/modules/services/desktops/dleyna-renderer.nix
Normal file
28
nixos/modules/services/desktops/dleyna-renderer.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# dleyna-renderer service.
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
services.dleyna-renderer = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable dleyna-renderer service, a DBus service
|
||||||
|
for handling DLNA renderers.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf config.services.dleyna-renderer.enable {
|
||||||
|
environment.systemPackages = [ pkgs.dleyna-renderer ];
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.dleyna-renderer ];
|
||||||
|
};
|
||||||
|
}
|
28
nixos/modules/services/desktops/dleyna-server.nix
Normal file
28
nixos/modules/services/desktops/dleyna-server.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# dleyna-server service.
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
services.dleyna-server = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable dleyna-server service, a DBus service
|
||||||
|
for handling DLNA servers.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf config.services.dleyna-server.enable {
|
||||||
|
environment.systemPackages = [ pkgs.dleyna-server ];
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.dleyna-server ];
|
||||||
|
};
|
||||||
|
}
|
@ -62,14 +62,14 @@ let
|
|||||||
}
|
}
|
||||||
'')
|
'')
|
||||||
|
|
||||||
''
|
(optionalString (cfg.mailboxes != []) ''
|
||||||
protocol imap {
|
protocol imap {
|
||||||
namespace inbox {
|
namespace inbox {
|
||||||
inbox=yes
|
inbox=yes
|
||||||
${concatStringsSep "\n" (map mailboxConfig cfg.mailboxes)}
|
${concatStringsSep "\n" (map mailboxConfig cfg.mailboxes)}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
''
|
'')
|
||||||
|
|
||||||
(optionalString cfg.enableQuota ''
|
(optionalString cfg.enableQuota ''
|
||||||
mail_plugins = $mail_plugins quota
|
mail_plugins = $mail_plugins quota
|
||||||
|
@ -17,7 +17,7 @@ let
|
|||||||
#! ${pkgs.stdenv.shell}
|
#! ${pkgs.stdenv.shell}
|
||||||
${optionalString nm.enable ''
|
${optionalString nm.enable ''
|
||||||
{
|
{
|
||||||
cat << EOF
|
${pkgs.coreutils}/bin/cat << EOF
|
||||||
From: smartd on ${host} <root>
|
From: smartd on ${host} <root>
|
||||||
To: undisclosed-recipients:;
|
To: undisclosed-recipients:;
|
||||||
Subject: SMART error on $SMARTD_DEVICESTRING: $SMARTD_FAILTYPE
|
Subject: SMART error on $SMARTD_DEVICESTRING: $SMARTD_FAILTYPE
|
||||||
@ -30,7 +30,7 @@ let
|
|||||||
''}
|
''}
|
||||||
${optionalString nw.enable ''
|
${optionalString nw.enable ''
|
||||||
{
|
{
|
||||||
cat << EOF
|
${pkgs.coreutils}/bin/cat << EOF
|
||||||
Problem detected with disk: $SMARTD_DEVICESTRING
|
Problem detected with disk: $SMARTD_DEVICESTRING
|
||||||
Warning message from smartd is:
|
Warning message from smartd is:
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ let
|
|||||||
${optionalString nx.enable ''
|
${optionalString nx.enable ''
|
||||||
export DISPLAY=${nx.display}
|
export DISPLAY=${nx.display}
|
||||||
{
|
{
|
||||||
cat << EOF
|
${pkgs.coreutils}/bin/cat << EOF
|
||||||
Problem detected with disk: $SMARTD_DEVICESTRING
|
Problem detected with disk: $SMARTD_DEVICESTRING
|
||||||
Warning message from smartd is:
|
Warning message from smartd is:
|
||||||
|
|
||||||
|
@ -6,8 +6,10 @@ let
|
|||||||
|
|
||||||
cfg = config.services.babeld;
|
cfg = config.services.babeld;
|
||||||
|
|
||||||
|
conditionalBoolToString = value: if (isBool value) then (boolToString value) else (toString value);
|
||||||
|
|
||||||
paramsString = params:
|
paramsString = params:
|
||||||
concatMapStringsSep "" (name: "${name} ${boolToString (getAttr name params)}")
|
concatMapStringsSep " " (name: "${name} ${conditionalBoolToString (getAttr name params)}")
|
||||||
(attrNames params);
|
(attrNames params);
|
||||||
|
|
||||||
interfaceConfig = name:
|
interfaceConfig = name:
|
||||||
@ -49,7 +51,7 @@ in
|
|||||||
type = types.nullOr (types.attrsOf types.unspecified);
|
type = types.nullOr (types.attrsOf types.unspecified);
|
||||||
example =
|
example =
|
||||||
{
|
{
|
||||||
wired = true;
|
type = "tunnel";
|
||||||
"split-horizon" = true;
|
"split-horizon" = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -63,7 +65,7 @@ in
|
|||||||
type = types.attrsOf (types.attrsOf types.unspecified);
|
type = types.attrsOf (types.attrsOf types.unspecified);
|
||||||
example =
|
example =
|
||||||
{ enp0s2 =
|
{ enp0s2 =
|
||||||
{ wired = true;
|
{ type = "wired";
|
||||||
"hello-interval" = 5;
|
"hello-interval" = 5;
|
||||||
"split-horizon" = "auto";
|
"split-horizon" = "auto";
|
||||||
};
|
};
|
||||||
|
@ -0,0 +1,131 @@
|
|||||||
|
{ lib, ...}:
|
||||||
|
{ options = {
|
||||||
|
proto = lib.mkOption {
|
||||||
|
type = lib.types.enum [ "h2" "http/1.1" ];
|
||||||
|
default = "http/1.1";
|
||||||
|
description = ''
|
||||||
|
This option configures the protocol the backend server expects
|
||||||
|
to use.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
tls = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
This option determines whether nghttpx will negotiate its
|
||||||
|
connection with a backend server using TLS or not. The burden
|
||||||
|
is on the backend server to provide the TLS certificate!
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
sni = lib.mkOption {
|
||||||
|
type = lib.types.nullOr lib.types.str;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Override the TLS SNI field value. This value (in nghttpx)
|
||||||
|
defaults to the host value of the backend configuration.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
fall = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 0;
|
||||||
|
description = ''
|
||||||
|
If nghttpx cannot connect to the backend N times in a row, the
|
||||||
|
backend is assumed to be offline and is excluded from load
|
||||||
|
balancing. If N is 0 the backend is never excluded from load
|
||||||
|
balancing.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
rise = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 0;
|
||||||
|
description = ''
|
||||||
|
If the backend is excluded from load balancing, nghttpx will
|
||||||
|
periodically attempt to make a connection to the backend. If
|
||||||
|
the connection is successful N times in a row the backend is
|
||||||
|
re-included in load balancing. If N is 0 a backend is never
|
||||||
|
reconsidered for load balancing once it falls.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
affinity = lib.mkOption {
|
||||||
|
type = lib.types.enum [ "ip" "none" ];
|
||||||
|
default = "none";
|
||||||
|
description = ''
|
||||||
|
If "ip" is given, client IP based session affinity is
|
||||||
|
enabled. If "none" is given, session affinity is disabled.
|
||||||
|
|
||||||
|
Session affinity is enabled (by nghttpx) per-backend
|
||||||
|
pattern. If at least one backend has a non-"none" affinity,
|
||||||
|
then session affinity is enabled for all backend servers
|
||||||
|
sharing the same pattern.
|
||||||
|
|
||||||
|
It is advised to set affinity on all backends explicitly if
|
||||||
|
session affinity is desired. The session affinity may break if
|
||||||
|
one of the backend gets unreachable, or backend settings are
|
||||||
|
reloaded or replaced by API.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
dns = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Name resolution of a backends host name is done at start up,
|
||||||
|
or configuration reload. If "dns" is true, name resolution
|
||||||
|
takes place dynamically.
|
||||||
|
|
||||||
|
This is useful if a backends address changes frequently. If
|
||||||
|
"dns" is true, name resolution of a backend's host name at
|
||||||
|
start up, or configuration reload is skipped.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
redirect-if-not-tls = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
If true, a backend match requires the frontend connection be
|
||||||
|
TLS encrypted. If it is not, nghttpx responds to the request
|
||||||
|
with a 308 status code and https URI the client should use
|
||||||
|
instead in the Location header.
|
||||||
|
|
||||||
|
The port number in the redirect URI is 443 by default and can
|
||||||
|
be changed using 'services.nghttpx.redirect-https-port'
|
||||||
|
option.
|
||||||
|
|
||||||
|
If at least one backend has "redirect-if-not-tls" set to true,
|
||||||
|
this feature is enabled for all backend servers with the same
|
||||||
|
pattern. It is advised to set "redirect-if-no-tls" parameter
|
||||||
|
to all backends explicitly if this feature is desired.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,50 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
{ options = {
|
||||||
|
server = lib.mkOption {
|
||||||
|
type =
|
||||||
|
lib.types.either
|
||||||
|
(lib.types.submodule (import ./server-options.nix))
|
||||||
|
(lib.types.path);
|
||||||
|
example = {
|
||||||
|
host = "127.0.0.1";
|
||||||
|
port = 8888;
|
||||||
|
};
|
||||||
|
default = {
|
||||||
|
host = "127.0.0.1";
|
||||||
|
port = 80;
|
||||||
|
};
|
||||||
|
description = ''
|
||||||
|
Backend server location specified as either a host:port pair
|
||||||
|
or a unix domain docket.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
patterns = lib.mkOption {
|
||||||
|
type = lib.types.listOf lib.types.str;
|
||||||
|
example = [
|
||||||
|
"*.host.net/v1/"
|
||||||
|
"host.org/v2/mypath"
|
||||||
|
"/somepath"
|
||||||
|
];
|
||||||
|
default = [];
|
||||||
|
description = ''
|
||||||
|
List of nghttpx backend patterns.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-b
|
||||||
|
for more information on the pattern syntax and nghttpxs behavior.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
params = lib.mkOption {
|
||||||
|
type = lib.types.nullOr (lib.types.submodule (import ./backend-params-submodule.nix));
|
||||||
|
example = {
|
||||||
|
proto = "h2";
|
||||||
|
tls = true;
|
||||||
|
};
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Parameters to configure a backend.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
117
nixos/modules/services/networking/nghttpx/default.nix
Normal file
117
nixos/modules/services/networking/nghttpx/default.nix
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
{config, pkgs, lib, ...}:
|
||||||
|
let
|
||||||
|
cfg = config.services.nghttpx;
|
||||||
|
|
||||||
|
# renderHost :: Either ServerOptions Path -> String
|
||||||
|
renderHost = server:
|
||||||
|
if builtins.isString server
|
||||||
|
then "unix://${server}"
|
||||||
|
else "${server.host},${builtins.toString server.port}";
|
||||||
|
|
||||||
|
# Filter out submodule parameters whose value is null or false or is
|
||||||
|
# the key _module.
|
||||||
|
#
|
||||||
|
# filterParams :: ParamsSubmodule -> ParamsSubmodule
|
||||||
|
filterParams = p:
|
||||||
|
lib.filterAttrs
|
||||||
|
(n: v: ("_module" != n) && (null != v) && (false != v))
|
||||||
|
(lib.optionalAttrs (null != p) p);
|
||||||
|
|
||||||
|
# renderBackend :: BackendSubmodule -> String
|
||||||
|
renderBackend = backend:
|
||||||
|
let
|
||||||
|
host = renderHost backend.server;
|
||||||
|
patterns = lib.concatStringsSep ":" backend.patterns;
|
||||||
|
|
||||||
|
# Render a set of backend parameters, this is somewhat
|
||||||
|
# complicated because nghttpx backend patterns can be entirely
|
||||||
|
# omitted and the params may be given as a mixed collection of
|
||||||
|
# 'key=val' pairs or atoms (e.g: 'proto=h2;tls')
|
||||||
|
params =
|
||||||
|
lib.mapAttrsToList
|
||||||
|
(n: v:
|
||||||
|
if builtins.isBool v
|
||||||
|
then n
|
||||||
|
else if builtins.isString v
|
||||||
|
then "${n}=${v}"
|
||||||
|
else "${n}=${builtins.toString v}")
|
||||||
|
(filterParams backend.params);
|
||||||
|
|
||||||
|
# NB: params are delimited by a ";" which is the same delimiter
|
||||||
|
# to separate the host;[pattern];[params] sections of a backend
|
||||||
|
sections =
|
||||||
|
builtins.filter (e: "" != e) ([
|
||||||
|
host
|
||||||
|
patterns
|
||||||
|
]++params);
|
||||||
|
formattedSections = lib.concatStringsSep ";" sections;
|
||||||
|
in
|
||||||
|
"backend=${formattedSections}";
|
||||||
|
|
||||||
|
# renderFrontend :: FrontendSubmodule -> String
|
||||||
|
renderFrontend = frontend:
|
||||||
|
let
|
||||||
|
host = renderHost frontend.server;
|
||||||
|
params0 =
|
||||||
|
lib.mapAttrsToList
|
||||||
|
(n: v: if builtins.isBool v then n else v)
|
||||||
|
(filterParams frontend.params);
|
||||||
|
|
||||||
|
# NB: nghttpx doesn't accept "tls", you must omit "no-tls" for
|
||||||
|
# the default behavior of turning on TLS.
|
||||||
|
params1 = lib.remove "tls" params0;
|
||||||
|
|
||||||
|
sections = [ host] ++ params1;
|
||||||
|
formattedSections = lib.concatStringsSep ";" sections;
|
||||||
|
in
|
||||||
|
"frontend=${formattedSections}";
|
||||||
|
|
||||||
|
configurationFile = pkgs.writeText "nghttpx.conf" ''
|
||||||
|
${lib.optionalString (null != cfg.tls) ("private-key-file="+cfg.tls.key)}
|
||||||
|
${lib.optionalString (null != cfg.tls) ("certificate-file="+cfg.tls.crt)}
|
||||||
|
|
||||||
|
user=nghttpx
|
||||||
|
|
||||||
|
${lib.concatMapStringsSep "\n" renderFrontend cfg.frontends}
|
||||||
|
${lib.concatMapStringsSep "\n" renderBackend cfg.backends}
|
||||||
|
|
||||||
|
backlog=${builtins.toString cfg.backlog}
|
||||||
|
backend-address-family=${cfg.backend-address-family}
|
||||||
|
|
||||||
|
workers=${builtins.toString cfg.workers}
|
||||||
|
rlimit-nofile=${builtins.toString cfg.rlimit-nofile}
|
||||||
|
|
||||||
|
${lib.optionalString cfg.single-thread "single-thread=yes"}
|
||||||
|
${lib.optionalString cfg.single-process "single-process=yes"}
|
||||||
|
|
||||||
|
${cfg.extraConfig}
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{ imports = [
|
||||||
|
./nghttpx-options.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
users.groups.nghttpx = { };
|
||||||
|
users.users.nghttpx = {
|
||||||
|
group = config.users.groups.nghttpx.name;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
nghttpx = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
script = ''
|
||||||
|
${pkgs.nghttp2}/bin/nghttpx --conf=${configurationFile}
|
||||||
|
'';
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 60;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
{ lib, ...}:
|
||||||
|
{ options = {
|
||||||
|
tls = lib.mkOption {
|
||||||
|
type = lib.types.enum [ "tls" "no-tls" ];
|
||||||
|
default = "tls";
|
||||||
|
description = ''
|
||||||
|
Enable or disable TLS. If true (enabled) the key and
|
||||||
|
certificate must be configured for nghttpx.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
sni-fwd = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
When performing a match to select a backend server, SNI host
|
||||||
|
name received from the client is used instead of the request
|
||||||
|
host. See --backend option about the pattern match.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
api = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Enable API access for this frontend. This enables you to
|
||||||
|
dynamically modify nghttpx at run-time therefore this feature
|
||||||
|
is disabled by default and should be turned on with care.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
healthmon = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Make this frontend a health monitor endpoint. Any request
|
||||||
|
received on this frontend is responded to with a 200 OK.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
proxyproto = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Accept PROXY protocol version 1 on frontend connection.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-f
|
||||||
|
for more detail.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
{ options = {
|
||||||
|
server = lib.mkOption {
|
||||||
|
type =
|
||||||
|
lib.types.either
|
||||||
|
(lib.types.submodule (import ./server-options.nix))
|
||||||
|
(lib.types.path);
|
||||||
|
example = {
|
||||||
|
host = "127.0.0.1";
|
||||||
|
port = 8888;
|
||||||
|
};
|
||||||
|
default = {
|
||||||
|
host = "127.0.0.1";
|
||||||
|
port = 80;
|
||||||
|
};
|
||||||
|
description = ''
|
||||||
|
Frontend server interface binding specification as either a
|
||||||
|
host:port pair or a unix domain docket.
|
||||||
|
|
||||||
|
NB: a host of "*" listens on all interfaces and includes IPv6
|
||||||
|
addresses.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
params = lib.mkOption {
|
||||||
|
type = lib.types.nullOr (lib.types.submodule (import ./frontend-params-submodule.nix));
|
||||||
|
example = {
|
||||||
|
tls = "tls";
|
||||||
|
};
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Parameters to configure a backend.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
142
nixos/modules/services/networking/nghttpx/nghttpx-options.nix
Normal file
142
nixos/modules/services/networking/nghttpx/nghttpx-options.nix
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
{ options.services.nghttpx = {
|
||||||
|
enable = lib.mkEnableOption "nghttpx";
|
||||||
|
|
||||||
|
frontends = lib.mkOption {
|
||||||
|
type = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix));
|
||||||
|
description = ''
|
||||||
|
A list of frontend listener specifications.
|
||||||
|
'';
|
||||||
|
example = [
|
||||||
|
{ server = {
|
||||||
|
host = "*";
|
||||||
|
port = 80;
|
||||||
|
};
|
||||||
|
|
||||||
|
params = {
|
||||||
|
tls = "no-tls";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
backends = lib.mkOption {
|
||||||
|
type = lib.types.listOf (lib.types.submodule (import ./backend-submodule.nix));
|
||||||
|
description = ''
|
||||||
|
A list of backend specifications.
|
||||||
|
'';
|
||||||
|
example = [
|
||||||
|
{ server = {
|
||||||
|
host = "172.16.0.22";
|
||||||
|
port = 8443;
|
||||||
|
};
|
||||||
|
patterns = [ "/" ];
|
||||||
|
params = {
|
||||||
|
proto = "http/1.1";
|
||||||
|
redirect-if-not-tls = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
tls = lib.mkOption {
|
||||||
|
type = lib.types.nullOr (lib.types.submodule (import ./tls-submodule.nix));
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
TLS certificate and key paths. Note that this does not enable
|
||||||
|
TLS for a frontend listener, to do so, a frontend
|
||||||
|
specification must set <literal>params.tls</literal> to true.
|
||||||
|
'';
|
||||||
|
example = {
|
||||||
|
key = "/etc/ssl/keys/server.key";
|
||||||
|
crt = "/etc/ssl/certs/server.crt";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = lib.mkOption {
|
||||||
|
type = lib.types.lines;
|
||||||
|
default = "";
|
||||||
|
description = ''
|
||||||
|
Extra configuration options to be appended to the generated
|
||||||
|
configuration file.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
single-process = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Run this program in a single process mode for debugging
|
||||||
|
purpose. Without this option, nghttpx creates at least 2
|
||||||
|
processes: master and worker processes. If this option is
|
||||||
|
used, master and worker are unified into a single
|
||||||
|
process. nghttpx still spawns additional process if neverbleed
|
||||||
|
is used. In the single process mode, the signal handling
|
||||||
|
feature is disabled.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--single-process
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
backlog = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 65536;
|
||||||
|
description = ''
|
||||||
|
Listen backlog size.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--backlog
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
backend-address-family = lib.mkOption {
|
||||||
|
type = lib.types.enum [
|
||||||
|
"auto"
|
||||||
|
"IPv4"
|
||||||
|
"IPv6"
|
||||||
|
];
|
||||||
|
default = "auto";
|
||||||
|
description = ''
|
||||||
|
Specify address family of backend connections. If "auto" is
|
||||||
|
given, both IPv4 and IPv6 are considered. If "IPv4" is given,
|
||||||
|
only IPv4 address is considered. If "IPv6" is given, only IPv6
|
||||||
|
address is considered.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--backend-address-family
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
workers = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 1;
|
||||||
|
description = ''
|
||||||
|
Set the number of worker threads.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx-n
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
single-thread = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Run everything in one thread inside the worker process. This
|
||||||
|
feature is provided for better debugging experience, or for
|
||||||
|
the platforms which lack thread support. If threading is
|
||||||
|
disabled, this option is always enabled.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--single-thread
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
rlimit-nofile = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 0;
|
||||||
|
description = ''
|
||||||
|
Set maximum number of open files (RLIMIT_NOFILE) to <N>. If 0
|
||||||
|
is given, nghttpx does not set the limit.
|
||||||
|
|
||||||
|
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--rlimit-nofile
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
18
nixos/modules/services/networking/nghttpx/server-options.nix
Normal file
18
nixos/modules/services/networking/nghttpx/server-options.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
{ options = {
|
||||||
|
host = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
example = "127.0.0.1";
|
||||||
|
description = ''
|
||||||
|
Server host address.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
port = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
example = 5088;
|
||||||
|
description = ''
|
||||||
|
Server host port.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
21
nixos/modules/services/networking/nghttpx/tls-submodule.nix
Normal file
21
nixos/modules/services/networking/nghttpx/tls-submodule.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{lib, ...}:
|
||||||
|
{ options = {
|
||||||
|
key = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
example = "/etc/ssl/keys/mykeyfile.key";
|
||||||
|
default = "/etc/ssl/keys/server.key";
|
||||||
|
description = ''
|
||||||
|
Path to the TLS key file.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
crt = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
example = "/etc/ssl/certs/mycert.crt";
|
||||||
|
default = "/etc/ssl/certs/server.crt";
|
||||||
|
description = ''
|
||||||
|
Path to the TLS certificate file.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -87,11 +87,11 @@ in
|
|||||||
|
|
||||||
default = mkOption {
|
default = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "";
|
default = "none";
|
||||||
example = "none";
|
example = "plasma5";
|
||||||
description = "Default desktop manager loaded if none have been chosen.";
|
description = "Default desktop manager loaded if none have been chosen.";
|
||||||
apply = defaultDM:
|
apply = defaultDM:
|
||||||
if defaultDM == "" && cfg.session.list != [] then
|
if defaultDM == "none" && cfg.session.list != [] then
|
||||||
(head cfg.session.list).name
|
(head cfg.session.list).name
|
||||||
else if any (w: w.name == defaultDM) cfg.session.list then
|
else if any (w: w.name == defaultDM) cfg.session.list then
|
||||||
defaultDM
|
defaultDM
|
||||||
|
@ -61,7 +61,7 @@ in
|
|||||||
'';
|
'';
|
||||||
}];
|
}];
|
||||||
|
|
||||||
security.wrappers.e_freqset.source = "${e.enlightenment.out}/bin/e_freqset";
|
security.wrappers = (import (builtins.toPath "${e.enlightenment}/e-wrappers.nix")).security.wrappers;
|
||||||
|
|
||||||
environment.etc = singleton
|
environment.etc = singleton
|
||||||
{ source = xcfg.xkbDir;
|
{ source = xcfg.xkbDir;
|
||||||
|
@ -94,6 +94,8 @@ in {
|
|||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
services.accounts-daemon.enable = true;
|
services.accounts-daemon.enable = true;
|
||||||
services.geoclue2.enable = mkDefault true;
|
services.geoclue2.enable = mkDefault true;
|
||||||
|
services.dleyna-renderer.enable = mkDefault true;
|
||||||
|
services.dleyna-server.enable = mkDefault true;
|
||||||
services.gnome3.at-spi2-core.enable = true;
|
services.gnome3.at-spi2-core.enable = true;
|
||||||
services.gnome3.evolution-data-server.enable = true;
|
services.gnome3.evolution-data-server.enable = true;
|
||||||
services.gnome3.gnome-disks.enable = mkDefault true;
|
services.gnome3.gnome-disks.enable = mkDefault true;
|
||||||
|
36
nixos/modules/services/x11/fractalart.nix
Normal file
36
nixos/modules/services/x11/fractalart.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.fractalart;
|
||||||
|
in {
|
||||||
|
options.services.fractalart = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Enable FractalArt for generating colorful wallpapers on login";
|
||||||
|
};
|
||||||
|
|
||||||
|
width = mkOption {
|
||||||
|
type = types.nullOr types.int;
|
||||||
|
default = null;
|
||||||
|
example = 1920;
|
||||||
|
description = "Screen width";
|
||||||
|
};
|
||||||
|
|
||||||
|
height = mkOption {
|
||||||
|
type = types.nullOr types.int;
|
||||||
|
default = null;
|
||||||
|
example = 1080;
|
||||||
|
description = "Screen height";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ pkgs.haskellPackages.FractalArt ];
|
||||||
|
services.xserver.displayManager.sessionCommands =
|
||||||
|
"${pkgs.haskellPackages.FractalArt}/bin/FractalArt --no-bg -f .background-image"
|
||||||
|
+ optionalString (cfg.width != null) " -w ${toString cfg.width}"
|
||||||
|
+ optionalString (cfg.height != null) " -h ${toString cfg.height}";
|
||||||
|
};
|
||||||
|
}
|
@ -61,7 +61,9 @@ in
|
|||||||
example = "wmii";
|
example = "wmii";
|
||||||
description = "Default window manager loaded if none have been chosen.";
|
description = "Default window manager loaded if none have been chosen.";
|
||||||
apply = defaultWM:
|
apply = defaultWM:
|
||||||
if any (w: w.name == defaultWM) cfg.session then
|
if defaultWM == "none" && cfg.session != [] then
|
||||||
|
(head cfg.session).name
|
||||||
|
else if any (w: w.name == defaultWM) cfg.session then
|
||||||
defaultWM
|
defaultWM
|
||||||
else
|
else
|
||||||
throw "Default window manager (${defaultWM}) not found.";
|
throw "Default window manager (${defaultWM}) not found.";
|
||||||
|
@ -161,6 +161,15 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
plainX = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether the X11 session can be plain (without DM/WM) and
|
||||||
|
the Xsession script will be used as fallback or not.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
autorun = mkOption {
|
autorun = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
@ -552,6 +561,11 @@ in
|
|||||||
+ "${toString (length primaryHeads)} heads set to primary: "
|
+ "${toString (length primaryHeads)} heads set to primary: "
|
||||||
+ concatMapStringsSep ", " (x: x.output) primaryHeads;
|
+ concatMapStringsSep ", " (x: x.output) primaryHeads;
|
||||||
})
|
})
|
||||||
|
{ assertion = cfg.desktopManager.default == "none" && cfg.windowManager.default == "none" -> cfg.plainX;
|
||||||
|
message = "Either the desktop manager or the window manager shouldn't be `none`! "
|
||||||
|
+ "To explicitly allow this, you can also set `services.xserver.plainX` to `true`. "
|
||||||
|
+ "The `default` value looks for enabled WMs/DMs and select the first one.";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.etc =
|
environment.etc =
|
||||||
|
@ -109,6 +109,7 @@ in rec {
|
|||||||
(all nixos.tests.nfs3)
|
(all nixos.tests.nfs3)
|
||||||
(all nixos.tests.nfs4)
|
(all nixos.tests.nfs4)
|
||||||
(all nixos.tests.openssh)
|
(all nixos.tests.openssh)
|
||||||
|
(all nixos.tests.php-pcre)
|
||||||
(all nixos.tests.printing)
|
(all nixos.tests.printing)
|
||||||
(all nixos.tests.proxy)
|
(all nixos.tests.proxy)
|
||||||
(all nixos.tests.sddm.default)
|
(all nixos.tests.sddm.default)
|
||||||
|
@ -40,6 +40,7 @@ in rec {
|
|||||||
nat
|
nat
|
||||||
nfs3
|
nfs3
|
||||||
openssh
|
openssh
|
||||||
|
php-pcre
|
||||||
proxy
|
proxy
|
||||||
simple;
|
simple;
|
||||||
installer = {
|
installer = {
|
||||||
|
@ -303,12 +303,14 @@ in rec {
|
|||||||
tests.nfs3 = callTest tests/nfs.nix { version = 3; };
|
tests.nfs3 = callTest tests/nfs.nix { version = 3; };
|
||||||
tests.nfs4 = callTest tests/nfs.nix { version = 4; };
|
tests.nfs4 = callTest tests/nfs.nix { version = 4; };
|
||||||
tests.nginx = callTest tests/nginx.nix { };
|
tests.nginx = callTest tests/nginx.nix { };
|
||||||
|
tests.nghttpx = callTest tests/nghttpx.nix { };
|
||||||
tests.leaps = callTest tests/leaps.nix { };
|
tests.leaps = callTest tests/leaps.nix { };
|
||||||
tests.nsd = callTest tests/nsd.nix {};
|
tests.nsd = callTest tests/nsd.nix {};
|
||||||
tests.openssh = callTest tests/openssh.nix {};
|
tests.openssh = callTest tests/openssh.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 = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; });
|
||||||
tests.peerflix = callTest tests/peerflix.nix {};
|
tests.peerflix = callTest tests/peerflix.nix {};
|
||||||
|
tests.php-pcre = callTest tests/php-pcre.nix {};
|
||||||
tests.postgresql = callSubTests tests/postgresql.nix {};
|
tests.postgresql = callSubTests tests/postgresql.nix {};
|
||||||
tests.pgmanage = callTest tests/pgmanage.nix {};
|
tests.pgmanage = callTest tests/pgmanage.nix {};
|
||||||
tests.postgis = callTest tests/postgis.nix {};
|
tests.postgis = callTest tests/postgis.nix {};
|
||||||
|
@ -21,11 +21,16 @@ import ./make-test.nix ({ pkgs, ... }: {
|
|||||||
# the boot process kills any kthread by accident, like what happened in
|
# the boot process kills any kthread by accident, like what happened in
|
||||||
# issue #15226.
|
# issue #15226.
|
||||||
kcanary = compileKernelModule "kcanary" ''
|
kcanary = compileKernelModule "kcanary" ''
|
||||||
|
#include <linux/version.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/kthread.h>
|
#include <linux/kthread.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
|
#include <linux/signal.h>
|
||||||
|
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
|
||||||
|
#include <linux/sched/signal.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
struct task_struct *canaryTask;
|
struct task_struct *canaryTask;
|
||||||
|
|
||||||
|
@ -69,6 +69,12 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
$machine->succeed("ping -n -c 1 $ip6");
|
$machine->succeed("ping -n -c 1 $ip6");
|
||||||
$machine->succeed("curl --fail http://[$ip6]/ > /dev/null");
|
$machine->succeed("curl --fail http://[$ip6]/ > /dev/null");
|
||||||
|
|
||||||
|
# Check that nixos-container show-ip works in case of an ipv4 address with
|
||||||
|
# subnetmask in CIDR notation.
|
||||||
|
my $result = $machine->succeed("nixos-container show-ip webserver");
|
||||||
|
chomp $result;
|
||||||
|
$result eq $ip or die;
|
||||||
|
|
||||||
# Stop the container.
|
# Stop the container.
|
||||||
$machine->succeed("nixos-container stop webserver");
|
$machine->succeed("nixos-container stop webserver");
|
||||||
$machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
|
$machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
|
||||||
|
@ -7,7 +7,7 @@ with pkgs.lib;
|
|||||||
let
|
let
|
||||||
|
|
||||||
# The configuration to install.
|
# The configuration to install.
|
||||||
makeConfig = { bootLoader, grubVersion, grubDevice, grubIdentifier
|
makeConfig = { bootLoader, grubVersion, grubDevice, grubIdentifier, grubUseEfi
|
||||||
, extraConfig, forceGrubReinstallCount ? 0
|
, extraConfig, forceGrubReinstallCount ? 0
|
||||||
}:
|
}:
|
||||||
pkgs.writeText "configuration.nix" ''
|
pkgs.writeText "configuration.nix" ''
|
||||||
@ -26,9 +26,16 @@ let
|
|||||||
${optionalString (grubVersion == 1) ''
|
${optionalString (grubVersion == 1) ''
|
||||||
boot.loader.grub.splashImage = null;
|
boot.loader.grub.splashImage = null;
|
||||||
''}
|
''}
|
||||||
boot.loader.grub.device = "${grubDevice}";
|
|
||||||
boot.loader.grub.extraConfig = "serial; terminal_output.serial";
|
boot.loader.grub.extraConfig = "serial; terminal_output.serial";
|
||||||
boot.loader.grub.fsIdentifier = "${grubIdentifier}";
|
${if grubUseEfi then ''
|
||||||
|
boot.loader.grub.device = "nodev";
|
||||||
|
boot.loader.grub.efiSupport = true;
|
||||||
|
boot.loader.grub.efiInstallAsRemovable = true; # XXX: needed for OVMF?
|
||||||
|
'' else ''
|
||||||
|
boot.loader.grub.device = "${grubDevice}";
|
||||||
|
boot.loader.grub.fsIdentifier = "${grubIdentifier}";
|
||||||
|
''}
|
||||||
|
|
||||||
boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount};
|
boot.loader.grub.configurationLimit = 100 + ${toString forceGrubReinstallCount};
|
||||||
''}
|
''}
|
||||||
@ -57,16 +64,17 @@ let
|
|||||||
# disk, and then reboot from the hard disk. It's parameterized with
|
# disk, and then reboot from the hard disk. It's parameterized with
|
||||||
# a test script fragment `createPartitions', which must create
|
# a test script fragment `createPartitions', which must create
|
||||||
# partitions and filesystems.
|
# partitions and filesystems.
|
||||||
testScriptFun = { bootLoader, createPartitions, grubVersion, grubDevice
|
testScriptFun = { bootLoader, createPartitions, grubVersion, grubDevice, grubUseEfi
|
||||||
, grubIdentifier, preBootCommands, extraConfig
|
, grubIdentifier, preBootCommands, extraConfig
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
iface = if grubVersion == 1 then "ide" else "virtio";
|
iface = if grubVersion == 1 then "ide" else "virtio";
|
||||||
|
isEfi = bootLoader == "systemd-boot" || (bootLoader == "grub" && grubUseEfi);
|
||||||
qemuFlags =
|
qemuFlags =
|
||||||
(if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
|
(if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
|
||||||
(optionalString (system == "x86_64-linux") "-cpu kvm64 ");
|
(optionalString (system == "x86_64-linux") "-cpu kvm64 ");
|
||||||
hdFlags = ''hda => "vm-state-machine/machine.qcow2", hdaInterface => "${iface}", ''
|
hdFlags = ''hda => "vm-state-machine/machine.qcow2", hdaInterface => "${iface}", ''
|
||||||
+ optionalString (bootLoader == "systemd-boot") ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '';
|
+ optionalString isEfi ''bios => "${pkgs.OVMF.fd}/FV/OVMF.fd", '';
|
||||||
in
|
in
|
||||||
''
|
''
|
||||||
$machine->start;
|
$machine->start;
|
||||||
@ -89,7 +97,7 @@ let
|
|||||||
$machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2");
|
$machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2");
|
||||||
|
|
||||||
$machine->copyFileFromHost(
|
$machine->copyFileFromHost(
|
||||||
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; } }",
|
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; } }",
|
||||||
"/mnt/etc/nixos/configuration.nix");
|
"/mnt/etc/nixos/configuration.nix");
|
||||||
|
|
||||||
# Perform the installation.
|
# Perform the installation.
|
||||||
@ -140,7 +148,7 @@ let
|
|||||||
|
|
||||||
# We need to a writable nix-store on next boot.
|
# We need to a writable nix-store on next boot.
|
||||||
$machine->copyFileFromHost(
|
$machine->copyFileFromHost(
|
||||||
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; forceGrubReinstallCount = 1; } }",
|
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; forceGrubReinstallCount = 1; } }",
|
||||||
"/etc/nixos/configuration.nix");
|
"/etc/nixos/configuration.nix");
|
||||||
|
|
||||||
# Check whether nixos-rebuild works.
|
# Check whether nixos-rebuild works.
|
||||||
@ -158,7 +166,7 @@ let
|
|||||||
${preBootCommands}
|
${preBootCommands}
|
||||||
$machine->waitForUnit("multi-user.target");
|
$machine->waitForUnit("multi-user.target");
|
||||||
$machine->copyFileFromHost(
|
$machine->copyFileFromHost(
|
||||||
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier extraConfig; forceGrubReinstallCount = 2; } }",
|
"${ makeConfig { inherit bootLoader grubVersion grubDevice grubIdentifier grubUseEfi extraConfig; forceGrubReinstallCount = 2; } }",
|
||||||
"/etc/nixos/configuration.nix");
|
"/etc/nixos/configuration.nix");
|
||||||
$machine->succeed("nixos-rebuild boot >&2");
|
$machine->succeed("nixos-rebuild boot >&2");
|
||||||
$machine->shutdown;
|
$machine->shutdown;
|
||||||
@ -176,7 +184,7 @@ let
|
|||||||
{ createPartitions, preBootCommands ? "", extraConfig ? ""
|
{ createPartitions, preBootCommands ? "", extraConfig ? ""
|
||||||
, extraInstallerConfig ? {}
|
, extraInstallerConfig ? {}
|
||||||
, bootLoader ? "grub" # either "grub" or "systemd-boot"
|
, bootLoader ? "grub" # either "grub" or "systemd-boot"
|
||||||
, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid"
|
, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid", grubUseEfi ? false
|
||||||
, enableOCR ? false, meta ? {}
|
, enableOCR ? false, meta ? {}
|
||||||
}:
|
}:
|
||||||
makeTest {
|
makeTest {
|
||||||
@ -244,7 +252,7 @@ let
|
|||||||
|
|
||||||
testScript = testScriptFun {
|
testScript = testScriptFun {
|
||||||
inherit bootLoader createPartitions preBootCommands
|
inherit bootLoader createPartitions preBootCommands
|
||||||
grubVersion grubDevice grubIdentifier extraConfig;
|
grubVersion grubDevice grubIdentifier grubUseEfi extraConfig;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -295,6 +303,29 @@ in {
|
|||||||
bootLoader = "systemd-boot";
|
bootLoader = "systemd-boot";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
simpleUefiGrub = makeInstallerTest "simpleUefiGrub"
|
||||||
|
{ createPartitions =
|
||||||
|
''
|
||||||
|
$machine->succeed(
|
||||||
|
"parted /dev/vda mklabel gpt",
|
||||||
|
"parted -s /dev/vda -- mkpart ESP fat32 1M 50MiB", # /boot
|
||||||
|
"parted -s /dev/vda -- set 1 boot on",
|
||||||
|
"parted -s /dev/vda -- mkpart primary linux-swap 50MiB 1024MiB",
|
||||||
|
"parted -s /dev/vda -- mkpart primary ext2 1024MiB -1MiB", # /
|
||||||
|
"udevadm settle",
|
||||||
|
"mkswap /dev/vda2 -L swap",
|
||||||
|
"swapon -L swap",
|
||||||
|
"mkfs.ext3 -L nixos /dev/vda3",
|
||||||
|
"mount LABEL=nixos /mnt",
|
||||||
|
"mkfs.vfat -n BOOT /dev/vda1",
|
||||||
|
"mkdir -p /mnt/boot",
|
||||||
|
"mount LABEL=BOOT /mnt/boot",
|
||||||
|
);
|
||||||
|
'';
|
||||||
|
bootLoader = "grub";
|
||||||
|
grubUseEfi = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Same as the previous, but now with a separate /boot partition.
|
# Same as the previous, but now with a separate /boot partition.
|
||||||
separateBoot = makeInstallerTest "separateBoot"
|
separateBoot = makeInstallerTest "separateBoot"
|
||||||
{ createPartitions =
|
{ createPartitions =
|
||||||
|
61
nixos/tests/nghttpx.nix
Normal file
61
nixos/tests/nghttpx.nix
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
let
|
||||||
|
nginxRoot = "/var/run/nginx";
|
||||||
|
in
|
||||||
|
import ./make-test.nix ({...}: {
|
||||||
|
name = "nghttpx";
|
||||||
|
nodes = {
|
||||||
|
webserver = {
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
systemd.services.nginx = {
|
||||||
|
preStart = ''
|
||||||
|
mkdir -p ${nginxRoot}
|
||||||
|
echo "Hello world!" > ${nginxRoot}/hello-world.txt
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts."server" = {
|
||||||
|
locations."/".root = nginxRoot;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
proxy = {
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
services.nghttpx = {
|
||||||
|
enable = true;
|
||||||
|
frontends = [
|
||||||
|
{ server = {
|
||||||
|
host = "*";
|
||||||
|
port = 80;
|
||||||
|
};
|
||||||
|
|
||||||
|
params = {
|
||||||
|
tls = "no-tls";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
backends = [
|
||||||
|
{ server = {
|
||||||
|
host = "webserver";
|
||||||
|
port = 80;
|
||||||
|
};
|
||||||
|
patterns = [ "/" ];
|
||||||
|
params.proto = "http/1.1";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
client = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
startAll;
|
||||||
|
|
||||||
|
$webserver->waitForOpenPort("80");
|
||||||
|
$proxy->waitForOpenPort("80");
|
||||||
|
$client->waitUntilSucceeds("curl -s --fail http://proxy/hello-world.txt");
|
||||||
|
'';
|
||||||
|
})
|
44
nixos/tests/php-pcre.nix
Normal file
44
nixos/tests/php-pcre.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
let testString = "can-use-subgroups"; in
|
||||||
|
|
||||||
|
import ./make-test.nix ({ pkgs, ...}: {
|
||||||
|
name = "php-httpd-pcre-jit-test";
|
||||||
|
machine = { config, lib, pkgs, ... }: {
|
||||||
|
time.timeZone = "UTC";
|
||||||
|
services.httpd = {
|
||||||
|
enable = true;
|
||||||
|
adminAddr = "please@dont.contact";
|
||||||
|
extraSubservices = lib.singleton {
|
||||||
|
function = f: {
|
||||||
|
enablePHP = true;
|
||||||
|
phpOptions = "pcre.jit = true";
|
||||||
|
|
||||||
|
extraConfig =
|
||||||
|
let
|
||||||
|
testRoot = pkgs.writeText "index.php"
|
||||||
|
''
|
||||||
|
<?php
|
||||||
|
preg_match('/(${testString})/', '${testString}', $result);
|
||||||
|
var_dump($result);
|
||||||
|
?>
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
''
|
||||||
|
Alias / ${testRoot}/
|
||||||
|
|
||||||
|
<Directory ${testRoot}>
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
testScript = { nodes, ... }:
|
||||||
|
''
|
||||||
|
$machine->waitForUnit('httpd.service');
|
||||||
|
# Ensure php evaluation by matching on the var_dump syntax
|
||||||
|
$machine->succeed('curl -vvv -s http://127.0.0.1:80/index.php \
|
||||||
|
| grep "string(${toString (builtins.stringLength testString)}) \"${testString}\""');
|
||||||
|
'';
|
||||||
|
})
|
85
nixos/tests/zfs.nix
Normal file
85
nixos/tests/zfs.nix
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
{ system ? builtins.currentSystem }:
|
||||||
|
|
||||||
|
with import ../lib/testing.nix { inherit system; };
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
makeTest = import ./make-test.nix;
|
||||||
|
|
||||||
|
makeZfsTest = name:
|
||||||
|
{ kernelPackage ? pkgs.linuxPackages_latest
|
||||||
|
, enableUnstable ? false
|
||||||
|
, extraTest ? ""
|
||||||
|
}:
|
||||||
|
makeTest {
|
||||||
|
name = "zfs-" + name;
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ adisbladis ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
virtualisation.emptyDiskImages = [ 4096 ];
|
||||||
|
networking.hostId = "deadbeef";
|
||||||
|
boot.kernelPackages = kernelPackage;
|
||||||
|
boot.supportedFilesystems = [ "zfs" ];
|
||||||
|
boot.zfs.enableUnstable = enableUnstable;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
parted
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
$machine->succeed("modprobe zfs");
|
||||||
|
$machine->succeed("zpool status");
|
||||||
|
|
||||||
|
$machine->succeed("ls /dev");
|
||||||
|
|
||||||
|
$machine->succeed(
|
||||||
|
"mkdir /tmp/mnt",
|
||||||
|
|
||||||
|
"udevadm settle",
|
||||||
|
"parted --script /dev/vdb mklabel msdos",
|
||||||
|
"parted --script /dev/vdb -- mkpart primary 1024M -1s",
|
||||||
|
"udevadm settle",
|
||||||
|
|
||||||
|
"zpool create rpool /dev/vdb1",
|
||||||
|
"zfs create -o mountpoint=legacy rpool/root",
|
||||||
|
"mount -t zfs rpool/root /tmp/mnt",
|
||||||
|
"udevadm settle",
|
||||||
|
|
||||||
|
"umount /tmp/mnt",
|
||||||
|
"zpool destroy rpool",
|
||||||
|
"udevadm settle"
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
'' + extraTest;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
stable = makeZfsTest "stable" { };
|
||||||
|
|
||||||
|
unstable = makeZfsTest "unstable" {
|
||||||
|
enableUnstable = true;
|
||||||
|
extraTest = ''
|
||||||
|
$machine->succeed(
|
||||||
|
"echo password | zpool create -o altroot='/tmp/mnt' -O encryption=aes-256-gcm -O keyformat=passphrase rpool /dev/vdb1",
|
||||||
|
"zfs create -o mountpoint=legacy rpool/root",
|
||||||
|
"mount -t zfs rpool/root /tmp/mnt",
|
||||||
|
"udevadm settle",
|
||||||
|
|
||||||
|
"umount /tmp/mnt",
|
||||||
|
"zpool destroy rpool",
|
||||||
|
"udevadm settle"
|
||||||
|
);
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
installer = (import ./installer.nix { }).zfsroot;
|
||||||
|
|
||||||
|
}
|
@ -1,25 +1,29 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
|
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq
|
||||||
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
|
, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, qrencode, libevent
|
||||||
, withGui }:
|
, withGui }:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
stdenv.mkDerivation rec{
|
stdenv.mkDerivation rec{
|
||||||
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
|
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
|
||||||
version = "0.15.0.1";
|
version = "0.15.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz";
|
urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
|
||||||
sha256 = "16si3skhm6jhw1pkniv2b9y1kkdhjmhj392palphir0qc1srwzmm";
|
"https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
|
||||||
|
];
|
||||||
|
sha256 = "1d22fgwdcn343kd95lh389hj417zwbmnhi29cij8n7wc0nz2vpil";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||||
buildInputs = [ openssl db48 boost zlib
|
buildInputs = [ openssl db48 boost zlib zeromq
|
||||||
miniupnpc protobuf libevent]
|
miniupnpc protobuf libevent]
|
||||||
++ optionals stdenv.isLinux [ utillinux ]
|
++ optionals stdenv.isLinux [ utillinux ]
|
||||||
++ optionals withGui [ qt4 qrencode ];
|
++ optionals withGui [ qtbase qttools qrencode ];
|
||||||
|
|
||||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
||||||
++ optionals withGui [ "--with-gui=qt4" ];
|
++ optionals withGui [ "--with-gui=qt5"
|
||||||
|
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Peer-to-peer electronic cash system";
|
description = "Peer-to-peer electronic cash system";
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{ callPackage, boost155, boost162, openssl_1_1_0, haskellPackages, darwin, libsForQt5 }:
|
{ callPackage, boost155, boost162, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2 }:
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
|
||||||
bitcoin = callPackage ./bitcoin.nix { withGui = true; };
|
bitcoin = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
|
||||||
bitcoind = callPackage ./bitcoin.nix { withGui = false; };
|
bitcoind = callPackage ./bitcoin.nix { 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; };
|
||||||
|
37
pkgs/applications/audio/amarok/kf5.nix
Normal file
37
pkgs/applications/audio/amarok/kf5.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ mkDerivation, fetchgit, lib
|
||||||
|
, extra-cmake-modules, kdoctools
|
||||||
|
, qca-qt5, qjson, qtscript, qtwebkit
|
||||||
|
, kcmutils, kconfig, kdelibs4support, kdnssd, kinit, knewstuff, knotifyconfig, ktexteditor
|
||||||
|
, phonon, plasma-framework, threadweaver
|
||||||
|
, curl, ffmpeg, gdk_pixbuf, libaio, libmtp, loudmouth, lzo, lz4, mariadb, pcre, snappy, taglib, taglib_extras
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
pname = "amarok";
|
||||||
|
version = "2.8.91-20170228";
|
||||||
|
|
||||||
|
in mkDerivation {
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = git://anongit.kde.org/amarok.git;
|
||||||
|
# go back to the KDE mirror when kf5 is merged into master
|
||||||
|
# url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
|
||||||
|
rev = "323e2d5b43245c4c06e0b83385d37ef0d32920cb";
|
||||||
|
sha256 = "05w7kl6qfmkjz0y1bhgkkbmsqdll30bkjd6npkzvivrvp7dplmbh";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
qca-qt5 qjson qtscript qtwebkit
|
||||||
|
kcmutils kconfig kdelibs4support kdnssd kinit knewstuff knotifyconfig ktexteditor
|
||||||
|
phonon plasma-framework threadweaver
|
||||||
|
curl ffmpeg gdk_pixbuf libaio libmtp loudmouth lz4 lzo mariadb pcre snappy taglib taglib_extras
|
||||||
|
];
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
license = licenses.gpl2;
|
||||||
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2, glib, zlib, perl, intltool,
|
{ stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2, glib, zlib, perl, intltool,
|
||||||
libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame, fetchpatch,
|
libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame,
|
||||||
expat, libid3tag, ffmpeg, soundtouch, /*, portaudio - given up fighting their portaudio.patch */
|
expat, libid3tag, ffmpeg, soundtouch, /*, portaudio - given up fighting their portaudio.patch */
|
||||||
autoconf, automake, libtool
|
autoconf, automake, libtool
|
||||||
}:
|
}:
|
||||||
@ -14,14 +14,6 @@ stdenv.mkDerivation rec {
|
|||||||
url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
|
url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
|
||||||
sha256 = "09xpr4bjnainz1xmc35v3qg3dadjr9wv8bmn1p4y91aqyihnhjry";
|
sha256 = "09xpr4bjnainz1xmc35v3qg3dadjr9wv8bmn1p4y91aqyihnhjry";
|
||||||
};
|
};
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
name = "new-ffmpeg.patch";
|
|
||||||
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk"
|
|
||||||
+ "/audacity-ffmpeg.patch?h=packages/audacity&id=0c1e35798d4d70692";
|
|
||||||
sha256 = "19fr674mw844zmkp1476yigkcnmb6zyn78av64ccdwi3p68i00rf";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
preConfigure = /* we prefer system-wide libs */ ''
|
preConfigure = /* we prefer system-wide libs */ ''
|
||||||
autoreconf -vi # use system libraries
|
autoreconf -vi # use system libraries
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
{ stdenv, fetchurl, undmg }:
|
{ stdenv, lib, fetchurl, undmg }:
|
||||||
|
|
||||||
let
|
let
|
||||||
major = "2";
|
versionComponents = [ "2" "1" ];
|
||||||
minor = "0.3";
|
appName = "MuseScore ${builtins.head versionComponents}";
|
||||||
patch = "1";
|
|
||||||
appName = "MuseScore ${major}";
|
|
||||||
in
|
in
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "musescore-darwin-${version}";
|
name = "musescore-darwin-${version}";
|
||||||
version = "${major}.${minor}.${patch}";
|
version = "${concatStringsSep "." versionComponents}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.osuosl.org/pub/musescore/releases/MuseScore-${major}.${minor}/MuseScore-${version}.dmg";
|
url = "ftp://ftp.osuosl.org/pub/musescore/releases/MuseScore-${concatStringsSep "." (take 3 versionComponents)}/MuseScore-${version}.dmg";
|
||||||
sha256 = "0a9v2nc7sx2az7xpd9i7b84m7xk9zcydfpis5fj334r5yqds4rm1";
|
sha256 = "19xkaxlkbrhvfip6n3iw6q7463ngr6y5gfisrpjqg2xl2igyl795";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ undmg ];
|
buildInputs = [ undmg ];
|
||||||
|
@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ glib ncurses mpd_clientlib ];
|
buildInputs = [ glib ncurses mpd_clientlib ];
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig gettext ];
|
nativeBuildInputs = [ meson ninja pkgconfig gettext ];
|
||||||
|
|
||||||
|
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Curses-based interface for MPD (music player daemon)";
|
description = "Curses-based interface for MPD (music player daemon)";
|
||||||
homepage = http://www.musicpd.org/clients/ncmpc/;
|
homepage = http://www.musicpd.org/clients/ncmpc/;
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "atom-beta-${version}";
|
name = "atom-beta-${version}";
|
||||||
version = "1.22.0-beta1";
|
version = "1.23.0-beta0";
|
||||||
|
|
||||||
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 = "0qggj0j0cnkzqwgvzw2fb1z10rvvx9jh0ymhdy1aca18hms44p3d";
|
sha256 = "1vfc8jin07kivdmyw88vbzinbjsb6py9n2ggpvy4cccagnvxwj2y";
|
||||||
name = "${name}.deb";
|
name = "${name}.deb";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "atom-${version}";
|
name = "atom-${version}";
|
||||||
version = "1.21.2";
|
version = "1.22.0";
|
||||||
|
|
||||||
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 = "0snhhp8rjmk750snyzkqzwvi7f915pbc6qpa3vf0f57syf47m7vl";
|
sha256 = "1jxw0m1hfaisf1f875wr28f0mr3h0wjml6pjhfxbybvcblpnd27k";
|
||||||
name = "${name}.deb";
|
name = "${name}.deb";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1356,6 +1356,20 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
mines = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||||
|
elpaBuild {
|
||||||
|
pname = "mines";
|
||||||
|
version = "1.2";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://elpa.gnu.org/packages/mines-1.2.tar";
|
||||||
|
sha256 = "1xwnw2hyk1qz98mdnckk0i05li0gzygq12kkmrlidxnk7ngbq9vw";
|
||||||
|
};
|
||||||
|
packageRequires = [ cl-lib emacs ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://elpa.gnu.org/packages/mines.html";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
minibuffer-line = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
minibuffer-line = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||||
pname = "minibuffer-line";
|
pname = "minibuffer-line";
|
||||||
version = "0.1";
|
version = "0.1";
|
||||||
@ -1556,10 +1570,10 @@
|
|||||||
}) {};
|
}) {};
|
||||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||||
pname = "org";
|
pname = "org";
|
||||||
version = "20171106";
|
version = "20171113";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/org-20171106.tar";
|
url = "https://elpa.gnu.org/packages/org-20171113.tar";
|
||||||
sha256 = "08gziccqfrl65v18ri2m6csb6smyafaz7pv86gnvpw05g7aj6alq";
|
sha256 = "0yynbzxbsjv0z12ydjgz81ysbg2irq37d9pzar8wspdjij15dypb";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
@ -2319,10 +2333,10 @@
|
|||||||
}) {};
|
}) {};
|
||||||
xclip = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
xclip = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||||
pname = "xclip";
|
pname = "xclip";
|
||||||
version = "1.3";
|
version = "1.4";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/xclip-1.3.el";
|
url = "https://elpa.gnu.org/packages/xclip-1.4.el";
|
||||||
sha256 = "1zlqr4sp8588sjga5c9b4prnsbpv3lr2wv8sih2p0s5qmjghc947";
|
sha256 = "12rw790wzj10jcsqf292hc7qx18ybyay8jqji4shmrv16igrzl6p";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
{ stdenv, fetchgit }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "ess-R-object-popup-20130302";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/myuhe/ess-R-object-popup.el.git";
|
||||||
|
rev = "7e1f601bfba72de0fda44d9c82f96028ecbb9948";
|
||||||
|
sha256 = "0q8pbaa6wahli6fh0kng5zmnypsxi1fr2bzs2mfk3h8vf4nikpv0";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
cp *.el *.elc $out/share/emacs/site-lisp/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Popup descriptions of R objects";
|
||||||
|
homepage = https://github.com/myuhe/ess-R-object-popup.el;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
{ fetchurl, lib, stdenv, melpaBuild }:
|
||||||
|
|
||||||
|
melpaBuild {
|
||||||
|
pname = "filesets-plus";
|
||||||
|
version = "20170222.55";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://www.emacswiki.org/emacs/download/filesets%2b.el";
|
||||||
|
sha256 = "0iajkgh0n3pbrwwxx9rmrrwz8dw2m7jsp4mggnhq7zsb20ighs00";
|
||||||
|
name = "filesets+.el";
|
||||||
|
};
|
||||||
|
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/filesets-plus+";
|
||||||
|
sha256 = "1wn99cb53ykds87lg9mrlfpalrmjj177nwskrnp9wglyqs65lk4g";
|
||||||
|
name = "filesets-plus";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/filesets+";
|
||||||
|
};
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
{ fetchurl, stdenv, melpaBuild }:
|
{ fetchurl, lib, stdenv, melpaBuild }:
|
||||||
|
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "font-lock-plus";
|
pname = "font-lock-plus";
|
||||||
@ -16,7 +16,7 @@ melpaBuild {
|
|||||||
name = "font-lock-plus";
|
name = "font-lock-plus";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = {
|
||||||
homepage = "https://melpa.org/#/font-lock+";
|
homepage = "https://melpa.org/#/font-lock+";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
};
|
};
|
||||||
|
23
pkgs/applications/editors/emacs-modes/header2/default.nix
Normal file
23
pkgs/applications/editors/emacs-modes/header2/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ fetchurl, lib, stdenv, melpaBuild }:
|
||||||
|
|
||||||
|
melpaBuild {
|
||||||
|
pname = "header2";
|
||||||
|
version = "20170223.1949";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://www.emacswiki.org/emacs/download/header2.el";
|
||||||
|
sha256 = "0cv74cfihr13jrgyqbj4x0na659djfyrhflxni6jdbgbysi4zf6k";
|
||||||
|
name = "header2.el";
|
||||||
|
};
|
||||||
|
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/header2";
|
||||||
|
sha256 = "1dg25krx3wxma2l5vb2ji7rpfp17qbrl62jyjpa52cjfsvyp6v06";
|
||||||
|
name = "header2";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/header2";
|
||||||
|
license = lib.licenses.gpl3;
|
||||||
|
};
|
||||||
|
}
|
23
pkgs/applications/editors/emacs-modes/helm-words/default.nix
Normal file
23
pkgs/applications/editors/emacs-modes/helm-words/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ stdenv, fetchgit }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "helm-words-20150413";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/pronobis/helm-words.git";
|
||||||
|
rev = "637aa3a7e9cfd34e0127472c5b1f993a4da26185";
|
||||||
|
sha256 = "19l8vysjygscr1nsddjz2yv0fjhbsswfq40rdny8zsmaa6qhpj35";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
cp *.el *.elc $out/share/emacs/site-lisp/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Emacs major mode for jade and stylus";
|
||||||
|
homepage = https://github.com/brianc/helm-words;
|
||||||
|
license = stdenv.lib.licenses.gpl3;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
23
pkgs/applications/editors/emacs-modes/hexrgb/default.nix
Normal file
23
pkgs/applications/editors/emacs-modes/hexrgb/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ fetchurl, lib, stdenv, melpaBuild }:
|
||||||
|
|
||||||
|
melpaBuild {
|
||||||
|
pname = "hexrgb";
|
||||||
|
version = "20170304.1017";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://www.emacswiki.org/emacs/download/hexrgb.el";
|
||||||
|
sha256 = "1aj1fsc3wr8174xs45j2wc2mm6f8v6zs40xn0r4qisdw0plmsbsy";
|
||||||
|
name = "hexrgb.el";
|
||||||
|
};
|
||||||
|
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/hexrgb";
|
||||||
|
sha256 = "0mzqslrrf7sc262syj3ja7b7rnbg80dwf2p9bzxdrzx6b8vvsx06";
|
||||||
|
name = "hexrgb";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/hexrgb";
|
||||||
|
license = lib.licenses.gpl2Plus;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
{ fetchurl, lib, stdenv, melpaBuild }:
|
||||||
|
|
||||||
|
melpaBuild {
|
||||||
|
pname = "lib-requires";
|
||||||
|
version = "20170307.757";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://www.emacswiki.org/emacs/download/lib-requires.el";
|
||||||
|
sha256 = "04lrkdjrhsgg7vgvw1mkr9a5m9xlyvjvnj2aj6w453bgmnp1mbvv";
|
||||||
|
name = "lib-requires.el";
|
||||||
|
};
|
||||||
|
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/lib-requires";
|
||||||
|
sha256 = "1g22jh56z8rnq0h80wj10gs38yig1rk9xmk3kmhmm5mm6b14iwdx";
|
||||||
|
name = "lib-requires";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/lib-requires";
|
||||||
|
license = lib.licenses.gpl2Plus;
|
||||||
|
};
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
@ -50,9 +50,6 @@ self:
|
|||||||
# upstream issue: missing package version
|
# upstream issue: missing package version
|
||||||
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
cmake-mode = markBroken (dontConfigure super.cmake-mode);
|
||||||
|
|
||||||
# upstream issue: missing file header
|
|
||||||
cn-outline = markBroken super.cn-outline;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
connection = markBroken super.connection;
|
connection = markBroken super.connection;
|
||||||
|
|
||||||
|
@ -611,12 +611,12 @@
|
|||||||
ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
|
ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ac-rtags";
|
pname = "ac-rtags";
|
||||||
version = "2.14";
|
version = "2.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Andersbakken";
|
owner = "Andersbakken";
|
||||||
repo = "rtags";
|
repo = "rtags";
|
||||||
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
|
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
|
||||||
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
|
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
|
||||||
@ -779,12 +779,12 @@
|
|||||||
ace-link = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
ace-link = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ace-link";
|
pname = "ace-link";
|
||||||
version = "0.4.0";
|
version = "0.5.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "abo-abo";
|
owner = "abo-abo";
|
||||||
repo = "ace-link";
|
repo = "ace-link";
|
||||||
rev = "5bf301e2c74960246427d3e48889a49f9f8ec6ba";
|
rev = "7b9bc8d916b60a501c32b63ce81f315486ad44e9";
|
||||||
sha256 = "1mrlwkls80blispg5hdgnif42rck3iqhcm1f3khq14nm09yqwdk9";
|
sha256 = "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link";
|
||||||
@ -4379,22 +4379,22 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
|
cliphist = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "cliphist";
|
pname = "cliphist";
|
||||||
version = "0.5.4";
|
version = "0.5.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "redguardtoo";
|
owner = "redguardtoo";
|
||||||
repo = "cliphist";
|
repo = "cliphist";
|
||||||
rev = "2aceea0e16e2f18b8b51161423ef1c0f655c7c8d";
|
rev = "e454254f8bd9dbaea28e95c786d7297a2d4e920a";
|
||||||
sha256 = "13vhm7dsqbaslml3a2hd3s39c7q494p5w2xznhdxvh8ig6w102lc";
|
sha256 = "1lxsy78kmrrb82y7nlaaaq2qsly7f3wa8jw1bagjax4rwvld0vim";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist";
|
||||||
sha256 = "0mg6pznijba3kvp3r57pi54v6mgih2vfwj2kg6qmcy1abrc0xq29";
|
sha256 = "0mg6pznijba3kvp3r57pi54v6mgih2vfwj2kg6qmcy1abrc0xq29";
|
||||||
name = "cliphist";
|
name = "cliphist";
|
||||||
};
|
};
|
||||||
packageRequires = [ popup ];
|
packageRequires = [ emacs ivy ];
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://melpa.org/#/cliphist";
|
homepage = "https://melpa.org/#/cliphist";
|
||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
@ -4688,12 +4688,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.0pre4";
|
version = "3.10.0pre5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Kitware";
|
owner = "Kitware";
|
||||||
repo = "CMake";
|
repo = "CMake";
|
||||||
rev = "45da558742bad36be518e8d95dee0d0ec3793a64";
|
rev = "78f5d571e4b07cc71d44c78ff36a335693298ccb";
|
||||||
sha256 = "0qq7dhwcl290ymza5imc16cg3f9crxym1q6b4i7w9fax8x2vlc1m";
|
sha256 = "1wrbpcfmvhmamxbv7iar6w29i7axzi1im99xd4vrhy4fc1rkk566";
|
||||||
};
|
};
|
||||||
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";
|
||||||
@ -5471,12 +5471,12 @@
|
|||||||
company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
|
company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "company-rtags";
|
pname = "company-rtags";
|
||||||
version = "2.14";
|
version = "2.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Andersbakken";
|
owner = "Andersbakken";
|
||||||
repo = "rtags";
|
repo = "rtags";
|
||||||
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
|
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
|
||||||
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
|
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
|
||||||
@ -5597,12 +5597,12 @@
|
|||||||
company-web = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, web-completion-data }:
|
company-web = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, web-completion-data }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "company-web";
|
pname = "company-web";
|
||||||
version = "0.9";
|
version = "2.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "osv";
|
owner = "osv";
|
||||||
repo = "company-web";
|
repo = "company-web";
|
||||||
rev = "ffb6b969813041d2d90680a7696a9e0208eaed61";
|
rev = "935c65de0411ebbcb4f2223f31e756e093eaae07";
|
||||||
sha256 = "0b0k75rg43h48dbcqiid947nspqiqxkiqcmvph9aqpxlfr67bz5r";
|
sha256 = "0kw0fc1lg7qd23fx26y9m543sql32n1dlvr4rg7bmq6im7dwz4hy";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-web";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-web";
|
||||||
@ -5702,12 +5702,12 @@
|
|||||||
conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
|
conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "conda";
|
pname = "conda";
|
||||||
version = "0.0.8";
|
version = "0.0.9";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "necaris";
|
owner = "necaris";
|
||||||
repo = "conda.el";
|
repo = "conda.el";
|
||||||
rev = "526be691824f4a32299f560a883913697bc4d847";
|
rev = "64b804c33f2667e8232689770a9f2e332c2dd0ab";
|
||||||
sha256 = "1jix3md6b02fypjm4y05av7acjkqryd1vqqz9wgxyinydlagrvh7";
|
sha256 = "1w1p1m2d0mwi3frkah5cnphyqsix7fp1li8glhlwf923cg48cxfq";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda";
|
||||||
@ -5975,12 +5975,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.2.0";
|
version = "1.3.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "redguardtoo";
|
owner = "redguardtoo";
|
||||||
repo = "counsel-etags";
|
repo = "counsel-etags";
|
||||||
rev = "5d7b51ce7806bbe7e1f75077b4dde2ac17a53c5d";
|
rev = "ad70ab89861d17b648a798c234153269eacf90b5";
|
||||||
sha256 = "0v3b3gs4jy8cqkvchnakwpws3a0igiklchb9q3754lnmk8784dn8";
|
sha256 = "0jzk5sdh6kax1gvrdrldvqlbgbsx8p938qnzn1mpkd2nmjga3v3c";
|
||||||
};
|
};
|
||||||
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";
|
||||||
@ -8312,12 +8312,12 @@
|
|||||||
ecukes = callPackage ({ ansi, commander, dash, espuds, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
ecukes = callPackage ({ ansi, commander, dash, espuds, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ecukes";
|
pname = "ecukes";
|
||||||
version = "0.6.15";
|
version = "0.6.16";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ecukes";
|
owner = "ecukes";
|
||||||
repo = "ecukes";
|
repo = "ecukes";
|
||||||
rev = "2bba6266a3fff772cd54a6cd1b1aee2c36872aa5";
|
rev = "c8092db08be5337ff3f3dd2857bfa94e360945d2";
|
||||||
sha256 = "1r5hlcspznvfm111l1z0r4isd582qj64sa8cqk6hyi3y1hyp1xxs";
|
sha256 = "1dkinyigacb4yxqikd9za4inbh7yz7pl8bhrpihrxzabxirmvw55";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/14cf66e6929db2a0f377612e786aaed9eb12b799/recipes/ecukes";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/14cf66e6929db2a0f377612e786aaed9eb12b799/recipes/ecukes";
|
||||||
@ -8501,12 +8501,12 @@
|
|||||||
editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "editorconfig";
|
pname = "editorconfig";
|
||||||
version = "0.7.10";
|
version = "0.7.11";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "editorconfig";
|
owner = "editorconfig";
|
||||||
repo = "editorconfig-emacs";
|
repo = "editorconfig-emacs";
|
||||||
rev = "1543835ce00412c3cd34a61497af5f68ead250a6";
|
rev = "2ec90f13ad98481c5324eea4877de7a80d814d86";
|
||||||
sha256 = "1c516972gx1rvlixdl6mgknx6vx1m4hbzbz3x43pzlg0mn31yn01";
|
sha256 = "160f7ciy8yp75gja3abm4rjy61wmk2b7b0k032qimiawkvg57bx2";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
|
||||||
@ -10041,6 +10041,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
erc-scrolltoplace = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, switch-buffer-functions }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "erc-scrolltoplace";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jgkamat";
|
||||||
|
repo = "erc-scrolltoplace";
|
||||||
|
rev = "7539654e4a72edcc5bba07a101961e5bf0a9d449";
|
||||||
|
sha256 = "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/e8ba300957fc00f5e53cf63dfa1e37a27b0d6d60/recipes/erc-scrolltoplace";
|
||||||
|
sha256 = "1cr5nxdk854zcb1w0xvmi4mg45lxv011gap4i96nvdpd4qxmcxph";
|
||||||
|
name = "erc-scrolltoplace";
|
||||||
|
};
|
||||||
|
packageRequires = [ emacs switch-buffer-functions ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/erc-scrolltoplace";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
erc-twitch = callPackage ({ erc ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
|
erc-twitch = callPackage ({ erc ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "erc-twitch";
|
pname = "erc-twitch";
|
||||||
@ -10149,12 +10170,12 @@
|
|||||||
erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "erlang";
|
pname = "erlang";
|
||||||
version = "20.1.4";
|
version = "20.1.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "erlang";
|
owner = "erlang";
|
||||||
repo = "otp";
|
repo = "otp";
|
||||||
rev = "3e8c1ff94c0a73df71daadd4eb782c21c49f22d9";
|
rev = "84f29ab803e8f36ef058a47f4c2b224f4dd58220";
|
||||||
sha256 = "19vd6x20i3pc3ddrjalli937i44z6z2yrdg7ir3gpaghhx8fhcav";
|
sha256 = "02y02m5cv29nr6icih7f5772657swnwan279scgcw02wm9lnm0vh";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
|
||||||
@ -10547,12 +10568,12 @@
|
|||||||
ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
|
ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ess";
|
pname = "ess";
|
||||||
version = "16.10";
|
version = "17.11";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "emacs-ess";
|
owner = "emacs-ess";
|
||||||
repo = "ESS";
|
repo = "ESS";
|
||||||
rev = "abacd7538e1bbfdd6ef2b5f11d4f5f4cc74782ee";
|
rev = "a218dec600c25687a81419e42b555141911504c6";
|
||||||
sha256 = "0fbprkjb9cjkjyc1yxn9b1znc4w1im9akl4f9ma2ddgl8fzmi7p7";
|
sha256 = "0wl90xiifn83clm25ya953pa91734h0sav1426y5czrmswzw7mj1";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
|
||||||
@ -12211,12 +12232,12 @@
|
|||||||
flex-compile = callPackage ({ buffer-manage, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
flex-compile = callPackage ({ buffer-manage, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "flex-compile";
|
pname = "flex-compile";
|
||||||
version = "0.1";
|
version = "0.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "plandes";
|
owner = "plandes";
|
||||||
repo = "flex-compile";
|
repo = "flex-compile";
|
||||||
rev = "4ca317883404a14c1b4920d7b3e6f0bffb04a8f2";
|
rev = "82e217aaab34dfd1faf7d03c82eca49706190232";
|
||||||
sha256 = "08ax91bdf4dwky8zp0cwmk53wqyqs893j7q1jah5cimnhgi82ksz";
|
sha256 = "1zp0gki61g487x6bypxlkbjzi972y80pzmhqdisl6qx9yrmk60vy";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/259caeebc317e81ab9d532a371ea85656c2b1619/recipes/flex-compile";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/259caeebc317e81ab9d532a371ea85656c2b1619/recipes/flex-compile";
|
||||||
@ -12862,12 +12883,12 @@
|
|||||||
flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
|
flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "flycheck-rtags";
|
pname = "flycheck-rtags";
|
||||||
version = "2.14";
|
version = "2.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Andersbakken";
|
owner = "Andersbakken";
|
||||||
repo = "rtags";
|
repo = "rtags";
|
||||||
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
|
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
|
||||||
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
|
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
|
||||||
@ -15663,12 +15684,12 @@
|
|||||||
govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
|
govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "govc";
|
pname = "govc";
|
||||||
version = "0.15.0";
|
version = "0.16.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "vmware";
|
owner = "vmware";
|
||||||
repo = "govmomi";
|
repo = "govmomi";
|
||||||
rev = "b63044e5f833781eb7b305bc035392480ee06a82";
|
rev = "7d879bac14d09f2f2a45a0477c1e45fbf52240f5";
|
||||||
sha256 = "1p0xnhcm7kx4g9wvy18nnij2wfirp0fccv24jz6v1i9bc64n7zka";
|
sha256 = "09fllx7l2hsjrv1jl7g06xngjy0xwn5n5zng6x8dspgsl6kblyqp";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
|
||||||
@ -17960,12 +17981,12 @@
|
|||||||
helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
|
helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "helm-rtags";
|
pname = "helm-rtags";
|
||||||
version = "2.14";
|
version = "2.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Andersbakken";
|
owner = "Andersbakken";
|
||||||
repo = "rtags";
|
repo = "rtags";
|
||||||
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
|
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
|
||||||
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
|
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
|
||||||
@ -18737,12 +18758,12 @@
|
|||||||
ht = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
ht = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ht";
|
pname = "ht";
|
||||||
version = "2.1";
|
version = "2.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Wilfred";
|
owner = "Wilfred";
|
||||||
repo = "ht.el";
|
repo = "ht.el";
|
||||||
rev = "0c0019ba2dfeaacdfe6be6d7f681e5e11dc8fa67";
|
rev = "a23a72342fda1eb3cc8d792f86efabe45eb0d1fd";
|
||||||
sha256 = "0yrxygyzl4cqnp7m57jwp26544q72w8qf6xshmh9q3y93ix4h4aw";
|
sha256 = "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/6c7589bca1c1dfcc0fe76779f6847fda946ab981/recipes/ht";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/6c7589bca1c1dfcc0fe76779f6847fda946ab981/recipes/ht";
|
||||||
@ -19661,12 +19682,12 @@
|
|||||||
indium = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
|
indium = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "indium";
|
pname = "indium";
|
||||||
version = "1.0";
|
version = "1.1.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "NicolasPetton";
|
owner = "NicolasPetton";
|
||||||
repo = "Indium";
|
repo = "Indium";
|
||||||
rev = "db3b727c9deedcf9afa13e07cd25734cbf7305a2";
|
rev = "c15f5a2b4a48fd53b446e0fa291bdb8323b80c27";
|
||||||
sha256 = "1cm6zm8d7rywvlhzf1vpblqb1kgn6c7bwk9q2mjz7f5gdcsx1jp5";
|
sha256 = "07fzsjmbbq4nx2w23pbb0z88iqmclm156yd87nxsdivndmzvsgw2";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium";
|
||||||
@ -20101,12 +20122,12 @@
|
|||||||
iter2 = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
iter2 = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "iter2";
|
pname = "iter2";
|
||||||
version = "0.9.4";
|
version = "0.9.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "doublep";
|
owner = "doublep";
|
||||||
repo = "iter2";
|
repo = "iter2";
|
||||||
rev = "a0e41b2f55d50c08c59ffcc6e83a977c141bcc55";
|
rev = "ac1b4f10203d8093ae9f897039be97fd5ec65969";
|
||||||
sha256 = "0ccr9qjhc35wi07yckd9y26synihhsg8zwkxgqyzkx7avxkqfyhn";
|
sha256 = "098bsm5wc7nqk06awak2ar4nwd3xpqsdc9pb2n0px20ql6lxh4bh";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/d94316660051ee0ba0c12e380e6203986440368f/recipes/iter2";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/d94316660051ee0ba0c12e380e6203986440368f/recipes/iter2";
|
||||||
@ -20290,12 +20311,12 @@
|
|||||||
ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
|
ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ivy-rtags";
|
pname = "ivy-rtags";
|
||||||
version = "2.14";
|
version = "2.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Andersbakken";
|
owner = "Andersbakken";
|
||||||
repo = "rtags";
|
repo = "rtags";
|
||||||
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
|
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
|
||||||
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
|
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
|
||||||
@ -20311,12 +20332,12 @@
|
|||||||
ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }:
|
ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ivy-youtube";
|
pname = "ivy-youtube";
|
||||||
version = "0.3.1";
|
version = "0.3.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "squiter";
|
owner = "squiter";
|
||||||
repo = "ivy-youtube";
|
repo = "ivy-youtube";
|
||||||
rev = "9a9d584124bd9905b5a8a7e29cdafa3224770c9d";
|
rev = "23e1089d4c4fc32db20df14ba10078aabf117e87";
|
||||||
sha256 = "0fircdxhfb9s6qmzic2hizhlwfkszw3was83nw09zf0zhab3vllh";
|
sha256 = "0m70vxjj49kf8bzni2qchgzgx808z1fcfh02cflkhjcb77dkq8d6";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube";
|
||||||
@ -20771,12 +20792,12 @@
|
|||||||
js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }:
|
js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "js2-refactor";
|
pname = "js2-refactor";
|
||||||
version = "0.8.0";
|
version = "0.9.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "magnars";
|
owner = "magnars";
|
||||||
repo = "js2-refactor.el";
|
repo = "js2-refactor.el";
|
||||||
rev = "bd73f03fc5f0d1ca1dce29e28bb43f78af483a38";
|
rev = "089c7800e3e7b0a89ee2392037ac07851bcee298";
|
||||||
sha256 = "1q2c61bhbr6b4a1wgqsbwxywymsxy7h3wc9fkcy3ryip3xd88b7b";
|
sha256 = "1iwblf5i7k1i1ax9pjv7n8zv9q157krirdn0gwcib6dwza2i30jp";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor";
|
||||||
@ -21107,12 +21128,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.0";
|
version = "1.0.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ogdenwebb";
|
owner = "ogdenwebb";
|
||||||
repo = "emacs-kaolin-themes";
|
repo = "emacs-kaolin-themes";
|
||||||
rev = "720762a42ad4cb4b325f78a9d41af380b8783501";
|
rev = "08e13adfab07c9cf7b0df313c77eac8fb393b284";
|
||||||
sha256 = "104prgkjqnnv1bqgpcl0di1q9sqkfnj4ibqvrk6ls32hw75shvdh";
|
sha256 = "0wijf5493wmp219ypbvhp0c4q76igrxijzdalbgkyp2gf8xvq6b4";
|
||||||
};
|
};
|
||||||
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";
|
||||||
@ -22101,12 +22122,12 @@
|
|||||||
live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "live-py-mode";
|
pname = "live-py-mode";
|
||||||
version = "2.18.1";
|
version = "2.19.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "donkirkby";
|
owner = "donkirkby";
|
||||||
repo = "live-py-plugin";
|
repo = "live-py-plugin";
|
||||||
rev = "145d21d65b5469e682ef464ae8f4e0e3d8c0f04b";
|
rev = "f5da8df21ae2aa704ddca4473b6f9400ba12d30c";
|
||||||
sha256 = "1h188cprka13bd1prfj1w86m5z8c1nfaz4dw18g88jf6b0gyazhz";
|
sha256 = "1w0xc0bc5jl0q9yi9jhvy4xgdyrz9l402v9qv8mmrp2iqf5cdblm";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
|
||||||
@ -22328,6 +22349,27 @@
|
|||||||
license = lib.licenses.free;
|
license = lib.licenses.free;
|
||||||
};
|
};
|
||||||
}) {};
|
}) {};
|
||||||
|
lsp-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
|
||||||
|
melpaBuild {
|
||||||
|
pname = "lsp-ocaml";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "emacs-lsp";
|
||||||
|
repo = "lsp-ocaml";
|
||||||
|
rev = "e826f82929b8a388a90600d3570cf66c020f0b91";
|
||||||
|
sha256 = "1mb912ffw8w5dggxaijz700j2yhzq69fil81gki3r66n077nacmr";
|
||||||
|
};
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/7be2d7a7af3d744c531e5e018d791bf2566df428/recipes/lsp-ocaml";
|
||||||
|
sha256 = "17334qcgqrz4jd5npizyq20fmxy07z2p3pq98s5np2kc4h9ara33";
|
||||||
|
name = "lsp-ocaml";
|
||||||
|
};
|
||||||
|
packageRequires = [ emacs lsp-mode ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/lsp-ocaml";
|
||||||
|
license = lib.licenses.free;
|
||||||
|
};
|
||||||
|
}) {};
|
||||||
lua-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
lua-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "lua-mode";
|
pname = "lua-mode";
|
||||||
@ -23374,7 +23416,7 @@
|
|||||||
merlin = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
merlin = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "merlin";
|
pname = "merlin";
|
||||||
version = "3.0.3";
|
version = "3.0.4";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "the-lambda-church";
|
owner = "the-lambda-church";
|
||||||
repo = "merlin";
|
repo = "merlin";
|
||||||
@ -26194,12 +26236,12 @@
|
|||||||
org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "org-journal";
|
pname = "org-journal";
|
||||||
version = "1.12.2";
|
version = "1.12.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bastibe";
|
owner = "bastibe";
|
||||||
repo = "org-journal";
|
repo = "org-journal";
|
||||||
rev = "cda1980b013afabd299e7a2294517897f6442d98";
|
rev = "44a52a20a154d5c1a78684ef720972c4fe36b64a";
|
||||||
sha256 = "1y6idbp74vrr3g0r10n09znky8ih94kzf5fyil47sjkqyzzmpk3s";
|
sha256 = "0c4jwh53mgy4qpv7aiwbsbvjjhchyfjb0ca5ny5875ljvkq59qz6";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
|
||||||
@ -27305,12 +27347,12 @@
|
|||||||
ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
|
ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "ox-hugo";
|
pname = "ox-hugo";
|
||||||
version = "0.4.1";
|
version = "0.6";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kaushalmodi";
|
owner = "kaushalmodi";
|
||||||
repo = "ox-hugo";
|
repo = "ox-hugo";
|
||||||
rev = "c32359c71e7926c7f13039069d8d7481dfb9bc82";
|
rev = "1213df6c6d9adcd706306523a5ce0c66d118b4c7";
|
||||||
sha256 = "1nw2dp6rn3hnnzzffvpr6yz7c154338h9i5ixxgh5vjxm9phzdml";
|
sha256 = "1j4b7f5bgpc8vhmxprqriy3688i3lp3fgvxcnnnb2v0sjq1pbac8";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
|
||||||
@ -27954,12 +27996,12 @@
|
|||||||
pastery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
|
pastery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "pastery";
|
pname = "pastery";
|
||||||
version = "0.1.14";
|
version = "0.1.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "diasbruno";
|
owner = "diasbruno";
|
||||||
repo = "pastery.el";
|
repo = "pastery.el";
|
||||||
rev = "3f60a2660613c09be5a0b6e299828b44ee3c8732";
|
rev = "245779100e7d1c1a10b67fe7b9055343d3a8229c";
|
||||||
sha256 = "1dzbkiy2qjdq4isrpiwj25qj069nhydzngg6avyh2c2qmxkibjsr";
|
sha256 = "1wn53ncs0nivmdqlryvidqkksky8w4ymmfsqm1ha62jkxcwqf26h";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/6058218450071db0af9a5b8ce8ec09a735c4ab66/recipes/pastery";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/6058218450071db0af9a5b8ce8ec09a735c4ab66/recipes/pastery";
|
||||||
@ -31402,12 +31444,12 @@
|
|||||||
rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "rtags";
|
pname = "rtags";
|
||||||
version = "2.14";
|
version = "2.15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Andersbakken";
|
owner = "Andersbakken";
|
||||||
repo = "rtags";
|
repo = "rtags";
|
||||||
rev = "15ef9a8bab847773d6e247005be929422fc9c285";
|
rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
|
||||||
sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
|
sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
|
||||||
@ -31864,12 +31906,12 @@
|
|||||||
sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "sbt-mode";
|
pname = "sbt-mode";
|
||||||
version = "0.3";
|
version = "1.0.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ensime";
|
owner = "ensime";
|
||||||
repo = "emacs-sbt-mode";
|
repo = "emacs-sbt-mode";
|
||||||
rev = "bdf31a1ffe637d1445b149804d5f5cc29333a1bd";
|
rev = "84c3d178a1f2c580f620fd8f03a05ac6413086a3";
|
||||||
sha256 = "0ygp0c2hy4zp5x0ghplxf2fhrf16cn37sk2zf6i43zqz6gydzq8a";
|
sha256 = "1ndxylb2jbnfrrsbbs5vcxygrqd3ssf3az01nh694hv6lkcidw5k";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
|
||||||
@ -32576,12 +32618,12 @@
|
|||||||
shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "shx";
|
pname = "shx";
|
||||||
version = "0.0.11";
|
version = "0.0.12";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "riscy";
|
owner = "riscy";
|
||||||
repo = "shx-for-emacs";
|
repo = "shx-for-emacs";
|
||||||
rev = "dfeb23f99673479b17b5817aeb5641e7cc0e5a2d";
|
rev = "aa45e7b586b1215ca1af05c14984ce872571b5f7";
|
||||||
sha256 = "1zljrvanwn37jkc9jpqj8c11dfbqxjz9ivzbpqr0ipskw9gaay7k";
|
sha256 = "0ya7vbp71vmvli35rwcwspbclss5ngr1ck9074i2gg1dzrqyxijn";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
|
||||||
@ -35325,12 +35367,12 @@
|
|||||||
tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
|
tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "tide";
|
pname = "tide";
|
||||||
version = "2.5.3";
|
version = "2.6.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ananthakumaran";
|
owner = "ananthakumaran";
|
||||||
repo = "tide";
|
repo = "tide";
|
||||||
rev = "e5d1d3852aaf63cbfb0abaec1792a62bed024a72";
|
rev = "e7ffcdcf9f68205d1498137e84a731c7ffb86263";
|
||||||
sha256 = "1kwssyzbjwl2vyll0p49l57z41yv6k1jnzbsdnh0d1h81nixg5wk";
|
sha256 = "0lym5jb2fxv4zjhik4q5miazrsi96pljl6fw5jjh0i9p8xs0yp4x";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
|
||||||
@ -35534,12 +35576,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.11.8";
|
version = "1.12.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexander-Miller";
|
owner = "Alexander-Miller";
|
||||||
repo = "treemacs";
|
repo = "treemacs";
|
||||||
rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
|
rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
|
||||||
sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
|
sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/486f21e99856a77f470d246f3c71cd32d2e61ad6/recipes/treemacs";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/486f21e99856a77f470d246f3c71cd32d2e61ad6/recipes/treemacs";
|
||||||
@ -35555,12 +35597,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.11.8";
|
version = "1.12.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexander-Miller";
|
owner = "Alexander-Miller";
|
||||||
repo = "treemacs";
|
repo = "treemacs";
|
||||||
rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
|
rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
|
||||||
sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
|
sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
|
||||||
@ -35576,12 +35618,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.11.8";
|
version = "1.12.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Alexander-Miller";
|
owner = "Alexander-Miller";
|
||||||
repo = "treemacs";
|
repo = "treemacs";
|
||||||
rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
|
rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
|
||||||
sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
|
sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/b694918c94e6311745776d451aa2519924beef2d/recipes/treemacs-projectile";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/b694918c94e6311745776d451aa2519924beef2d/recipes/treemacs-projectile";
|
||||||
@ -35685,8 +35727,8 @@
|
|||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ocaml";
|
owner = "ocaml";
|
||||||
repo = "tuareg";
|
repo = "tuareg";
|
||||||
rev = "64537bc753094b2adc2e3e97625fa9c0a01f9ae6";
|
rev = "92c1dea250038d1590ab6ce76a6e099fef10d450";
|
||||||
sha256 = "03d0n49p6d77p221majmbh0gjyrmh2z4cb2l2vi5xxfwc1fsxzmp";
|
sha256 = "187z651w2ngj29bgvw0435c88ky8jvczgvglja9491vprp1zfypc";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
|
||||||
@ -36212,12 +36254,12 @@
|
|||||||
utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "utop";
|
pname = "utop";
|
||||||
version = "2.0.1";
|
version = "2.0.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "diml";
|
owner = "diml";
|
||||||
repo = "utop";
|
repo = "utop";
|
||||||
rev = "d658bd8f63ed6b23144fdba2ee3f2a6d77979c4f";
|
rev = "599fa4ff640d731927415a44679e5b07d9553acd";
|
||||||
sha256 = "1x96zxkvfq8mshgi654vvklrr7dqvq9can89n4jrrb82pcn06k5j";
|
sha256 = "030wmzi51hya4180m411afy8i2vkq63r630cms3apdqd2bkjjjqs";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
|
||||||
@ -36443,12 +36485,12 @@
|
|||||||
vhdl-tools = callPackage ({ emacs, fetchFromGitHub, fetchurl, ggtags, helm, lib, melpaBuild, outshine }:
|
vhdl-tools = callPackage ({ emacs, fetchFromGitHub, fetchurl, ggtags, helm, lib, melpaBuild, outshine }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "vhdl-tools";
|
pname = "vhdl-tools";
|
||||||
version = "5.7";
|
version = "5.8";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "csantosb";
|
owner = "csantosb";
|
||||||
repo = "vhdl-tools";
|
repo = "vhdl-tools";
|
||||||
rev = "40d5e1020b1a2b6e8ff04cbd8c84bf7959e4e7af";
|
rev = "6bbcbdfbff7154517178290371b0182a176c09b5";
|
||||||
sha256 = "1ndrvwjgfjnmaw71y4452ck9aqlwnpxa7379ldsn7gfl0r67qhsi";
|
sha256 = "16k2h8n85ldfjb4zh7f202q370zs0rmmjhgf2jr4xfrvbdmgr8pa";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/69fe2f8fb98ac1af1d3185f62ae1c89e646cfebf/recipes/vhdl-tools";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/69fe2f8fb98ac1af1d3185f62ae1c89e646cfebf/recipes/vhdl-tools";
|
||||||
@ -37430,11 +37472,11 @@
|
|||||||
wisp-mode = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
|
wisp-mode = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "wisp-mode";
|
pname = "wisp-mode";
|
||||||
version = "0.9.7";
|
version = "0.9.8";
|
||||||
src = fetchhg {
|
src = fetchhg {
|
||||||
url = "https://bitbucket.com/ArneBab/wisp";
|
url = "https://bitbucket.com/ArneBab/wisp";
|
||||||
rev = "7633b2a5133f";
|
rev = "e80659fcc896";
|
||||||
sha256 = "0j6j9wkmq95dhx5cr3z2gpx5mvsqsgissp2060ij252ijc3l9k4a";
|
sha256 = "01cmwv6xafk19gg6ixgiw9szmhmqk19i2jha5yafaa93pwgnc40v";
|
||||||
};
|
};
|
||||||
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";
|
||||||
@ -38466,12 +38508,12 @@
|
|||||||
zoom = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
zoom = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "zoom";
|
pname = "zoom";
|
||||||
version = "0.2.0";
|
version = "0.2.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cyrus-and";
|
owner = "cyrus-and";
|
||||||
repo = "zoom";
|
repo = "zoom";
|
||||||
rev = "d92ea444df6f6bb6cae92242f3269582d1b8ab40";
|
rev = "85deb722abb89f1758a24969680fc13b51344cb2";
|
||||||
sha256 = "08riz3dd19c1dixm3c6j5dkkwjpgcib05pxq611w8z0mgsn0hsc5";
|
sha256 = "1a7dlfi1w0rh6iphvflip3798xg7sac916qwjmqzz4inw9wdh3ga";
|
||||||
};
|
};
|
||||||
recipeFile = fetchurl {
|
recipeFile = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe094c99756ad29eda9bc51f31bb70c4ddc4131/recipes/zoom";
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe094c99756ad29eda9bc51f31bb70c4ddc4131/recipes/zoom";
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ callPackage }: {
|
{ callPackage }: {
|
||||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||||
pname = "org";
|
pname = "org";
|
||||||
version = "20171106";
|
version = "20171113";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://orgmode.org/elpa/org-20171106.tar";
|
url = "http://orgmode.org/elpa/org-20171113.tar";
|
||||||
sha256 = "080zkrbivd0y67ydcqj97c672q6d9d33qgb5z723niy8a8xjrp20";
|
sha256 = "0lip21hxq912ya2cgfls3c4clks9knsf2cma9dabbdkiz9jmw1xq";
|
||||||
};
|
};
|
||||||
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 = "20171106";
|
version = "20171113";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://orgmode.org/elpa/org-plus-contrib-20171106.tar";
|
url = "http://orgmode.org/elpa/org-plus-contrib-20171113.tar";
|
||||||
sha256 = "1ckh7q7kc72qc1wh4xypfadj9dpnn4xzc6ap4gg428q85bi091h1";
|
sha256 = "1yy24rgdfvs99rj0zi74djb7l4wmj3w1i6m6j8z6xkqnhixwg5w7";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
{stdenv, fetchurl, emacs}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "org-mac-link-1.2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/stuartsierra/org-mode/master/contrib/lisp/org-mac-link.el";
|
||||||
|
sha256 = "1gkzlfbhg289r1hbqd25szan1wizgk6s99h9xxjip5bjv0jywcx5";
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [ "buildPhase" "installPhase"];
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
cp $src org-mac-link.el
|
||||||
|
emacs --batch -f batch-byte-compile org-mac-link.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install org-mac-link.el $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Insert org-mode links to items selected in various Mac apps";
|
||||||
|
homepage = http://orgmode.org/worg/org-contrib/org-mac-link.html;
|
||||||
|
license = stdenv.lib.licenses.gpl3;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
{stdenv, fetchurl}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "perl-completion";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://emacswiki.org/emacs/download/perl-completion.el";
|
||||||
|
sha256 = "0x6qsgs4hm87k0z9q3g4p6508kc3y123j5jayll3jf3lcl2vm6ks";
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [ "installPhase"];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install $src $out/share/emacs/site-lisp/perl-completion.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Minor mode provides useful features for editing perl codes";
|
||||||
|
homepage = http://emacswiki.org/emacs/PerlCompletion;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
name = "ProofGeneral-unstable-${version}";
|
name = "ProofGeneral-unstable-${version}";
|
||||||
version = "2017-05-06";
|
version = "2017-11-06";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ProofGeneral";
|
owner = "ProofGeneral";
|
||||||
repo = "PG";
|
repo = "PG";
|
||||||
rev = "574b0992e3cb4b7a4ad88400b9a5ab0198a96ca5";
|
rev = "2eab72c33751768c8a6cde36b978ea4a36b91843";
|
||||||
sha256 = "1c1pgdmy58h78s53g0ga9b5ilbsibz0dr2lk52xgbs3q5m22v5fh";
|
sha256 = "1l3n48d6d4l5q3wkhdyp8dc6hzdw1ckdzr57dj8rdm78j87vh2cg";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;
|
buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;
|
||||||
|
22
pkgs/applications/editors/emacs-modes/railgun/default.nix
Normal file
22
pkgs/applications/editors/emacs-modes/railgun/default.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ stdenv, fetchgit }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "railgun-2012-10-17";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/mbriggs/railgun.el.git";
|
||||||
|
rev = "66aaa1b091baef53a69d0d7425f48d184b865fb8";
|
||||||
|
sha256 = "00x09vjd3jz5f73qkf5v1y402zn8vl8dsyfwlq9z646p18ba7gyh";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
cp *.el *.elc $out/share/emacs/site-lisp/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Propel yourself through a rails project with the power of magnets";
|
||||||
|
homepage = https://github.com/mbriggs/railgun.el;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
23
pkgs/applications/editors/emacs-modes/redshank/default.nix
Normal file
23
pkgs/applications/editors/emacs-modes/redshank/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{ stdenv, fetchgit }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "redshank";
|
||||||
|
name = "${pname}-20120510";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "http://www.foldr.org/~michaelw/projects/redshank.git";
|
||||||
|
rev = "f98e68f532e622bcd464292ca4a9cf5fbea14ebb";
|
||||||
|
sha256 = "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
cp *.el *.elc $out/share/emacs/site-lisp/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Common Lisp Editing Extensions (for Emacs)";
|
||||||
|
homepage = http://www.foldr.org/~michaelw/emacs/redshank/;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
25
pkgs/applications/editors/emacs-modes/stgit/default.nix
Normal file
25
pkgs/applications/editors/emacs-modes/stgit/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "stgit";
|
||||||
|
name = "${pname}-2009-10-28";
|
||||||
|
|
||||||
|
unpackPhase = "true";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/miracle2k/stgit/master/contrib/stgit.el";
|
||||||
|
sha256 = "0pl8q480633vdkylr85s7cbd4653xpzwklnxrwm8xhsnvw9d501q";
|
||||||
|
name = "stgit.el";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
cp $src $out/share/emacs/site-lisp/stgit.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "An emacs mode for Stgit";
|
||||||
|
homepage = http://procode.org/stgit/;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
{ fetchurl, lib, stdenv, melpaBuild }:
|
||||||
|
|
||||||
|
melpaBuild {
|
||||||
|
pname = "thingatpt-plus";
|
||||||
|
version = "20170307.1539";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://www.emacswiki.org/emacs/download/thingatpt+.el";
|
||||||
|
sha256 = "1k9y354315gvhbdk0m9xpjx24w1bwrnzlnfiils8xgdwnw4py99a";
|
||||||
|
name = "thingatpt+.el";
|
||||||
|
};
|
||||||
|
|
||||||
|
recipeFile = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thingatpt+";
|
||||||
|
sha256 = "0w031lzjl5phvzsmbbxn2fpziwkmdyxsn08h6b9lxbss1prhx7aa";
|
||||||
|
name = "thingatpt-plus";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://melpa.org/#/thingatpt+";
|
||||||
|
license = lib.licenses.gpl2Plus;
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/applications/editors/emacs-modes/yaoddmuse/default.nix
Normal file
30
pkgs/applications/editors/emacs-modes/yaoddmuse/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{stdenv, fetchurl, emacs}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "yaoddmuse-0.1.2";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://emacswiki.org/emacs/download/yaoddmuse.el";
|
||||||
|
sha256 = "0vlllq3xmnlni0ws226pqxj68nshclbl5rgqv6y11i3yvzgiazr6";
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [ "buildPhase" "installPhase"];
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
cp $src yaoddmuse.el
|
||||||
|
emacs --batch -f batch-byte-compile yaoddmuse.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -d $out/share/emacs/site-lisp
|
||||||
|
install yaoddmuse.el $out/share/emacs/site-lisp
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Comprehensive Emacs integration with Oddmuse wikis";
|
||||||
|
homepage = http://emacswiki.org/emacs/Yaoddmuse;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
25
pkgs/applications/editors/emacs-modes/zeitgeist/default.nix
Normal file
25
pkgs/applications/editors/emacs-modes/zeitgeist/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ stdenv, fetchurl, emacs }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "zeitgeist-20120221";
|
||||||
|
|
||||||
|
unpackPhase = "true";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/alexmurray/dotfiles/master/.emacs.d/vendor/zeitgeist.el";
|
||||||
|
sha256 = "0fssx3lp8ar3b1ichbagir7z17habv367l7zz719ipycr24rf1nw";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ emacs ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
cp $src $out/share/emacs/site-lisp/zeitgeist.el
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Integreate Emacs with Zeitgeist";
|
||||||
|
homepage = http://zeitgeist-project.com/;
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -265,12 +265,12 @@ in
|
|||||||
|
|
||||||
idea-community = buildIdea rec {
|
idea-community = buildIdea rec {
|
||||||
name = "idea-community-${version}";
|
name = "idea-community-${version}";
|
||||||
version = "2017.2.5"; /* updated by script */
|
version = "2017.2.6"; /* 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 = "01p63wsy60icy4673ci435rmzpjfkyz7a8w413vw45i2bm76skhr"; /* updated by script */
|
sha256 = "150zq3wk7gsn1ibx5nkq9smfcf9n1lk347vj47yb1nwzcq0vmj2p"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea-ce";
|
wmClass = "jetbrains-idea-ce";
|
||||||
update-channel = "IDEA_Release";
|
update-channel = "IDEA_Release";
|
||||||
@ -278,12 +278,12 @@ in
|
|||||||
|
|
||||||
idea-ultimate = buildIdea rec {
|
idea-ultimate = buildIdea rec {
|
||||||
name = "idea-ultimate-${version}";
|
name = "idea-ultimate-${version}";
|
||||||
version = "2017.2.5"; /* updated by script */
|
version = "2017.2.6"; /* 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 = "0pp49nck1cad6pz81bd95v4v55vmnvj7cbdzybmldglka1afqjb6"; /* updated by script */
|
sha256 = "1g0qcv14rn9kzf0yv17ca3w1ihl1274216n7niwkqwcjp5mvj030"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-idea";
|
wmClass = "jetbrains-idea";
|
||||||
update-channel = "IDEA_Release";
|
update-channel = "IDEA_Release";
|
||||||
@ -304,12 +304,12 @@ in
|
|||||||
|
|
||||||
pycharm-community = buildPycharm rec {
|
pycharm-community = buildPycharm rec {
|
||||||
name = "pycharm-community-${version}";
|
name = "pycharm-community-${version}";
|
||||||
version = "2017.2.3"; /* updated by script */
|
version = "2017.2.4"; /* 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 = "1aik3jhggxfxnfv4kg9716gwsi013511jf9n20f2mqzdq8w2jmp8"; /* updated by script */
|
sha256 = "193f44s9vh5ksd7hs586h0j66lcqsh29wwxr5yhl05lq931la857"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm-ce";
|
wmClass = "jetbrains-pycharm-ce";
|
||||||
update-channel = "PyCharm_Release";
|
update-channel = "PyCharm_Release";
|
||||||
@ -317,12 +317,12 @@ in
|
|||||||
|
|
||||||
pycharm-professional = buildPycharm rec {
|
pycharm-professional = buildPycharm rec {
|
||||||
name = "pycharm-professional-${version}";
|
name = "pycharm-professional-${version}";
|
||||||
version = "2017.2.3"; /* updated by script */
|
version = "2017.2.4"; /* 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 = "0ib96yaj7l0igiv2bcrqqpbfn2xn3ic7lxyjn99k6dh8ika1qvry"; /* updated by script */
|
sha256 = "0n1nps8jfk77i796yr90bvrx9j1vcdnl25sr4b5n4xznjrix4gki"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm";
|
wmClass = "jetbrains-pycharm";
|
||||||
update-channel = "PyCharm_Release";
|
update-channel = "PyCharm_Release";
|
||||||
@ -356,12 +356,12 @@ in
|
|||||||
|
|
||||||
webstorm = buildWebStorm rec {
|
webstorm = buildWebStorm rec {
|
||||||
name = "webstorm-${version}";
|
name = "webstorm-${version}";
|
||||||
version = "2017.2.4"; /* updated by script */
|
version = "2017.2.5"; /* 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 = "1dd2fbsyra4fm39w1kz2biljbrmcqwd866hvzsidigmjplhlzan0"; /* updated by script */
|
sha256 = "0apsfwcj8qfjwya794848h5iqfg9fay3h8bxqwclkw7lid9qwv7n"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-webstorm";
|
wmClass = "jetbrains-webstorm";
|
||||||
update-channel = "WS_Release";
|
update-channel = "WS_Release";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
|
{ stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
|
||||||
, libtool, libuv, luajit, luajitPackages, luaPackages, ncurses, perl, pkgconfig
|
, libtool, libuv, luaPackages, ncurses, perl, pkgconfig
|
||||||
, unibilium, makeWrapper, vimUtils, xsel, gperf
|
, unibilium, makeWrapper, vimUtils, xsel, gperf
|
||||||
|
|
||||||
, withPython ? true, pythonPackages, extraPythonPackages ? []
|
, withPython ? true, pythonPackages, extraPythonPackages ? []
|
||||||
@ -19,13 +19,13 @@ let
|
|||||||
# Note: this is NOT the libvterm already in nixpkgs, but some NIH silliness:
|
# Note: this is NOT the libvterm already in nixpkgs, but some NIH silliness:
|
||||||
neovimLibvterm = stdenv.mkDerivation rec {
|
neovimLibvterm = stdenv.mkDerivation rec {
|
||||||
name = "neovim-libvterm-${version}";
|
name = "neovim-libvterm-${version}";
|
||||||
version = "2016-10-07";
|
version = "2017-11-05";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neovim";
|
owner = "neovim";
|
||||||
repo = "libvterm";
|
repo = "libvterm";
|
||||||
rev = "5a748f97fbf27003e141002b58933a99f3addf8d";
|
rev = "4ca7ebf7d25856e90bc9d9cc49412e80be7c4ea8";
|
||||||
sha256 = "1fnd57f5n9h7z50a4vj7g96k6ndsdknjqsibgnxi9ndhyz244qbx";
|
sha256 = "05kyvvz8af90mvig11ya5xd8f4mbvapwyclyrihm9lwas706lzf6";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ perl ];
|
buildInputs = [ perl ];
|
||||||
@ -81,13 +81,13 @@ let
|
|||||||
|
|
||||||
neovim = stdenv.mkDerivation rec {
|
neovim = stdenv.mkDerivation rec {
|
||||||
name = "neovim-${version}";
|
name = "neovim-${version}";
|
||||||
version = "0.2.0";
|
version = "0.2.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neovim";
|
owner = "neovim";
|
||||||
repo = "neovim";
|
repo = "neovim";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0fhjkgjwqqmzbfn9wk10l2vq9v74zkriz5j12b1rx0gdwzlfybn8";
|
sha256 = "19ppj0i59kk70j09gap6azm0jm4y95fr5fx7n9gx377y3xjs8h03";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@ -99,7 +99,6 @@ let
|
|||||||
ncurses
|
ncurses
|
||||||
neovimLibvterm
|
neovimLibvterm
|
||||||
unibilium
|
unibilium
|
||||||
luajit
|
|
||||||
luaPackages.lua
|
luaPackages.lua
|
||||||
gperf
|
gperf
|
||||||
] ++ optional withJemalloc jemalloc
|
] ++ optional withJemalloc jemalloc
|
||||||
@ -115,7 +114,7 @@ let
|
|||||||
LUA_PATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaPath lualibs);
|
LUA_PATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaPath lualibs);
|
||||||
LUA_CPATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaCPath lualibs);
|
LUA_CPATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaCPath lualibs);
|
||||||
|
|
||||||
lualibs = [ luaPackages.mpack luaPackages.lpeg luajitPackages.lpeg luaPackages.luabitop ];
|
lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DLUA_PRG=${luaPackages.lua}/bin/lua"
|
"-DLUA_PRG=${luaPackages.lua}/bin/lua"
|
||||||
@ -163,7 +162,7 @@ let
|
|||||||
# those contributions were copied from Vim (identified in the commit logs
|
# those contributions were copied from Vim (identified in the commit logs
|
||||||
# by the vim-patch token). See LICENSE for details."
|
# by the vim-patch token). See LICENSE for details."
|
||||||
license = with licenses; [ asl20 vim ];
|
license = with licenses; [ asl20 vim ];
|
||||||
maintainers = with maintainers; [ manveru garbas ];
|
maintainers = with maintainers; [ manveru garbas rvolosatovs ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -4,7 +4,7 @@ with stdenv.lib;
|
|||||||
|
|
||||||
pythonPackages.buildPythonPackage rec {
|
pythonPackages.buildPythonPackage rec {
|
||||||
name = "neovim-remote-${version}";
|
name = "neovim-remote-${version}";
|
||||||
version = "v1.6.0";
|
version = "v1.8.6";
|
||||||
disabled = !pythonPackages.isPy3k;
|
disabled = !pythonPackages.isPy3k;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
@ -2,7 +2,7 @@ GEM
|
|||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
msgpack (1.1.0)
|
msgpack (1.1.0)
|
||||||
neovim (0.5.0)
|
neovim (0.5.1)
|
||||||
msgpack (~> 1.0)
|
msgpack (~> 1.0)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
@ -12,4 +12,4 @@ DEPENDENCIES
|
|||||||
neovim
|
neovim
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.15.1
|
1.14.6
|
||||||
|
@ -11,9 +11,9 @@
|
|||||||
dependencies = ["msgpack"];
|
dependencies = ["msgpack"];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1da0ha3mz63iyihldp7185b87wx86jg07023xjhbng6i28y1ksn7";
|
sha256 = "08xn7r4g13wl4bhvkmp4hx3x0ppvifs1x2iiqh8jl9f1jb4jhfcp";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.5.0";
|
version = "0.5.1";
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -61,7 +61,7 @@ in let
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
# Correct sublime_text.desktop to exec `sublime' instead of /opt/sublime_text
|
# Correct sublime_text.desktop to exec `sublime' instead of /opt/sublime_text
|
||||||
sed -e 's,/opt/sublime_text/sublime_text,sublime,' -i sublime_text.desktop
|
sed -e "s,/opt/sublime_text/sublime_text,$out/sublime_text," -i sublime_text.desktop
|
||||||
|
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -prvd * $out/
|
cp -prvd * $out/
|
||||||
@ -89,9 +89,15 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
ln -s $sublime/sublime_text $out/bin/subl
|
|
||||||
ln -s $sublime/sublime_text $out/bin/sublime
|
cat > $out/bin/subl <<-EOF
|
||||||
ln -s $sublime/sublime_text $out/bin/sublime3
|
#!/bin/sh
|
||||||
|
exec $sublime/sublime_text "\$@"
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/subl
|
||||||
|
|
||||||
|
ln $out/bin/subl $out/bin/sublime
|
||||||
|
ln $out/bin/subl $out/bin/sublime3
|
||||||
mkdir -p $out/share/applications
|
mkdir -p $out/share/applications
|
||||||
ln -s $sublime/sublime_text.desktop $out/share/applications/sublime_text.desktop
|
ln -s $sublime/sublime_text.desktop $out/share/applications/sublime_text.desktop
|
||||||
ln -s $sublime/Icon/256x256/ $out/share/icons
|
ln -s $sublime/Icon/256x256/ $out/share/icons
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
|
makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.17.2";
|
version = "1.18.0";
|
||||||
channel = "stable";
|
channel = "stable";
|
||||||
|
|
||||||
plat = {
|
plat = {
|
||||||
@ -12,9 +12,9 @@ let
|
|||||||
}.${stdenv.system};
|
}.${stdenv.system};
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
"i686-linux" = "04mnj74pqkgfgdacq4643qrd7ybka1366lr7mwn0f70lk05wb2h2";
|
"i686-linux" = "0xwfnw15792lxr5npc71yyw5yyaqi3nifqgv6vpi8ibl6c8zs97d";
|
||||||
"x86_64-linux" = "0y37wwvq6flaa2fh2r6b9cplbcszq726zrx6b8slzq6s5wl2lgmr";
|
"x86_64-linux" = "0qzj2qrzbdk27mggh0f9fs3s99bffvnrnbsparbzdag5jjmry2py";
|
||||||
"x86_64-darwin" = "1cqyir7ijwafy68d5vbw47cs1x2lqs1wjnvhhw15yi2d7c14fq7q";
|
"x86_64-darwin" = "1g5rf6g9q9hh4gzg6nb37pyq9dpjj0wapivv5dsvmn0j3cp69cv4";
|
||||||
}.${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";
|
||||||
|
@ -139,15 +139,13 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
texturize = pluginDerivation {
|
texturize = pluginDerivation {
|
||||||
name = "texturize-2.1";
|
name = "texturize-2.2.2017-07-28";
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = mirror://sourceforge/gimp-texturize/texturize-2.1_src.tgz;
|
owner = "lmanul";
|
||||||
sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
|
repo = "gimp-texturize";
|
||||||
|
rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1";
|
||||||
|
sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw";
|
||||||
};
|
};
|
||||||
buildInputs = with pkgs; [ perl ];
|
|
||||||
patchPhase = ''
|
|
||||||
sed -i '/.*gimpimage_pdb.h.*/ d' src/*.c*
|
|
||||||
'';
|
|
||||||
installPhase = "installPlugins src/texturize";
|
installPhase = "installPlugins src/texturize";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng
|
cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng
|
||||||
boost boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
|
boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
|
||||||
gettext intltool perl unzip ftgl glew asciidoc
|
gettext intltool perl unzip ftgl glew asciidoc
|
||||||
gtkmm2 glibmm gtkglext pangox_compat libXmu
|
gtkmm2 glibmm gtkglext pangox_compat libXmu
|
||||||
];
|
];
|
||||||
|
@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "17kkpzkmzfnigs26jjyd75iy58qffjsclif81cmviq73lzmqy0b1";
|
sha256 = "17kkpzkmzfnigs26jjyd75iy58qffjsclif81cmviq73lzmqy0b1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./photoqt-1.5.1-qt-5.9.patch ];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtbase qtquickcontrols qttools exiv2 graphicsmagick
|
qtbase qtquickcontrols qttools exiv2 graphicsmagick
|
||||||
qtmultimedia qtdeclarative libraw qtgraphicaleffects
|
qtmultimedia qtdeclarative libraw qtgraphicaleffects
|
||||||
@ -21,6 +24,8 @@ stdenv.mkDerivation rec {
|
|||||||
export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
|
export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://photoqt.org/;
|
homepage = http://photoqt.org/;
|
||||||
description = "Simple, yet powerful and good looking image viewer";
|
description = "Simple, yet powerful and good looking image viewer";
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 97abcb5..fd4877a 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -50,7 +50,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3 -Wall")
|
||||||
|
#### FIND REQUIRED PACKAGES ####
|
||||||
|
################################
|
||||||
|
|
||||||
|
-FIND_PACKAGE(Qt5 COMPONENTS LinguistTools Quick Widgets Core Svg REQUIRED)
|
||||||
|
+FIND_PACKAGE(Qt5 COMPONENTS LinguistTools Quick Widgets Core Svg Sql Xml REQUIRED)
|
||||||
|
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
|
||||||
|
FIND_PACKAGE(Magick)
|
||||||
|
FIND_PACKAGE(Exiv2)
|
@ -26,28 +26,28 @@ let
|
|||||||
libXxf86vm
|
libXxf86vm
|
||||||
libXi
|
libXi
|
||||||
];
|
];
|
||||||
in
|
in buildRustPackage rec {
|
||||||
|
|
||||||
buildRustPackage rec {
|
|
||||||
name = "alacritty-unstable-${version}";
|
name = "alacritty-unstable-${version}";
|
||||||
version = "2017-10-31";
|
version = "2017-11-12";
|
||||||
|
|
||||||
# At the moment we cannot handle git dependencies in buildRustPackage.
|
# At the moment we cannot handle git dependencies in buildRustPackage.
|
||||||
# This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
|
# This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = https://github.com/Mic92/alacritty.git;
|
url = https://github.com/Mic92/alacritty.git;
|
||||||
rev = "rev-${version}";
|
rev = "rev-${version}";
|
||||||
sha256 = "1yybx23smwdkzb6byvxd6zxi7asmrzvp9h1ihmy6xlzwjfbsalj0";
|
sha256 = "0096fzrfzj0a2n2n531r4b6c8rlfj5qc90d6i4iin5axalk3i1h4";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "14bmm1f7hqh8i4mpb6ljh7szrm4g6mplzpq9zbgjrgxnc01w3s0i";
|
cargoSha256 = "10blch8pzk1zk3w27sbcszhcnq908xh1q55vqgy8iv5x47rpl02q";
|
||||||
|
|
||||||
buildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
makeWrapper
|
makeWrapper
|
||||||
pkgconfig
|
pkgconfig
|
||||||
] ++ rpathLibs;
|
];
|
||||||
|
|
||||||
|
buildInputs = rpathLibs;
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace copypasta/src/x11.rs \
|
substituteInPlace copypasta/src/x11.rs \
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
{ stdenv, fetchipfs, fetchurl }:
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "hello-2.10";
|
name = "hello-2.10";
|
||||||
|
|
||||||
src = fetchipfs {
|
src = fetchurl {
|
||||||
url = "https://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz";
|
url = "mirror://gnu/hello/${name}.tar.gz";
|
||||||
ipfs = "QmWyj65ak3wd8kG2EvPCXKd6Tij15m4SwJz6g2yG2rQ7w8";
|
sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
|
||||||
sha256 = "1im1gglfm4k10bh4mdaqzmx3lm3kivnsmxrvl6vyvmfqqzljq75l";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
@ -22,9 +21,4 @@ stdenv.mkDerivation rec {
|
|||||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.all;
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru.srcTarball = fetchurl {
|
|
||||||
inherit (src) url;
|
|
||||||
sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
40
pkgs/applications/misc/jgmenu/default.nix
Normal file
40
pkgs/applications/misc/jgmenu/default.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, pkgconfig, python3Packages, pango, librsvg, libxml2, menu-cache, xorg }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "jgmenu-${version}";
|
||||||
|
version = "0.7.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "johanmalm";
|
||||||
|
repo = "jgmenu";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0vim7balxrxhbgq4jvf80lbh57xbw3qmhapy7n2iyv443ih4a7hi";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkgconfig
|
||||||
|
python3Packages.wrapPython
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pango
|
||||||
|
librsvg
|
||||||
|
libxml2
|
||||||
|
menu-cache
|
||||||
|
xorg.libXinerama
|
||||||
|
];
|
||||||
|
|
||||||
|
makeFlags = [ "prefix=$(out)" ];
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
wrapPythonProgramsIn "$out/lib/jgmenu"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/johanmalm/jgmenu;
|
||||||
|
description = "Small X11 menu intended to be used with openbox and tint2";
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = [ maintainers.romildo ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, boost, miniupnpc, openssl, pkgconfig, unbound }:
|
{ stdenv, fetchFromGitHub, cmake, boost, miniupnpc, openssl, pkgconfig, unbound }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.11.0.0";
|
version = "0.11.1.0";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "monero-${version}";
|
name = "monero-${version}";
|
||||||
@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
|||||||
owner = "monero-project";
|
owner = "monero-project";
|
||||||
repo = "monero";
|
repo = "monero";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "041xxk9gznfpgn8f07m7sddr74cwm1sdyf9i85k10ndja87xc6y4";
|
sha256 = "0nrpxx6r63ia6ard85d504x2kgaikvrhb5sg93ml70l6djyy1148";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig ];
|
nativeBuildInputs = [ cmake pkgconfig ];
|
||||||
|
@ -20,6 +20,8 @@ mkDerivation rec {
|
|||||||
|
|
||||||
cmakeFlags = lib.optional preferQWebView "-DQST_BUILD_WEBKIT=1";
|
cmakeFlags = lib.optional preferQWebView "-DQST_BUILD_WEBKIT=1";
|
||||||
|
|
||||||
|
patches = [ ./qsyncthingtray-0.5.8-qt-5.6.3.patch ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
${lib.optionalString stdenv.isLinux ''
|
${lib.optionalString stdenv.isLinux ''
|
||||||
substituteInPlace includes/platforms/linux/posixUtils.hpp \
|
substituteInPlace includes/platforms/linux/posixUtils.hpp \
|
||||||
@ -44,6 +46,8 @@ mkDerivation rec {
|
|||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = https://github.com/sieren/QSyncthingTray/;
|
homepage = https://github.com/sieren/QSyncthingTray/;
|
||||||
description = "A Traybar Application for Syncthing written in C++";
|
description = "A Traybar Application for Syncthing written in C++";
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index b778d09..247b606 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -12,7 +12,7 @@ set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||||
|
|
||||||
|
-find_package(Qt5 5.6 COMPONENTS Widgets Network PrintSupport)
|
||||||
|
+find_package(Qt5 5.6 COMPONENTS Widgets Network PrintSupport WebEngineWidgets)
|
||||||
|
if (NOT Qt5_FOUND)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"Some components of Qt5 not found (see above messages for details. "
|
34
pkgs/applications/misc/usync/default.nix
Normal file
34
pkgs/applications/misc/usync/default.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, scsh, rsync, unison }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "usync";
|
||||||
|
version = "0.0.3";
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ebzzry";
|
||||||
|
repo = pname;
|
||||||
|
rev = "9c87ea8a707a47c3d7f6ef94d07591c5ab594282";
|
||||||
|
sha256 = "1r05gw041fz9dkkb70zd6kqw9dd8dhpv87407qxqg43pd7x47kf4";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -m 555 -Dt $out/bin $pname
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
substituteInPlace $out/bin/$pname --replace "/usr/bin/env scsh" "${scsh}/bin/scsh"
|
||||||
|
substituteInPlace $out/bin/$pname --replace "(rsync " "(${rsync}/bin/rsync "
|
||||||
|
substituteInPlace $out/bin/$pname --replace "(unison " "(${unison}/bin/unison "
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/ebzzry/usync;
|
||||||
|
description = "A simple site-to-site synchronization tool";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.ebzzry ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
}
|
@ -3,17 +3,19 @@
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "verbiste-${version}";
|
name = "verbiste-${version}";
|
||||||
|
|
||||||
version = "0.1.44";
|
version = "0.1.45";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://perso.b2b2c.ca/~sarrazip/dev/${name}.tar.gz";
|
url = "http://perso.b2b2c.ca/~sarrazip/dev/${name}.tar.gz";
|
||||||
sha256 = "0vmjr8w3qc64y312a0sj0ask309mmmlmyxp2fsii0ji35ls7m9sw";
|
sha256 = "180zyhdjspp7lk2291wsqs6bm7y27r7bd00447iimmjpx372s22c";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
buildInputs = [ libgnomeui libxml2 ];
|
buildInputs = [ libgnomeui libxml2 ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://sarrazip.com/dev/verbiste.html;
|
homepage = http://sarrazip.com/dev/verbiste.html;
|
||||||
description = "French and Italian verb conjugator";
|
description = "French and Italian verb conjugator";
|
||||||
|
@ -94,12 +94,12 @@ let
|
|||||||
|
|
||||||
flash = stdenv.mkDerivation rec {
|
flash = stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-ppapi-${version}";
|
name = "flashplayer-ppapi-${version}";
|
||||||
version = "27.0.0.183";
|
version = "27.0.0.187";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
|
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
|
||||||
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
|
||||||
sha256 = "012fhsjfp71vaarjhi3dd4qpb41n4510zmid38hl2hsjz7qrj5aj";
|
sha256 = "102z9aflm0a29klc26jch3wl4y8hdrxzqdqvf5yj0bnibx3hwpsy";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
beta = {
|
beta = {
|
||||||
sha256 = "068jaws7lqwlw3g62d2cv7i44p6zvdnizdqd56hfs4wj08k068db";
|
sha256 = "1pk6ssvriqmckf61lafkbwyy98ylpaz0mq3g0zrifbhxzwkk01ni";
|
||||||
sha256bin64 = "009ckf3gh039dwdf8rj494ra4qp0kijgzkrxianda1r7cqz1c3ys";
|
sha256bin64 = "0svdxgszy377hm3lzys90xj8qna93r4xz3d89sy086c9sq1ncsr0";
|
||||||
version = "63.0.3239.30";
|
version = "63.0.3239.40";
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
sha256 = "0kpn5w1qvjlkxqhsc7lz269mxp7i0z9k92ay178kgsph3ygncm0x";
|
sha256 = "0kpn5w1qvjlkxqhsc7lz269mxp7i0z9k92ay178kgsph3ygncm0x";
|
||||||
@ -11,8 +11,8 @@
|
|||||||
version = "64.0.3260.2";
|
version = "64.0.3260.2";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
sha256 = "0sclvs11kn60ibc66wfan0xdcsr2s8vkvbq759h86w9gq86pcycz";
|
sha256 = "1m2qjm4x789s3hx255gmmihqrqfx8f608fap3khsp2phgck4vg6a";
|
||||||
sha256bin64 = "05lbrzd37q57mx9rii995l9z42a4aa0jh55ia615sqmzr56a7fdr";
|
sha256bin64 = "1wxszymlv2y1dk4f0hpgq9b86fzqb7x8q87rfbq7dvfj8g4vipz1";
|
||||||
version = "62.0.3202.89";
|
version = "62.0.3202.94";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -29,11 +29,9 @@
|
|||||||
# Set to `privacySupport` or `false`.
|
# Set to `privacySupport` or `false`.
|
||||||
|
|
||||||
, webrtcSupport ? !privacySupport
|
, webrtcSupport ? !privacySupport
|
||||||
, geolocationSupport ? !privacySupport
|
, googleAPISupport ? !privacySupport
|
||||||
, googleAPISupport ? geolocationSupport
|
|
||||||
, crashreporterSupport ? false
|
, crashreporterSupport ? false
|
||||||
|
|
||||||
, safeBrowsingSupport ? false
|
|
||||||
, drmSupport ? false
|
, drmSupport ? false
|
||||||
|
|
||||||
## other
|
## other
|
||||||
@ -161,10 +159,8 @@ stdenv.mkDerivation (rec {
|
|||||||
++ flag gssSupport "negotiateauth"
|
++ flag gssSupport "negotiateauth"
|
||||||
++ lib.optional (!ffmpegSupport) "--disable-gstreamer"
|
++ lib.optional (!ffmpegSupport) "--disable-gstreamer"
|
||||||
++ flag webrtcSupport "webrtc"
|
++ flag webrtcSupport "webrtc"
|
||||||
++ flag geolocationSupport "mozril-geoloc"
|
|
||||||
++ lib.optional googleAPISupport "--with-google-api-keyfile=ga"
|
++ lib.optional googleAPISupport "--with-google-api-keyfile=ga"
|
||||||
++ flag crashreporterSupport "crashreporter"
|
++ flag crashreporterSupport "crashreporter"
|
||||||
++ flag safeBrowsingSupport "safe-browsing"
|
|
||||||
++ lib.optional drmSupport "--enable-eme=widevine"
|
++ lib.optional drmSupport "--enable-eme=widevine"
|
||||||
|
|
||||||
++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
|
++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
|
||||||
|
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
|
||||||
|
index 380c1c1..255539f 100644
|
||||||
|
--- a/toolkit/xre/nsXREDirProvider.cpp
|
||||||
|
+++ b/toolkit/xre/nsXREDirProvider.cpp
|
||||||
|
@@ -306,7 +306,8 @@ GetSystemParentDirectory(nsIFile** aFile)
|
||||||
|
"/usr/lib/mozilla"
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir));
|
||||||
|
+ const char* pathVar = PR_GetEnv("MOZ_SYSTEM_DIR");
|
||||||
|
+ rv = NS_NewNativeLocalFile((pathVar && *pathVar) ? nsDependentCString(pathVar) : reinterpret_cast<const nsCString&>(dirname), false, getter_AddRefs(localDir));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (NS_SUCCEEDED(rv)) {
|
@ -6,14 +6,14 @@ rec {
|
|||||||
|
|
||||||
firefox = common rec {
|
firefox = common rec {
|
||||||
pname = "firefox";
|
pname = "firefox";
|
||||||
version = "56.0.2";
|
version = "57.0";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||||
sha512 = "35f81e8163a254b7e134fc073acbcff63aa1025b9c6392377650a8f2d0a5f0c77211adb0ae3d8ac85f036bb387246934b8847f14a03fceb7fcbc5b3cf94c9392";
|
sha512 = "bd99ff97a2a6f824e6fbd36fd00193903159e309506b1e6945dcbc43a17a95aaa54a05f32131c56872e8860878ba6063008667955550f03aa8c7084f834d14fc";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches =
|
patches =
|
||||||
[ ./no-buildconfig.patch ]
|
[ ./no-buildconfig.patch ./env_var_for_system_dir.patch ]
|
||||||
++ lib.optional stdenv.isi686 (fetchpatch {
|
++ lib.optional stdenv.isi686 (fetchpatch {
|
||||||
url = "https://hg.mozilla.org/mozilla-central/raw-rev/15517c5a5d37";
|
url = "https://hg.mozilla.org/mozilla-central/raw-rev/15517c5a5d37";
|
||||||
sha256 = "1ba487p3hk4w2w7qqfxgv1y57vp86b8g3xhav2j20qd3j3phbbn7";
|
sha256 = "1ba487p3hk4w2w7qqfxgv1y57vp86b8g3xhav2j20qd3j3phbbn7";
|
||||||
@ -32,12 +32,15 @@ rec {
|
|||||||
|
|
||||||
firefox-esr = common rec {
|
firefox-esr = common rec {
|
||||||
pname = "firefox-esr";
|
pname = "firefox-esr";
|
||||||
version = "52.4.1esr";
|
version = "52.5.0esr";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||||
sha512 = "d80c7219548391d8a47b6e404662ea41e6acfa264a67d69365e76dd8943077e388ab24b030850919f8fc6681c11486bdbaaf170d441c861f4a12cedbe08955ab";
|
sha512 = "fe724108ba538e590b87a5c1b817471d3cca9b038ba2755642e4d7b8ebb6174322be1fe074f24ef181946f9a027106b50b500d2fa541d8a99ef44905822eda18";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches =
|
||||||
|
[ ./env_var_for_system_dir.patch ];
|
||||||
|
|
||||||
meta = firefox.meta // {
|
meta = firefox.meta // {
|
||||||
description = "A web browser built from Firefox Extended Support Release source tree";
|
description = "A web browser built from Firefox Extended Support Release source tree";
|
||||||
};
|
};
|
||||||
@ -128,6 +131,9 @@ in rec {
|
|||||||
rev = "tor-browser-52.3.0esr-7.0-1-slnos";
|
rev = "tor-browser-52.3.0esr-7.0-1-slnos";
|
||||||
sha256 = "0szbf8gjbl4dnrb4igy4mq5858i1y6ki4skhdw63iqqdd8w9v4yv";
|
sha256 = "0szbf8gjbl4dnrb4igy4mq5858i1y6ki4skhdw63iqqdd8w9v4yv";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches =
|
||||||
|
[ ./env_var_for_system_dir.patch ];
|
||||||
} // commonAttrs) {};
|
} // commonAttrs) {};
|
||||||
|
|
||||||
tor-browser = tor-browser-7-0;
|
tor-browser = tor-browser-7-0;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, lib, makeDesktopItem, makeWrapper, config
|
{ stdenv, lib, makeDesktopItem, makeWrapper, lndir, config
|
||||||
|
|
||||||
## various stuff that can be plugged in
|
## various stuff that can be plugged in
|
||||||
, flashplayer, hal-flash
|
, flashplayer, hal-flash
|
||||||
@ -47,6 +47,9 @@ let
|
|||||||
++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
|
++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
|
||||||
++ lib.optional (cfg.enableVLC or false) vlc_npapi
|
++ lib.optional (cfg.enableVLC or false) vlc_npapi
|
||||||
);
|
);
|
||||||
|
nativeMessagingHosts =
|
||||||
|
([ ]
|
||||||
|
);
|
||||||
libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
|
libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
|
||||||
++ lib.optional gssSupport kerberos
|
++ lib.optional gssSupport kerberos
|
||||||
++ lib.optionals (cfg.enableQuakeLive or false)
|
++ lib.optionals (cfg.enableQuakeLive or false)
|
||||||
@ -98,6 +101,7 @@ in stdenv.mkDerivation {
|
|||||||
--prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
|
--prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
|
||||||
--suffix PATH ':' "$out/bin" \
|
--suffix PATH ':' "$out/bin" \
|
||||||
--set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
|
--set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
|
||||||
|
--set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
|
||||||
${lib.optionalString (!ffmpegSupport)
|
${lib.optionalString (!ffmpegSupport)
|
||||||
''--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"''
|
''--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"''
|
||||||
+ lib.optionalString (browser ? gtk3)
|
+ lib.optionalString (browser ? gtk3)
|
||||||
@ -117,6 +121,11 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
install -D -t $out/share/applications $desktopItem/share/applications/*
|
install -D -t $out/share/applications $desktopItem/share/applications/*
|
||||||
|
|
||||||
|
mkdir -p $out/lib/mozilla
|
||||||
|
for ext in ${toString nativeMessagingHosts}; do
|
||||||
|
${lndir}/bin/lndir -silent $ext/lib/mozilla $out/lib/mozilla
|
||||||
|
done
|
||||||
|
|
||||||
# For manpages, in case the program supplies them
|
# For manpages, in case the program supplies them
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
echo ${browser} > $out/nix-support/propagated-user-env-packages
|
echo ${browser} > $out/nix-support/propagated-user-env-packages
|
||||||
|
@ -73,7 +73,7 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-${version}";
|
name = "flashplayer-${version}";
|
||||||
version = "27.0.0.183";
|
version = "27.0.0.187";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
@ -84,14 +84,14 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 =
|
sha256 =
|
||||||
if debug then
|
if debug then
|
||||||
if arch == "x86_64" then
|
if arch == "x86_64" then
|
||||||
"1qn9hm9c303jihksfc8sb5yjpcasj711s66lhqlqmj5hd0r8bzya"
|
"1ii97fa1diyggarh1gkg43ia42ws7x84hpjzvrdhxcf6s47lh2ld"
|
||||||
else
|
else
|
||||||
"19d0d4fn2p2wvh27gshybgc4xpjp0ibgm2gg8g0jzrvbc3cqdz0j"
|
"1gphlgy64ddzn4bbgr2k1kh8xwq9ghf0z0c6zilry0nq33i64xa1"
|
||||||
else
|
else
|
||||||
if arch == "x86_64" then
|
if arch == "x86_64" then
|
||||||
"0df8lbbvr226k9z6p2jwxandjb6yy0bqz5kaz79hpj0dwkiqwax1"
|
"1hfcphcvdam62k983rm6r42mnkih4nfwyrnx0v88z3nw14mjr4c3"
|
||||||
else
|
else
|
||||||
"0vs63rlra5ccm24j908zrcxhffjlmvjr6pb2bb7a4fmnfjrk4idf";
|
"06jb4jd5840w125wd4l35f0b1iqjak07ajy02k9j8srglwi0ffmw";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
@ -55,7 +55,7 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "flashplayer-standalone-${version}";
|
name = "flashplayer-standalone-${version}";
|
||||||
version = "27.0.0.183";
|
version = "27.0.0.187";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
@ -65,9 +65,9 @@ stdenv.mkDerivation rec {
|
|||||||
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_sa_linux.x86_64.tar.gz";
|
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_sa_linux.x86_64.tar.gz";
|
||||||
sha256 =
|
sha256 =
|
||||||
if debug then
|
if debug then
|
||||||
"0vf28qdhb1ly5w3hhy3n20r4nyvwsxj5csb969s0r328nf1xaflj"
|
"1857g4yy62pj02pnw7p9bpqazp98jf17yv2xdh1fkqiibzahjc6m"
|
||||||
else
|
else
|
||||||
"0jqbnbpdrmxh2jnai0bv4c8jzsvqmcnhsp1hzaygsvp0ri4vncs8";
|
"0kywx7c3qb1hfljc14ddzm1cyhvwygbbdfxp1rdhqw8s3b6ns0hw";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
|
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