Project import generated by Copybara.
GitOrigin-RevId: 04a2b269d8921505a2969fc9ec25c1f517f2b307
This commit is contained in:
parent
32466344b3
commit
48af15f7a5
991 changed files with 18629 additions and 7346 deletions
1
third_party/nixpkgs/.github/labeler.yml
vendored
1
third_party/nixpkgs/.github/labeler.yml
vendored
|
@ -53,6 +53,7 @@
|
||||||
|
|
||||||
"6.topic: kernel":
|
"6.topic: kernel":
|
||||||
- pkgs/build-support/kernel/**/*
|
- pkgs/build-support/kernel/**/*
|
||||||
|
- pkgs/os-specific/linux/kernel/**/*
|
||||||
|
|
||||||
"6.topic: lua":
|
"6.topic: lua":
|
||||||
- pkgs/development/interpreters/lua-5/**/*
|
- pkgs/development/interpreters/lua-5/**/*
|
||||||
|
|
|
@ -25,7 +25,7 @@ jobs:
|
||||||
- name: Fetch editorconfig-checker
|
- name: Fetch editorconfig-checker
|
||||||
if: env.PR_DIFF
|
if: env.PR_DIFF
|
||||||
env:
|
env:
|
||||||
ECC_VERSION: "2.3.1"
|
ECC_VERSION: "2.3.5"
|
||||||
ECC_URL: "https://github.com/editorconfig-checker/editorconfig-checker/releases/download"
|
ECC_URL: "https://github.com/editorconfig-checker/editorconfig-checker/releases/download"
|
||||||
run: |
|
run: |
|
||||||
curl -sSf -O -L -C - "$ECC_URL/$ECC_VERSION/ec-linux-amd64.tar.gz" && \
|
curl -sSf -O -L -C - "$ECC_URL/$ECC_VERSION/ec-linux-amd64.tar.gz" && \
|
||||||
|
|
|
@ -111,6 +111,12 @@ Create a Docker image with many of the store paths being on their own layer to i
|
||||||
|
|
||||||
*Default:* the output path's hash
|
*Default:* the output path's hash
|
||||||
|
|
||||||
|
`fromImage` _optional_
|
||||||
|
|
||||||
|
: The repository tarball containing the base image. It must be a valid Docker image, such as one exported by `docker save`.
|
||||||
|
|
||||||
|
*Default:* `null`, which can be seen as equivalent to `FROM scratch` of a `Dockerfile`.
|
||||||
|
|
||||||
`contents` _optional_
|
`contents` _optional_
|
||||||
|
|
||||||
: Top level paths in the container. Either a single derivation, or a list of derivations.
|
: Top level paths in the container. Either a single derivation, or a list of derivations.
|
||||||
|
|
19
third_party/nixpkgs/doc/builders/packages/fuse.section.md
vendored
Normal file
19
third_party/nixpkgs/doc/builders/packages/fuse.section.md
vendored
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# FUSE {#sec-fuse}
|
||||||
|
|
||||||
|
Some packages rely on
|
||||||
|
[FUSE](https://www.kernel.org/doc/html/latest/filesystems/fuse.html) to provide
|
||||||
|
support for additional filesystems not supported by the kernel.
|
||||||
|
|
||||||
|
In general, FUSE software are primarily developed for Linux but many of them can
|
||||||
|
also run on macOS. Nixpkgs supports FUSE packages on macOS, but it requires
|
||||||
|
[macFUSE](https://osxfuse.github.io) to be installed outside of Nix. macFUSE
|
||||||
|
currently isn't packaged in Nixpkgs mainly because it includes a kernel
|
||||||
|
extension, which isn't supported by Nix outside of NixOS.
|
||||||
|
|
||||||
|
If a package fails to run on macOS with an error message similar to the
|
||||||
|
following, it's a likely sign that you need to have macFUSE installed.
|
||||||
|
|
||||||
|
dyld: Library not loaded: /usr/local/lib/libfuse.2.dylib
|
||||||
|
Referenced from: /nix/store/w8bi72bssv0bnxhwfw3xr1mvn7myf37x-sshfs-fuse-2.10/bin/sshfs
|
||||||
|
Reason: image not found
|
||||||
|
[1] 92299 abort /nix/store/w8bi72bssv0bnxhwfw3xr1mvn7myf37x-sshfs-fuse-2.10/bin/sshfs
|
|
@ -12,6 +12,7 @@
|
||||||
<xi:include href="emacs.section.xml" />
|
<xi:include href="emacs.section.xml" />
|
||||||
<xi:include href="firefox.section.xml" />
|
<xi:include href="firefox.section.xml" />
|
||||||
<xi:include href="fish.section.xml" />
|
<xi:include href="fish.section.xml" />
|
||||||
|
<xi:include href="fuse.section.xml" />
|
||||||
<xi:include href="ibus.section.xml" />
|
<xi:include href="ibus.section.xml" />
|
||||||
<xi:include href="kakoune.section.xml" />
|
<xi:include href="kakoune.section.xml" />
|
||||||
<xi:include href="linux.section.xml" />
|
<xi:include href="linux.section.xml" />
|
||||||
|
|
|
@ -638,7 +638,7 @@ are disabled.
|
||||||
|
|
||||||
#### Using pythonImportsCheck
|
#### Using pythonImportsCheck
|
||||||
|
|
||||||
Although unit tests are highly prefered to valid correctness of a package. Not
|
Although unit tests are highly prefered to validate correctness of a package, not
|
||||||
all packages have test suites that can be ran easily, and some have none at all.
|
all packages have test suites that can be ran easily, and some have none at all.
|
||||||
To help ensure the package still works, `pythonImportsCheck` can attempt to import
|
To help ensure the package still works, `pythonImportsCheck` can attempt to import
|
||||||
the listed modules.
|
the listed modules.
|
||||||
|
@ -1487,11 +1487,12 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
|
||||||
nixpkgs.config.packageOverrides = super: {
|
nixpkgs.config.packageOverrides = super: {
|
||||||
python = super.python.override {
|
python = super.python.override {
|
||||||
packageOverrides = python-self: python-super: {
|
packageOverrides = python-self: python-super: {
|
||||||
zerobin = python-super.zerobin.overrideAttrs (oldAttrs: {
|
twisted = python-super.twisted.overrideAttrs (oldAttrs: {
|
||||||
src = super.fetchgit {
|
src = super.fetchPipy {
|
||||||
url = "https://github.com/sametmax/0bin";
|
pname = "twisted";
|
||||||
rev = "a344dbb18fe7a855d0742b9a1cede7ce423b34ec";
|
version = "19.10.0";
|
||||||
sha256 = "16d769kmnrpbdr0ph0whyf4yff5df6zi4kmwx7sz1d3r6c8p6xji";
|
sha256 = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d";
|
||||||
|
extension = "tar.bz2";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1499,9 +1500,11 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
`pythonPackages.zerobin` is now globally overridden. All packages and also the
|
`pythonPackages.twisted` is now globally overridden.
|
||||||
`zerobin` NixOS service use the new definition. Note that `python-super` refers
|
All packages and also all NixOS services that reference `twisted`
|
||||||
to the old package set and `python-self` to the new, overridden version.
|
(such as `services.buildbot-worker`) now use the new definition.
|
||||||
|
Note that `python-super` refers to the old package set and `python-self`
|
||||||
|
to the new, overridden version.
|
||||||
|
|
||||||
To modify only a Python package set instead of a whole Python derivation, use
|
To modify only a Python package set instead of a whole Python derivation, use
|
||||||
this snippet:
|
this snippet:
|
||||||
|
@ -1509,7 +1512,7 @@ this snippet:
|
||||||
```nix
|
```nix
|
||||||
myPythonPackages = pythonPackages.override {
|
myPythonPackages = pythonPackages.override {
|
||||||
overrides = self: super: {
|
overrides = self: super: {
|
||||||
zerobin = ...;
|
twisted = ...;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
@ -1522,11 +1525,12 @@ Use the following overlay template:
|
||||||
self: super: {
|
self: super: {
|
||||||
python = super.python.override {
|
python = super.python.override {
|
||||||
packageOverrides = python-self: python-super: {
|
packageOverrides = python-self: python-super: {
|
||||||
zerobin = python-super.zerobin.overrideAttrs (oldAttrs: {
|
twisted = python-super.twisted.overrideAttrs (oldAttrs: {
|
||||||
src = super.fetchgit {
|
src = super.fetchPypi {
|
||||||
url = "https://github.com/sametmax/0bin";
|
pname = "twisted";
|
||||||
rev = "a344dbb18fe7a855d0742b9a1cede7ce423b34ec";
|
version = "19.10.0";
|
||||||
sha256 = "16d769kmnrpbdr0ph0whyf4yff5df6zi4kmwx7sz1d3r6c8p6xji";
|
sha256 = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d";
|
||||||
|
extension = "tar.bz2";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1551,13 +1555,11 @@ In a `setup.py` or `setup.cfg` it is common to declare dependencies:
|
||||||
|
|
||||||
### Contributing guidelines
|
### Contributing guidelines
|
||||||
|
|
||||||
Following rules are desired to be respected:
|
The following rules are desired to be respected:
|
||||||
|
|
||||||
* Python libraries are called from `python-packages.nix` and packaged with
|
* Python libraries are called from `python-packages.nix` and packaged with
|
||||||
`buildPythonPackage`. The expression of a library should be in
|
`buildPythonPackage`. The expression of a library should be in
|
||||||
`pkgs/development/python-modules/<name>/default.nix`.
|
`pkgs/development/python-modules/<name>/default.nix`.
|
||||||
* Libraries in `pkgs/top-level/python-packages.nix` are sorted
|
|
||||||
alphanumerically to avoid merge conflicts and ease locating attributes.
|
|
||||||
* Python applications live outside of `python-packages.nix` and are packaged
|
* Python applications live outside of `python-packages.nix` and are packaged
|
||||||
with `buildPythonApplication`.
|
with `buildPythonApplication`.
|
||||||
* Make sure libraries build for all Python interpreters.
|
* Make sure libraries build for all Python interpreters.
|
||||||
|
@ -1567,8 +1569,11 @@ Following rules are desired to be respected:
|
||||||
case, when you disable tests, leave a comment explaining why.
|
case, when you disable tests, leave a comment explaining why.
|
||||||
* Commit names of Python libraries should reflect that they are Python
|
* Commit names of Python libraries should reflect that they are Python
|
||||||
libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`.
|
libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`.
|
||||||
* Attribute names in `python-packages.nix` should be normalized according to
|
* Attribute names in `python-packages.nix` as well as `pname`s should match the
|
||||||
[PEP 0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This
|
library's name on PyPI, but be normalized according to [PEP
|
||||||
means that characters should be converted to lowercase and `.` and `_` should
|
0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This means
|
||||||
be replaced by a single `-` (foo-bar-baz instead of Foo__Bar.baz )
|
that characters should be converted to lowercase and `.` and `_` should be
|
||||||
* Attribute names in `python-packages.nix` should be sorted alphanumerically.
|
replaced by a single `-` (foo-bar-baz instead of Foo__Bar.baz).
|
||||||
|
If necessary, `pname` has to be given a different value within `fetchPypi`.
|
||||||
|
* Attribute names in `python-packages.nix` should be sorted alphanumerically to
|
||||||
|
avoid merge conflicts and ease locating attributes.
|
||||||
|
|
11
third_party/nixpkgs/lib/modules.nix
vendored
11
third_party/nixpkgs/lib/modules.nix
vendored
|
@ -361,6 +361,17 @@ rec {
|
||||||
*/
|
*/
|
||||||
byName = attr: f: modules:
|
byName = attr: f: modules:
|
||||||
foldl' (acc: module:
|
foldl' (acc: module:
|
||||||
|
if !(builtins.isAttrs module.${attr}) then
|
||||||
|
throw ''
|
||||||
|
You're trying to declare a value of type `${builtins.typeOf module.${attr}}'
|
||||||
|
rather than an attribute-set for the option
|
||||||
|
`${builtins.concatStringsSep "." prefix}'!
|
||||||
|
|
||||||
|
This usually happens if `${builtins.concatStringsSep "." prefix}' has option
|
||||||
|
definitions inside that are not matched. Please check how to properly define
|
||||||
|
this option by e.g. referring to `man 5 configuration.nix'!
|
||||||
|
''
|
||||||
|
else
|
||||||
acc // (mapAttrs (n: v:
|
acc // (mapAttrs (n: v:
|
||||||
(acc.${n} or []) ++ f module v
|
(acc.${n} or []) ++ f module v
|
||||||
) module.${attr}
|
) module.${attr}
|
||||||
|
|
3
third_party/nixpkgs/lib/sources.nix
vendored
3
third_party/nixpkgs/lib/sources.nix
vendored
|
@ -139,9 +139,10 @@ rec {
|
||||||
then throw ("File contains no gitdir reference: " + path)
|
then throw ("File contains no gitdir reference: " + path)
|
||||||
else
|
else
|
||||||
let gitDir = absolutePath (dirOf path) (lib.head m);
|
let gitDir = absolutePath (dirOf path) (lib.head m);
|
||||||
commonDir' = if pathIsRegularFile "${gitDir}/commondir"
|
commonDir'' = if pathIsRegularFile "${gitDir}/commondir"
|
||||||
then lib.fileContents "${gitDir}/commondir"
|
then lib.fileContents "${gitDir}/commondir"
|
||||||
else gitDir;
|
else gitDir;
|
||||||
|
commonDir' = lib.removeSuffix "/" commonDir'';
|
||||||
commonDir = absolutePath gitDir commonDir';
|
commonDir = absolutePath gitDir commonDir';
|
||||||
refFile = lib.removePrefix "${commonDir}/" "${gitDir}/${file}";
|
refFile = lib.removePrefix "${commonDir}/" "${gitDir}/${file}";
|
||||||
in readCommitFromFile refFile commonDir
|
in readCommitFromFile refFile commonDir
|
||||||
|
|
2
third_party/nixpkgs/lib/tests/modules.sh
vendored
2
third_party/nixpkgs/lib/tests/modules.sh
vendored
|
@ -169,7 +169,7 @@ checkConfigOutput "foo" config.submodule.foo ./declare-submoduleWith-special.nix
|
||||||
## shorthandOnlyDefines config behaves as expected
|
## shorthandOnlyDefines config behaves as expected
|
||||||
checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-shorthand.nix
|
checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-shorthand.nix
|
||||||
checkConfigError 'is not of type `boolean' config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-noshorthand.nix
|
checkConfigError 'is not of type `boolean' config.submodule.config ./declare-submoduleWith-shorthand.nix ./define-submoduleWith-noshorthand.nix
|
||||||
checkConfigError 'value is a boolean while a set was expected' config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-shorthand.nix
|
checkConfigError "You're trying to declare a value of type \`bool'\nrather than an attribute-set for the option" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-shorthand.nix
|
||||||
checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-noshorthand.nix
|
checkConfigOutput "true" config.submodule.config ./declare-submoduleWith-noshorthand.nix ./define-submoduleWith-noshorthand.nix
|
||||||
|
|
||||||
## submoduleWith should merge all modules in one swoop
|
## submoduleWith should merge all modules in one swoop
|
||||||
|
|
|
@ -1036,6 +1036,16 @@
|
||||||
githubId = 75235;
|
githubId = 75235;
|
||||||
name = "Michael Walker";
|
name = "Michael Walker";
|
||||||
};
|
};
|
||||||
|
bartuka = {
|
||||||
|
email = "wand@hey.com";
|
||||||
|
github = "wandersoncferreira";
|
||||||
|
githubId = 17708295;
|
||||||
|
name = "Wanderson Ferreira";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0x56840A614DBE37AE";
|
||||||
|
fingerprint = "A3E1 C409 B705 50B3 BF41 492B 5684 0A61 4DBE 37AE";
|
||||||
|
}];
|
||||||
|
};
|
||||||
basvandijk = {
|
basvandijk = {
|
||||||
email = "v.dijk.bas@gmail.com";
|
email = "v.dijk.bas@gmail.com";
|
||||||
github = "basvandijk";
|
github = "basvandijk";
|
||||||
|
@ -2942,7 +2952,7 @@
|
||||||
name = "Adam Copp";
|
name = "Adam Copp";
|
||||||
};
|
};
|
||||||
ethancedwards8 = {
|
ethancedwards8 = {
|
||||||
email = "ethancarteredwards@gmail.com";
|
email = "ethan@ethancedwards.com";
|
||||||
github = "ethancedwards8";
|
github = "ethancedwards8";
|
||||||
githubId = 60861925;
|
githubId = 60861925;
|
||||||
name = "Ethan Carter Edwards";
|
name = "Ethan Carter Edwards";
|
||||||
|
@ -6905,6 +6915,12 @@
|
||||||
githubId = 16385648;
|
githubId = 16385648;
|
||||||
name = "Niko Pavlinek";
|
name = "Niko Pavlinek";
|
||||||
};
|
};
|
||||||
|
nixinator = {
|
||||||
|
email = "33lockdown33@protonmail.com";
|
||||||
|
github = "nixinator";
|
||||||
|
githubId = 66913205;
|
||||||
|
name = "Rick Sanchez";
|
||||||
|
};
|
||||||
nixy = {
|
nixy = {
|
||||||
email = "nixy@nixy.moe";
|
email = "nixy@nixy.moe";
|
||||||
github = "nixy";
|
github = "nixy";
|
||||||
|
@ -7609,6 +7625,12 @@
|
||||||
fingerprint = "2CD2 B030 BD22 32EF DF5A 008A 3618 20A4 5DB4 1E9A";
|
fingerprint = "2CD2 B030 BD22 32EF DF5A 008A 3618 20A4 5DB4 1E9A";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
polendri = {
|
||||||
|
email = "paul@ijj.li";
|
||||||
|
github = "polendri";
|
||||||
|
githubId = 1829032;
|
||||||
|
name = "Paul Hendry";
|
||||||
|
};
|
||||||
polyrod = {
|
polyrod = {
|
||||||
email = "dc1mdp@gmail.com";
|
email = "dc1mdp@gmail.com";
|
||||||
github = "polyrod";
|
github = "polyrod";
|
||||||
|
@ -7717,12 +7739,6 @@
|
||||||
githubId = 33375;
|
githubId = 33375;
|
||||||
name = "Peter Sanford";
|
name = "Peter Sanford";
|
||||||
};
|
};
|
||||||
pshendry = {
|
|
||||||
email = "paul@pshendry.com";
|
|
||||||
github = "pshendry";
|
|
||||||
githubId = 1829032;
|
|
||||||
name = "Paul Hendry";
|
|
||||||
};
|
|
||||||
psibi = {
|
psibi = {
|
||||||
email = "sibi@psibi.in";
|
email = "sibi@psibi.in";
|
||||||
github = "psibi";
|
github = "psibi";
|
||||||
|
@ -8267,6 +8283,12 @@
|
||||||
fingerprint = "1401 1B63 393D 16C1 AA9C C521 8526 B757 4A53 6236";
|
fingerprint = "1401 1B63 393D 16C1 AA9C C521 8526 B757 4A53 6236";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
rowanG077 = {
|
||||||
|
email = "goemansrowan@gmail.com";
|
||||||
|
github = "rowanG077";
|
||||||
|
githubId = 7439756;
|
||||||
|
name = "Rowan Goemans";
|
||||||
|
};
|
||||||
royneary = {
|
royneary = {
|
||||||
email = "christian@ulrich.earth";
|
email = "christian@ulrich.earth";
|
||||||
github = "royneary";
|
github = "royneary";
|
||||||
|
@ -8315,6 +8337,12 @@
|
||||||
githubId = 4958190;
|
githubId = 4958190;
|
||||||
name = "Rushmore Mushambi";
|
name = "Rushmore Mushambi";
|
||||||
};
|
};
|
||||||
|
russell = {
|
||||||
|
email = "russell.sim@gmail.com";
|
||||||
|
github = "russell";
|
||||||
|
githubId = 2660;
|
||||||
|
name = "Russell Sim";
|
||||||
|
};
|
||||||
ruuda = {
|
ruuda = {
|
||||||
email = "dev+nix@veniogames.com";
|
email = "dev+nix@veniogames.com";
|
||||||
github = "ruuda";
|
github = "ruuda";
|
||||||
|
@ -10186,6 +10214,12 @@
|
||||||
email = "vq@erq.se";
|
email = "vq@erq.se";
|
||||||
name = "Daniel Nilsson";
|
name = "Daniel Nilsson";
|
||||||
};
|
};
|
||||||
|
vrinek = {
|
||||||
|
email = "vrinek@hey.com";
|
||||||
|
github = "vrinek";
|
||||||
|
name = "Kostas Karachalios";
|
||||||
|
githubId = 81346;
|
||||||
|
};
|
||||||
vrthra = {
|
vrthra = {
|
||||||
email = "rahul@gopinath.org";
|
email = "rahul@gopinath.org";
|
||||||
github = "vrthra";
|
github = "vrthra";
|
||||||
|
@ -10412,6 +10446,12 @@
|
||||||
githubId = 36407913;
|
githubId = 36407913;
|
||||||
name = "Uli Baum";
|
name = "Uli Baum";
|
||||||
};
|
};
|
||||||
|
xfnw = {
|
||||||
|
email = "xfnw+nixos@riseup.net";
|
||||||
|
github = "xfnw";
|
||||||
|
githubId = 66233223;
|
||||||
|
name = "Owen";
|
||||||
|
};
|
||||||
xfix = {
|
xfix = {
|
||||||
email = "konrad@borowski.pw";
|
email = "konrad@borowski.pw";
|
||||||
github = "xfix";
|
github = "xfix";
|
||||||
|
@ -10800,6 +10840,12 @@
|
||||||
githubId = 3674056;
|
githubId = 3674056;
|
||||||
name = "Asad Saeeduddin";
|
name = "Asad Saeeduddin";
|
||||||
};
|
};
|
||||||
|
matthewcroughan = {
|
||||||
|
email = "matt@croughan.sh";
|
||||||
|
github = "matthewcroughan";
|
||||||
|
githubId = 26458780;
|
||||||
|
name = "Matthew Croughan";
|
||||||
|
};
|
||||||
ngerstle = {
|
ngerstle = {
|
||||||
name = "Nicholas Gerstle";
|
name = "Nicholas Gerstle";
|
||||||
email = "ngerstle@gmail.com";
|
email = "ngerstle@gmail.com";
|
||||||
|
|
|
@ -416,6 +416,7 @@ def rewrite_input(
|
||||||
}
|
}
|
||||||
with open(deprecated, "w") as f:
|
with open(deprecated, "w") as f:
|
||||||
json.dump(deprecations, f, indent=4, sort_keys=True)
|
json.dump(deprecations, f, indent=4, sort_keys=True)
|
||||||
|
f.write("\n")
|
||||||
|
|
||||||
lines = sorted(lines, key=str.casefold)
|
lines = sorted(lines, key=str.casefold)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: manual-combined.xml format
|
all: manual-combined.xml
|
||||||
|
|
||||||
.PHONY: debug
|
.PHONY: debug
|
||||||
debug: generated manual-combined.xml
|
debug: generated manual-combined.xml
|
||||||
|
|
|
@ -25,7 +25,8 @@
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
<prompt>$ </prompt>cd /path/to/nixpkgs/nixos/doc/manual
|
<prompt>$ </prompt>cd /path/to/nixpkgs/nixos/doc/manual
|
||||||
<prompt>$ </prompt>make
|
<prompt>$ </prompt>nix-shell
|
||||||
|
<prompt>nix-shell$ </prompt>make
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -720,8 +720,8 @@ environment.systemPackages = [
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Aditionally to the much stricter runtime environmet the
|
Additionally to the much stricter runtime environment the
|
||||||
<literal>/dev/urandom</literal> mount lines we previously had in the code (that would
|
<literal>/dev/urandom</literal> mount lines we previously had in the code (that
|
||||||
randomly failed during the stop-phase) have been removed as systemd will take care of those for us.
|
randomly failed during the stop-phase) have been removed as systemd will take care of those for us.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
@ -809,7 +809,7 @@ environment.systemPackages = [
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Platforms, like <varname>stdenv.hostPlatform</varname>, no longer have a <varname>platform</varname> attribute.
|
Platforms, like <varname>stdenv.hostPlatform</varname>, no longer have a <varname>platform</varname> attribute.
|
||||||
It has been (mostly) flattoned away:
|
It has been (mostly) flattened away:
|
||||||
</para>
|
</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para><varname>platform.gcc</varname> is now <varname>gcc</varname></para></listitem>
|
<listitem><para><varname>platform.gcc</varname> is now <varname>gcc</varname></para></listitem>
|
||||||
|
|
|
@ -17,7 +17,19 @@ nix-build '<nixpkgs/nixos/lib/eval-config.nix>' \
|
||||||
img_path=$(echo gce/*.tar.gz)
|
img_path=$(echo gce/*.tar.gz)
|
||||||
img_name=${IMAGE_NAME:-$(basename "$img_path")}
|
img_name=${IMAGE_NAME:-$(basename "$img_path")}
|
||||||
img_id=$(echo "$img_name" | sed 's|.raw.tar.gz$||;s|\.|-|g;s|_|-|g')
|
img_id=$(echo "$img_name" | sed 's|.raw.tar.gz$||;s|\.|-|g;s|_|-|g')
|
||||||
|
img_family=$(echo "$img_id" | cut -d - -f1-4)
|
||||||
|
|
||||||
if ! gsutil ls "gs://${BUCKET_NAME}/$img_name"; then
|
if ! gsutil ls "gs://${BUCKET_NAME}/$img_name"; then
|
||||||
gsutil cp "$img_path" "gs://${BUCKET_NAME}/$img_name"
|
gsutil cp "$img_path" "gs://${BUCKET_NAME}/$img_name"
|
||||||
gsutil acl ch -u AllUsers:R "gs://${BUCKET_NAME}/$img_name"
|
gsutil acl ch -u AllUsers:R "gs://${BUCKET_NAME}/$img_name"
|
||||||
|
|
||||||
|
gcloud compute images create \
|
||||||
|
"$img_id" \
|
||||||
|
--source-uri "gs://${BUCKET_NAME}/$img_name" \
|
||||||
|
--family="$img_family"
|
||||||
|
|
||||||
|
gcloud compute images add-iam-policy-binding \
|
||||||
|
"$img_id" \
|
||||||
|
--member='allAuthenticatedUsers' \
|
||||||
|
--role='roles/compute.imageUser'
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -71,7 +71,7 @@ in
|
||||||
#utmp = 29; # unused
|
#utmp = 29; # unused
|
||||||
# ddclient = 30; # converted to DynamicUser = true
|
# ddclient = 30; # converted to DynamicUser = true
|
||||||
davfs2 = 31;
|
davfs2 = 31;
|
||||||
#disnix = 33; # module removed
|
disnix = 33;
|
||||||
osgi = 34;
|
osgi = 34;
|
||||||
tor = 35;
|
tor = 35;
|
||||||
cups = 36;
|
cups = 36;
|
||||||
|
@ -387,7 +387,7 @@ in
|
||||||
utmp = 29;
|
utmp = 29;
|
||||||
# ddclient = 30; # converted to DynamicUser = true
|
# ddclient = 30; # converted to DynamicUser = true
|
||||||
davfs2 = 31;
|
davfs2 = 31;
|
||||||
#disnix = 33; # module removed
|
disnix = 33;
|
||||||
osgi = 34;
|
osgi = 34;
|
||||||
tor = 35;
|
tor = 35;
|
||||||
#cups = 36; # unused
|
#cups = 36; # unused
|
||||||
|
|
|
@ -461,6 +461,8 @@
|
||||||
./services/misc/devmon.nix
|
./services/misc/devmon.nix
|
||||||
./services/misc/dictd.nix
|
./services/misc/dictd.nix
|
||||||
./services/misc/dwm-status.nix
|
./services/misc/dwm-status.nix
|
||||||
|
./services/misc/dysnomia.nix
|
||||||
|
./services/misc/disnix.nix
|
||||||
./services/misc/docker-registry.nix
|
./services/misc/docker-registry.nix
|
||||||
./services/misc/domoticz.nix
|
./services/misc/domoticz.nix
|
||||||
./services/misc/errbot.nix
|
./services/misc/errbot.nix
|
||||||
|
@ -924,6 +926,7 @@
|
||||||
./services/web-apps/selfoss.nix
|
./services/web-apps/selfoss.nix
|
||||||
./services/web-apps/shiori.nix
|
./services/web-apps/shiori.nix
|
||||||
./services/web-apps/virtlyst.nix
|
./services/web-apps/virtlyst.nix
|
||||||
|
./services/web-apps/wiki-js.nix
|
||||||
./services/web-apps/whitebophir.nix
|
./services/web-apps/whitebophir.nix
|
||||||
./services/web-apps/wordpress.nix
|
./services/web-apps/wordpress.nix
|
||||||
./services/web-apps/youtrack.nix
|
./services/web-apps/youtrack.nix
|
||||||
|
|
|
@ -40,7 +40,7 @@ in
|
||||||
configFile = mkOption {
|
configFile = mkOption {
|
||||||
type = types.nullOr types.path;
|
type = types.nullOr types.path;
|
||||||
default = null;
|
default = null;
|
||||||
example = literalExample "$${pkgs.my-configs}/lesskey";
|
example = literalExample "\${pkgs.my-configs}/lesskey";
|
||||||
description = ''
|
description = ''
|
||||||
Path to lesskey configuration file.
|
Path to lesskey configuration file.
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ let
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
User = "acme";
|
User = "acme";
|
||||||
Group = mkDefault "acme";
|
Group = mkDefault "acme";
|
||||||
UMask = 0023;
|
UMask = 0022;
|
||||||
StateDirectoryMode = 750;
|
StateDirectoryMode = 750;
|
||||||
ProtectSystem = "full";
|
ProtectSystem = "full";
|
||||||
PrivateTmp = true;
|
PrivateTmp = true;
|
||||||
|
@ -303,9 +303,15 @@ let
|
||||||
}
|
}
|
||||||
|
|
||||||
${optionalString (data.webroot != null) ''
|
${optionalString (data.webroot != null) ''
|
||||||
# Ensure the webroot exists
|
# Ensure the webroot exists. Fixing group is required in case configuration was changed between runs.
|
||||||
mkdir -p '${data.webroot}/.well-known/acme-challenge'
|
# Lego will fail if the webroot does not exist at all.
|
||||||
chown 'acme:${data.group}' ${data.webroot}/{.well-known,.well-known/acme-challenge}
|
(
|
||||||
|
mkdir -p '${data.webroot}/.well-known/acme-challenge' \
|
||||||
|
&& chgrp '${data.group}' ${data.webroot}/.well-known/acme-challenge
|
||||||
|
) || (
|
||||||
|
echo 'Please ensure ${data.webroot}/.well-known/acme-challenge exists and is writable by acme:${data.group}' \
|
||||||
|
&& exit 1
|
||||||
|
)
|
||||||
''}
|
''}
|
||||||
|
|
||||||
echo '${domainHash}' > domainhash.txt
|
echo '${domainHash}' > domainhash.txt
|
||||||
|
|
|
@ -213,7 +213,9 @@ in {
|
||||||
description = "Music Player Daemon Socket";
|
description = "Music Player Daemon Socket";
|
||||||
wantedBy = [ "sockets.target" ];
|
wantedBy = [ "sockets.target" ];
|
||||||
listenStreams = [
|
listenStreams = [
|
||||||
"${optionalString (cfg.network.listenAddress != "any") "${cfg.network.listenAddress}:"}${toString cfg.network.port}"
|
(if pkgs.lib.hasPrefix "/" cfg.network.listenAddress
|
||||||
|
then cfg.network.listenAddress
|
||||||
|
else "${optionalString (cfg.network.listenAddress != "any") "${cfg.network.listenAddress}:"}${toString cfg.network.port}")
|
||||||
];
|
];
|
||||||
socketConfig = {
|
socketConfig = {
|
||||||
Backlog = 5;
|
Backlog = 5;
|
||||||
|
|
|
@ -280,6 +280,8 @@ in
|
||||||
keep-outputs = true
|
keep-outputs = true
|
||||||
keep-derivations = true
|
keep-derivations = true
|
||||||
|
|
||||||
|
|
||||||
|
'' + optionalString (versionOlder (getVersion config.nix.package.out) "2.4pre") ''
|
||||||
# The default (`true') slows Nix down a lot since the build farm
|
# The default (`true') slows Nix down a lot since the build farm
|
||||||
# has so many GC roots.
|
# has so many GC roots.
|
||||||
gc-check-reachability = false
|
gc-check-reachability = false
|
||||||
|
|
|
@ -188,7 +188,8 @@ in
|
||||||
|
|
||||||
systemd.packages = [ package ];
|
systemd.packages = [ package ];
|
||||||
|
|
||||||
# we cannot use DynamicUser as we need the the geoclue user to exist for the dbus policy to work
|
# we cannot use DynamicUser as we need the the geoclue user to exist for the
|
||||||
|
# dbus policy to work
|
||||||
users = {
|
users = {
|
||||||
users.geoclue = {
|
users.geoclue = {
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
|
@ -217,6 +218,7 @@ in
|
||||||
# we can't be part of a system service, and the agent should
|
# we can't be part of a system service, and the agent should
|
||||||
# be okay with the main service coming and going
|
# be okay with the main service coming and going
|
||||||
wantedBy = [ "default.target" ];
|
wantedBy = [ "default.target" ];
|
||||||
|
unitConfig.ConditionUser = "!@system";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "exec";
|
Type = "exec";
|
||||||
ExecStart = "${package}/libexec/geoclue-2.0/demos/agent";
|
ExecStart = "${package}/libexec/geoclue-2.0/demos/agent";
|
||||||
|
|
|
@ -119,22 +119,31 @@ in
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.trousers ];
|
environment.systemPackages = [ pkgs.trousers ];
|
||||||
|
|
||||||
# system.activationScripts.tcsd =
|
services.udev.extraRules = ''
|
||||||
# ''
|
# Give tcsd ownership of all TPM devices
|
||||||
# chown ${cfg.user}:${cfg.group} ${tcsdConf}
|
KERNEL=="tpm[0-9]*", MODE="0660", OWNER="${cfg.user}", GROUP="${cfg.group}"
|
||||||
# '';
|
# Tag TPM devices to create a .device unit for tcsd to depend on
|
||||||
|
ACTION=="add", KERNEL=="tpm[0-9]*", TAG+="systemd"
|
||||||
|
'';
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
# Initialise the state directory
|
||||||
|
"d ${cfg.stateDir} 0770 ${cfg.user} ${cfg.group} - -"
|
||||||
|
];
|
||||||
|
|
||||||
systemd.services.tcsd = {
|
systemd.services.tcsd = {
|
||||||
description = "TCSD";
|
description = "Manager for Trusted Computing resources";
|
||||||
after = [ "systemd-udev-settle.service" ];
|
documentation = [ "man:tcsd(8)" ];
|
||||||
|
|
||||||
|
requires = [ "dev-tpm0.device" ];
|
||||||
|
after = [ "dev-tpm0.device" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
path = [ pkgs.trousers ];
|
|
||||||
preStart =
|
serviceConfig = {
|
||||||
''
|
User = cfg.user;
|
||||||
mkdir -m 0700 -p ${cfg.stateDir}
|
Group = cfg.group;
|
||||||
chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir}
|
ExecStart = "${pkgs.trousers}/sbin/tcsd -f -c ${tcsdConf}";
|
||||||
'';
|
};
|
||||||
serviceConfig.ExecStart = "${pkgs.trousers}/sbin/tcsd -f -c ${tcsdConf}";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users = optionalAttrs (cfg.user == "tss") {
|
users.users = optionalAttrs (cfg.user == "tss") {
|
||||||
|
|
|
@ -39,7 +39,6 @@ in
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.graylog;
|
default = pkgs.graylog;
|
||||||
defaultText = "pkgs.graylog";
|
defaultText = "pkgs.graylog";
|
||||||
example = literalExample "pkgs.graylog";
|
|
||||||
description = "Graylog package to use.";
|
description = "Graylog package to use.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -138,14 +137,13 @@ in
|
||||||
"d '${cfg.messageJournalDir}' - ${cfg.user} - - -"
|
"d '${cfg.messageJournalDir}' - ${cfg.user} - - -"
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services.graylog = with pkgs; {
|
systemd.services.graylog = {
|
||||||
description = "Graylog Server";
|
description = "Graylog Server";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
environment = {
|
environment = {
|
||||||
JAVA_HOME = jre;
|
|
||||||
GRAYLOG_CONF = "${confFile}";
|
GRAYLOG_CONF = "${confFile}";
|
||||||
};
|
};
|
||||||
path = [ pkgs.jre_headless pkgs.which pkgs.procps ];
|
path = [ pkgs.which pkgs.procps ];
|
||||||
preStart = ''
|
preStart = ''
|
||||||
rm -rf /var/lib/graylog/plugins || true
|
rm -rf /var/lib/graylog/plugins || true
|
||||||
mkdir -p /var/lib/graylog/plugins -m 755
|
mkdir -p /var/lib/graylog/plugins -m 755
|
||||||
|
|
98
third_party/nixpkgs/nixos/modules/services/misc/disnix.nix
vendored
Normal file
98
third_party/nixpkgs/nixos/modules/services/misc/disnix.nix
vendored
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
# Disnix server
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
cfg = config.services.disnix;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
services.disnix = {
|
||||||
|
|
||||||
|
enable = mkEnableOption "Disnix";
|
||||||
|
|
||||||
|
enableMultiUser = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Whether to support multi-user mode by enabling the Disnix D-Bus service";
|
||||||
|
};
|
||||||
|
|
||||||
|
useWebServiceInterface = mkEnableOption "the DisnixWebService interface running on Apache Tomcat";
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "The Disnix package";
|
||||||
|
default = pkgs.disnix;
|
||||||
|
defaultText = "pkgs.disnix";
|
||||||
|
};
|
||||||
|
|
||||||
|
enableProfilePath = mkEnableOption "exposing the Disnix profiles in the system's PATH";
|
||||||
|
|
||||||
|
profiles = mkOption {
|
||||||
|
type = types.listOf types.string;
|
||||||
|
default = [ "default" ];
|
||||||
|
example = [ "default" ];
|
||||||
|
description = "Names of the Disnix profiles to expose in the system's PATH";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
dysnomia.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;
|
||||||
|
environment.variables.PATH = lib.optionals cfg.enableProfilePath (map (profileName: "/nix/var/nix/profiles/disnix/${profileName}/bin" ) cfg.profiles);
|
||||||
|
|
||||||
|
services.dbus.enable = true;
|
||||||
|
services.dbus.packages = [ pkgs.disnix ];
|
||||||
|
|
||||||
|
services.tomcat.enable = cfg.useWebServiceInterface;
|
||||||
|
services.tomcat.extraGroups = [ "disnix" ];
|
||||||
|
services.tomcat.javaOpts = "${optionalString cfg.useWebServiceInterface "-Djava.library.path=${pkgs.libmatthew_java}/lib/jni"} ";
|
||||||
|
services.tomcat.sharedLibs = optional cfg.useWebServiceInterface "${pkgs.DisnixWebService}/share/java/DisnixConnection.jar"
|
||||||
|
++ optional cfg.useWebServiceInterface "${pkgs.dbus_java}/share/java/dbus.jar";
|
||||||
|
services.tomcat.webapps = optional cfg.useWebServiceInterface pkgs.DisnixWebService;
|
||||||
|
|
||||||
|
users.groups.disnix.gid = config.ids.gids.disnix;
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
disnix = mkIf cfg.enableMultiUser {
|
||||||
|
description = "Disnix server";
|
||||||
|
wants = [ "dysnomia.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "dbus.service" ]
|
||||||
|
++ optional config.services.httpd.enable "httpd.service"
|
||||||
|
++ optional config.services.mysql.enable "mysql.service"
|
||||||
|
++ optional config.services.postgresql.enable "postgresql.service"
|
||||||
|
++ optional config.services.tomcat.enable "tomcat.service"
|
||||||
|
++ optional config.services.svnserve.enable "svnserve.service"
|
||||||
|
++ optional config.services.mongodb.enable "mongodb.service"
|
||||||
|
++ optional config.services.influxdb.enable "influxdb.service";
|
||||||
|
|
||||||
|
restartIfChanged = false;
|
||||||
|
|
||||||
|
path = [ config.nix.package cfg.package config.dysnomia.package "/run/current-system/sw" ];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
HOME = "/root";
|
||||||
|
}
|
||||||
|
// (if config.environment.variables ? DYSNOMIA_CONTAINERS_PATH then { inherit (config.environment.variables) DYSNOMIA_CONTAINERS_PATH; } else {})
|
||||||
|
// (if config.environment.variables ? DYSNOMIA_MODULES_PATH then { inherit (config.environment.variables) DYSNOMIA_MODULES_PATH; } else {});
|
||||||
|
|
||||||
|
serviceConfig.ExecStart = "${cfg.package}/bin/disnix-service";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
259
third_party/nixpkgs/nixos/modules/services/misc/dysnomia.nix
vendored
Normal file
259
third_party/nixpkgs/nixos/modules/services/misc/dysnomia.nix
vendored
Normal file
|
@ -0,0 +1,259 @@
|
||||||
|
{pkgs, lib, config, ...}:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.dysnomia;
|
||||||
|
|
||||||
|
printProperties = properties:
|
||||||
|
concatMapStrings (propertyName:
|
||||||
|
let
|
||||||
|
property = properties.${propertyName};
|
||||||
|
in
|
||||||
|
if isList property then "${propertyName}=(${lib.concatMapStrings (elem: "\"${toString elem}\" ") (properties.${propertyName})})\n"
|
||||||
|
else "${propertyName}=\"${toString property}\"\n"
|
||||||
|
) (builtins.attrNames properties);
|
||||||
|
|
||||||
|
properties = pkgs.stdenv.mkDerivation {
|
||||||
|
name = "dysnomia-properties";
|
||||||
|
buildCommand = ''
|
||||||
|
cat > $out << "EOF"
|
||||||
|
${printProperties cfg.properties}
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
containersDir = pkgs.stdenv.mkDerivation {
|
||||||
|
name = "dysnomia-containers";
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cd $out
|
||||||
|
|
||||||
|
${concatMapStrings (containerName:
|
||||||
|
let
|
||||||
|
containerProperties = cfg.containers.${containerName};
|
||||||
|
in
|
||||||
|
''
|
||||||
|
cat > ${containerName} <<EOF
|
||||||
|
${printProperties containerProperties}
|
||||||
|
type=${containerName}
|
||||||
|
EOF
|
||||||
|
''
|
||||||
|
) (builtins.attrNames cfg.containers)}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
linkMutableComponents = {containerName}:
|
||||||
|
''
|
||||||
|
mkdir ${containerName}
|
||||||
|
|
||||||
|
${concatMapStrings (componentName:
|
||||||
|
let
|
||||||
|
component = cfg.components.${containerName}.${componentName};
|
||||||
|
in
|
||||||
|
"ln -s ${component} ${containerName}/${componentName}\n"
|
||||||
|
) (builtins.attrNames (cfg.components.${containerName} or {}))}
|
||||||
|
'';
|
||||||
|
|
||||||
|
componentsDir = pkgs.stdenv.mkDerivation {
|
||||||
|
name = "dysnomia-components";
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cd $out
|
||||||
|
|
||||||
|
${concatMapStrings (containerName:
|
||||||
|
linkMutableComponents { inherit containerName; }
|
||||||
|
) (builtins.attrNames cfg.components)}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
dysnomiaFlags = {
|
||||||
|
enableApacheWebApplication = config.services.httpd.enable;
|
||||||
|
enableAxis2WebService = config.services.tomcat.axis2.enable;
|
||||||
|
enableDockerContainer = config.virtualisation.docker.enable;
|
||||||
|
enableEjabberdDump = config.services.ejabberd.enable;
|
||||||
|
enableMySQLDatabase = config.services.mysql.enable;
|
||||||
|
enablePostgreSQLDatabase = config.services.postgresql.enable;
|
||||||
|
enableTomcatWebApplication = config.services.tomcat.enable;
|
||||||
|
enableMongoDatabase = config.services.mongodb.enable;
|
||||||
|
enableSubversionRepository = config.services.svnserve.enable;
|
||||||
|
enableInfluxDatabase = config.services.influxdb.enable;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
dysnomia = {
|
||||||
|
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Whether to enable Dysnomia";
|
||||||
|
};
|
||||||
|
|
||||||
|
enableAuthentication = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Whether to publish privacy-sensitive authentication credentials";
|
||||||
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "The Dysnomia package";
|
||||||
|
};
|
||||||
|
|
||||||
|
properties = mkOption {
|
||||||
|
description = "An attribute set in which each attribute represents a machine property. Optionally, these values can be shell substitutions.";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
containers = mkOption {
|
||||||
|
description = "An attribute set in which each key represents a container and each value an attribute set providing its configuration properties";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
components = mkOption {
|
||||||
|
description = "An atttribute set in which each key represents a container and each value an attribute set in which each key represents a component and each value a derivation constructing its initial state";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraContainerProperties = mkOption {
|
||||||
|
description = "An attribute set providing additional container settings in addition to the default properties";
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraContainerPaths = mkOption {
|
||||||
|
description = "A list of paths containing additional container configurations that are added to the search folders";
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraModulePaths = mkOption {
|
||||||
|
description = "A list of paths containing additional modules that are added to the search folders";
|
||||||
|
default = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
enableLegacyModules = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Whether to enable Dysnomia legacy process and wrapper modules";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
environment.etc = {
|
||||||
|
"dysnomia/containers" = {
|
||||||
|
source = containersDir;
|
||||||
|
};
|
||||||
|
"dysnomia/components" = {
|
||||||
|
source = componentsDir;
|
||||||
|
};
|
||||||
|
"dysnomia/properties" = {
|
||||||
|
source = properties;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
DYSNOMIA_STATEDIR = "/var/state/dysnomia-nixos";
|
||||||
|
DYSNOMIA_CONTAINERS_PATH = "${lib.concatMapStrings (containerPath: "${containerPath}:") cfg.extraContainerPaths}/etc/dysnomia/containers";
|
||||||
|
DYSNOMIA_MODULES_PATH = "${lib.concatMapStrings (modulePath: "${modulePath}:") cfg.extraModulePaths}/etc/dysnomia/modules";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
|
dysnomia.package = pkgs.dysnomia.override (origArgs: dysnomiaFlags // lib.optionalAttrs (cfg.enableLegacyModules) {
|
||||||
|
enableLegacy = builtins.trace ''
|
||||||
|
WARNING: Dysnomia has been configured to use the legacy 'process' and 'wrapper'
|
||||||
|
modules for compatibility reasons! If you rely on these modules, consider
|
||||||
|
migrating to better alternatives.
|
||||||
|
|
||||||
|
More information: https://raw.githubusercontent.com/svanderburg/dysnomia/f65a9a84827bcc4024d6b16527098b33b02e4054/README-legacy.md
|
||||||
|
|
||||||
|
If you have migrated already or don't rely on these Dysnomia modules, you can
|
||||||
|
disable legacy mode with the following NixOS configuration option:
|
||||||
|
|
||||||
|
dysnomia.enableLegacyModules = false;
|
||||||
|
|
||||||
|
In a future version of Dysnomia (and NixOS) the legacy option will go away!
|
||||||
|
'' true;
|
||||||
|
});
|
||||||
|
|
||||||
|
dysnomia.properties = {
|
||||||
|
hostname = config.networking.hostName;
|
||||||
|
inherit (config.nixpkgs.localSystem) system;
|
||||||
|
|
||||||
|
supportedTypes = [
|
||||||
|
"echo"
|
||||||
|
"fileset"
|
||||||
|
"process"
|
||||||
|
"wrapper"
|
||||||
|
|
||||||
|
# These are not base modules, but they are still enabled because they work with technology that are always enabled in NixOS
|
||||||
|
"systemd-unit"
|
||||||
|
"sysvinit-script"
|
||||||
|
"nixos-configuration"
|
||||||
|
]
|
||||||
|
++ optional (dysnomiaFlags.enableApacheWebApplication) "apache-webapplication"
|
||||||
|
++ optional (dysnomiaFlags.enableAxis2WebService) "axis2-webservice"
|
||||||
|
++ optional (dysnomiaFlags.enableDockerContainer) "docker-container"
|
||||||
|
++ optional (dysnomiaFlags.enableEjabberdDump) "ejabberd-dump"
|
||||||
|
++ optional (dysnomiaFlags.enableInfluxDatabase) "influx-database"
|
||||||
|
++ optional (dysnomiaFlags.enableMySQLDatabase) "mysql-database"
|
||||||
|
++ optional (dysnomiaFlags.enablePostgreSQLDatabase) "postgresql-database"
|
||||||
|
++ optional (dysnomiaFlags.enableTomcatWebApplication) "tomcat-webapplication"
|
||||||
|
++ optional (dysnomiaFlags.enableMongoDatabase) "mongo-database"
|
||||||
|
++ optional (dysnomiaFlags.enableSubversionRepository) "subversion-repository";
|
||||||
|
};
|
||||||
|
|
||||||
|
dysnomia.containers = lib.recursiveUpdate ({
|
||||||
|
process = {};
|
||||||
|
wrapper = {};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (config.services.httpd.enable) { apache-webapplication = {
|
||||||
|
documentRoot = config.services.httpd.virtualHosts.localhost.documentRoot;
|
||||||
|
}; }
|
||||||
|
// lib.optionalAttrs (config.services.tomcat.axis2.enable) { axis2-webservice = {}; }
|
||||||
|
// lib.optionalAttrs (config.services.ejabberd.enable) { ejabberd-dump = {
|
||||||
|
ejabberdUser = config.services.ejabberd.user;
|
||||||
|
}; }
|
||||||
|
// lib.optionalAttrs (config.services.mysql.enable) { mysql-database = {
|
||||||
|
mysqlPort = config.services.mysql.port;
|
||||||
|
mysqlSocket = "/run/mysqld/mysqld.sock";
|
||||||
|
} // lib.optionalAttrs cfg.enableAuthentication {
|
||||||
|
mysqlUsername = "root";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (config.services.postgresql.enable) { postgresql-database = {
|
||||||
|
} // lib.optionalAttrs (cfg.enableAuthentication) {
|
||||||
|
postgresqlUsername = "postgres";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (config.services.tomcat.enable) { tomcat-webapplication = {
|
||||||
|
tomcatPort = 8080;
|
||||||
|
}; }
|
||||||
|
// lib.optionalAttrs (config.services.mongodb.enable) { mongo-database = {}; }
|
||||||
|
// lib.optionalAttrs (config.services.influxdb.enable) {
|
||||||
|
influx-database = {
|
||||||
|
influxdbUsername = config.services.influxdb.user;
|
||||||
|
influxdbDataDir = "${config.services.influxdb.dataDir}/data";
|
||||||
|
influxdbMetaDir = "${config.services.influxdb.dataDir}/meta";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (config.services.svnserve.enable) { subversion-repository = {
|
||||||
|
svnBaseDir = config.services.svnserve.svnBaseDir;
|
||||||
|
}; }) cfg.extraContainerProperties;
|
||||||
|
|
||||||
|
boot.extraSystemdUnitPaths = [ "/etc/systemd-mutable/system" ];
|
||||||
|
|
||||||
|
system.activationScripts.dysnomia = ''
|
||||||
|
mkdir -p /etc/systemd-mutable/system
|
||||||
|
if [ ! -f /etc/systemd-mutable/system/dysnomia.target ]
|
||||||
|
then
|
||||||
|
( echo "[Unit]"
|
||||||
|
echo "Description=Services that are activated and deactivated by Dysnomia"
|
||||||
|
echo "After=final.target"
|
||||||
|
) > /etc/systemd-mutable/system/dysnomia.target
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -128,11 +128,16 @@ in
|
||||||
{
|
{
|
||||||
LogType = "console";
|
LogType = "console";
|
||||||
Server = cfg.server;
|
Server = cfg.server;
|
||||||
ListenIP = cfg.listen.ip;
|
|
||||||
ListenPort = cfg.listen.port;
|
ListenPort = cfg.listen.port;
|
||||||
LoadModule = builtins.attrNames cfg.modules;
|
|
||||||
}
|
}
|
||||||
(mkIf (cfg.modules != {}) { LoadModulePath = "${moduleEnv}/lib"; })
|
(mkIf (cfg.modules != {}) {
|
||||||
|
LoadModule = builtins.attrNames cfg.modules;
|
||||||
|
LoadModulePath = "${moduleEnv}/lib";
|
||||||
|
})
|
||||||
|
|
||||||
|
# the default value for "ListenIP" is 0.0.0.0 but zabbix agent 2 cannot accept configuration files which
|
||||||
|
# explicitly set "ListenIP" to the default value...
|
||||||
|
(mkIf (cfg.listen.ip != "0.0.0.0") { ListenIP = cfg.listen.ip; })
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.firewall = mkIf cfg.openFirewall {
|
networking.firewall = mkIf cfg.openFirewall {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkEnableOption mkIf mkOption types;
|
inherit (lib) mkEnableOption mkIf mkOption optionalString types;
|
||||||
|
|
||||||
generic = variant:
|
generic = variant:
|
||||||
let
|
let
|
||||||
|
@ -26,6 +26,14 @@ let
|
||||||
<link xlink:href='http://bird.network.cz/'/>
|
<link xlink:href='http://bird.network.cz/'/>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
checkConfig = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Whether the config should be checked at build time.
|
||||||
|
Disabling this might become necessary if the config includes files not present during build time.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -36,7 +44,7 @@ let
|
||||||
environment.etc."bird/${variant}.conf".source = pkgs.writeTextFile {
|
environment.etc."bird/${variant}.conf".source = pkgs.writeTextFile {
|
||||||
name = "${variant}.conf";
|
name = "${variant}.conf";
|
||||||
text = cfg.config;
|
text = cfg.config;
|
||||||
checkPhase = ''
|
checkPhase = optionalString cfg.checkConfig ''
|
||||||
${pkg}/bin/${birdBin} -d -p -c $out
|
${pkg}/bin/${birdBin} -d -p -c $out
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -50,7 +58,7 @@ let
|
||||||
Type = "forking";
|
Type = "forking";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
ExecStart = "${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -u ${variant} -g ${variant}";
|
ExecStart = "${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -u ${variant} -g ${variant}";
|
||||||
ExecReload = "${pkg}/bin/${birdc} configure";
|
ExecReload = "/bin/sh -c '${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -p && ${pkg}/bin/${birdc} configure'";
|
||||||
ExecStop = "${pkg}/bin/${birdc} down";
|
ExecStop = "${pkg}/bin/${birdc} down";
|
||||||
CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_SETUID" "CAP_SETGID"
|
CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_SETUID" "CAP_SETGID"
|
||||||
# see bird/sysdep/linux/syspriv.h
|
# see bird/sysdep/linux/syspriv.h
|
||||||
|
|
|
@ -245,7 +245,7 @@ in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$CJDNS_ADMIN_PASSWORD" ]; then
|
if [ -z "$CJDNS_ADMIN_PASSWORD" ]; then
|
||||||
echo "CJDNS_ADMIN_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 96)" \
|
echo "CJDNS_ADMIN_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" \
|
||||||
>> /etc/cjdns.keys
|
>> /etc/cjdns.keys
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -10,12 +10,12 @@ let
|
||||||
mkListen = kind: addr: let
|
mkListen = kind: addr: let
|
||||||
al_v4 = builtins.match "([0-9.]+):([0-9]+)" addr;
|
al_v4 = builtins.match "([0-9.]+):([0-9]+)" addr;
|
||||||
al_v6 = builtins.match "\\[(.+)]:([0-9]+)" addr;
|
al_v6 = builtins.match "\\[(.+)]:([0-9]+)" addr;
|
||||||
al_portOnly = builtins.match "()([0-9]+)" addr;
|
al_portOnly = builtins.match "([0-9]+)" addr;
|
||||||
al = findFirst (a: a != null)
|
al = findFirst (a: a != null)
|
||||||
(throw "services.kresd.*: incorrect address specification '${addr}'")
|
(throw "services.kresd.*: incorrect address specification '${addr}'")
|
||||||
[ al_v4 al_v6 al_portOnly ];
|
[ al_v4 al_v6 al_portOnly ];
|
||||||
port = last al;
|
port = last al;
|
||||||
addrSpec = if al_portOnly == null then "'${head al}'" else "{'::', '127.0.0.1'}";
|
addrSpec = if al_portOnly == null then "'${head al}'" else "{'::', '0.0.0.0'}";
|
||||||
in # freebind is set for compatibility with earlier kresd services;
|
in # freebind is set for compatibility with earlier kresd services;
|
||||||
# it could be configurable, for example.
|
# it could be configurable, for example.
|
||||||
''
|
''
|
||||||
|
@ -137,10 +137,5 @@ in {
|
||||||
};
|
};
|
||||||
# We don't mind running stop phase from wrong version. It seems less racy.
|
# We don't mind running stop phase from wrong version. It seems less racy.
|
||||||
systemd.services."kresd@".stopIfChanged = false;
|
systemd.services."kresd@".stopIfChanged = false;
|
||||||
|
|
||||||
# Try cleaning up the previously default location of cache file.
|
|
||||||
# Note that /var/cache/* should always be safe to remove.
|
|
||||||
# TODO: remove later, probably between 20.09 and 21.05
|
|
||||||
systemd.tmpfiles.rules = [ "R /var/cache/kresd" ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -238,7 +238,7 @@ let
|
||||||
wantedBy = [ "wireguard-${name}.service" ];
|
wantedBy = [ "wireguard-${name}.service" ];
|
||||||
requiredBy = [ "wireguard-${name}.service" ];
|
requiredBy = [ "wireguard-${name}.service" ];
|
||||||
before = [ "wireguard-${name}.service" ];
|
before = [ "wireguard-${name}.service" ];
|
||||||
path = with pkgs; [ wireguard ];
|
path = with pkgs; [ wireguard-tools ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
|
|
|
@ -88,7 +88,7 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig.ExecStart = "${pkgs.pythonPackages.zerobin}/bin/zerobin ${cfg.listenAddress} ${toString cfg.listenPort} false ${cfg.user} ${cfg.group} ${zerobin_config}";
|
serviceConfig.ExecStart = "${pkgs.zerobin}/bin/zerobin ${cfg.listenAddress} ${toString cfg.listenPort} false ${cfg.user} ${cfg.group} ${zerobin_config}";
|
||||||
serviceConfig.PrivateTmp="yes";
|
serviceConfig.PrivateTmp="yes";
|
||||||
serviceConfig.User = cfg.user;
|
serviceConfig.User = cfg.user;
|
||||||
serviceConfig.Group = cfg.group;
|
serviceConfig.Group = cfg.group;
|
||||||
|
|
|
@ -26,19 +26,46 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
capabilities = mkOption {
|
capabilities = {
|
||||||
type = types.commas;
|
view = mkOption {
|
||||||
default = "view";
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
description = ''
|
description = ''
|
||||||
Enable the view, add, and/or manage capabilities. E.g. view,add
|
Enable the view capability.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
add = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Enable the add capability.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
manage = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Enable the manage capability.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
stateDir = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = "/var/lib/hledger-web";
|
||||||
|
description = ''
|
||||||
|
Path the service has access to. If left as the default value this
|
||||||
|
directory will automatically be created before the hledger-web server
|
||||||
|
starts, otherwise the sysadmin is responsible for ensuring the
|
||||||
|
directory exists with appropriate ownership and permissions.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
journalFile = mkOption {
|
journalFiles = mkOption {
|
||||||
type = types.path;
|
type = types.listOf types.str;
|
||||||
example = "/home/hledger/.hledger.journal";
|
default = [ ".hledger.journal" ];
|
||||||
description = ''
|
description = ''
|
||||||
Input journal file.
|
Paths to journal files relative to <option>services.hledger-web.stateDir</option>.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,28 +77,66 @@ in {
|
||||||
Base URL, when sharing over a network.
|
Base URL, when sharing over a network.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extraOptions = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
example = [ "--forecast" ];
|
||||||
|
description = ''
|
||||||
|
Extra command line arguments to pass to hledger-web.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
systemd.services.hledger-web = {
|
|
||||||
|
users.users.hledger = {
|
||||||
|
name = "hledger";
|
||||||
|
group = "hledger";
|
||||||
|
isSystemUser = true;
|
||||||
|
home = cfg.stateDir;
|
||||||
|
useDefaultShell = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.hledger = {};
|
||||||
|
|
||||||
|
systemd.services.hledger-web = let
|
||||||
|
capabilityString = with cfg.capabilities; concatStringsSep "," (
|
||||||
|
(optional view "view")
|
||||||
|
++ (optional add "add")
|
||||||
|
++ (optional manage "manage")
|
||||||
|
);
|
||||||
|
serverArgs = with cfg; escapeShellArgs ([
|
||||||
|
"--serve"
|
||||||
|
"--host=${host}"
|
||||||
|
"--port=${toString port}"
|
||||||
|
"--capabilities=${capabilityString}"
|
||||||
|
(optionalString (cfg.baseUrl != null) "--base-url=${cfg.baseUrl}")
|
||||||
|
(optionalString (cfg.serveApi) "--serve-api")
|
||||||
|
] ++ (map (f: "--file=${stateDir}/${f}") cfg.journalFiles)
|
||||||
|
++ extraOptions);
|
||||||
|
in {
|
||||||
description = "hledger-web - web-app for the hledger accounting tool.";
|
description = "hledger-web - web-app for the hledger accounting tool.";
|
||||||
documentation = [ https://hledger.org/hledger-web.html ];
|
documentation = [ https://hledger.org/hledger-web.html ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "networking.target" ];
|
after = [ "networking.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = mkMerge [
|
||||||
ExecStart = ''
|
{
|
||||||
${pkgs.hledger-web}/bin/hledger-web \
|
ExecStart = "${pkgs.hledger-web}/bin/hledger-web ${serverArgs}";
|
||||||
--host=${cfg.host} \
|
|
||||||
--port=${toString cfg.port} \
|
|
||||||
--file=${cfg.journalFile} \
|
|
||||||
"--capabilities=${cfg.capabilities}" \
|
|
||||||
${optionalString (cfg.baseUrl != null) "--base-url=${cfg.baseUrl}"} \
|
|
||||||
${optionalString (cfg.serveApi) "--serve-api"}
|
|
||||||
'';
|
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
};
|
WorkingDirectory = cfg.stateDir;
|
||||||
};
|
User = "hledger";
|
||||||
|
Group = "hledger";
|
||||||
|
PrivateTmp = true;
|
||||||
|
}
|
||||||
|
(mkIf (cfg.stateDir == "/var/lib/hledger-web") {
|
||||||
|
StateDirectory = "hledger-web";
|
||||||
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
meta.maintainers = with lib.maintainers; [ marijanp ];
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ marijanp erictapen ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,8 +43,32 @@ let
|
||||||
LogsDirectoryMode = "0750";
|
LogsDirectoryMode = "0750";
|
||||||
# Access write directories
|
# Access write directories
|
||||||
UMask = "0027";
|
UMask = "0027";
|
||||||
|
# Capabilities
|
||||||
|
CapabilityBoundingSet = "";
|
||||||
|
# Security
|
||||||
|
NoNewPrivileges = true;
|
||||||
# Sandboxing
|
# Sandboxing
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
ProtectHome = true;
|
||||||
PrivateTmp = true;
|
PrivateTmp = true;
|
||||||
|
PrivateDevices = true;
|
||||||
|
PrivateUsers = true;
|
||||||
|
ProtectClock = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
LockPersonality = true;
|
||||||
|
MemoryDenyWriteExecute = false;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
PrivateMounts = true;
|
||||||
|
# System Call Filtering
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @reboot @resources @setuid @swap";
|
||||||
};
|
};
|
||||||
|
|
||||||
envFile = pkgs.writeText "mastodon.env" (lib.concatMapStrings (s: s + "\n") (
|
envFile = pkgs.writeText "mastodon.env" (lib.concatMapStrings (s: s + "\n") (
|
||||||
|
|
139
third_party/nixpkgs/nixos/modules/services/web-apps/wiki-js.nix
vendored
Normal file
139
third_party/nixpkgs/nixos/modules/services/web-apps/wiki-js.nix
vendored
Normal file
|
@ -0,0 +1,139 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.wiki-js;
|
||||||
|
|
||||||
|
format = pkgs.formats.json { };
|
||||||
|
|
||||||
|
configFile = format.generate "wiki-js.yml" cfg.settings;
|
||||||
|
in {
|
||||||
|
options.services.wiki-js = {
|
||||||
|
enable = mkEnableOption "wiki-js";
|
||||||
|
|
||||||
|
environmentFile = mkOption {
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
default = null;
|
||||||
|
example = "/root/wiki-js.env";
|
||||||
|
description = ''
|
||||||
|
Environment fiel to inject e.g. secrets into the configuration.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
stateDirectoryName = mkOption {
|
||||||
|
default = "wiki-js";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Name of the directory in <filename>/var/lib</filename>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
default = {};
|
||||||
|
type = types.submodule {
|
||||||
|
freeformType = format.type;
|
||||||
|
options = {
|
||||||
|
port = mkOption {
|
||||||
|
type = types.port;
|
||||||
|
default = 3000;
|
||||||
|
description = ''
|
||||||
|
TCP port the process should listen to.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
bindIP = mkOption {
|
||||||
|
default = "0.0.0.0";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
IPs the service should listen to.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
db = {
|
||||||
|
type = mkOption {
|
||||||
|
default = "postgres";
|
||||||
|
type = types.enum [ "postgres" "mysql" "mariadb" "mssql" ];
|
||||||
|
description = ''
|
||||||
|
Database driver to use for persistence. Please note that <literal>sqlite</literal>
|
||||||
|
is currently not supported as the build process for it is currently not implemented
|
||||||
|
in <package>pkgs.wiki-js</package> and it's not recommended by upstream for
|
||||||
|
production use.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
host = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
example = "/run/postgresql";
|
||||||
|
description = ''
|
||||||
|
Hostname or socket-path to connect to.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
db = mkOption {
|
||||||
|
default = "wiki";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Name of the database to use.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
logLevel = mkOption {
|
||||||
|
default = "info";
|
||||||
|
type = types.enum [ "error" "warn" "info" "verbose" "debug" "silly" ];
|
||||||
|
description = ''
|
||||||
|
Define how much detail is supposed to be logged at runtime.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
offline = mkEnableOption "offline mode" // {
|
||||||
|
description = ''
|
||||||
|
Disable latest file updates and enable
|
||||||
|
<link xlink:href="https://docs.requarks.io/install/sideload">sideloading</link>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = ''
|
||||||
|
Settings to configure <package>wiki-js</package>. This directly
|
||||||
|
corresponds to <link xlink:href="https://docs.requarks.io/install/config">the upstream
|
||||||
|
configuration options</link>.
|
||||||
|
|
||||||
|
Secrets can be injected via the environment by
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>specifying <xref linkend="opt-services.wiki-js.environmentFile" />
|
||||||
|
to contain secrets</para></listitem>
|
||||||
|
<listitem><para>and setting sensitive values to <literal>$(ENVIRONMENT_VAR)</literal>
|
||||||
|
with this value defined in the environment-file.</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.wiki-js.settings.dataPath = "/var/lib/${cfg.stateDirectoryName}";
|
||||||
|
systemd.services.wiki-js = {
|
||||||
|
description = "A modern and powerful wiki app built on Node.js";
|
||||||
|
documentation = [ "https://docs.requarks.io/" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
path = with pkgs; [ coreutils ];
|
||||||
|
preStart = ''
|
||||||
|
ln -sf ${configFile} /var/lib/${cfg.stateDirectoryName}/config.yml
|
||||||
|
ln -sf ${pkgs.wiki-js}/server /var/lib/${cfg.stateDirectoryName}
|
||||||
|
ln -sf ${pkgs.wiki-js}/assets /var/lib/${cfg.stateDirectoryName}
|
||||||
|
ln -sf ${pkgs.wiki-js}/package.json /var/lib/${cfg.stateDirectoryName}/package.json
|
||||||
|
'';
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||||
|
StateDirectory = cfg.stateDirectoryName;
|
||||||
|
WorkingDirectory = "/var/lib/${cfg.stateDirectoryName}";
|
||||||
|
DynamicUser = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
ExecStart = "${pkgs.nodejs}/bin/node ${pkgs.wiki-js}/server";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with maintainers; [ ma27 ];
|
||||||
|
}
|
|
@ -386,7 +386,7 @@ let
|
||||||
) config.boot.initrd.secrets)
|
) config.boot.initrd.secrets)
|
||||||
}
|
}
|
||||||
|
|
||||||
(cd "$tmp" && find . -print0 | sort -z | cpio -o -H newc -R +0:+0 --reproducible --null) | \
|
(cd "$tmp" && find . -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null) | \
|
||||||
${compressorExe} ${lib.escapeShellArgs initialRamdisk.compressorArgs} >> "$1"
|
${compressorExe} ${lib.escapeShellArgs initialRamdisk.compressorArgs} >> "$1"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,6 @@ let
|
||||||
# their assertions too
|
# their assertions too
|
||||||
(attrValues config.fileSystems);
|
(attrValues config.fileSystems);
|
||||||
|
|
||||||
prioOption = prio: optionalString (prio != null) " pri=${toString prio}";
|
|
||||||
|
|
||||||
specialFSTypes = [ "proc" "sysfs" "tmpfs" "ramfs" "devtmpfs" "devpts" ];
|
specialFSTypes = [ "proc" "sysfs" "tmpfs" "ramfs" "devtmpfs" "devpts" ];
|
||||||
|
|
||||||
coreFileSystemOpts = { name, config, ... }: {
|
coreFileSystemOpts = { name, config, ... }: {
|
||||||
|
@ -240,6 +238,8 @@ in
|
||||||
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
|
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
|
||||||
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
|
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
|
||||||
escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
|
escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
|
||||||
|
swapOptions = sw: "defaults"
|
||||||
|
+ optionalString (sw.priority != null) ",pri=${toString sw.priority}";
|
||||||
in ''
|
in ''
|
||||||
# This is a generated file. Do not edit!
|
# This is a generated file. Do not edit!
|
||||||
#
|
#
|
||||||
|
@ -262,7 +262,7 @@ in
|
||||||
|
|
||||||
# Swap devices.
|
# Swap devices.
|
||||||
${flip concatMapStrings config.swapDevices (sw:
|
${flip concatMapStrings config.swapDevices (sw:
|
||||||
"${sw.realDevice} none swap${prioOption sw.priority}\n"
|
"${sw.realDevice} none swap ${swapOptions sw}\n"
|
||||||
)}
|
)}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -5,5 +5,13 @@ let self = {
|
||||||
"17.03" = "gs://nixos-cloud-images/nixos-image-17.03.1082.4aab5c5798-x86_64-linux.raw.tar.gz";
|
"17.03" = "gs://nixos-cloud-images/nixos-image-17.03.1082.4aab5c5798-x86_64-linux.raw.tar.gz";
|
||||||
"18.03" = "gs://nixos-cloud-images/nixos-image-18.03.132536.fdb5ba4cdf9-x86_64-linux.raw.tar.gz";
|
"18.03" = "gs://nixos-cloud-images/nixos-image-18.03.132536.fdb5ba4cdf9-x86_64-linux.raw.tar.gz";
|
||||||
"18.09" = "gs://nixos-cloud-images/nixos-image-18.09.1228.a4c4cbb613c-x86_64-linux.raw.tar.gz";
|
"18.09" = "gs://nixos-cloud-images/nixos-image-18.09.1228.a4c4cbb613c-x86_64-linux.raw.tar.gz";
|
||||||
latest = self."18.09";
|
|
||||||
|
# This format will be handled by the upcoming NixOPS 2.0 release.
|
||||||
|
# The old images based on a GS object are deprecated.
|
||||||
|
"20.09" = {
|
||||||
|
project = "nixos-cloud";
|
||||||
|
name = "nixos-image-20-09-3531-3858fbc08e6-x86-64-linux";
|
||||||
|
};
|
||||||
|
|
||||||
|
latest = self."20.09";
|
||||||
}; in self
|
}; in self
|
||||||
|
|
|
@ -504,7 +504,7 @@ in
|
||||||
|
|
||||||
path = mkOption {
|
path = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
example = "/nix/var/nix/profiles/containers/webserver";
|
example = "/nix/var/nix/profiles/per-container/webserver";
|
||||||
description = ''
|
description = ''
|
||||||
As an alternative to specifying
|
As an alternative to specifying
|
||||||
<option>config</option>, you can specify the path to
|
<option>config</option>, you can specify the path to
|
||||||
|
|
50
third_party/nixpkgs/nixos/tests/acme.nix
vendored
50
third_party/nixpkgs/nixos/tests/acme.nix
vendored
|
@ -253,7 +253,7 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
||||||
|
|
||||||
|
|
||||||
def check_connection(node, domain, retries=3):
|
def check_connection(node, domain, retries=3):
|
||||||
assert retries >= 0
|
assert retries >= 0, f"Failed to connect to https://{domain}"
|
||||||
|
|
||||||
result = node.succeed(
|
result = node.succeed(
|
||||||
"openssl s_client -brief -verify 2 -CAfile /tmp/ca.crt"
|
"openssl s_client -brief -verify 2 -CAfile /tmp/ca.crt"
|
||||||
|
@ -262,12 +262,12 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
||||||
|
|
||||||
for line in result.lower().split("\n"):
|
for line in result.lower().split("\n"):
|
||||||
if "verification" in line and "error" in line:
|
if "verification" in line and "error" in line:
|
||||||
time.sleep(1)
|
time.sleep(3)
|
||||||
return check_connection(node, domain, retries - 1)
|
return check_connection(node, domain, retries - 1)
|
||||||
|
|
||||||
|
|
||||||
def check_connection_key_bits(node, domain, bits, retries=3):
|
def check_connection_key_bits(node, domain, bits, retries=3):
|
||||||
assert retries >= 0
|
assert retries >= 0, f"Did not find expected number of bits ({bits}) in key"
|
||||||
|
|
||||||
result = node.succeed(
|
result = node.succeed(
|
||||||
"openssl s_client -CAfile /tmp/ca.crt"
|
"openssl s_client -CAfile /tmp/ca.crt"
|
||||||
|
@ -277,12 +277,12 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
||||||
print("Key type:", result)
|
print("Key type:", result)
|
||||||
|
|
||||||
if bits not in result:
|
if bits not in result:
|
||||||
time.sleep(1)
|
time.sleep(3)
|
||||||
return check_connection_key_bits(node, domain, bits, retries - 1)
|
return check_connection_key_bits(node, domain, bits, retries - 1)
|
||||||
|
|
||||||
|
|
||||||
def check_stapling(node, domain, retries=3):
|
def check_stapling(node, domain, retries=3):
|
||||||
assert retries >= 0
|
assert retries >= 0, "OCSP Stapling check failed"
|
||||||
|
|
||||||
# Pebble doesn't provide a full OCSP responder, so just check the URL
|
# Pebble doesn't provide a full OCSP responder, so just check the URL
|
||||||
result = node.succeed(
|
result = node.succeed(
|
||||||
|
@ -293,10 +293,23 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
||||||
print("OCSP Responder URL:", result)
|
print("OCSP Responder URL:", result)
|
||||||
|
|
||||||
if "${caDomain}:4002" not in result.lower():
|
if "${caDomain}:4002" not in result.lower():
|
||||||
time.sleep(1)
|
time.sleep(3)
|
||||||
return check_stapling(node, domain, retries - 1)
|
return check_stapling(node, domain, retries - 1)
|
||||||
|
|
||||||
|
|
||||||
|
def download_ca_certs(node, retries=5):
|
||||||
|
assert retries >= 0, "Failed to connect to pebble to download root CA certs"
|
||||||
|
|
||||||
|
exit_code, _ = node.execute("curl https://${caDomain}:15000/roots/0 > /tmp/ca.crt")
|
||||||
|
exit_code_2, _ = node.execute(
|
||||||
|
"curl https://${caDomain}:15000/intermediate-keys/0 >> /tmp/ca.crt"
|
||||||
|
)
|
||||||
|
|
||||||
|
if exit_code + exit_code_2 > 0:
|
||||||
|
time.sleep(3)
|
||||||
|
return download_ca_certs(node, retries - 1)
|
||||||
|
|
||||||
|
|
||||||
client.start()
|
client.start()
|
||||||
dnsserver.start()
|
dnsserver.start()
|
||||||
|
|
||||||
|
@ -313,8 +326,7 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
||||||
acme.wait_for_unit("network-online.target")
|
acme.wait_for_unit("network-online.target")
|
||||||
acme.wait_for_unit("pebble.service")
|
acme.wait_for_unit("pebble.service")
|
||||||
|
|
||||||
client.succeed("curl https://${caDomain}:15000/roots/0 > /tmp/ca.crt")
|
download_ca_certs(client)
|
||||||
client.succeed("curl https://${caDomain}:15000/intermediate-keys/0 >> /tmp/ca.crt")
|
|
||||||
|
|
||||||
with subtest("Can request certificate with HTTPS-01 challenge"):
|
with subtest("Can request certificate with HTTPS-01 challenge"):
|
||||||
webserver.wait_for_unit("acme-finished-a.example.test.target")
|
webserver.wait_for_unit("acme-finished-a.example.test.target")
|
||||||
|
@ -322,6 +334,21 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
||||||
check_issuer(webserver, "a.example.test", "pebble")
|
check_issuer(webserver, "a.example.test", "pebble")
|
||||||
check_connection(client, "a.example.test")
|
check_connection(client, "a.example.test")
|
||||||
|
|
||||||
|
with subtest("Certificates and accounts have safe + valid permissions"):
|
||||||
|
group = "${nodes.webserver.config.security.acme.certs."a.example.test".group}"
|
||||||
|
webserver.succeed(
|
||||||
|
f"test $(stat -L -c \"%a %U %G\" /var/lib/acme/a.example.test/* | tee /dev/stderr | grep '640 acme {group}' | wc -l) -eq 5"
|
||||||
|
)
|
||||||
|
webserver.succeed(
|
||||||
|
f"test $(stat -L -c \"%a %U %G\" /var/lib/acme/.lego/a.example.test/**/* | tee /dev/stderr | grep '640 acme {group}' | wc -l) -eq 5"
|
||||||
|
)
|
||||||
|
webserver.succeed(
|
||||||
|
f"test $(stat -L -c \"%a %U %G\" /var/lib/acme/a.example.test | tee /dev/stderr | grep '750 acme {group}' | wc -l) -eq 1"
|
||||||
|
)
|
||||||
|
webserver.succeed(
|
||||||
|
f"test $(find /var/lib/acme/accounts -type f -exec stat -L -c \"%a %U %G\" {{}} \\; | tee /dev/stderr | grep -v '600 acme {group}' | wc -l) -eq 0"
|
||||||
|
)
|
||||||
|
|
||||||
with subtest("Can generate valid selfsigned certs"):
|
with subtest("Can generate valid selfsigned certs"):
|
||||||
webserver.succeed("systemctl clean acme-a.example.test.service --what=state")
|
webserver.succeed("systemctl clean acme-a.example.test.service --what=state")
|
||||||
webserver.succeed("systemctl start acme-selfsigned-a.example.test.service")
|
webserver.succeed("systemctl start acme-selfsigned-a.example.test.service")
|
||||||
|
@ -375,8 +402,15 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
||||||
assert keyhash_old == keyhash_new
|
assert keyhash_old == keyhash_new
|
||||||
|
|
||||||
with subtest("Can request certificates for vhost + aliases (apache-httpd)"):
|
with subtest("Can request certificates for vhost + aliases (apache-httpd)"):
|
||||||
|
try:
|
||||||
switch_to(webserver, "httpd-aliases")
|
switch_to(webserver, "httpd-aliases")
|
||||||
webserver.wait_for_unit("acme-finished-c.example.test.target")
|
webserver.wait_for_unit("acme-finished-c.example.test.target")
|
||||||
|
except Exception as err:
|
||||||
|
_, output = webserver.execute(
|
||||||
|
"cat /var/log/httpd/*.log && ls -al /var/lib/acme/acme-challenge"
|
||||||
|
)
|
||||||
|
print(output)
|
||||||
|
raise err
|
||||||
check_issuer(webserver, "c.example.test", "pebble")
|
check_issuer(webserver, "c.example.test", "pebble")
|
||||||
check_connection(client, "c.example.test")
|
check_connection(client, "c.example.test")
|
||||||
check_connection(client, "d.example.test")
|
check_connection(client, "d.example.test")
|
||||||
|
|
|
@ -426,6 +426,7 @@ in
|
||||||
virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
|
virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
|
||||||
vscodium = handleTest ./vscodium.nix {};
|
vscodium = handleTest ./vscodium.nix {};
|
||||||
wasabibackend = handleTest ./wasabibackend.nix {};
|
wasabibackend = handleTest ./wasabibackend.nix {};
|
||||||
|
wiki-js = handleTest ./wiki-js.nix {};
|
||||||
wireguard = handleTest ./wireguard {};
|
wireguard = handleTest ./wireguard {};
|
||||||
wordpress = handleTest ./wordpress.nix {};
|
wordpress = handleTest ./wordpress.nix {};
|
||||||
xandikos = handleTest ./xandikos.nix {};
|
xandikos = handleTest ./xandikos.nix {};
|
||||||
|
|
|
@ -113,6 +113,7 @@ let
|
||||||
driver.find_element_by_css_selector('input#masterPasswordRetype').send_keys(
|
driver.find_element_by_css_selector('input#masterPasswordRetype').send_keys(
|
||||||
'${userPassword}'
|
'${userPassword}'
|
||||||
)
|
)
|
||||||
|
driver.find_element_by_css_selector('input#acceptPolicies').click()
|
||||||
|
|
||||||
driver.find_element_by_xpath("//button[contains(., 'Submit')]").click()
|
driver.find_element_by_xpath("//button[contains(., 'Submit')]").click()
|
||||||
|
|
||||||
|
|
45
third_party/nixpkgs/nixos/tests/docker-tools.nix
vendored
45
third_party/nixpkgs/nixos/tests/docker-tools.nix
vendored
|
@ -161,12 +161,18 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
"docker run --rm ${examples.layered-image.imageName} cat extraCommands",
|
"docker run --rm ${examples.layered-image.imageName} cat extraCommands",
|
||||||
)
|
)
|
||||||
|
|
||||||
with subtest("Ensure building an image on top of a layered Docker images work"):
|
with subtest("Ensure images built on top of layered Docker images work"):
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
"docker load --input='${examples.layered-on-top}'",
|
"docker load --input='${examples.layered-on-top}'",
|
||||||
"docker run --rm ${examples.layered-on-top.imageName}",
|
"docker run --rm ${examples.layered-on-top.imageName}",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
with subtest("Ensure layered images built on top of layered Docker images work"):
|
||||||
|
docker.succeed(
|
||||||
|
"docker load --input='${examples.layered-on-top-layered}'",
|
||||||
|
"docker run --rm ${examples.layered-on-top-layered.imageName}",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def set_of_layers(image_name):
|
def set_of_layers(image_name):
|
||||||
return set(
|
return set(
|
||||||
|
@ -205,6 +211,31 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
assert "FROM_CHILD=true" in env, "envvars from the child should be preserved"
|
assert "FROM_CHILD=true" in env, "envvars from the child should be preserved"
|
||||||
assert "LAST_LAYER=child" in env, "envvars from the child should take priority"
|
assert "LAST_LAYER=child" in env, "envvars from the child should take priority"
|
||||||
|
|
||||||
|
with subtest("Ensure environment variables of layered images are correctly inherited"):
|
||||||
|
docker.succeed(
|
||||||
|
"docker load --input='${examples.environmentVariablesLayered}'"
|
||||||
|
)
|
||||||
|
out = docker.succeed("docker run --rm ${examples.environmentVariablesLayered.imageName} env")
|
||||||
|
env = out.splitlines()
|
||||||
|
assert "FROM_PARENT=true" in env, "envvars from the parent should be preserved"
|
||||||
|
assert "FROM_CHILD=true" in env, "envvars from the child should be preserved"
|
||||||
|
assert "LAST_LAYER=child" in env, "envvars from the child should take priority"
|
||||||
|
|
||||||
|
with subtest(
|
||||||
|
"Ensure inherited environment variables of layered images are correctly resolved"
|
||||||
|
):
|
||||||
|
# Read environment variables as stored in image config
|
||||||
|
config = docker.succeed(
|
||||||
|
"tar -xOf ${examples.environmentVariablesLayered} manifest.json | ${pkgs.jq}/bin/jq -r .[].Config"
|
||||||
|
).strip()
|
||||||
|
out = docker.succeed(
|
||||||
|
f"tar -xOf ${examples.environmentVariablesLayered} {config} | ${pkgs.jq}/bin/jq -r '.config.Env | .[]'"
|
||||||
|
)
|
||||||
|
env = out.splitlines()
|
||||||
|
assert (
|
||||||
|
sum(entry.startswith("LAST_LAYER") for entry in env) == 1
|
||||||
|
), "envvars overridden by child should be unique"
|
||||||
|
|
||||||
with subtest("Ensure image with only 2 layers can be loaded"):
|
with subtest("Ensure image with only 2 layers can be loaded"):
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
"docker load --input='${examples.two-layered-image}'"
|
"docker load --input='${examples.two-layered-image}'"
|
||||||
|
@ -219,6 +250,18 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
"docker run bulk-layer ls /bin/hello",
|
"docker run bulk-layer ls /bin/hello",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
with subtest(
|
||||||
|
"Ensure the bulk layer with a base image respects the number of maxLayers"
|
||||||
|
):
|
||||||
|
docker.succeed(
|
||||||
|
"docker load --input='${pkgs.dockerTools.examples.layered-bulk-layer}'",
|
||||||
|
# Ensure the image runs correctly
|
||||||
|
"docker run layered-bulk-layer ls /bin/hello",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Ensure the image has the correct number of layers
|
||||||
|
assert len(set_of_layers("layered-bulk-layer")) == 4
|
||||||
|
|
||||||
with subtest("Ensure correct behavior when no store is needed"):
|
with subtest("Ensure correct behavior when no store is needed"):
|
||||||
# This check tests that buildLayeredImage can build images that don't need a store.
|
# This check tests that buildLayeredImage can build images that don't need a store.
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
|
|
25
third_party/nixpkgs/nixos/tests/hledger-web.nix
vendored
25
third_party/nixpkgs/nixos/tests/hledger-web.nix
vendored
|
@ -13,25 +13,22 @@ rec {
|
||||||
name = "hledger-web";
|
name = "hledger-web";
|
||||||
meta.maintainers = with lib.maintainers; [ marijanp ];
|
meta.maintainers = with lib.maintainers; [ marijanp ];
|
||||||
|
|
||||||
nodes = {
|
nodes = rec {
|
||||||
server = { config, pkgs, ... }: rec {
|
server = { config, pkgs, ... }: {
|
||||||
services.hledger-web = {
|
services.hledger-web = {
|
||||||
host = "127.0.0.1";
|
host = "127.0.0.1";
|
||||||
port = 5000;
|
port = 5000;
|
||||||
enable = true;
|
enable = true;
|
||||||
journalFile = journal;
|
capabilities.manage = true;
|
||||||
};
|
};
|
||||||
networking.firewall.allowedTCPPorts = [ services.hledger-web.port ];
|
networking.firewall.allowedTCPPorts = [ config.services.hledger-web.port ];
|
||||||
|
systemd.services.hledger-web.preStart = ''
|
||||||
|
ln -s ${journal} /var/lib/hledger-web/.hledger.journal
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
apiserver = { config, pkgs, ... }: rec {
|
apiserver = { ... }: {
|
||||||
services.hledger-web = {
|
imports = [ server ];
|
||||||
host = "127.0.0.1";
|
services.hledger-web.serveApi = true;
|
||||||
port = 5000;
|
|
||||||
enable = true;
|
|
||||||
serveApi = true;
|
|
||||||
journalFile = journal;
|
|
||||||
};
|
|
||||||
networking.firewall.allowedTCPPorts = [ services.hledger-web.port ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -42,7 +39,7 @@ rec {
|
||||||
server.wait_for_open_port(5000)
|
server.wait_for_open_port(5000)
|
||||||
with subtest("Check if web UI is accessible"):
|
with subtest("Check if web UI is accessible"):
|
||||||
page = server.succeed("curl -L http://127.0.0.1:5000")
|
page = server.succeed("curl -L http://127.0.0.1:5000")
|
||||||
assert "test.journal" in page
|
assert ".hledger.journal" in page
|
||||||
|
|
||||||
apiserver.wait_for_unit("hledger-web.service")
|
apiserver.wait_for_unit("hledger-web.service")
|
||||||
apiserver.wait_for_open_port(5000)
|
apiserver.wait_for_open_port(5000)
|
||||||
|
|
152
third_party/nixpkgs/nixos/tests/wiki-js.nix
vendored
Normal file
152
third_party/nixpkgs/nixos/tests/wiki-js.nix
vendored
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
||||||
|
name = "wiki-js";
|
||||||
|
meta = with pkgs.lib.maintainers; {
|
||||||
|
maintainers = [ ma27 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { pkgs, ... }: {
|
||||||
|
virtualisation.memorySize = 2048;
|
||||||
|
services.wiki-js = {
|
||||||
|
enable = true;
|
||||||
|
settings.db.host = "/run/postgresql";
|
||||||
|
settings.db.user = "wiki-js";
|
||||||
|
settings.logLevel = "debug";
|
||||||
|
};
|
||||||
|
services.postgresql = {
|
||||||
|
enable = true;
|
||||||
|
ensureDatabases = [ "wiki" ];
|
||||||
|
ensureUsers = [
|
||||||
|
{ name = "wiki-js";
|
||||||
|
ensurePermissions."DATABASE wiki" = "ALL PRIVILEGES";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
systemd.services.wiki-js = {
|
||||||
|
requires = [ "postgresql.service" ];
|
||||||
|
after = [ "postgresql.service" ];
|
||||||
|
};
|
||||||
|
environment.systemPackages = with pkgs; [ jq ];
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = let
|
||||||
|
payloads.finalize = pkgs.writeText "finalize.json" (builtins.toJSON {
|
||||||
|
adminEmail = "webmaster@example.com";
|
||||||
|
adminPassword = "notapassword";
|
||||||
|
adminPasswordConfirm = "notapassword";
|
||||||
|
siteUrl = "http://localhost:3000";
|
||||||
|
telemetry = false;
|
||||||
|
});
|
||||||
|
payloads.login = pkgs.writeText "login.json" (builtins.toJSON [{
|
||||||
|
operationName = null;
|
||||||
|
extensions = {};
|
||||||
|
query = ''
|
||||||
|
mutation ($username: String!, $password: String!, $strategy: String!) {
|
||||||
|
authentication {
|
||||||
|
login(username: $username, password: $password, strategy: $strategy) {
|
||||||
|
responseResult {
|
||||||
|
succeeded
|
||||||
|
errorCode
|
||||||
|
slug
|
||||||
|
message
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
jwt
|
||||||
|
mustChangePwd
|
||||||
|
mustProvideTFA
|
||||||
|
mustSetupTFA
|
||||||
|
continuationToken
|
||||||
|
redirect
|
||||||
|
tfaQRImage
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
variables = {
|
||||||
|
password = "notapassword";
|
||||||
|
strategy = "local";
|
||||||
|
username = "webmaster@example.com";
|
||||||
|
};
|
||||||
|
}]);
|
||||||
|
payloads.content = pkgs.writeText "content.json" (builtins.toJSON [{
|
||||||
|
extensions = {};
|
||||||
|
operationName = null;
|
||||||
|
query = ''
|
||||||
|
mutation ($content: String!, $description: String!, $editor: String!, $isPrivate: Boolean!, $isPublished: Boolean!, $locale: String!, $path: String!, $publishEndDate: Date, $publishStartDate: Date, $scriptCss: String, $scriptJs: String, $tags: [String]!, $title: String!) {
|
||||||
|
pages {
|
||||||
|
create(content: $content, description: $description, editor: $editor, isPrivate: $isPrivate, isPublished: $isPublished, locale: $locale, path: $path, publishEndDate: $publishEndDate, publishStartDate: $publishStartDate, scriptCss: $scriptCss, scriptJs: $scriptJs, tags: $tags, title: $title) {
|
||||||
|
responseResult {
|
||||||
|
succeeded
|
||||||
|
errorCode
|
||||||
|
slug
|
||||||
|
message
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
page {
|
||||||
|
id
|
||||||
|
updatedAt
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
variables = {
|
||||||
|
content = "# Header\n\nHello world!";
|
||||||
|
description = "";
|
||||||
|
editor = "markdown";
|
||||||
|
isPrivate = false;
|
||||||
|
isPublished = true;
|
||||||
|
locale = "en";
|
||||||
|
path = "home";
|
||||||
|
publishEndDate = "";
|
||||||
|
publishStartDate = "";
|
||||||
|
scriptCss = "";
|
||||||
|
scriptJs = "";
|
||||||
|
tags = [];
|
||||||
|
title = "Hello world";
|
||||||
|
};
|
||||||
|
}]);
|
||||||
|
in ''
|
||||||
|
machine.start()
|
||||||
|
machine.wait_for_unit("multi-user.target")
|
||||||
|
machine.wait_for_open_port(3000)
|
||||||
|
|
||||||
|
machine.succeed("curl -sSf localhost:3000")
|
||||||
|
|
||||||
|
with subtest("Setup"):
|
||||||
|
result = machine.succeed(
|
||||||
|
"set -o pipefail; curl -sSf localhost:3000/finalize -X POST -d "
|
||||||
|
+ "@${payloads.finalize} -H 'Content-Type: application/json' "
|
||||||
|
+ "| jq .ok | xargs echo"
|
||||||
|
)
|
||||||
|
assert result.strip() == "true", f"Expected true, got {result}"
|
||||||
|
|
||||||
|
# During the setup the service gets restarted, so we use this
|
||||||
|
# to check if the setup is done.
|
||||||
|
machine.wait_until_fails("curl -sSf localhost:3000")
|
||||||
|
machine.wait_until_succeeds("curl -sSf localhost:3000")
|
||||||
|
|
||||||
|
with subtest("Base functionality"):
|
||||||
|
auth = machine.succeed(
|
||||||
|
"set -o pipefail; curl -sSf localhost:3000/graphql -X POST "
|
||||||
|
+ "-d @${payloads.login} -H 'Content-Type: application/json' "
|
||||||
|
+ "| jq '.[0].data.authentication.login.jwt' | xargs echo"
|
||||||
|
).strip()
|
||||||
|
|
||||||
|
assert auth
|
||||||
|
|
||||||
|
create = machine.succeed(
|
||||||
|
"set -o pipefail; curl -sSf localhost:3000/graphql -X POST "
|
||||||
|
+ "-d @${payloads.content} -H 'Content-Type: application/json' "
|
||||||
|
+ f"-H 'Authorization: Bearer {auth}' "
|
||||||
|
+ "| jq '.[0].data.pages.create.responseResult.succeeded'|xargs echo"
|
||||||
|
)
|
||||||
|
assert create.strip() == "true", f"Expected true, got {create}"
|
||||||
|
|
||||||
|
machine.shutdown()
|
||||||
|
'';
|
||||||
|
})
|
|
@ -12,6 +12,10 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
|
# -Wnarrowing is enabled by default in recent GCC versions,
|
||||||
|
# causing compilation to fail.
|
||||||
|
NIX_CFLAGS_COMPILE = "-Wno-narrowing";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
(
|
(
|
||||||
cd mp4v2
|
cd mp4v2
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bitwig-studio";
|
pname = "bitwig-studio";
|
||||||
version = "3.3.3";
|
version = "3.3.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
|
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
|
||||||
sha256 = "sha256-NDkGHJDr6TCHEhgSKK7jLYk5RjGEj8+lDYZ4ywvG20g=";
|
sha256 = "10nf29zr0xg9mxmknkc39jh3y9kpxzy5wg1v0s3kkd180lja9zpn";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
|
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
|
||||||
|
|
|
@ -10,7 +10,7 @@ let
|
||||||
withCD = config.clementine.cd or true;
|
withCD = config.clementine.cd or true;
|
||||||
withCloud = config.clementine.cloud or true;
|
withCloud = config.clementine.cloud or true;
|
||||||
|
|
||||||
# On the update after all 1.4rc, qt5.15 will be supported.
|
# On the update after all 1.4rc, qt5.15 and protobuf 3.15 will be supported.
|
||||||
version = "1.4.0rc1";
|
version = "1.4.0rc1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, makeWrapper, rofi, mpc_cli, perl,
|
{ lib, stdenv, fetchFromGitHub, makeWrapper, rofi, mpc_cli, perl,
|
||||||
util-linux, pythonPackages, libnotify }:
|
util-linux, python3Packages, libnotify }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "clerk-2016-10-14";
|
name = "clerk-2016-10-14";
|
||||||
|
@ -12,10 +12,12 @@ stdenv.mkDerivation {
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
buildInputs = [ pythonPackages.mpd2 ];
|
buildInputs = [ python3Packages.mpd2 ];
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
DESTDIR=$out PREFIX=/ make install
|
DESTDIR=$out PREFIX=/ make install
|
||||||
wrapProgram $out/bin/clerk \
|
wrapProgram $out/bin/clerk \
|
||||||
|
|
|
@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
|
CXXFLAGS = "-std=c++11";
|
||||||
configureFlags = "--enable-liblilv --with-extra-cppflags=-Dnullptr=0";
|
configureFlags = "--enable-liblilv --with-extra-cppflags=-Dnullptr=0";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -5,14 +5,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "helio-workstation";
|
pname = "helio-workstation";
|
||||||
version = "3.3";
|
version = "3.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "helio-fm";
|
owner = "helio-fm";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
sha256 = "sha256-meeNqV1jKUwWc7P3p/LicPsbpzpKKFmQ1wP9DuXc9NY=";
|
sha256 = "sha256-zXsDu/xi7OV6VtnZK9ZJ8uwPeA5uTgNpAQsqe90iwG4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{ mkDerivation, lib, fetchFromGitHub, fetchpatch, pkg-config, qtscript, qmake, libjack2
|
{ mkDerivation, lib, fetchFromGitHub, pkg-config, qtscript, qmake, libjack2
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "jamulus";
|
pname = "jamulus";
|
||||||
version = "3.6.2";
|
version = "3.7.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "corrados";
|
owner = "jamulussoftware";
|
||||||
repo = "jamulus";
|
repo = "jamulus";
|
||||||
rev = "r${lib.replaceStrings [ "." ] [ "_" ] version}";
|
rev = "r${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||||
sha256 = "sha256-b187Q8KXcU32C2hGFqs6R2CqWgmieq6ewQDx+elEgP4=";
|
sha256 = "sha256-8zCPT0jo4ExgmZWxGinumv3JauH4csM9DtuHmOiJQAM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config qmake ];
|
nativeBuildInputs = [ pkg-config qmake ];
|
||||||
|
@ -20,7 +20,7 @@ mkDerivation rec {
|
||||||
description = "Enables musicians to perform real-time jam sessions over the internet";
|
description = "Enables musicians to perform real-time jam sessions over the internet";
|
||||||
longDescription = "You also need to enable JACK and should enable several real-time optimizations. See project website for details";
|
longDescription = "You also need to enable JACK and should enable several real-time optimizations. See project website for details";
|
||||||
homepage = "https://github.com/corrados/jamulus/wiki";
|
homepage = "https://github.com/corrados/jamulus/wiki";
|
||||||
license = lib.licenses.gpl2; # linked in git repo, at least
|
license = lib.licenses.gpl2Plus;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = [ lib.maintainers.seb314 ];
|
maintainers = [ lib.maintainers.seb314 ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "new-session-manager";
|
pname = "new-session-manager";
|
||||||
version = "1.5.0";
|
version = "1.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxaudio";
|
owner = "linuxaudio";
|
||||||
repo = "new-session-manager";
|
repo = "new-session-manager";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-YP5AHoFP8P1o0Y2jAipRcNPxPRuM7COs5tBMm6Eojoc=";
|
sha256 = "sha256-hcw+Fn5s1S786eqmR95RmkFcIaRzWaH38YE9DXVQJU0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson pkg-config ninja ];
|
nativeBuildInputs = [ meson pkg-config ninja ];
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
, usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
|
, usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.5.5";
|
version = "0.5.6";
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
pname = "openmpt123";
|
pname = "openmpt123";
|
||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
|
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
|
||||||
sha256 = "sha256-8eAUg+vxpoDZ7AMMmvIPXypawPHgZCwYvVWTz6qc62s=";
|
sha256 = "sha256-F96ngrM0wUb0rNlIx8Mf/dKvyJnrNH6+Ab4WBup59Lg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
@ -45,13 +46,15 @@ let
|
||||||
];
|
];
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "pulseeffects";
|
pname = "pulseeffects";
|
||||||
version = "5.0.0";
|
# 5.0.3 crashes. Test carefully before updating.
|
||||||
|
# https://github.com/wwmm/pulseeffects/issues/927
|
||||||
|
version = "5.0.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wwmm";
|
owner = "wwmm";
|
||||||
repo = "pulseeffects";
|
repo = "pulseeffects";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1zs13bivxlgcb24lz1pgmgy2chcjxnmn4lz7g1n0ygiaaj4c30xj";
|
sha256 = "14ir25q6bws26im6qmj3k6hkfdh5pc6mbvln7wkdwy5dv0vix3cm";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -87,6 +90,15 @@ in stdenv.mkDerivation rec {
|
||||||
zita-convolver
|
zita-convolver
|
||||||
];
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
# Fix build failure.
|
||||||
|
# https://github.com/wwmm/pulseeffects/pull/934
|
||||||
|
url = "https://github.com/wwmm/pulseeffects/commit/ab7354a6850d23840b4c9af212dbebf4f31a562f.patch";
|
||||||
|
sha256 = "1hd05xn6sp0xs632mqgwk19hl40kh2f69mx5mgzahysrj057w22c";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
chmod +x meson_post_install.py
|
chmod +x meson_post_install.py
|
||||||
patchShebangs meson_post_install.py
|
patchShebangs meson_post_install.py
|
||||||
|
@ -104,6 +116,8 @@ in stdenv.mkDerivation rec {
|
||||||
BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
|
BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
|
||||||
BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
|
BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
|
||||||
|
|
||||||
|
separateDebugInfo = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications";
|
description = "Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications";
|
||||||
homepage = "https://github.com/wwmm/pulseeffects";
|
homepage = "https://github.com/wwmm/pulseeffects";
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{ mkDerivation, lib, fetchurl, pkg-config, qtbase, qttools, alsaLib, libjack2 }:
|
{ mkDerivation, lib, fetchurl, pkg-config, qtbase, qttools, alsaLib, libjack2 }:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
version = "0.6.3";
|
version = "0.9.1";
|
||||||
pname = "qmidinet";
|
pname = "qmidinet";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/qmidinet/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/qmidinet/${pname}-${version}.tar.gz";
|
||||||
sha256 = "04jbvnf6yp9l0bhl1ym6zqkmaz8c2az3flq7qgflaxzj3isns1p1";
|
sha256 = "sha256-cDgF5hbjy5DzGn4Rlmb76XzRa2wURVwPu2rQRKENxQU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qsynth";
|
pname = "qsynth";
|
||||||
version = "0.6.3";
|
version = "0.9.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0xiqmpzpxjvh32vivfj6h33w0ahmyfjzjb41b6fnf92bbg9k6mqv";
|
sha256 = "sha256-VNcI5QOVacHBcI6psEvhm7+cOTpwr2pMVXmk7nMXNiY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoconf pkg-config ];
|
nativeBuildInputs = [ autoconf pkg-config ];
|
||||||
|
|
|
@ -1,20 +1,49 @@
|
||||||
{ lib, stdenv, fetchFromGitHub , cmake, libjack2, libsndfile, pkg-config }:
|
{ lib, stdenv, fetchFromGitHub
|
||||||
|
, libjack2, libsndfile, xorg, freetype, libxkbcommon
|
||||||
|
, cairo, glib, gnome3, flac, libogg, libvorbis, libopus
|
||||||
|
, cmake, pkg-config
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sfizz";
|
pname = "sfizz";
|
||||||
version = "0.4.0";
|
version = "0.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sfztools";
|
owner = "sfztools";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0zpmvmh7n0064rxfqxb7z9rnz493k7yq7nl0vxppqnasg97jn5f3";
|
sha256 = "sha256-3RdY5+BPsdk6vctDy24w5aJsVOV9qzSgXs62Pm5UEKs=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libjack2
|
||||||
|
libsndfile
|
||||||
|
flac
|
||||||
|
libogg
|
||||||
|
libvorbis
|
||||||
|
libopus
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.libXau
|
||||||
|
xorg.libXdmcp
|
||||||
|
xorg.xcbutil
|
||||||
|
xorg.xcbutilcursor
|
||||||
|
xorg.xcbutilrenderutil
|
||||||
|
xorg.xcbutilkeysyms
|
||||||
|
xorg.xcbutilimage
|
||||||
|
libxkbcommon
|
||||||
|
cairo
|
||||||
|
glib
|
||||||
|
gnome3.zenity
|
||||||
|
freetype
|
||||||
|
];
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
|
||||||
buildInputs = [ libjack2 libsndfile ];
|
postPatch = ''
|
||||||
|
substituteInPlace editor/external/vstgui4/vstgui/lib/platform/linux/x11fileselector.cpp \
|
||||||
|
--replace '"/usr/bin/zenity' '"${gnome3.zenity}/bin/zenity'
|
||||||
|
'';
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DCMAKE_BUILD_TYPE=Release"
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ fetchurl, lib, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
|
{ fetchurl, lib, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype
|
||||||
, glib, pango, cairo, atk, gdk-pixbuf, gtk2, cups, nspr, nss, libpng, libnotify
|
, glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss, libpng, libnotify
|
||||||
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3
|
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3
|
||||||
, at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa
|
, at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -10,14 +10,14 @@ let
|
||||||
# If an update breaks things, one of those might have valuable info:
|
# If an update breaks things, one of those might have valuable info:
|
||||||
# https://aur.archlinux.org/packages/spotify/
|
# https://aur.archlinux.org/packages/spotify/
|
||||||
# https://community.spotify.com/t5/Desktop-Linux
|
# https://community.spotify.com/t5/Desktop-Linux
|
||||||
version = "1.1.46.916.g416cacf1";
|
version = "1.1.55.494.gca75f788";
|
||||||
# To get the latest stable revision:
|
# To get the latest stable revision:
|
||||||
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
|
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
|
||||||
# To get general information:
|
# To get general information:
|
||||||
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
|
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
|
||||||
# More examples of api usage:
|
# More examples of api usage:
|
||||||
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
|
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
|
||||||
rev = "43";
|
rev = "45";
|
||||||
|
|
||||||
deps = [
|
deps = [
|
||||||
alsaLib
|
alsaLib
|
||||||
|
@ -34,12 +34,13 @@ let
|
||||||
freetype
|
freetype
|
||||||
gdk-pixbuf
|
gdk-pixbuf
|
||||||
glib
|
glib
|
||||||
gtk2
|
gtk3
|
||||||
libdrm
|
libdrm
|
||||||
libgcrypt
|
libgcrypt
|
||||||
libnotify
|
libnotify
|
||||||
libpng
|
libpng
|
||||||
libpulseaudio
|
libpulseaudio
|
||||||
|
libxkbcommon
|
||||||
mesa
|
mesa
|
||||||
nss
|
nss
|
||||||
pango
|
pango
|
||||||
|
@ -78,11 +79,10 @@ stdenv.mkDerivation {
|
||||||
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
|
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
|
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
|
||||||
sha512 = "5b3d5d1f52a554c8e775b8aed16ef84e96bf3b61a2b53266e10d3c47e341899310af13cc8513b04424fc14532e36543a6fae677f80a036e3f51c75166d8d53d1";
|
sha512 = "5d61a2d5b26be651620ab5d18d3a204d8d7b09dcec8a733ddc176c44cb43e9176c4350933ebe4498b065ba219113f3226c13bea9659da738fe635f41d01db303";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper squashfsTools ];
|
||||||
buildInputs = [ squashfsTools ];
|
|
||||||
|
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
dontPatchELF = true;
|
dontPatchELF = true;
|
||||||
|
|
|
@ -19,20 +19,20 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pika-backup";
|
pname = "pika-backup";
|
||||||
version = "0.2.1";
|
version = "0.2.2";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "gitlab.gnome.org";
|
domain = "gitlab.gnome.org";
|
||||||
owner = "World";
|
owner = "World";
|
||||||
repo = "pika-backup";
|
repo = "pika-backup";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0fm6vwpw0pa98v2yn8p3818rrlv9lk3pmgnal1b2kh52im5ll7m8";
|
sha256 = "16284gv31wdwmb99056962d1gh6xz26ami6synr47nsbbp5l0s6k";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
inherit src;
|
inherit src;
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
sha256 = "1f5s6a0wjrs2spsicirhbvb5xlz9iflwsaqchij9k02hfcsr308y";
|
sha256 = "12ymjwpxx3sdna8w5j9fnwwfk8ynk9ziwl0lkpq68y0vyllln5an";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper,
|
{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper,
|
||||||
dotnetPackages, dotnetCorePackages, writeScript, bash
|
dotnetPackages, dotnetCorePackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -15,13 +15,13 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "btcpayserver";
|
pname = "btcpayserver";
|
||||||
version = "1.0.6.8";
|
version = "1.0.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1znmix9w7ahzyb933lxzqv6j8j5qycknq3gmnkakj749ksshql1b";
|
sha256 = "1pbq0kik29sx1lwlic7fvhnjhrpnlk94w53wmywqnlpgjscx8x8a";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
|
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
|
||||||
|
|
69
third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
generated
vendored
69
third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/deps.nix
generated
vendored
|
@ -19,6 +19,11 @@
|
||||||
version = "3.3.110.10";
|
version = "3.3.110.10";
|
||||||
sha256 = "1lf1hfbx792dpa1hxgn0a0jrrvldd16hgbxx229dk2qcz5qlnc38";
|
sha256 = "1lf1hfbx792dpa1hxgn0a0jrrvldd16hgbxx229dk2qcz5qlnc38";
|
||||||
})
|
})
|
||||||
|
(fetchNuGet {
|
||||||
|
name = "BIP78.Sender";
|
||||||
|
version = "0.2.0";
|
||||||
|
sha256 = "0gyynn15rc1x9p2703ffi4jnbpbd0k3wvg839xrk2skmaw8nxamf";
|
||||||
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Hwi";
|
name = "BTCPayServer.Hwi";
|
||||||
version = "1.1.3";
|
version = "1.1.3";
|
||||||
|
@ -26,38 +31,43 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.All";
|
name = "BTCPayServer.Lightning.All";
|
||||||
version = "1.2.4";
|
version = "1.2.7";
|
||||||
sha256 = "1f4wgs8ijk1wmppz5lmas7l6m83szz57jyk6ak0dxhccdld9rdaj";
|
sha256 = "0jzmzvlpf6iba2fsc6cyi69vlaim9slqm2sapknmd7drl3gcn2zj";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.Charge";
|
name = "BTCPayServer.Lightning.Charge";
|
||||||
version = "1.2.1";
|
version = "1.2.3";
|
||||||
sha256 = "0iv9frbr6xfxif3pnfd7c87y8mv31nqkdrnhvnaswrx43nv6s272";
|
sha256 = "1rdrwmijx0v4z0xsq4acyvdcj7hv6arfh3hwjy89rqnkkznrzgwv";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.CLightning";
|
name = "BTCPayServer.Lightning.CLightning";
|
||||||
version = "1.2.1";
|
version = "1.2.3";
|
||||||
sha256 = "14km69jzmnyqg19w27g6znml4z0xkm8l4j7rj0x36bw67cjmgahv";
|
sha256 = "02197rh03q8d0mv40zf67wp1rd2gbxi5l8krd2rzj84n267bcfvc";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.Common";
|
name = "BTCPayServer.Lightning.Common";
|
||||||
version = "1.2.0";
|
version = "1.2.0";
|
||||||
sha256 = "17di8ndkw8z0ci0zk15mcrqpmganwkz9ys2snr2rqpw5mrlhpwa0";
|
sha256 = "17di8ndkw8z0ci0zk15mcrqpmganwkz9ys2snr2rqpw5mrlhpwa0";
|
||||||
})
|
})
|
||||||
|
(fetchNuGet {
|
||||||
|
name = "BTCPayServer.Lightning.Common";
|
||||||
|
version = "1.2.2";
|
||||||
|
sha256 = "07xb7fsqvfjmcawxylriw60i73h0cvfb765aznhp9ffyrmjaql7z";
|
||||||
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.Eclair";
|
name = "BTCPayServer.Lightning.Eclair";
|
||||||
version = "1.2.0";
|
version = "1.2.2";
|
||||||
sha256 = "0w7nwsr0n2hrqak023xa294palsk3r96wlgw2ks8d3p5kxm8kskp";
|
sha256 = "03dymhwxb5s28kb187g5h4aysnz2xzml89p47nmwz9lkg2h4s73h";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.LND";
|
name = "BTCPayServer.Lightning.LND";
|
||||||
version = "1.2.1";
|
version = "1.2.4";
|
||||||
sha256 = "0ql4qyvz0rms6ls46pi3bgak3r6hj2c5ivnzahiq6cb84pbl61cr";
|
sha256 = "0qnj5rsp6hnybsr58zny9dfbsxksg1674q0z9944jwkzm7pcqyg4";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BTCPayServer.Lightning.Ptarmigan";
|
name = "BTCPayServer.Lightning.Ptarmigan";
|
||||||
version = "1.2.0";
|
version = "1.2.2";
|
||||||
sha256 = "1yd6nhlssb9k08p5491knlwwjij9324ildir99sa9cp24rlq5nis";
|
sha256 = "17yl85vqfp7l12bv3f3w1b861hm41i7cfhs78gaq04s4drvcnj6k";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "BuildBundlerMinifier";
|
name = "BuildBundlerMinifier";
|
||||||
|
@ -79,11 +89,6 @@
|
||||||
version = "15.0.5";
|
version = "15.0.5";
|
||||||
sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma";
|
sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
|
||||||
name = "DBriize";
|
|
||||||
version = "1.0.1.3";
|
|
||||||
sha256 = "0rsm68hwq2ky8i6mv3ckdjkj4vjygnkgk3disva0skl3apk833dc";
|
|
||||||
})
|
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "DigitalRuby.ExchangeSharp";
|
name = "DigitalRuby.ExchangeSharp";
|
||||||
version = "0.6.3";
|
version = "0.6.3";
|
||||||
|
@ -666,13 +671,8 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin.Altcoins";
|
name = "NBitcoin.Altcoins";
|
||||||
version = "2.0.21";
|
version = "2.0.28";
|
||||||
sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1";
|
sha256 = "1zfirfmhgigp733km9rqkgz560h5wg88bpba499x49h5j650cnn4";
|
||||||
})
|
|
||||||
(fetchNuGet {
|
|
||||||
name = "NBitcoin";
|
|
||||||
version = "5.0.33";
|
|
||||||
sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a";
|
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin";
|
name = "NBitcoin";
|
||||||
|
@ -686,13 +686,13 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin";
|
name = "NBitcoin";
|
||||||
version = "5.0.60";
|
version = "5.0.67";
|
||||||
sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v";
|
sha256 = "049marx1jwr7srlpqspimrqqgahh53gi2iyp7bpzn5npsbzh9v3h";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitcoin";
|
name = "NBitcoin";
|
||||||
version = "5.0.68";
|
version = "5.0.73";
|
||||||
sha256 = "0k275mbp9wannm10pqj4nv8agjc1f6hsrfhl0m6ax1apv81sfxcd";
|
sha256 = "0vqgcb0ws5fnkrdzqfkyh78041c6q4l22b93rr0006dd4bmqrmg1";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBitpayClient";
|
name = "NBitpayClient";
|
||||||
|
@ -701,8 +701,8 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NBXplorer.Client";
|
name = "NBXplorer.Client";
|
||||||
version = "3.0.19";
|
version = "3.0.20";
|
||||||
sha256 = "0nahfxdsryf5snjy87770m51v2jcry02lmb10ilsg4h2ig4pjdk4";
|
sha256 = "1mwa6ncmg5r6q7yn6skm9dgqm631c7r7nadcg9mvbw81113h0xxy";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "NETStandard.Library";
|
name = "NETStandard.Library";
|
||||||
|
@ -729,11 +729,6 @@
|
||||||
version = "10.0.3";
|
version = "10.0.3";
|
||||||
sha256 = "06vy67bkshclpz69kps4vgzc9h2cgg41c8vlqmdbwclfky7c4haq";
|
sha256 = "06vy67bkshclpz69kps4vgzc9h2cgg41c8vlqmdbwclfky7c4haq";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
|
||||||
name = "Newtonsoft.Json";
|
|
||||||
version = "11.0.1";
|
|
||||||
sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m";
|
|
||||||
})
|
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "Newtonsoft.Json";
|
name = "Newtonsoft.Json";
|
||||||
version = "11.0.2";
|
version = "11.0.2";
|
||||||
|
@ -921,8 +916,8 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "Selenium.WebDriver.ChromeDriver";
|
name = "Selenium.WebDriver.ChromeDriver";
|
||||||
version = "87.0.4280.8800";
|
version = "88.0.4324.9600";
|
||||||
sha256 = "1zrizydlhjv81r1fa5g8wzxrx1cxly3ip7pargj48hdx419iblfr";
|
sha256 = "0jm8dpfp329xsrg69lzq2m6x9yin1m43qgrhs15cz2qx9f02pdx9";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
name = "Selenium.WebDriver";
|
name = "Selenium.WebDriver";
|
||||||
|
|
44
third_party/nixpkgs/pkgs/applications/blockchains/lndmanage.nix
vendored
Normal file
44
third_party/nixpkgs/pkgs/applications/blockchains/lndmanage.nix
vendored
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{ lib, fetchFromGitHub, python3Packages }:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "lndmanage";
|
||||||
|
version = "0.11.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bitromortac";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "19sqf7cjslwpfzcdbyq182dx7gnn9hii77sahbnh88v69qxgwzvb";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
cycler
|
||||||
|
decorator
|
||||||
|
googleapis-common-protos
|
||||||
|
grpcio
|
||||||
|
grpcio-tools
|
||||||
|
kiwisolver
|
||||||
|
networkx
|
||||||
|
numpy
|
||||||
|
protobuf
|
||||||
|
pyparsing
|
||||||
|
python-dateutil
|
||||||
|
six
|
||||||
|
pygments
|
||||||
|
];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
substituteInPlace setup.py --replace '==' '>='
|
||||||
|
'';
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$(mktemp -d)
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Channel management tool for lightning network daemon (LND) operators";
|
||||||
|
homepage = "https://github.com/bitromortac/lndmanage";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ mmilata ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -12,16 +12,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "openethereum";
|
pname = "openethereum";
|
||||||
version = "3.1.1";
|
version = "3.2.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "openethereum";
|
owner = "openethereum";
|
||||||
repo = "openethereum";
|
repo = "openethereum";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-RUrJuJF0R0mc7XdLyk915fRWtMfzjp5QE6oeWxHfyEQ=";
|
sha256 = "sha256-+bzMo0s+wdp8T/YjPk6mrPSPid1G8WScB8FJhXdL9JQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-b+winsCzU0sXGDX6nUtWq4JrIyTcJ3uva7RlV5VsXfk=";
|
cargoSha256 = "sha256-ibjjJ5zGF6wbO24/RoYKsTYsMNXHb1EdekDwSICPc5g=";
|
||||||
|
|
||||||
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -24,11 +24,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wasabiwallet";
|
pname = "wasabiwallet";
|
||||||
version = "1.1.12.4";
|
version = "1.1.12.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
|
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
|
||||||
sha256 = "sha256-1yg0C1lJrLxQEs2GA+XEBUx/JAyc+aW0UWjLhSEy0RI=";
|
sha256 = "sha256-6KIsSsCAyZ6uYSbDBIKdtM4adGOttvJ78obCptcd57s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ mkDerivation, lib, fetchFromGitHub
|
{ mkDerivation, lib, fetchFromGitHub, fetchpatch
|
||||||
, cmake, extra-cmake-modules, pkg-config, libxcb, libpthreadstubs
|
, cmake, extra-cmake-modules, pkg-config, libxcb, libpthreadstubs
|
||||||
, libXdmcp, libXau, qtbase, qtdeclarative, qtquickcontrols2, qttools, pam, systemd
|
, libXdmcp, libXau, qtbase, qtdeclarative, qtquickcontrols2, qttools, pam, systemd
|
||||||
}:
|
}:
|
||||||
|
@ -19,6 +19,12 @@ in mkDerivation {
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./sddm-ignore-config-mtime.patch
|
./sddm-ignore-config-mtime.patch
|
||||||
|
# Load `/etc/profile` for `environment.variables` with zsh default shell.
|
||||||
|
# See: https://github.com/sddm/sddm/pull/1382
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/sddm/sddm/commit/e1dedeeab6de565e043f26ac16033e613c222ef9.patch";
|
||||||
|
sha256 = "sha256-OPyrUI3bbH+PGDBfoL4Ohb4wIvmy9TeYZhE0JxR/D58=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchurl, intltool, wrapGAppsHook, pkg-config , gtk, libxml2
|
{ lib, stdenv, fetchurl, intltool, wrapGAppsHook, pkg-config , gtk, libxml2
|
||||||
, enchant, gucharmap, python, gnome3
|
, enchant, gucharmap, python3, gnome3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ intltool pkg-config wrapGAppsHook ];
|
nativeBuildInputs = [ intltool pkg-config wrapGAppsHook ];
|
||||||
buildInputs = [ gnome3.adwaita-icon-theme gtk libxml2
|
buildInputs = [ gnome3.adwaita-icon-theme gtk libxml2
|
||||||
enchant gucharmap python ];
|
enchant gucharmap python3 ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A powerful editor targeted towards programmers and webdevelopers";
|
description = "A powerful editor targeted towards programmers and webdevelopers";
|
||||||
|
|
24
third_party/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-generated.nix
generated
vendored
24
third_party/nixpkgs/pkgs/applications/editors/emacs-modes/elpa-generated.nix
generated
vendored
|
@ -223,10 +223,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "auctex";
|
pname = "auctex";
|
||||||
ename = "auctex";
|
ename = "auctex";
|
||||||
version = "13.0.4";
|
version = "13.0.5";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/auctex-13.0.4.tar";
|
url = "https://elpa.gnu.org/packages/auctex-13.0.5.tar";
|
||||||
sha256 = "1362dqb8mcaddda9849gqsj6rzlfq18xprddb74j02884xl7hq65";
|
sha256 = "072wwsqfl8n2gi2inbp0s8k1ydr6fh1zyvc3rgynwzibjjniy319";
|
||||||
};
|
};
|
||||||
packageRequires = [ cl-lib emacs ];
|
packageRequires = [ cl-lib emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -2203,10 +2203,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "modus-operandi-theme";
|
pname = "modus-operandi-theme";
|
||||||
ename = "modus-operandi-theme";
|
ename = "modus-operandi-theme";
|
||||||
version = "0.13.1";
|
version = "0.13.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/modus-operandi-theme-0.13.1.tar";
|
url = "https://elpa.gnu.org/packages/modus-operandi-theme-0.13.2.tar";
|
||||||
sha256 = "08l9qmhvxiscxn4mfb80x57mk4gfm5r0fs2l9c8i3gfzd4i3h091";
|
sha256 = "1sw18ijp9rhaf8y8x8z5rmxy23pxd3gaicgmp2zndcfmm54gwsic";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs modus-themes ];
|
packageRequires = [ emacs modus-themes ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -2237,10 +2237,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "modus-vivendi-theme";
|
pname = "modus-vivendi-theme";
|
||||||
ename = "modus-vivendi-theme";
|
ename = "modus-vivendi-theme";
|
||||||
version = "0.13.1";
|
version = "0.13.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/modus-vivendi-theme-0.13.1.tar";
|
url = "https://elpa.gnu.org/packages/modus-vivendi-theme-0.13.2.tar";
|
||||||
sha256 = "0xz304zcc872c2zwnlm8ky0m18smf7bffiyj21ygghgclr7kgma1";
|
sha256 = "1qn3kzxwf81zc7gprd9wblhb8b8akdkxwajpgk036y8i4cmvmspn";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs modus-themes ];
|
packageRequires = [ emacs modus-themes ];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -3252,10 +3252,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "setup";
|
pname = "setup";
|
||||||
ename = "setup";
|
ename = "setup";
|
||||||
version = "0.1.1";
|
version = "0.1.2";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://elpa.gnu.org/packages/setup-0.1.1.tar";
|
url = "https://elpa.gnu.org/packages/setup-0.1.2.tar";
|
||||||
sha256 = "0z34m06lxw6xd6bxacm1h5cijamsksk4daf6fbzhd7kqmw3gbgqg";
|
sha256 = "1q29phch4fvmvc255kgvzsnzdqp6kaip7ybpxprd0kkdjs3jrsqv";
|
||||||
};
|
};
|
||||||
packageRequires = [ emacs ];
|
packageRequires = [ emacs ];
|
||||||
meta = {
|
meta = {
|
||||||
|
|
12
third_party/nixpkgs/pkgs/applications/editors/emacs-modes/org-generated.nix
generated
vendored
12
third_party/nixpkgs/pkgs/applications/editors/emacs-modes/org-generated.nix
generated
vendored
|
@ -4,10 +4,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "org";
|
pname = "org";
|
||||||
ename = "org";
|
ename = "org";
|
||||||
version = "20210315";
|
version = "20210322";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://orgmode.org/elpa/org-20210315.tar";
|
url = "https://orgmode.org/elpa/org-20210322.tar";
|
||||||
sha256 = "128agds82kfmvxshzrs61802vgwlf2dsm79hq9x2bljrnvf8p14l";
|
sha256 = "0iv54rhwa0972yr1wqzmlkggs5vc6qajz8mmyfhynp65ap088g6v";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -19,10 +19,10 @@
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "org-plus-contrib";
|
pname = "org-plus-contrib";
|
||||||
ename = "org-plus-contrib";
|
ename = "org-plus-contrib";
|
||||||
version = "20210315";
|
version = "20210322";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210315.tar";
|
url = "https://orgmode.org/elpa/org-plus-contrib-20210322.tar";
|
||||||
sha256 = "0dih4690pbbnwlphjnv1kgvsw43pkcgk41xjjiphy9sf7w9gr11j";
|
sha256 = "0riswc3ira8hsawm37yypji55z47bw2477kaw3qx7ghz3n62r9nf";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "ghostwriter";
|
pname = "ghostwriter";
|
||||||
version = "2.0.0-rc4";
|
version = "2.0.0-rc5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wereturtle";
|
owner = "wereturtle";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "07547503a209hc0fcg902w3x0s1m899c10nj3gqz3hak0cmrasi3";
|
sha256 = "sha256-Gc0/AHxxJd5Cq3dBQ0Xy2TF78CBmQFYUzm4s7q1aHEE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake pkg-config qttools ];
|
nativeBuildInputs = [ qmake pkg-config qttools ];
|
||||||
|
|
|
@ -29,24 +29,24 @@ let
|
||||||
|
|
||||||
connect-kak = buildKakounePluginFrom2Nix {
|
connect-kak = buildKakounePluginFrom2Nix {
|
||||||
pname = "connect-kak";
|
pname = "connect-kak";
|
||||||
version = "2021-02-13";
|
version = "2021-02-24";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alexherbo2";
|
owner = "kakounedotcom";
|
||||||
repo = "connect.kak";
|
repo = "connect.kak";
|
||||||
rev = "0858c0e50c6ca6d214fb088f052385a242548e83";
|
rev = "a536605a208149eed58986bda54f3dda215dfe61";
|
||||||
sha256 = "1w4pwybg3v916hcyc49gz0blygv54ivv81x8fxp44ck0sy98idr3";
|
sha256 = "1svw64zk28sn271vjyzvq21zaln13vnx59rxnxah6adq8n5nkr4a";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/alexherbo2/connect.kak/";
|
meta.homepage = "https://github.com/kakounedotcom/connect.kak/";
|
||||||
};
|
};
|
||||||
|
|
||||||
fzf-kak = buildKakounePluginFrom2Nix {
|
fzf-kak = buildKakounePluginFrom2Nix {
|
||||||
pname = "fzf-kak";
|
pname = "fzf-kak";
|
||||||
version = "2021-01-27";
|
version = "2021-03-15";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "andreyorst";
|
owner = "andreyorst";
|
||||||
repo = "fzf.kak";
|
repo = "fzf.kak";
|
||||||
rev = "e10de405e2a98e910d0808059200d206ba80f865";
|
rev = "4e6c9a857511fccdbbc835a1c9acb205b6486a4c";
|
||||||
sha256 = "1hbsm1k8k0cgv7gxqicvnl22n2lb1plhkanniggk694gll22lq68";
|
sha256 = "0syhhdlsm7vg6hcd2n2acag9g562z49rbb5smh5p2gnplhmp93i0";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/andreyorst/fzf.kak/";
|
meta.homepage = "https://github.com/andreyorst/fzf.kak/";
|
||||||
};
|
};
|
||||||
|
@ -149,26 +149,26 @@ let
|
||||||
|
|
||||||
powerline-kak = buildKakounePluginFrom2Nix {
|
powerline-kak = buildKakounePluginFrom2Nix {
|
||||||
pname = "powerline-kak";
|
pname = "powerline-kak";
|
||||||
version = "2021-02-15";
|
version = "2021-02-25";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jdugan6240";
|
owner = "andreyorst";
|
||||||
repo = "powerline.kak";
|
repo = "powerline.kak";
|
||||||
rev = "322a760daa099d519ff50d14c29b27f3e2af00d1";
|
rev = "64ad98b6c85e63345563671b043960464d51c4b0";
|
||||||
sha256 = "0mb8f8p6g75p05ifp45i0gbq2mib8c8giz7r1xfd0yrwspp4aksc";
|
sha256 = "09w2sk19qi64hgsyg4gb407vyppnlgk272mqbinz2r3apy6szkl3";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/jdugan6240/powerline.kak/";
|
meta.homepage = "https://github.com/andreyorst/powerline.kak/";
|
||||||
};
|
};
|
||||||
|
|
||||||
prelude-kak = buildKakounePluginFrom2Nix {
|
prelude-kak = buildKakounePluginFrom2Nix {
|
||||||
pname = "prelude-kak";
|
pname = "prelude-kak";
|
||||||
version = "2020-09-06";
|
version = "2021-02-24";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alexherbo2";
|
owner = "kakounedotcom";
|
||||||
repo = "prelude.kak";
|
repo = "prelude.kak";
|
||||||
rev = "f1e0f4d5cb62a36924e3f8ba6824d6aed8c19d23";
|
rev = "5dbdc020c546032885c1fdb463e366cc89fc15ad";
|
||||||
sha256 = "1pncr8azqvl2z9yvzhc68p1s9fld8cvak8yz88zgrp5ypx2cxl8c";
|
sha256 = "1pncr8azqvl2z9yvzhc68p1s9fld8cvak8yz88zgrp5ypx2cxl8c";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/alexherbo2/prelude.kak/";
|
meta.homepage = "https://github.com/kakounedotcom/prelude.kak/";
|
||||||
};
|
};
|
||||||
|
|
||||||
replace-mode-kak = buildKakounePluginFrom2Nix {
|
replace-mode-kak = buildKakounePluginFrom2Nix {
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
alexherbo2/auto-pairs.kak
|
alexherbo2/auto-pairs.kak
|
||||||
alexherbo2/connect.kak
|
|
||||||
alexherbo2/prelude.kak
|
|
||||||
alexherbo2/replace-mode.kak
|
alexherbo2/replace-mode.kak
|
||||||
alexherbo2/sleuth.kak
|
alexherbo2/sleuth.kak
|
||||||
andreyorst/fzf.kak
|
andreyorst/fzf.kak
|
||||||
|
andreyorst/powerline.kak
|
||||||
danr/kakoune-easymotion
|
danr/kakoune-easymotion
|
||||||
Delapouite/kakoune-buffers
|
Delapouite/kakoune-buffers
|
||||||
Delapouite/kakoune-registers
|
Delapouite/kakoune-registers
|
||||||
enricozb/tabs.kak@main
|
enricozb/tabs.kak@main
|
||||||
greenfork/active-window.kak
|
greenfork/active-window.kak
|
||||||
jdugan6240/powerline.kak
|
|
||||||
kakoune-editor/kakoune-extra-filetypes
|
kakoune-editor/kakoune-extra-filetypes
|
||||||
|
kakounedotcom/connect.kak
|
||||||
|
kakounedotcom/prelude.kak
|
||||||
listentolist/kakoune-rainbow
|
listentolist/kakoune-rainbow
|
||||||
mayjs/openscad.kak
|
mayjs/openscad.kak
|
||||||
occivink/kakoune-buffer-switcher
|
occivink/kakoune-buffer-switcher
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
|
{ lib, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
|
||||||
, msgpack, neovim, pythonPackages, qtbase }:
|
, msgpack, neovim, pythonPackages, qtbase }:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
{ lib, stdenv, fetchhg, fetchFromGitHub, fetchurl, gtk2, glib, pkg-config, unzip, ncurses, zip }:
|
{ lib, stdenv, fetchFromGitHub, fetchurl, gtk2, glib, pkg-config, unzip, ncurses, zip }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "11.0_beta";
|
version = "11.1";
|
||||||
pname = "textadept11";
|
pname = "textadept11";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config unzip ];
|
nativeBuildInputs = [ pkg-config unzip zip ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gtk2 ncurses glib zip
|
gtk2 ncurses glib
|
||||||
];
|
];
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
name = "textadept11";
|
name = "textadept11";
|
||||||
owner = "orbitalquark";
|
owner = "orbitalquark";
|
||||||
repo = "textadept";
|
repo = "textadept";
|
||||||
rev = "8da5f6b4a13f14b9dd3cb9dc23ad4f7bf41e91c1";
|
rev = "1df99d561dd2055a01efa9183bb9e1b2ad43babc";
|
||||||
sha256 = "0v11v3x8g6v696m3l1bm52zy2g9xzz7hlmn912sn30nhcag3raxs";
|
sha256 = "0g4bh5dp391vi32aa796vszpbxyl2dm5231v9dwc8l9v0b2786qn";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure =
|
preConfigure =
|
||||||
|
@ -40,7 +40,9 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"PREFIX=$(out) WGET=true PIXMAPS_DIR=$(out)/share/pixmaps"
|
"PREFIX=$(out)"
|
||||||
|
"WGET=true"
|
||||||
|
"PIXMAPS_DIR=$(out)/share/pixmaps"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
24
third_party/nixpkgs/pkgs/applications/editors/textadept/11/deps.nix
generated
vendored
24
third_party/nixpkgs/pkgs/applications/editors/textadept/11/deps.nix
generated
vendored
|
@ -3,13 +3,13 @@
|
||||||
url = "https://www.scintilla.org/scintilla445.tgz";
|
url = "https://www.scintilla.org/scintilla445.tgz";
|
||||||
sha256 = "1v1kyxj7rv5rxadbg8gl8wh1jafpy7zj0wr6dcyxq9209dl6h8ag";
|
sha256 = "1v1kyxj7rv5rxadbg8gl8wh1jafpy7zj0wr6dcyxq9209dl6h8ag";
|
||||||
};
|
};
|
||||||
"9e2ffa159299899c9345aea15c17ba1941953871.zip" = {
|
"6a774158d8a3c7bc7ea120bc01cdb016fa351a7e.zip" = {
|
||||||
url = "https://github.com/orbitalquark/scinterm/archive/9e2ffa159299899c9345aea15c17ba1941953871.zip";
|
url = "https://github.com/orbitalquark/scinterm/archive/6a774158d8a3c7bc7ea120bc01cdb016fa351a7e.zip";
|
||||||
sha256 = "12h7prgp689w45p4scxd8vvsyw8fkv27g6gvgis55xr44daa6122";
|
sha256 = "083xvpw14dxbyrv4i48q76bmr44hs637qv363n6ibfs8xv1kq7iv";
|
||||||
};
|
};
|
||||||
"scintillua_4.4.5-1.zip" = {
|
"scintillua_4.4.5-2.zip" = {
|
||||||
url = "https://github.com/orbitalquark/scintillua/archive/scintillua_4.4.5-1.zip";
|
url = "https://github.com/orbitalquark/scintillua/archive/scintillua_4.4.5-2.zip";
|
||||||
sha256 = "095wpbid2kvr5xgkhd5bd4sd7ljgk6gd9palrjkmdcwfgsf1lp04";
|
sha256 = "1061y2gg78zb2mml8msyarxgdwbf7g8g2v08fr1qqsqi2pbb7mfc";
|
||||||
};
|
};
|
||||||
"lua-5.3.5.tar.gz" = {
|
"lua-5.3.5.tar.gz" = {
|
||||||
url = "http://www.lua.org/ftp/lua-5.3.5.tar.gz";
|
url = "http://www.lua.org/ftp/lua-5.3.5.tar.gz";
|
||||||
|
@ -19,17 +19,17 @@
|
||||||
url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
|
url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz";
|
||||||
sha256 = "1zjzl7acvcdavmcg5l7wi12jd4rh95q9pl5aiww7hv0v0mv6bmj8";
|
sha256 = "1zjzl7acvcdavmcg5l7wi12jd4rh95q9pl5aiww7hv0v0mv6bmj8";
|
||||||
};
|
};
|
||||||
"v1_7_0_2.zip" = {
|
"v1_8_0.zip" = {
|
||||||
url = "https://github.com/keplerproject/luafilesystem/archive/v1_7_0_2.zip";
|
url = "https://github.com/keplerproject/luafilesystem/archive/v1_8_0.zip";
|
||||||
sha256 = "0y44ymc7higz5dd2w3c6ib7mwmpr6yvszcl7lm12nf8x3y4snx4i";
|
sha256 = "12p1p5qpdql44y3cc035h8rs8rgdqp6nrnrixlp5544agb5bx9p3";
|
||||||
};
|
};
|
||||||
"64587546482a1a6324706d75c80b77d2f87118a4.zip" = {
|
"64587546482a1a6324706d75c80b77d2f87118a4.zip" = {
|
||||||
url = "https://github.com/orbitalquark/gtdialog/archive/64587546482a1a6324706d75c80b77d2f87118a4.zip";
|
url = "https://github.com/orbitalquark/gtdialog/archive/64587546482a1a6324706d75c80b77d2f87118a4.zip";
|
||||||
sha256 = "10mglbnn8r1cakqn9h285pwfnh7kfa98v7j8qh83c24n66blyfh9";
|
sha256 = "10mglbnn8r1cakqn9h285pwfnh7kfa98v7j8qh83c24n66blyfh9";
|
||||||
};
|
};
|
||||||
"cdk-5.0-20150928.tgz" = {
|
"cdk-5.0-20200923.tgz" = {
|
||||||
url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20150928.tgz";
|
url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20200923.tgz";
|
||||||
sha256 = "0j74l874y33i26y5kjg3pf1vswyjif8k93pqhi0iqykpbxfsg382";
|
sha256 = "1vdakz119a13d7p7w53hk56fdmbkhv6y9xvdapcfnbnbh3l5szq0";
|
||||||
};
|
};
|
||||||
"libtermkey-0.20.tar.gz" = {
|
"libtermkey-0.20.tar.gz" = {
|
||||||
url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.20.tar.gz";
|
url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.20.tar.gz";
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "tiled";
|
pname = "tiled";
|
||||||
version = "1.4.3";
|
version = "1.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bjorn";
|
owner = "bjorn";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0n8p7bp5pqq72c65av3v7wbazwphh78pw27nqvpiyp9y8k5w4pg0";
|
sha256 = "sha256-Pf9nA5DUAJ+PPNG+oP7RO4/TD8fy4ADsyq625a6cbFk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config qmake ];
|
nativeBuildInputs = [ pkg-config qmake ];
|
||||||
|
|
|
@ -75,7 +75,6 @@ in stdenv.mkDerivation rec {
|
||||||
patches = [ ./cflags-prune.diff ] ++ lib.optional ftNixSupport ./ft-nix-support.patch;
|
patches = [ ./cflags-prune.diff ] ++ lib.optional ftNixSupport ./ft-nix-support.patch;
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--enable-gui=${guiSupport}"
|
|
||||||
"--with-features=${features}"
|
"--with-features=${features}"
|
||||||
"--disable-xsmp" # XSMP session management
|
"--disable-xsmp" # XSMP session management
|
||||||
"--disable-xsmp_interact" # XSMP interaction
|
"--disable-xsmp_interact" # XSMP interaction
|
||||||
|
@ -95,6 +94,7 @@ in stdenv.mkDerivation rec {
|
||||||
"--disable-carbon_check"
|
"--disable-carbon_check"
|
||||||
"--disable-gtktest"
|
"--disable-gtktest"
|
||||||
]
|
]
|
||||||
|
++ lib.optional (guiSupport == "gtk2" || guiSupport == "gtk3") "--enable-gui=${guiSupport}"
|
||||||
++ lib.optional stdenv.isDarwin
|
++ lib.optional stdenv.isDarwin
|
||||||
(if darwinSupport then "--enable-darwin" else "--disable-darwin")
|
(if darwinSupport then "--enable-darwin" else "--disable-darwin")
|
||||||
++ lib.optionals luaSupport [
|
++ lib.optionals luaSupport [
|
||||||
|
@ -127,8 +127,22 @@ in stdenv.mkDerivation rec {
|
||||||
++ lib.optional (guiSupport == "gtk3") wrapGAppsHook
|
++ lib.optional (guiSupport == "gtk3") wrapGAppsHook
|
||||||
;
|
;
|
||||||
|
|
||||||
buildInputs = [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau
|
buildInputs = [
|
||||||
libXmu glib libICE ]
|
ncurses
|
||||||
|
glib
|
||||||
|
]
|
||||||
|
# All X related dependencies
|
||||||
|
++ lib.optionals (guiSupport == "gtk2" || guiSupport == "gtk3") [
|
||||||
|
libSM
|
||||||
|
libICE
|
||||||
|
libX11
|
||||||
|
libXext
|
||||||
|
libXpm
|
||||||
|
libXt
|
||||||
|
libXaw
|
||||||
|
libXau
|
||||||
|
libXmu
|
||||||
|
]
|
||||||
++ lib.optional (guiSupport == "gtk2") gtk2-x11
|
++ lib.optional (guiSupport == "gtk2") gtk2-x11
|
||||||
++ lib.optional (guiSupport == "gtk3") gtk3-x11
|
++ lib.optional (guiSupport == "gtk3") gtk3-x11
|
||||||
++ lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ]
|
++ lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc ]
|
||||||
|
|
|
@ -19,18 +19,18 @@ fi
|
||||||
VSCODE_VER=$(curl --fail --silent https://api.github.com/repos/Microsoft/vscode/releases/latest | jq --raw-output .tag_name)
|
VSCODE_VER=$(curl --fail --silent https://api.github.com/repos/Microsoft/vscode/releases/latest | jq --raw-output .tag_name)
|
||||||
sed -i "s/version = \".*\"/version = \"${VSCODE_VER}\"/" "$ROOT/vscode.nix"
|
sed -i "s/version = \".*\"/version = \"${VSCODE_VER}\"/" "$ROOT/vscode.nix"
|
||||||
|
|
||||||
VSCODE_LINUX_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-x64/stable"
|
VSCODE_LINUX_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-x64/stable"
|
||||||
VSCODE_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_URL})
|
VSCODE_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_URL})
|
||||||
sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_LINUX_SHA256}\"/" "$ROOT/vscode.nix"
|
sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_LINUX_SHA256}\"/" "$ROOT/vscode.nix"
|
||||||
|
|
||||||
VSCODE_DARWIN_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/darwin/stable"
|
VSCODE_DARWIN_URL="https://update.code.visualstudio.com/${VSCODE_VER}/darwin/stable"
|
||||||
VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL})
|
VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL})
|
||||||
sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
|
sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
|
||||||
|
|
||||||
VSCODE_LINUX_AARCH64_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-arm64/stable"
|
VSCODE_LINUX_AARCH64_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-arm64/stable"
|
||||||
VSCODE_LINUX_AARCH64_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_AARCH64_URL})
|
VSCODE_LINUX_AARCH64_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_AARCH64_URL})
|
||||||
sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODE_LINUX_AARCH64_SHA256}\"/" "$ROOT/vscode.nix"
|
sed -i "s/aarch64-linux = \".\{52\}\"/aarch64-linux = \"${VSCODE_LINUX_AARCH64_SHA256}\"/" "$ROOT/vscode.nix"
|
||||||
|
|
||||||
VSCODE_LINUX_ARMV7L_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-armhf/stable"
|
VSCODE_LINUX_ARMV7L_URL="https://update.code.visualstudio.com/${VSCODE_VER}/linux-armhf/stable"
|
||||||
VSCODE_LINUX_ARMV7L_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_ARMV7L_URL})
|
VSCODE_LINUX_ARMV7L_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_ARMV7L_URL})
|
||||||
sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODE_LINUX_ARMV7L_SHA256}\"/" "$ROOT/vscode.nix"
|
sed -i "s/armv7l-linux = \".\{52\}\"/armv7l-linux = \"${VSCODE_LINUX_ARMV7L_SHA256}\"/" "$ROOT/vscode.nix"
|
||||||
|
|
|
@ -13,10 +13,10 @@ let
|
||||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "1px6x99cv8nb8lcy3vgcicr4ar0bfj5rfnc5a1yw8rs5p1qnflgw";
|
x86_64-linux = "0fpa3b807hy3wrb98h5s0p6ljya279bikv2qwq30nvr0f4zn48bk";
|
||||||
x86_64-darwin = "0grzivqb2fyvwh0fjh9vr205fjcsrd1iqhkwk3mgv792zfrb7ksf";
|
x86_64-darwin = "0bw7pdzn0a0zr7x8fpwck7v73dq5vh71ja00z11mhjrkjnvmmd9k";
|
||||||
aarch64-linux = "0p0msxgc13kqmpq7wk61igc1qbgmgg9463s44dp4ii3630iyr4lw";
|
aarch64-linux = "04wrqcmyamhwiwcyay1z0q0dvf6g7k3pcs93x7hahy16l65w7s2c";
|
||||||
armv7l-linux = "147lki1wr5nzsg1mq12jmdjq9qr6vbdpmzbpr5nrvq23cak94ff8";
|
armv7l-linux = "1hkc9i4z021jwjn275w790bppfvi63g0cnwvkssqdh1c94939rhv";
|
||||||
}.${system};
|
}.${system};
|
||||||
in
|
in
|
||||||
callPackage ./generic.nix rec {
|
callPackage ./generic.nix rec {
|
||||||
|
@ -25,7 +25,7 @@ in
|
||||||
|
|
||||||
# Please backport all compatible updates to the stable release.
|
# Please backport all compatible updates to the stable release.
|
||||||
# This is important for the extension ecosystem.
|
# This is important for the extension ecosystem.
|
||||||
version = "1.54.2";
|
version = "1.54.3";
|
||||||
pname = "vscode";
|
pname = "vscode";
|
||||||
|
|
||||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||||
|
@ -34,7 +34,7 @@ in
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
name = "VSCode_${version}_${plat}.${archive_fmt}";
|
name = "VSCode_${version}_${plat}.${archive_fmt}";
|
||||||
url = "https://vscode-update.azurewebsites.net/${version}/${plat}/stable";
|
url = "https://update.code.visualstudio.com/${version}/${plat}/stable";
|
||||||
inherit sha256;
|
inherit sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,39 @@
|
||||||
{ fetchurl, lib, stdenv, glib, libgee, pkg-config, ncurses, boehmgc, perl, help2man, vala }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchurl
|
||||||
|
, boehmgc
|
||||||
|
, glib
|
||||||
|
, help2man
|
||||||
|
, libgee
|
||||||
|
, ncurses
|
||||||
|
, perl
|
||||||
|
, pkg-config
|
||||||
|
, vala
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "zile-2.6.0.90";
|
pname = "zile";
|
||||||
|
version = "2.6.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/zile/${name}.tar.gz";
|
url = "mirror://gnu/zile/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1bhdwnasmqhy0hi3fqmpzr8xkw5zlqjpmf1cj42h4cg3fnamp6r3";
|
hash = "sha256-v7rN33aOORc6J0Z5JP5AmZCj6XvjYyoCl5hl+7mvAnc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ glib libgee ncurses boehmgc vala ];
|
buildInputs = [
|
||||||
nativeBuildInputs = [ perl pkg-config ]
|
boehmgc
|
||||||
|
glib
|
||||||
|
libgee
|
||||||
|
ncurses
|
||||||
|
];
|
||||||
|
nativeBuildInputs = [
|
||||||
|
perl
|
||||||
|
pkg-config
|
||||||
|
vala
|
||||||
|
]
|
||||||
# `help2man' wants to run Zile, which won't work when the
|
# `help2man' wants to run Zile, which won't work when the
|
||||||
# newly-produced binary can't be run at build-time.
|
# newly-produced binary can't be run at build-time.
|
||||||
++ lib.optional
|
++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) help2man;
|
||||||
(stdenv.hostPlatform == stdenv.buildPlatform)
|
|
||||||
help2man;
|
|
||||||
|
|
||||||
# Tests can't be run because most of them rely on the ability to
|
# Tests can't be run because most of them rely on the ability to
|
||||||
# fiddle with the terminal.
|
# fiddle with the terminal.
|
||||||
|
@ -24,33 +43,38 @@ stdenv.mkDerivation rec {
|
||||||
gl_cv_func_fstatat_zero_flag="yes";
|
gl_cv_func_fstatat_zero_flag="yes";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Lightweight Emacs clone";
|
|
||||||
|
|
||||||
longDescription = ''
|
|
||||||
GNU Zile, which is a lightweight Emacs clone. Zile is short
|
|
||||||
for Zile Is Lossy Emacs. Zile has been written to be as
|
|
||||||
similar as possible to Emacs; every Emacs user should feel at
|
|
||||||
home.
|
|
||||||
|
|
||||||
Zile has all of Emacs's basic editing features: it is 8-bit
|
|
||||||
clean (though it currently lacks Unicode support), and the
|
|
||||||
number of editing buffers and windows is only limited by
|
|
||||||
available memory and screen space respectively. Registers,
|
|
||||||
minibuffer completion and auto fill are available. Function
|
|
||||||
and variable names are identical with Emacs's (except those
|
|
||||||
containing the word "emacs", which instead contain the word
|
|
||||||
"zile"!).
|
|
||||||
|
|
||||||
However, all of this is packed into a program which typically
|
|
||||||
compiles to about 130Kb.
|
|
||||||
'';
|
|
||||||
|
|
||||||
homepage = "https://www.gnu.org/software/zile/";
|
homepage = "https://www.gnu.org/software/zile/";
|
||||||
|
description = "Zile Implements Lua Editors";
|
||||||
|
longDescription = ''
|
||||||
|
GNU Zile is a text editor development kit, so that you can (relatively)
|
||||||
|
quickly develop your own ideal text editor without reinventing the wheel
|
||||||
|
for many of the common algorithms and data-structures needed to do so.
|
||||||
|
|
||||||
|
It comes with an example implementation of a lightweight Emacs clone,
|
||||||
|
called Zemacs. Every Emacs user should feel at home with Zemacs. Zemacs is
|
||||||
|
aimed at small footprint systems and quick editing sessions (it starts up
|
||||||
|
and shuts down instantly).
|
||||||
|
|
||||||
|
More editors implemented over the Zile frameworks are forthcoming as the
|
||||||
|
data-structures and interfaces improve: Zz an emacs inspired editor using
|
||||||
|
Lua as an extension language; Zee a minimalist non-modal editor; Zi a
|
||||||
|
lightweight vi clone; and more...
|
||||||
|
|
||||||
|
Zile is a collection of algorithms and data-structures that currently
|
||||||
|
support all basic Emacs-like editing features: it is 8-bit clean (though
|
||||||
|
Unicode support is not ready yet), and the number of editing buffers and
|
||||||
|
windows is only limited by available memoryand screen space
|
||||||
|
respectively. Registers, minibuffer completion and auto fill are
|
||||||
|
available.
|
||||||
|
|
||||||
|
Zemacs implements a subset of Emacs with identical function and variable
|
||||||
|
names, continuing the spirit of the earlier Zile editor implemented in C.
|
||||||
|
GNU Zile, which is a lightweight Emacs clone. Zile is short for Zile Is
|
||||||
|
Lossy Emacs. Zile has been written to be as similar as possible to Emacs;
|
||||||
|
every Emacs user should feel at home.
|
||||||
|
'';
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ pSub AndersonTorres ];
|
||||||
maintainers = with maintainers; [ pSub ];
|
|
||||||
|
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, mkDerivation
|
, mkDerivation
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
, substituteAll
|
, substituteAll
|
||||||
, gdal
|
, gdal
|
||||||
, cmake
|
, cmake
|
||||||
|
@ -19,7 +20,7 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "OpenOrienteering-Mapper";
|
pname = "OpenOrienteering-Mapper";
|
||||||
version = "0.9.4";
|
version = "0.9.5";
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gdal
|
gdal
|
||||||
|
@ -38,14 +39,21 @@ mkDerivation rec {
|
||||||
owner = "OpenOrienteering";
|
owner = "OpenOrienteering";
|
||||||
repo = "mapper";
|
repo = "mapper";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "13k9dirqm74lknhr8w121zr1hjd9gm1y73cj4rrj98rx44dzmk7b";
|
sha256 = "1w8ikqpgi0ksrzjal5ihfaik4grc5v3gdnnv79j20xkr2p4yn1h5";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = (substituteAll {
|
patches = [
|
||||||
# See https://github.com/NixOS/nixpkgs/issues/86054
|
# https://github.com/NixOS/nixpkgs/issues/86054
|
||||||
|
(substituteAll {
|
||||||
src = ./fix-qttranslations-path.diff;
|
src = ./fix-qttranslations-path.diff;
|
||||||
inherit qttranslations;
|
inherit qttranslations;
|
||||||
});
|
})
|
||||||
|
# https://github.com/OpenOrienteering/mapper/pull/1907
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/OpenOrienteering/mapper/commit/bc52aa567e90a58d6963b44d5ae1909f3f841508.patch";
|
||||||
|
sha256 = "1bkckapzccn6k0ri6bgrr0nhis9498fnwj7b32s2ysym8zcg0355";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
# Building the manual and bundling licenses fails
|
# Building the manual and bundling licenses fails
|
||||||
|
@ -81,7 +89,8 @@ mkDerivation rec {
|
||||||
and provides a free alternative to the existing proprietary solution.
|
and provides a free alternative to the existing proprietary solution.
|
||||||
'';
|
'';
|
||||||
homepage = "https://www.openorienteering.org/apps/mapper/";
|
homepage = "https://www.openorienteering.org/apps/mapper/";
|
||||||
license = licenses.gpl3;
|
changelog = "https://github.com/OpenOrienteering/mapper/releases/tag/v${version}";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
platforms = with platforms; linux ++ darwin;
|
platforms = with platforms; linux ++ darwin;
|
||||||
maintainers = with maintainers; [ mpickering sikmir ];
|
maintainers = with maintainers; [ mpickering sikmir ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkg-config, perlPackages,
|
{ lib, stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkg-config, perlPackages,
|
||||||
libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl,
|
libxml2, gettext, python2, libxml2Python, docbook5, docbook_xsl,
|
||||||
libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui,
|
libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui,
|
||||||
gtk-mac-integration-gtk2 }:
|
gtk-mac-integration-gtk2 }:
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation {
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ gtk2 libxml2 gettext python libxml2Python docbook5
|
[ gtk2 libxml2 gettext python2 libxml2Python docbook5
|
||||||
libxslt docbook_xsl libart_lgpl ]
|
libxslt docbook_xsl libart_lgpl ]
|
||||||
++ lib.optional withGNOME libgnomeui
|
++ lib.optional withGNOME libgnomeui
|
||||||
++ lib.optional stdenv.isDarwin gtk-mac-integration-gtk2;
|
++ lib.optional stdenv.isDarwin gtk-mac-integration-gtk2;
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "lightburn";
|
pname = "lightburn";
|
||||||
version = "0.9.21";
|
version = "0.9.22";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
p7zip
|
p7zip
|
||||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
|
url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
|
||||||
sha256 = "sha256-Tnv+vfKOdDWIU36T9ZqwdTwuMd2AOGyKBY0IkPfrZlc=";
|
sha256 = "sha256-DOiO36suytukkviqYyLL47DFVzsJt2ZfSnnni95CLaA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, stdenv
|
{ lib
|
||||||
|
, stdenv
|
||||||
, fetchFromGitLab
|
, fetchFromGitLab
|
||||||
, fetchpatch
|
|
||||||
, writeText
|
, writeText
|
||||||
, cmake
|
, cmake
|
||||||
, doxygen
|
, doxygen
|
||||||
|
@ -44,24 +44,16 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "monado";
|
pname = "monado";
|
||||||
version = "0.4.1";
|
version = "21.0.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "gitlab.freedesktop.org";
|
domain = "gitlab.freedesktop.org";
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "114aif79dqyn2qg07mkv6lzmqn15k6fdcii818rdf5g4bp7zzzgm";
|
sha256 = "07zxs96i3prjqww1f68496cl2xxqaidx32lpfyy0pn5am4c297zc";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# fix libsurvive autodetection, drop with the next version update
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://gitlab.freedesktop.org/monado/monado/-/commit/345e9eab56e2de9e8b07cf72c2a67cf2ebd01e62.patch";
|
|
||||||
sha256 = "17c110an6sxc8rn7dfz30rfkbayg64w68licicwc8cqabi6cgrm3";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
doxygen
|
doxygen
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "photoflare";
|
pname = "photoflare";
|
||||||
version = "1.6.7";
|
version = "1.6.7.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "PhotoFlare";
|
owner = "PhotoFlare";
|
||||||
repo = "photoflare";
|
repo = "photoflare";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-Gx3YP29NrNHp0p05a1O4Xb9kqkA6pQLTJZ3/wOx+BWY=";
|
sha256 = "sha256-7b7ICcHuMjOMtyQDkokoHeZrF4G+bOzgRJP4mkns+Zc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake qttools ];
|
nativeBuildInputs = [ qmake qttools ];
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "yEd";
|
pname = "yEd";
|
||||||
version = "3.20.1";
|
version = "3.21.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip";
|
url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip";
|
||||||
sha256 = "0sd73s700f3gqq5zq1psrqjg6ff2gv49f8vd37v6bv65vdxqxryq";
|
sha256 = "1jw28hkd7p0n660gid8yh5y0kdcz6ycn4hsgjlf0pq48x9kv6w0c";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper unzip wrapGAppsHook ];
|
nativeBuildInputs = [ makeWrapper unzip wrapGAppsHook ];
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
mkDerivation, lib,
|
mkDerivation, lib,
|
||||||
extra-cmake-modules,
|
extra-cmake-modules,
|
||||||
ffmpeg_3, kio, taglib
|
ffmpeg_4, kio, taglib
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
@ -11,5 +11,5 @@ mkDerivation {
|
||||||
maintainers = [ lib.maintainers.ttuegel ];
|
maintainers = [ lib.maintainers.ttuegel ];
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [ extra-cmake-modules ];
|
nativeBuildInputs = [ extra-cmake-modules ];
|
||||||
buildInputs = [ ffmpeg_3 kio taglib ];
|
buildInputs = [ ffmpeg_4 kio taglib ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ mkDerivation {
|
||||||
pname = "libksane";
|
pname = "libksane";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ pshendry ];
|
maintainers = with maintainers; [ polendri ];
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [ extra-cmake-modules ];
|
nativeBuildInputs = [ extra-cmake-modules ];
|
||||||
buildInputs = [ qtbase ki18n ktextwidgets kwallet kwidgetsaddons sane-backends ];
|
buildInputs = [ qtbase ki18n ktextwidgets kwallet kwidgetsaddons sane-backends ];
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "1password";
|
pname = "1password";
|
||||||
version = "8.0.28";
|
version = "8.0.30";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://onepassword.s3.amazonaws.com/linux/appimage/${pname}-${version}.AppImage";
|
url = "https://onepassword.s3.amazonaws.com/linux/appimage/${pname}-${version}.AppImage";
|
||||||
hash = "sha256-okLeyok/5rihGXaQaUR06dGkpuqqW02qJ6q6VVLtZsE=";
|
hash = "sha256-j+fp/f8nta+OOuOFU4mmUrGYlVmAqdaXO4rLJ0in+m8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, makeWrapper
|
{ stdenv, lib, fetchFromGitHub, makeWrapper
|
||||||
, curl, python, bind, iproute, bc, gitMinimal }:
|
, curl, python3, bind, iproute, bc, gitMinimal }:
|
||||||
let
|
let
|
||||||
version = "1.23.0";
|
version = "1.23.0";
|
||||||
deps = lib.makeBinPath [
|
deps = lib.makeBinPath [
|
||||||
curl
|
curl
|
||||||
python
|
python3
|
||||||
bind.dnsutils
|
bind.dnsutils
|
||||||
iproute
|
iproute
|
||||||
bc
|
bc
|
||||||
|
@ -24,11 +24,13 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
patchPhase = ''
|
postPatch = ''
|
||||||
patchShebangs install.sh
|
patchShebangs install.sh
|
||||||
substituteInPlace install.sh --replace /usr/local "$out"
|
substituteInPlace install.sh --replace /usr/local "$out"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -86,6 +86,7 @@ mkDerivation rec {
|
||||||
with python3Packages; [
|
with python3Packages; [
|
||||||
apsw
|
apsw
|
||||||
beautifulsoup4
|
beautifulsoup4
|
||||||
|
cchardet
|
||||||
css-parser
|
css-parser
|
||||||
cssselect
|
cssselect
|
||||||
dateutil
|
dateutil
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, fetchFromGitHub, pythonPackages, gettext }:
|
{ lib, fetchFromGitHub, python2Packages, gettext }:
|
||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
python2Packages.buildPythonApplication rec {
|
||||||
pname = "cherrytree";
|
pname = "cherrytree";
|
||||||
version = "0.39.4";
|
version = "0.39.4";
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
propagatedBuildInputs = with pythonPackages; [ pygtk dbus-python pygtksourceview ];
|
propagatedBuildInputs = with python2Packages; [ pygtk dbus-python pygtksourceview ];
|
||||||
|
|
||||||
patches = [ ./subprocess.patch ];
|
patches = [ ./subprocess.patch ];
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
{ lib, stdenv, fetchFromGitHub
|
||||||
, dbus, cmake, pkg-config
|
, dbus, cmake, pkg-config
|
||||||
, glib, udev, polkit, libusb1, libjpeg, libmodule
|
, glib, udev, polkit, libusb1, libjpeg, libmodule
|
||||||
, pcre, libXdmcp, util-linux, libpthreadstubs
|
, pcre, libXdmcp, util-linux, libpthreadstubs
|
||||||
|
@ -9,39 +9,31 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "clightd";
|
pname = "clightd";
|
||||||
version = "5.1";
|
version = "5.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "FedeDP";
|
owner = "FedeDP";
|
||||||
repo = "Clightd";
|
repo = "Clightd";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-BEGum0t+FrCTAEQwTsWeYpoIqimTAz+Bv/ZQPQ3fePY=";
|
sha256 = "sha256-bb+PQsWLf4KnbzWUY6B42yHaDQKN9dtyfwSLe8FBaWU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Not needed by next version bump
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/FedeDP/Clightd/commit/a52a2888e3798c572dad359a017cb0d40e7c5fb7.patch";
|
|
||||||
sha256 = "sha256-nUzNBia1EvBQxinAfjyKbuldBoHLY1hfMaxgG2lKQWg=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# dbus-1.pc has datadir=/etc
|
# dbus-1.pc has datadir=/etc
|
||||||
SYSTEM_BUS_DIR = "${placeholder "out"}/share/dbus-1/system-services";
|
SYSTEM_BUS_DIR = "${placeholder "out"}/share/dbus-1/system-services";
|
||||||
# systemd.pc has prefix=${systemd.out}
|
|
||||||
MODULE_LOAD_DIR = "${placeholder "out"}/lib/modules-load.d";
|
|
||||||
# polkit-gobject-1.pc has prefix=${polkit.out}
|
# polkit-gobject-1.pc has prefix=${polkit.out}
|
||||||
POLKIT_ACTION_DIR = "${placeholder "out"}/share/polkit-1/actions";
|
POLKIT_ACTION_DIR = "${placeholder "out"}/share/polkit-1/actions";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i "s@/etc@$out\0@" CMakeLists.txt
|
|
||||||
sed -i "s@pkg_get_variable(SYSTEM_BUS_DIR.*@set(SYSTEM_BUS_DIR $SYSTEM_BUS_DIR)@" CMakeLists.txt
|
sed -i "s@pkg_get_variable(SYSTEM_BUS_DIR.*@set(SYSTEM_BUS_DIR $SYSTEM_BUS_DIR)@" CMakeLists.txt
|
||||||
sed -i "s@pkg_get_variable(MODULE_LOAD_DIR.*@set(MODULE_LOAD_DIR $MODULE_LOAD_DIR)@" CMakeLists.txt
|
|
||||||
sed -i "s@pkg_get_variable(POLKIT_ACTION_DIR.*@set(POLKIT_ACTION_DIR $POLKIT_ACTION_DIR)@" CMakeLists.txt
|
sed -i "s@pkg_get_variable(POLKIT_ACTION_DIR.*@set(POLKIT_ACTION_DIR $POLKIT_ACTION_DIR)@" CMakeLists.txt
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cmakeFlags = with lib;
|
cmakeFlags = with lib;
|
||||||
optional enableDdc "-DENABLE_DDC=1"
|
[ "-DSYSTEMD_SERVICE_DIR=${placeholder "out"}/lib/systemd/system"
|
||||||
|
"-DDBUS_CONFIG_DIR=${placeholder "out"}/etc/dbus-1/system.d"
|
||||||
|
# systemd.pc has prefix=${systemd.out}
|
||||||
|
"-DMODULE_LOAD_DIR=${placeholder "out"}/lib/modules-load.d"
|
||||||
|
] ++ optional enableDdc "-DENABLE_DDC=1"
|
||||||
++ optional enableDpms "-DENABLE_DPMS=1"
|
++ optional enableDpms "-DENABLE_DPMS=1"
|
||||||
++ optional enableGamma "-DENABLE_GAMMA=1"
|
++ optional enableGamma "-DENABLE_GAMMA=1"
|
||||||
++ optional enableScreen "-DENABLE_SCREEN=1";
|
++ optional enableScreen "-DENABLE_SCREEN=1";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, runtimeShell, lib, fetchurl, python, pythonPackages, unzip }:
|
{ stdenv, runtimeShell, lib, fetchurl, python2Packages, unzip }:
|
||||||
|
|
||||||
# This package uses a precompiled "binary" distribution of CuraByDagoma,
|
# This package uses a precompiled "binary" distribution of CuraByDagoma,
|
||||||
# distributed by the editor.
|
# distributed by the editor.
|
||||||
|
@ -13,7 +13,9 @@
|
||||||
# I guess people owning a 3D printer generally don't use i686.
|
# I guess people owning a 3D printer generally don't use i686.
|
||||||
# If, however, someone needs it, we certainly can find a solution.
|
# If, however, someone needs it, we certainly can find a solution.
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
|
pythonPackages = python2Packages;
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
pname = "curabydagoma";
|
pname = "curabydagoma";
|
||||||
# Version is the date, UNIX format
|
# Version is the date, UNIX format
|
||||||
version = "1520506579";
|
version = "1520506579";
|
||||||
|
@ -26,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
unpackCmd = "unzip $curSrc && tar zxf CuraByDagoma_amd64.tar.gz";
|
unpackCmd = "unzip $curSrc && tar zxf CuraByDagoma_amd64.tar.gz";
|
||||||
nativeBuildInputs = [ unzip ];
|
nativeBuildInputs = [ unzip ];
|
||||||
buildInputs = [ python pythonPackages.pyopengl pythonPackages.wxPython pythonPackages.pyserial pythonPackages.numpy ];
|
buildInputs = [ pythonPackages.python pythonPackages.pyopengl pythonPackages.wxPython pythonPackages.pyserial pythonPackages.numpy ];
|
||||||
|
|
||||||
# Compile all pyc files because the included pyc files may be older than the
|
# Compile all pyc files because the included pyc files may be older than the
|
||||||
# py files. However, Python doesn't realize that because the packages
|
# py files. However, Python doesn't realize that because the packages
|
||||||
|
@ -46,7 +48,7 @@ stdenv.mkDerivation rec {
|
||||||
cat > $out/bin/curabydago <<EOF
|
cat > $out/bin/curabydago <<EOF
|
||||||
#!${runtimeShell}
|
#!${runtimeShell}
|
||||||
export PYTHONPATH=$PYTHONPATH
|
export PYTHONPATH=$PYTHONPATH
|
||||||
${python.out}/bin/python $out/curabydago/cura.py
|
${pythonPackages.python.interpreter} $out/curabydago/cura.py
|
||||||
EOF
|
EOF
|
||||||
chmod a+x $out/bin/curabydago
|
chmod a+x $out/bin/curabydago
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
|
, copyDesktopItems
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, makeDesktopItem
|
, makeDesktopItem
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
|
@ -14,26 +15,16 @@
|
||||||
, zlib
|
, zlib
|
||||||
, maven
|
, maven
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
desktopItem = makeDesktopItem {
|
|
||||||
name = "dbeaver";
|
|
||||||
exec = "dbeaver";
|
|
||||||
icon = "dbeaver";
|
|
||||||
desktopName = "dbeaver";
|
|
||||||
comment = "SQL Integrated Development Environment";
|
|
||||||
genericName = "SQL Integrated Development Environment";
|
|
||||||
categories = "Development;";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dbeaver-ce";
|
pname = "dbeaver-ce";
|
||||||
version = "21.0.0"; # When updating also update fetchedMavenDeps.sha256
|
version = "21.0.1"; # When updating also update fetchedMavenDeps.sha256
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dbeaver";
|
owner = "dbeaver";
|
||||||
repo = "dbeaver";
|
repo = "dbeaver";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-it0EcPD7TXSknjVkGv22Nq1D4J32OEncQDy4w9CIPNk=";
|
sha256 = "sha256-9l8604STqmdoUjD+EJCp4aDk4juKsPCmFnD/WYpajxo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
fetchedMavenDeps = stdenv.mkDerivation {
|
fetchedMavenDeps = stdenv.mkDerivation {
|
||||||
|
@ -62,6 +53,12 @@ stdenv.mkDerivation rec {
|
||||||
outputHash = "sha256-xKlFFQXd2U513KZKQa7ttSFNX2gxVr9hNsvyaoN/rEE=";
|
outputHash = "sha256-xKlFFQXd2U513KZKQa7ttSFNX2gxVr9hNsvyaoN/rEE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
copyDesktopItems
|
||||||
|
makeWrapper
|
||||||
|
maven
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
fontconfig
|
fontconfig
|
||||||
freetype
|
freetype
|
||||||
|
@ -71,12 +68,19 @@ stdenv.mkDerivation rec {
|
||||||
libX11
|
libX11
|
||||||
libXrender
|
libXrender
|
||||||
libXtst
|
libXtst
|
||||||
makeWrapper
|
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
desktopItems = [
|
||||||
maven
|
(makeDesktopItem {
|
||||||
|
name = "dbeaver";
|
||||||
|
exec = "dbeaver";
|
||||||
|
icon = "dbeaver";
|
||||||
|
desktopName = "dbeaver";
|
||||||
|
comment = "SQL Integrated Development Environment";
|
||||||
|
genericName = "SQL Integrated Development Environment";
|
||||||
|
categories = "Development;";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
@ -89,7 +93,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
installPhase =
|
installPhase =
|
||||||
let
|
let
|
||||||
productTargetPath = "product/standalone/target/products/org.jkiss.dbeaver.core.product";
|
productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";
|
||||||
|
|
||||||
platformMap = {
|
platformMap = {
|
||||||
aarch64-linux = "aarch64";
|
aarch64-linux = "aarch64";
|
||||||
|
@ -129,10 +133,6 @@ stdenv.mkDerivation rec {
|
||||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
|
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
|
||||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||||
|
|
||||||
# Create desktop item.
|
|
||||||
mkdir -p $out/share/applications
|
|
||||||
cp ${desktopItem}/share/applications/* $out/share/applications
|
|
||||||
|
|
||||||
mkdir -p $out/share/pixmaps
|
mkdir -p $out/share/pixmaps
|
||||||
ln -s $out/dbeaver/icon.xpm $out/share/pixmaps/dbeaver.xpm
|
ln -s $out/dbeaver/icon.xpm $out/share/pixmaps/dbeaver.xpm
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, fetchFromGitHub, pythonPackages, gnome2, keybinder }:
|
{ lib, fetchFromGitHub, python2Packages, gnome2, keybinder }:
|
||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
python2Packages.buildPythonApplication rec {
|
||||||
ver = "0.93";
|
ver = "0.93";
|
||||||
name = "dockbarx-${ver}";
|
name = "dockbarx-${ver}";
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ pythonPackages.buildPythonApplication rec {
|
||||||
substituteInPlace dockx_applets/volume-control.py --replace /usr/share/ $out/share/
|
substituteInPlace dockx_applets/volume-control.py --replace /usr/share/ $out/share/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
propagatedBuildInputs = (with pythonPackages; [ pygtk pyxdg dbus-python pillow xlib ])
|
propagatedBuildInputs = (with python2Packages; [ pygtk pyxdg dbus-python pillow xlib ])
|
||||||
++ (with gnome2; [ gnome_python gnome_python_desktop ])
|
++ (with gnome2; [ gnome_python gnome_python_desktop ])
|
||||||
++ [ keybinder ];
|
++ [ keybinder ];
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ lib, pythonPackages }:
|
{ lib, python3Packages }:
|
||||||
|
|
||||||
pythonPackages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "dotfiles";
|
pname = "dotfiles";
|
||||||
version = "0.6.4";
|
version = "0.6.4";
|
||||||
|
|
||||||
src = pythonPackages.fetchPypi {
|
src = python3Packages.fetchPypi {
|
||||||
inherit version pname;
|
inherit version pname;
|
||||||
sha256 = "03qis6m9r2qh00sqbgwsm883s4bj1ibwpgk86yh4l235mdw8jywv";
|
sha256 = "03qis6m9r2qh00sqbgwsm883s4bj1ibwpgk86yh4l235mdw8jywv";
|
||||||
};
|
};
|
||||||
|
@ -12,8 +12,8 @@ pythonPackages.buildPythonApplication rec {
|
||||||
# No tests in archive
|
# No tests in archive
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
checkInputs = with pythonPackages; [ pytest ];
|
checkInputs = with python3Packages; [ pytest ];
|
||||||
propagatedBuildInputs = with pythonPackages; [ click ];
|
propagatedBuildInputs = with python3Packages; [ click ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Easily manage your dotfiles";
|
description = "Easily manage your dotfiles";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, python, pkg-config, cmake, bluez, libusb1, curl
|
{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, bluez, libusb1, curl
|
||||||
, libiconv, gettext, sqlite
|
, libiconv, gettext, sqlite
|
||||||
, dbiSupport ? false, libdbi ? null, libdbiDrivers ? null
|
, dbiSupport ? false, libdbi ? null, libdbiDrivers ? null
|
||||||
, postgresSupport ? false, postgresql ? null
|
, postgresSupport ? false, postgresql ? null
|
||||||
|
@ -21,7 +21,9 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config cmake ];
|
nativeBuildInputs = [ pkg-config cmake ];
|
||||||
|
|
||||||
buildInputs = [ python bluez libusb1 curl gettext sqlite libiconv ]
|
strictDeps = true;
|
||||||
|
|
||||||
|
buildInputs = [ bluez libusb1 curl gettext sqlite libiconv ]
|
||||||
++ optionals dbiSupport [ libdbi libdbiDrivers ]
|
++ optionals dbiSupport [ libdbi libdbiDrivers ]
|
||||||
++ optionals postgresSupport [ postgresql ];
|
++ optionals postgresSupport [ postgresql ];
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "gpxsee";
|
pname = "gpxsee";
|
||||||
version = "8.8";
|
version = "8.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tumic0";
|
owner = "tumic0";
|
||||||
repo = "GPXSee";
|
repo = "GPXSee";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-eAXMmjPcfnJA5w6w/SRc6T5KHss77t0JijTB6+ctjzo=";
|
sha256 = "sha256-nl9iu8ezgMZ1wy2swDXYRDLlkSz1II+C65UUWNvGBxg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = (substituteAll {
|
patches = (substituteAll {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue