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":
|
||||
- pkgs/build-support/kernel/**/*
|
||||
- pkgs/os-specific/linux/kernel/**/*
|
||||
|
||||
"6.topic: lua":
|
||||
- pkgs/development/interpreters/lua-5/**/*
|
||||
|
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
- name: Fetch editorconfig-checker
|
||||
if: env.PR_DIFF
|
||||
env:
|
||||
ECC_VERSION: "2.3.1"
|
||||
ECC_VERSION: "2.3.5"
|
||||
ECC_URL: "https://github.com/editorconfig-checker/editorconfig-checker/releases/download"
|
||||
run: |
|
||||
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
|
||||
|
||||
`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_
|
||||
|
||||
: 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="firefox.section.xml" />
|
||||
<xi:include href="fish.section.xml" />
|
||||
<xi:include href="fuse.section.xml" />
|
||||
<xi:include href="ibus.section.xml" />
|
||||
<xi:include href="kakoune.section.xml" />
|
||||
<xi:include href="linux.section.xml" />
|
||||
|
|
|
@ -638,7 +638,7 @@ are disabled.
|
|||
|
||||
#### 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.
|
||||
To help ensure the package still works, `pythonImportsCheck` can attempt to import
|
||||
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: {
|
||||
python = super.python.override {
|
||||
packageOverrides = python-self: python-super: {
|
||||
zerobin = python-super.zerobin.overrideAttrs (oldAttrs: {
|
||||
src = super.fetchgit {
|
||||
url = "https://github.com/sametmax/0bin";
|
||||
rev = "a344dbb18fe7a855d0742b9a1cede7ce423b34ec";
|
||||
sha256 = "16d769kmnrpbdr0ph0whyf4yff5df6zi4kmwx7sz1d3r6c8p6xji";
|
||||
twisted = python-super.twisted.overrideAttrs (oldAttrs: {
|
||||
src = super.fetchPipy {
|
||||
pname = "twisted";
|
||||
version = "19.10.0";
|
||||
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
|
||||
`zerobin` NixOS service use the new definition. Note that `python-super` refers
|
||||
to the old package set and `python-self` to the new, overridden version.
|
||||
`pythonPackages.twisted` is now globally overridden.
|
||||
All packages and also all NixOS services that reference `twisted`
|
||||
(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
|
||||
this snippet:
|
||||
|
@ -1509,7 +1512,7 @@ this snippet:
|
|||
```nix
|
||||
myPythonPackages = pythonPackages.override {
|
||||
overrides = self: super: {
|
||||
zerobin = ...;
|
||||
twisted = ...;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
@ -1522,11 +1525,12 @@ Use the following overlay template:
|
|||
self: super: {
|
||||
python = super.python.override {
|
||||
packageOverrides = python-self: python-super: {
|
||||
zerobin = python-super.zerobin.overrideAttrs (oldAttrs: {
|
||||
src = super.fetchgit {
|
||||
url = "https://github.com/sametmax/0bin";
|
||||
rev = "a344dbb18fe7a855d0742b9a1cede7ce423b34ec";
|
||||
sha256 = "16d769kmnrpbdr0ph0whyf4yff5df6zi4kmwx7sz1d3r6c8p6xji";
|
||||
twisted = python-super.twisted.overrideAttrs (oldAttrs: {
|
||||
src = super.fetchPypi {
|
||||
pname = "twisted";
|
||||
version = "19.10.0";
|
||||
sha256 = "7394ba7f272ae722a74f3d969dcf599bc4ef093bc392038748a490f1724a515d";
|
||||
extension = "tar.bz2";
|
||||
};
|
||||
});
|
||||
};
|
||||
|
@ -1551,13 +1555,11 @@ In a `setup.py` or `setup.cfg` it is common to declare dependencies:
|
|||
|
||||
### 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
|
||||
`buildPythonPackage`. The expression of a library should be in
|
||||
`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
|
||||
with `buildPythonApplication`.
|
||||
* 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.
|
||||
* Commit names of Python libraries should reflect that they are Python
|
||||
libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`.
|
||||
* Attribute names in `python-packages.nix` should be normalized according to
|
||||
[PEP 0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This
|
||||
means that characters should be converted to lowercase and `.` and `_` should
|
||||
be replaced by a single `-` (foo-bar-baz instead of Foo__Bar.baz )
|
||||
* Attribute names in `python-packages.nix` should be sorted alphanumerically.
|
||||
* Attribute names in `python-packages.nix` as well as `pname`s should match the
|
||||
library's name on PyPI, but be normalized according to [PEP
|
||||
0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This means
|
||||
that characters should be converted to lowercase and `.` and `_` should be
|
||||
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:
|
||||
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.${n} or []) ++ f module v
|
||||
) 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)
|
||||
else
|
||||
let gitDir = absolutePath (dirOf path) (lib.head m);
|
||||
commonDir' = if pathIsRegularFile "${gitDir}/commondir"
|
||||
commonDir'' = if pathIsRegularFile "${gitDir}/commondir"
|
||||
then lib.fileContents "${gitDir}/commondir"
|
||||
else gitDir;
|
||||
commonDir' = lib.removeSuffix "/" commonDir'';
|
||||
commonDir = absolutePath gitDir commonDir';
|
||||
refFile = lib.removePrefix "${commonDir}/" "${gitDir}/${file}";
|
||||
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
|
||||
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 '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
|
||||
|
||||
## submoduleWith should merge all modules in one swoop
|
||||
|
|
|
@ -1036,6 +1036,16 @@
|
|||
githubId = 75235;
|
||||
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 = {
|
||||
email = "v.dijk.bas@gmail.com";
|
||||
github = "basvandijk";
|
||||
|
@ -2942,7 +2952,7 @@
|
|||
name = "Adam Copp";
|
||||
};
|
||||
ethancedwards8 = {
|
||||
email = "ethancarteredwards@gmail.com";
|
||||
email = "ethan@ethancedwards.com";
|
||||
github = "ethancedwards8";
|
||||
githubId = 60861925;
|
||||
name = "Ethan Carter Edwards";
|
||||
|
@ -6905,6 +6915,12 @@
|
|||
githubId = 16385648;
|
||||
name = "Niko Pavlinek";
|
||||
};
|
||||
nixinator = {
|
||||
email = "33lockdown33@protonmail.com";
|
||||
github = "nixinator";
|
||||
githubId = 66913205;
|
||||
name = "Rick Sanchez";
|
||||
};
|
||||
nixy = {
|
||||
email = "nixy@nixy.moe";
|
||||
github = "nixy";
|
||||
|
@ -7609,6 +7625,12 @@
|
|||
fingerprint = "2CD2 B030 BD22 32EF DF5A 008A 3618 20A4 5DB4 1E9A";
|
||||
}];
|
||||
};
|
||||
polendri = {
|
||||
email = "paul@ijj.li";
|
||||
github = "polendri";
|
||||
githubId = 1829032;
|
||||
name = "Paul Hendry";
|
||||
};
|
||||
polyrod = {
|
||||
email = "dc1mdp@gmail.com";
|
||||
github = "polyrod";
|
||||
|
@ -7717,12 +7739,6 @@
|
|||
githubId = 33375;
|
||||
name = "Peter Sanford";
|
||||
};
|
||||
pshendry = {
|
||||
email = "paul@pshendry.com";
|
||||
github = "pshendry";
|
||||
githubId = 1829032;
|
||||
name = "Paul Hendry";
|
||||
};
|
||||
psibi = {
|
||||
email = "sibi@psibi.in";
|
||||
github = "psibi";
|
||||
|
@ -8267,6 +8283,12 @@
|
|||
fingerprint = "1401 1B63 393D 16C1 AA9C C521 8526 B757 4A53 6236";
|
||||
}];
|
||||
};
|
||||
rowanG077 = {
|
||||
email = "goemansrowan@gmail.com";
|
||||
github = "rowanG077";
|
||||
githubId = 7439756;
|
||||
name = "Rowan Goemans";
|
||||
};
|
||||
royneary = {
|
||||
email = "christian@ulrich.earth";
|
||||
github = "royneary";
|
||||
|
@ -8315,6 +8337,12 @@
|
|||
githubId = 4958190;
|
||||
name = "Rushmore Mushambi";
|
||||
};
|
||||
russell = {
|
||||
email = "russell.sim@gmail.com";
|
||||
github = "russell";
|
||||
githubId = 2660;
|
||||
name = "Russell Sim";
|
||||
};
|
||||
ruuda = {
|
||||
email = "dev+nix@veniogames.com";
|
||||
github = "ruuda";
|
||||
|
@ -10186,6 +10214,12 @@
|
|||
email = "vq@erq.se";
|
||||
name = "Daniel Nilsson";
|
||||
};
|
||||
vrinek = {
|
||||
email = "vrinek@hey.com";
|
||||
github = "vrinek";
|
||||
name = "Kostas Karachalios";
|
||||
githubId = 81346;
|
||||
};
|
||||
vrthra = {
|
||||
email = "rahul@gopinath.org";
|
||||
github = "vrthra";
|
||||
|
@ -10412,6 +10446,12 @@
|
|||
githubId = 36407913;
|
||||
name = "Uli Baum";
|
||||
};
|
||||
xfnw = {
|
||||
email = "xfnw+nixos@riseup.net";
|
||||
github = "xfnw";
|
||||
githubId = 66233223;
|
||||
name = "Owen";
|
||||
};
|
||||
xfix = {
|
||||
email = "konrad@borowski.pw";
|
||||
github = "xfix";
|
||||
|
@ -10800,6 +10840,12 @@
|
|||
githubId = 3674056;
|
||||
name = "Asad Saeeduddin";
|
||||
};
|
||||
matthewcroughan = {
|
||||
email = "matt@croughan.sh";
|
||||
github = "matthewcroughan";
|
||||
githubId = 26458780;
|
||||
name = "Matthew Croughan";
|
||||
};
|
||||
ngerstle = {
|
||||
name = "Nicholas Gerstle";
|
||||
email = "ngerstle@gmail.com";
|
||||
|
|
|
@ -416,6 +416,7 @@ def rewrite_input(
|
|||
}
|
||||
with open(deprecated, "w") as f:
|
||||
json.dump(deprecations, f, indent=4, sort_keys=True)
|
||||
f.write("\n")
|
||||
|
||||
lines = sorted(lines, key=str.casefold)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.PHONY: all
|
||||
all: manual-combined.xml format
|
||||
all: manual-combined.xml
|
||||
|
||||
.PHONY: debug
|
||||
debug: generated manual-combined.xml
|
||||
|
|
|
@ -25,7 +25,8 @@
|
|||
|
||||
<screen>
|
||||
<prompt>$ </prompt>cd /path/to/nixpkgs/nixos/doc/manual
|
||||
<prompt>$ </prompt>make
|
||||
<prompt>$ </prompt>nix-shell
|
||||
<prompt>nix-shell$ </prompt>make
|
||||
</screen>
|
||||
|
||||
<para>
|
||||
|
|
|
@ -720,8 +720,8 @@ environment.systemPackages = [
|
|||
</para>
|
||||
|
||||
<para>
|
||||
Aditionally to the much stricter runtime environmet the
|
||||
<literal>/dev/urandom</literal> mount lines we previously had in the code (that would
|
||||
Additionally to the much stricter runtime environment the
|
||||
<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.
|
||||
</para>
|
||||
|
||||
|
@ -809,7 +809,7 @@ environment.systemPackages = [
|
|||
<listitem>
|
||||
<para>
|
||||
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>
|
||||
<itemizedlist>
|
||||
<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_name=${IMAGE_NAME:-$(basename "$img_path")}
|
||||
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
|
||||
gsutil cp "$img_path" "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
|
||||
|
|
|
@ -71,7 +71,7 @@ in
|
|||
#utmp = 29; # unused
|
||||
# ddclient = 30; # converted to DynamicUser = true
|
||||
davfs2 = 31;
|
||||
#disnix = 33; # module removed
|
||||
disnix = 33;
|
||||
osgi = 34;
|
||||
tor = 35;
|
||||
cups = 36;
|
||||
|
@ -387,7 +387,7 @@ in
|
|||
utmp = 29;
|
||||
# ddclient = 30; # converted to DynamicUser = true
|
||||
davfs2 = 31;
|
||||
#disnix = 33; # module removed
|
||||
disnix = 33;
|
||||
osgi = 34;
|
||||
tor = 35;
|
||||
#cups = 36; # unused
|
||||
|
|
|
@ -461,6 +461,8 @@
|
|||
./services/misc/devmon.nix
|
||||
./services/misc/dictd.nix
|
||||
./services/misc/dwm-status.nix
|
||||
./services/misc/dysnomia.nix
|
||||
./services/misc/disnix.nix
|
||||
./services/misc/docker-registry.nix
|
||||
./services/misc/domoticz.nix
|
||||
./services/misc/errbot.nix
|
||||
|
@ -924,6 +926,7 @@
|
|||
./services/web-apps/selfoss.nix
|
||||
./services/web-apps/shiori.nix
|
||||
./services/web-apps/virtlyst.nix
|
||||
./services/web-apps/wiki-js.nix
|
||||
./services/web-apps/whitebophir.nix
|
||||
./services/web-apps/wordpress.nix
|
||||
./services/web-apps/youtrack.nix
|
||||
|
|
|
@ -40,7 +40,7 @@ in
|
|||
configFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = literalExample "$${pkgs.my-configs}/lesskey";
|
||||
example = literalExample "\${pkgs.my-configs}/lesskey";
|
||||
description = ''
|
||||
Path to lesskey configuration file.
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ let
|
|||
Type = "oneshot";
|
||||
User = "acme";
|
||||
Group = mkDefault "acme";
|
||||
UMask = 0023;
|
||||
UMask = 0022;
|
||||
StateDirectoryMode = 750;
|
||||
ProtectSystem = "full";
|
||||
PrivateTmp = true;
|
||||
|
@ -303,9 +303,15 @@ let
|
|||
}
|
||||
|
||||
${optionalString (data.webroot != null) ''
|
||||
# Ensure the webroot exists
|
||||
mkdir -p '${data.webroot}/.well-known/acme-challenge'
|
||||
chown 'acme:${data.group}' ${data.webroot}/{.well-known,.well-known/acme-challenge}
|
||||
# Ensure the webroot exists. Fixing group is required in case configuration was changed between runs.
|
||||
# Lego will fail if the webroot does not exist at all.
|
||||
(
|
||||
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
|
||||
|
|
|
@ -213,7 +213,9 @@ in {
|
|||
description = "Music Player Daemon Socket";
|
||||
wantedBy = [ "sockets.target" ];
|
||||
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 = {
|
||||
Backlog = 5;
|
||||
|
|
|
@ -280,6 +280,8 @@ in
|
|||
keep-outputs = 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
|
||||
# has so many GC roots.
|
||||
gc-check-reachability = false
|
||||
|
|
|
@ -188,7 +188,8 @@ in
|
|||
|
||||
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.geoclue = {
|
||||
isSystemUser = true;
|
||||
|
@ -217,6 +218,7 @@ in
|
|||
# we can't be part of a system service, and the agent should
|
||||
# be okay with the main service coming and going
|
||||
wantedBy = [ "default.target" ];
|
||||
unitConfig.ConditionUser = "!@system";
|
||||
serviceConfig = {
|
||||
Type = "exec";
|
||||
ExecStart = "${package}/libexec/geoclue-2.0/demos/agent";
|
||||
|
|
|
@ -119,22 +119,31 @@ in
|
|||
|
||||
environment.systemPackages = [ pkgs.trousers ];
|
||||
|
||||
# system.activationScripts.tcsd =
|
||||
# ''
|
||||
# chown ${cfg.user}:${cfg.group} ${tcsdConf}
|
||||
# '';
|
||||
services.udev.extraRules = ''
|
||||
# Give tcsd ownership of all TPM devices
|
||||
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 = {
|
||||
description = "TCSD";
|
||||
after = [ "systemd-udev-settle.service" ];
|
||||
description = "Manager for Trusted Computing resources";
|
||||
documentation = [ "man:tcsd(8)" ];
|
||||
|
||||
requires = [ "dev-tpm0.device" ];
|
||||
after = [ "dev-tpm0.device" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.trousers ];
|
||||
preStart =
|
||||
''
|
||||
mkdir -m 0700 -p ${cfg.stateDir}
|
||||
chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir}
|
||||
'';
|
||||
serviceConfig.ExecStart = "${pkgs.trousers}/sbin/tcsd -f -c ${tcsdConf}";
|
||||
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
ExecStart = "${pkgs.trousers}/sbin/tcsd -f -c ${tcsdConf}";
|
||||
};
|
||||
};
|
||||
|
||||
users.users = optionalAttrs (cfg.user == "tss") {
|
||||
|
|
|
@ -39,7 +39,6 @@ in
|
|||
type = types.package;
|
||||
default = pkgs.graylog;
|
||||
defaultText = "pkgs.graylog";
|
||||
example = literalExample "pkgs.graylog";
|
||||
description = "Graylog package to use.";
|
||||
};
|
||||
|
||||
|
@ -138,14 +137,13 @@ in
|
|||
"d '${cfg.messageJournalDir}' - ${cfg.user} - - -"
|
||||
];
|
||||
|
||||
systemd.services.graylog = with pkgs; {
|
||||
systemd.services.graylog = {
|
||||
description = "Graylog Server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = {
|
||||
JAVA_HOME = jre;
|
||||
GRAYLOG_CONF = "${confFile}";
|
||||
};
|
||||
path = [ pkgs.jre_headless pkgs.which pkgs.procps ];
|
||||
path = [ pkgs.which pkgs.procps ];
|
||||
preStart = ''
|
||||
rm -rf /var/lib/graylog/plugins || true
|
||||
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";
|
||||
Server = cfg.server;
|
||||
ListenIP = cfg.listen.ip;
|
||||
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 {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf mkOption types;
|
||||
inherit (lib) mkEnableOption mkIf mkOption optionalString types;
|
||||
|
||||
generic = variant:
|
||||
let
|
||||
|
@ -26,6 +26,14 @@ let
|
|||
<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 {
|
||||
name = "${variant}.conf";
|
||||
text = cfg.config;
|
||||
checkPhase = ''
|
||||
checkPhase = optionalString cfg.checkConfig ''
|
||||
${pkg}/bin/${birdBin} -d -p -c $out
|
||||
'';
|
||||
};
|
||||
|
@ -50,7 +58,7 @@ let
|
|||
Type = "forking";
|
||||
Restart = "on-failure";
|
||||
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";
|
||||
CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_SETUID" "CAP_SETGID"
|
||||
# see bird/sysdep/linux/syspriv.h
|
||||
|
|
|
@ -245,7 +245,7 @@ in
|
|||
fi
|
||||
|
||||
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
|
||||
fi
|
||||
'';
|
||||
|
|
|
@ -10,12 +10,12 @@ let
|
|||
mkListen = kind: addr: let
|
||||
al_v4 = builtins.match "([0-9.]+):([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)
|
||||
(throw "services.kresd.*: incorrect address specification '${addr}'")
|
||||
[ al_v4 al_v6 al_portOnly ];
|
||||
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;
|
||||
# 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.
|
||||
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" ];
|
||||
requiredBy = [ "wireguard-${name}.service" ];
|
||||
before = [ "wireguard-${name}.service" ];
|
||||
path = with pkgs; [ wireguard ];
|
||||
path = with pkgs; [ wireguard-tools ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
|
|
|
@ -88,7 +88,7 @@ in
|
|||
enable = true;
|
||||
after = [ "network.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.User = cfg.user;
|
||||
serviceConfig.Group = cfg.group;
|
||||
|
|
|
@ -26,19 +26,46 @@ in {
|
|||
'';
|
||||
};
|
||||
|
||||
capabilities = mkOption {
|
||||
type = types.commas;
|
||||
default = "view";
|
||||
capabilities = {
|
||||
view = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
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 {
|
||||
type = types.path;
|
||||
example = "/home/hledger/.hledger.journal";
|
||||
journalFiles = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ".hledger.journal" ];
|
||||
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.
|
||||
'';
|
||||
};
|
||||
|
||||
extraOptions = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [ "--forecast" ];
|
||||
description = ''
|
||||
Extra command line arguments to pass to hledger-web.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
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.";
|
||||
documentation = [ https://hledger.org/hledger-web.html ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "networking.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.hledger-web}/bin/hledger-web \
|
||||
--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"}
|
||||
'';
|
||||
serviceConfig = mkMerge [
|
||||
{
|
||||
ExecStart = "${pkgs.hledger-web}/bin/hledger-web ${serverArgs}";
|
||||
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";
|
||||
# Access write directories
|
||||
UMask = "0027";
|
||||
# Capabilities
|
||||
CapabilityBoundingSet = "";
|
||||
# Security
|
||||
NoNewPrivileges = true;
|
||||
# Sandboxing
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = 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") (
|
||||
|
|
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)
|
||||
}
|
||||
|
||||
(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"
|
||||
'';
|
||||
|
||||
|
|
|
@ -22,8 +22,6 @@ let
|
|||
# their assertions too
|
||||
(attrValues config.fileSystems);
|
||||
|
||||
prioOption = prio: optionalString (prio != null) " pri=${toString prio}";
|
||||
|
||||
specialFSTypes = [ "proc" "sysfs" "tmpfs" "ramfs" "devtmpfs" "devpts" ];
|
||||
|
||||
coreFileSystemOpts = { name, config, ... }: {
|
||||
|
@ -240,6 +238,8 @@ in
|
|||
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
|
||||
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
|
||||
escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
|
||||
swapOptions = sw: "defaults"
|
||||
+ optionalString (sw.priority != null) ",pri=${toString sw.priority}";
|
||||
in ''
|
||||
# This is a generated file. Do not edit!
|
||||
#
|
||||
|
@ -262,7 +262,7 @@ in
|
|||
|
||||
# Swap devices.
|
||||
${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";
|
||||
"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";
|
||||
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
|
||||
|
|
|
@ -504,7 +504,7 @@ in
|
|||
|
||||
path = mkOption {
|
||||
type = types.path;
|
||||
example = "/nix/var/nix/profiles/containers/webserver";
|
||||
example = "/nix/var/nix/profiles/per-container/webserver";
|
||||
description = ''
|
||||
As an alternative to specifying
|
||||
<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):
|
||||
assert retries >= 0
|
||||
assert retries >= 0, f"Failed to connect to https://{domain}"
|
||||
|
||||
result = node.succeed(
|
||||
"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"):
|
||||
if "verification" in line and "error" in line:
|
||||
time.sleep(1)
|
||||
time.sleep(3)
|
||||
return check_connection(node, domain, retries - 1)
|
||||
|
||||
|
||||
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(
|
||||
"openssl s_client -CAfile /tmp/ca.crt"
|
||||
|
@ -277,12 +277,12 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
|||
print("Key type:", result)
|
||||
|
||||
if bits not in result:
|
||||
time.sleep(1)
|
||||
time.sleep(3)
|
||||
return check_connection_key_bits(node, domain, bits, retries - 1)
|
||||
|
||||
|
||||
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
|
||||
result = node.succeed(
|
||||
|
@ -293,10 +293,23 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
|||
print("OCSP Responder URL:", result)
|
||||
|
||||
if "${caDomain}:4002" not in result.lower():
|
||||
time.sleep(1)
|
||||
time.sleep(3)
|
||||
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()
|
||||
dnsserver.start()
|
||||
|
||||
|
@ -313,8 +326,7 @@ in import ./make-test-python.nix ({ lib, ... }: {
|
|||
acme.wait_for_unit("network-online.target")
|
||||
acme.wait_for_unit("pebble.service")
|
||||
|
||||
client.succeed("curl https://${caDomain}:15000/roots/0 > /tmp/ca.crt")
|
||||
client.succeed("curl https://${caDomain}:15000/intermediate-keys/0 >> /tmp/ca.crt")
|
||||
download_ca_certs(client)
|
||||
|
||||
with subtest("Can request certificate with HTTPS-01 challenge"):
|
||||
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_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"):
|
||||
webserver.succeed("systemctl clean acme-a.example.test.service --what=state")
|
||||
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
|
||||
|
||||
with subtest("Can request certificates for vhost + aliases (apache-httpd)"):
|
||||
try:
|
||||
switch_to(webserver, "httpd-aliases")
|
||||
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_connection(client, "c.example.test")
|
||||
check_connection(client, "d.example.test")
|
||||
|
|
|
@ -426,6 +426,7 @@ in
|
|||
virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
|
||||
vscodium = handleTest ./vscodium.nix {};
|
||||
wasabibackend = handleTest ./wasabibackend.nix {};
|
||||
wiki-js = handleTest ./wiki-js.nix {};
|
||||
wireguard = handleTest ./wireguard {};
|
||||
wordpress = handleTest ./wordpress.nix {};
|
||||
xandikos = handleTest ./xandikos.nix {};
|
||||
|
|
|
@ -113,6 +113,7 @@ let
|
|||
driver.find_element_by_css_selector('input#masterPasswordRetype').send_keys(
|
||||
'${userPassword}'
|
||||
)
|
||||
driver.find_element_by_css_selector('input#acceptPolicies').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",
|
||||
)
|
||||
|
||||
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 load --input='${examples.layered-on-top}'",
|
||||
"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):
|
||||
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 "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"):
|
||||
docker.succeed(
|
||||
"docker load --input='${examples.two-layered-image}'"
|
||||
|
@ -219,6 +250,18 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
|||
"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"):
|
||||
# This check tests that buildLayeredImage can build images that don't need a store.
|
||||
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";
|
||||
meta.maintainers = with lib.maintainers; [ marijanp ];
|
||||
|
||||
nodes = {
|
||||
server = { config, pkgs, ... }: rec {
|
||||
nodes = rec {
|
||||
server = { config, pkgs, ... }: {
|
||||
services.hledger-web = {
|
||||
host = "127.0.0.1";
|
||||
port = 5000;
|
||||
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 {
|
||||
services.hledger-web = {
|
||||
host = "127.0.0.1";
|
||||
port = 5000;
|
||||
enable = true;
|
||||
serveApi = true;
|
||||
journalFile = journal;
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [ services.hledger-web.port ];
|
||||
apiserver = { ... }: {
|
||||
imports = [ server ];
|
||||
services.hledger-web.serveApi = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -42,7 +39,7 @@ rec {
|
|||
server.wait_for_open_port(5000)
|
||||
with subtest("Check if web UI is accessible"):
|
||||
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_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" ];
|
||||
|
||||
# -Wnarrowing is enabled by default in recent GCC versions,
|
||||
# causing compilation to fail.
|
||||
NIX_CFLAGS_COMPILE = "-Wno-narrowing";
|
||||
|
||||
postPatch = ''
|
||||
(
|
||||
cd mp4v2
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitwig-studio";
|
||||
version = "3.3.3";
|
||||
version = "3.3.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
|
||||
sha256 = "sha256-NDkGHJDr6TCHEhgSKK7jLYk5RjGEj8+lDYZ4ywvG20g=";
|
||||
sha256 = "10nf29zr0xg9mxmknkc39jh3y9kpxzy5wg1v0s3kkd180lja9zpn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
|
||||
|
|
|
@ -10,7 +10,7 @@ let
|
|||
withCD = config.clementine.cd 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";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchFromGitHub, makeWrapper, rofi, mpc_cli, perl,
|
||||
util-linux, pythonPackages, libnotify }:
|
||||
util-linux, python3Packages, libnotify }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "clerk-2016-10-14";
|
||||
|
@ -12,10 +12,12 @@ stdenv.mkDerivation {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ pythonPackages.mpd2 ];
|
||||
buildInputs = [ python3Packages.mpd2 ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
installPhase = ''
|
||||
DESTDIR=$out PREFIX=/ make install
|
||||
wrapProgram $out/bin/clerk \
|
||||
|
|
|
@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
strictDeps = true;
|
||||
|
||||
CXXFLAGS = "-std=c++11";
|
||||
configureFlags = "--enable-liblilv --with-extra-cppflags=-Dnullptr=0";
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "helio-workstation";
|
||||
version = "3.3";
|
||||
version = "3.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helio-fm";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-meeNqV1jKUwWc7P3p/LicPsbpzpKKFmQ1wP9DuXc9NY=";
|
||||
sha256 = "sha256-zXsDu/xi7OV6VtnZK9ZJ8uwPeA5uTgNpAQsqe90iwG4=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{ mkDerivation, lib, fetchFromGitHub, fetchpatch, pkg-config, qtscript, qmake, libjack2
|
||||
{ mkDerivation, lib, fetchFromGitHub, pkg-config, qtscript, qmake, libjack2
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "jamulus";
|
||||
version = "3.6.2";
|
||||
version = "3.7.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "corrados";
|
||||
owner = "jamulussoftware";
|
||||
repo = "jamulus";
|
||||
rev = "r${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
sha256 = "sha256-b187Q8KXcU32C2hGFqs6R2CqWgmieq6ewQDx+elEgP4=";
|
||||
sha256 = "sha256-8zCPT0jo4ExgmZWxGinumv3JauH4csM9DtuHmOiJQAM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config qmake ];
|
||||
|
@ -20,7 +20,7 @@ mkDerivation rec {
|
|||
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";
|
||||
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;
|
||||
maintainers = [ lib.maintainers.seb314 ];
|
||||
};
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "new-session-manager";
|
||||
version = "1.5.0";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxaudio";
|
||||
repo = "new-session-manager";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-YP5AHoFP8P1o0Y2jAipRcNPxPRuM7COs5tBMm6Eojoc=";
|
||||
sha256 = "sha256-hcw+Fn5s1S786eqmR95RmkFcIaRzWaH38YE9DXVQJU0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson pkg-config ninja ];
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
, usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
|
||||
|
||||
let
|
||||
version = "0.5.5";
|
||||
version = "0.5.6";
|
||||
in stdenv.mkDerivation {
|
||||
pname = "openmpt123";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
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;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
|
@ -45,13 +46,15 @@ let
|
|||
];
|
||||
in stdenv.mkDerivation rec {
|
||||
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 {
|
||||
owner = "wwmm";
|
||||
repo = "pulseeffects";
|
||||
rev = "v${version}";
|
||||
sha256 = "1zs13bivxlgcb24lz1pgmgy2chcjxnmn4lz7g1n0ygiaaj4c30xj";
|
||||
sha256 = "14ir25q6bws26im6qmj3k6hkfdh5pc6mbvln7wkdwy5dv0vix3cm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -87,6 +90,15 @@ in stdenv.mkDerivation rec {
|
|||
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 = ''
|
||||
chmod +x meson_post_install.py
|
||||
patchShebangs meson_post_install.py
|
||||
|
@ -104,6 +116,8 @@ in stdenv.mkDerivation rec {
|
|||
BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
|
||||
BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications";
|
||||
homepage = "https://github.com/wwmm/pulseeffects";
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{ mkDerivation, lib, fetchurl, pkg-config, qtbase, qttools, alsaLib, libjack2 }:
|
||||
|
||||
mkDerivation rec {
|
||||
version = "0.6.3";
|
||||
version = "0.9.1";
|
||||
pname = "qmidinet";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qmidinet/${pname}-${version}.tar.gz";
|
||||
sha256 = "04jbvnf6yp9l0bhl1ym6zqkmaz8c2az3flq7qgflaxzj3isns1p1";
|
||||
sha256 = "sha256-cDgF5hbjy5DzGn4Rlmb76XzRa2wURVwPu2rQRKENxQU=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "qsynth";
|
||||
version = "0.6.3";
|
||||
version = "0.9.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
|
||||
sha256 = "0xiqmpzpxjvh32vivfj6h33w0ahmyfjzjb41b6fnf92bbg9k6mqv";
|
||||
sha256 = "sha256-VNcI5QOVacHBcI6psEvhm7+cOTpwr2pMVXmk7nMXNiY=";
|
||||
};
|
||||
|
||||
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 {
|
||||
pname = "sfizz";
|
||||
version = "0.4.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sfztools";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0zpmvmh7n0064rxfqxb7z9rnz493k7yq7nl0vxppqnasg97jn5f3";
|
||||
sha256 = "sha256-3RdY5+BPsdk6vctDy24w5aJsVOV9qzSgXs62Pm5UEKs=";
|
||||
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 ];
|
||||
|
||||
buildInputs = [ libjack2 libsndfile ];
|
||||
postPatch = ''
|
||||
substituteInPlace editor/external/vstgui4/vstgui/lib/platform/linux/x11fileselector.cpp \
|
||||
--replace '"/usr/bin/zenity' '"${gnome3.zenity}/bin/zenity'
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ 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
|
||||
, at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa
|
||||
, at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -10,14 +10,14 @@ let
|
|||
# If an update breaks things, one of those might have valuable info:
|
||||
# https://aur.archlinux.org/packages/spotify/
|
||||
# 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:
|
||||
# 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:
|
||||
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
|
||||
# More examples of api usage:
|
||||
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
|
||||
rev = "43";
|
||||
rev = "45";
|
||||
|
||||
deps = [
|
||||
alsaLib
|
||||
|
@ -34,12 +34,13 @@ let
|
|||
freetype
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk2
|
||||
gtk3
|
||||
libdrm
|
||||
libgcrypt
|
||||
libnotify
|
||||
libpng
|
||||
libpulseaudio
|
||||
libxkbcommon
|
||||
mesa
|
||||
nss
|
||||
pango
|
||||
|
@ -78,11 +79,10 @@ stdenv.mkDerivation {
|
|||
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
|
||||
src = fetchurl {
|
||||
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
|
||||
sha512 = "5b3d5d1f52a554c8e775b8aed16ef84e96bf3b61a2b53266e10d3c47e341899310af13cc8513b04424fc14532e36543a6fae677f80a036e3f51c75166d8d53d1";
|
||||
sha512 = "5d61a2d5b26be651620ab5d18d3a204d8d7b09dcec8a733ddc176c44cb43e9176c4350933ebe4498b065ba219113f3226c13bea9659da738fe635f41d01db303";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ squashfsTools ];
|
||||
nativeBuildInputs = [ makeWrapper squashfsTools ];
|
||||
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
|
|
@ -19,20 +19,20 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pika-backup";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "pika-backup";
|
||||
rev = "v${version}";
|
||||
sha256 = "0fm6vwpw0pa98v2yn8p3818rrlv9lk3pmgnal1b2kh52im5ll7m8";
|
||||
sha256 = "16284gv31wdwmb99056962d1gh6xz26ami6synr47nsbbp5l0s6k";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
sha256 = "1f5s6a0wjrs2spsicirhbvb5xlz9iflwsaqchij9k02hfcsr308y";
|
||||
sha256 = "12ymjwpxx3sdna8w5j9fnwwfk8ynk9ziwl0lkpq68y0vyllln5an";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper,
|
||||
dotnetPackages, dotnetCorePackages, writeScript, bash
|
||||
dotnetPackages, dotnetCorePackages
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -15,13 +15,13 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "btcpayserver";
|
||||
version = "1.0.6.8";
|
||||
version = "1.0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1znmix9w7ahzyb933lxzqv6j8j5qycknq3gmnkakj749ksshql1b";
|
||||
sha256 = "1pbq0kik29sx1lwlic7fvhnjhrpnlk94w53wmywqnlpgjscx8x8a";
|
||||
};
|
||||
|
||||
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";
|
||||
sha256 = "1lf1hfbx792dpa1hxgn0a0jrrvldd16hgbxx229dk2qcz5qlnc38";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BIP78.Sender";
|
||||
version = "0.2.0";
|
||||
sha256 = "0gyynn15rc1x9p2703ffi4jnbpbd0k3wvg839xrk2skmaw8nxamf";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Hwi";
|
||||
version = "1.1.3";
|
||||
|
@ -26,38 +31,43 @@
|
|||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.All";
|
||||
version = "1.2.4";
|
||||
sha256 = "1f4wgs8ijk1wmppz5lmas7l6m83szz57jyk6ak0dxhccdld9rdaj";
|
||||
version = "1.2.7";
|
||||
sha256 = "0jzmzvlpf6iba2fsc6cyi69vlaim9slqm2sapknmd7drl3gcn2zj";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Charge";
|
||||
version = "1.2.1";
|
||||
sha256 = "0iv9frbr6xfxif3pnfd7c87y8mv31nqkdrnhvnaswrx43nv6s272";
|
||||
version = "1.2.3";
|
||||
sha256 = "1rdrwmijx0v4z0xsq4acyvdcj7hv6arfh3hwjy89rqnkkznrzgwv";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.CLightning";
|
||||
version = "1.2.1";
|
||||
sha256 = "14km69jzmnyqg19w27g6znml4z0xkm8l4j7rj0x36bw67cjmgahv";
|
||||
version = "1.2.3";
|
||||
sha256 = "02197rh03q8d0mv40zf67wp1rd2gbxi5l8krd2rzj84n267bcfvc";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Common";
|
||||
version = "1.2.0";
|
||||
sha256 = "17di8ndkw8z0ci0zk15mcrqpmganwkz9ys2snr2rqpw5mrlhpwa0";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Common";
|
||||
version = "1.2.2";
|
||||
sha256 = "07xb7fsqvfjmcawxylriw60i73h0cvfb765aznhp9ffyrmjaql7z";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Eclair";
|
||||
version = "1.2.0";
|
||||
sha256 = "0w7nwsr0n2hrqak023xa294palsk3r96wlgw2ks8d3p5kxm8kskp";
|
||||
version = "1.2.2";
|
||||
sha256 = "03dymhwxb5s28kb187g5h4aysnz2xzml89p47nmwz9lkg2h4s73h";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.LND";
|
||||
version = "1.2.1";
|
||||
sha256 = "0ql4qyvz0rms6ls46pi3bgak3r6hj2c5ivnzahiq6cb84pbl61cr";
|
||||
version = "1.2.4";
|
||||
sha256 = "0qnj5rsp6hnybsr58zny9dfbsxksg1674q0z9944jwkzm7pcqyg4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BTCPayServer.Lightning.Ptarmigan";
|
||||
version = "1.2.0";
|
||||
sha256 = "1yd6nhlssb9k08p5491knlwwjij9324ildir99sa9cp24rlq5nis";
|
||||
version = "1.2.2";
|
||||
sha256 = "17yl85vqfp7l12bv3f3w1b861hm41i7cfhs78gaq04s4drvcnj6k";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "BuildBundlerMinifier";
|
||||
|
@ -79,11 +89,6 @@
|
|||
version = "15.0.5";
|
||||
sha256 = "01y8bhsnxghn3flz0pr11vj6wjrpmia8rpdrsp7kjfc1zmhqlgma";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "DBriize";
|
||||
version = "1.0.1.3";
|
||||
sha256 = "0rsm68hwq2ky8i6mv3ckdjkj4vjygnkgk3disva0skl3apk833dc";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "DigitalRuby.ExchangeSharp";
|
||||
version = "0.6.3";
|
||||
|
@ -666,13 +671,8 @@
|
|||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin.Altcoins";
|
||||
version = "2.0.21";
|
||||
sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "5.0.33";
|
||||
sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a";
|
||||
version = "2.0.28";
|
||||
sha256 = "1zfirfmhgigp733km9rqkgz560h5wg88bpba499x49h5j650cnn4";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
|
@ -686,13 +686,13 @@
|
|||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "5.0.60";
|
||||
sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v";
|
||||
version = "5.0.67";
|
||||
sha256 = "049marx1jwr7srlpqspimrqqgahh53gi2iyp7bpzn5npsbzh9v3h";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitcoin";
|
||||
version = "5.0.68";
|
||||
sha256 = "0k275mbp9wannm10pqj4nv8agjc1f6hsrfhl0m6ax1apv81sfxcd";
|
||||
version = "5.0.73";
|
||||
sha256 = "0vqgcb0ws5fnkrdzqfkyh78041c6q4l22b93rr0006dd4bmqrmg1";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NBitpayClient";
|
||||
|
@ -701,8 +701,8 @@
|
|||
})
|
||||
(fetchNuGet {
|
||||
name = "NBXplorer.Client";
|
||||
version = "3.0.19";
|
||||
sha256 = "0nahfxdsryf5snjy87770m51v2jcry02lmb10ilsg4h2ig4pjdk4";
|
||||
version = "3.0.20";
|
||||
sha256 = "1mwa6ncmg5r6q7yn6skm9dgqm631c7r7nadcg9mvbw81113h0xxy";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "NETStandard.Library";
|
||||
|
@ -729,11 +729,6 @@
|
|||
version = "10.0.3";
|
||||
sha256 = "06vy67bkshclpz69kps4vgzc9h2cgg41c8vlqmdbwclfky7c4haq";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Newtonsoft.Json";
|
||||
version = "11.0.1";
|
||||
sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m";
|
||||
})
|
||||
(fetchNuGet {
|
||||
name = "Newtonsoft.Json";
|
||||
version = "11.0.2";
|
||||
|
@ -921,8 +916,8 @@
|
|||
})
|
||||
(fetchNuGet {
|
||||
name = "Selenium.WebDriver.ChromeDriver";
|
||||
version = "87.0.4280.8800";
|
||||
sha256 = "1zrizydlhjv81r1fa5g8wzxrx1cxly3ip7pargj48hdx419iblfr";
|
||||
version = "88.0.4324.9600";
|
||||
sha256 = "0jm8dpfp329xsrg69lzq2m6x9yin1m43qgrhs15cz2qx9f02pdx9";
|
||||
})
|
||||
(fetchNuGet {
|
||||
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 {
|
||||
pname = "openethereum";
|
||||
version = "3.1.1";
|
||||
version = "3.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openethereum";
|
||||
repo = "openethereum";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-RUrJuJF0R0mc7XdLyk915fRWtMfzjp5QE6oeWxHfyEQ=";
|
||||
sha256 = "sha256-+bzMo0s+wdp8T/YjPk6mrPSPid1G8WScB8FJhXdL9JQ=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-b+winsCzU0sXGDX6nUtWq4JrIyTcJ3uva7RlV5VsXfk=";
|
||||
cargoSha256 = "sha256-ibjjJ5zGF6wbO24/RoYKsTYsMNXHb1EdekDwSICPc5g=";
|
||||
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -24,11 +24,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wasabiwallet";
|
||||
version = "1.1.12.4";
|
||||
version = "1.1.12.5";
|
||||
|
||||
src = fetchurl {
|
||||
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;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ mkDerivation, lib, fetchFromGitHub
|
||||
{ mkDerivation, lib, fetchFromGitHub, fetchpatch
|
||||
, cmake, extra-cmake-modules, pkg-config, libxcb, libpthreadstubs
|
||||
, libXdmcp, libXau, qtbase, qtdeclarative, qtquickcontrols2, qttools, pam, systemd
|
||||
}:
|
||||
|
@ -19,6 +19,12 @@ in mkDerivation {
|
|||
|
||||
patches = [
|
||||
./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 =
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, stdenv, fetchurl, intltool, wrapGAppsHook, pkg-config , gtk, libxml2
|
||||
, enchant, gucharmap, python, gnome3
|
||||
, enchant, gucharmap, python3, gnome3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ intltool pkg-config wrapGAppsHook ];
|
||||
buildInputs = [ gnome3.adwaita-icon-theme gtk libxml2
|
||||
enchant gucharmap python ];
|
||||
enchant gucharmap python3 ];
|
||||
|
||||
meta = with lib; {
|
||||
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 {
|
||||
pname = "auctex";
|
||||
ename = "auctex";
|
||||
version = "13.0.4";
|
||||
version = "13.0.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/auctex-13.0.4.tar";
|
||||
sha256 = "1362dqb8mcaddda9849gqsj6rzlfq18xprddb74j02884xl7hq65";
|
||||
url = "https://elpa.gnu.org/packages/auctex-13.0.5.tar";
|
||||
sha256 = "072wwsqfl8n2gi2inbp0s8k1ydr6fh1zyvc3rgynwzibjjniy319";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
|
@ -2203,10 +2203,10 @@
|
|||
elpaBuild {
|
||||
pname = "modus-operandi-theme";
|
||||
ename = "modus-operandi-theme";
|
||||
version = "0.13.1";
|
||||
version = "0.13.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/modus-operandi-theme-0.13.1.tar";
|
||||
sha256 = "08l9qmhvxiscxn4mfb80x57mk4gfm5r0fs2l9c8i3gfzd4i3h091";
|
||||
url = "https://elpa.gnu.org/packages/modus-operandi-theme-0.13.2.tar";
|
||||
sha256 = "1sw18ijp9rhaf8y8x8z5rmxy23pxd3gaicgmp2zndcfmm54gwsic";
|
||||
};
|
||||
packageRequires = [ emacs modus-themes ];
|
||||
meta = {
|
||||
|
@ -2237,10 +2237,10 @@
|
|||
elpaBuild {
|
||||
pname = "modus-vivendi-theme";
|
||||
ename = "modus-vivendi-theme";
|
||||
version = "0.13.1";
|
||||
version = "0.13.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/modus-vivendi-theme-0.13.1.tar";
|
||||
sha256 = "0xz304zcc872c2zwnlm8ky0m18smf7bffiyj21ygghgclr7kgma1";
|
||||
url = "https://elpa.gnu.org/packages/modus-vivendi-theme-0.13.2.tar";
|
||||
sha256 = "1qn3kzxwf81zc7gprd9wblhb8b8akdkxwajpgk036y8i4cmvmspn";
|
||||
};
|
||||
packageRequires = [ emacs modus-themes ];
|
||||
meta = {
|
||||
|
@ -3252,10 +3252,10 @@
|
|||
elpaBuild {
|
||||
pname = "setup";
|
||||
ename = "setup";
|
||||
version = "0.1.1";
|
||||
version = "0.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/setup-0.1.1.tar";
|
||||
sha256 = "0z34m06lxw6xd6bxacm1h5cijamsksk4daf6fbzhd7kqmw3gbgqg";
|
||||
url = "https://elpa.gnu.org/packages/setup-0.1.2.tar";
|
||||
sha256 = "1q29phch4fvmvc255kgvzsnzdqp6kaip7ybpxprd0kkdjs3jrsqv";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
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 {
|
||||
pname = "org";
|
||||
ename = "org";
|
||||
version = "20210315";
|
||||
version = "20210322";
|
||||
src = fetchurl {
|
||||
url = "https://orgmode.org/elpa/org-20210315.tar";
|
||||
sha256 = "128agds82kfmvxshzrs61802vgwlf2dsm79hq9x2bljrnvf8p14l";
|
||||
url = "https://orgmode.org/elpa/org-20210322.tar";
|
||||
sha256 = "0iv54rhwa0972yr1wqzmlkggs5vc6qajz8mmyfhynp65ap088g6v";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -19,10 +19,10 @@
|
|||
elpaBuild {
|
||||
pname = "org-plus-contrib";
|
||||
ename = "org-plus-contrib";
|
||||
version = "20210315";
|
||||
version = "20210322";
|
||||
src = fetchurl {
|
||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210315.tar";
|
||||
sha256 = "0dih4690pbbnwlphjnv1kgvsw43pkcgk41xjjiphy9sf7w9gr11j";
|
||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210322.tar";
|
||||
sha256 = "0riswc3ira8hsawm37yypji55z47bw2477kaw3qx7ghz3n62r9nf";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2,13 +2,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "ghostwriter";
|
||||
version = "2.0.0-rc4";
|
||||
version = "2.0.0-rc5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wereturtle";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "07547503a209hc0fcg902w3x0s1m899c10nj3gqz3hak0cmrasi3";
|
||||
sha256 = "sha256-Gc0/AHxxJd5Cq3dBQ0Xy2TF78CBmQFYUzm4s7q1aHEE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake pkg-config qttools ];
|
||||
|
|
|
@ -29,24 +29,24 @@ let
|
|||
|
||||
connect-kak = buildKakounePluginFrom2Nix {
|
||||
pname = "connect-kak";
|
||||
version = "2021-02-13";
|
||||
version = "2021-02-24";
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexherbo2";
|
||||
owner = "kakounedotcom";
|
||||
repo = "connect.kak";
|
||||
rev = "0858c0e50c6ca6d214fb088f052385a242548e83";
|
||||
sha256 = "1w4pwybg3v916hcyc49gz0blygv54ivv81x8fxp44ck0sy98idr3";
|
||||
rev = "a536605a208149eed58986bda54f3dda215dfe61";
|
||||
sha256 = "1svw64zk28sn271vjyzvq21zaln13vnx59rxnxah6adq8n5nkr4a";
|
||||
};
|
||||
meta.homepage = "https://github.com/alexherbo2/connect.kak/";
|
||||
meta.homepage = "https://github.com/kakounedotcom/connect.kak/";
|
||||
};
|
||||
|
||||
fzf-kak = buildKakounePluginFrom2Nix {
|
||||
pname = "fzf-kak";
|
||||
version = "2021-01-27";
|
||||
version = "2021-03-15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "andreyorst";
|
||||
repo = "fzf.kak";
|
||||
rev = "e10de405e2a98e910d0808059200d206ba80f865";
|
||||
sha256 = "1hbsm1k8k0cgv7gxqicvnl22n2lb1plhkanniggk694gll22lq68";
|
||||
rev = "4e6c9a857511fccdbbc835a1c9acb205b6486a4c";
|
||||
sha256 = "0syhhdlsm7vg6hcd2n2acag9g562z49rbb5smh5p2gnplhmp93i0";
|
||||
};
|
||||
meta.homepage = "https://github.com/andreyorst/fzf.kak/";
|
||||
};
|
||||
|
@ -149,26 +149,26 @@ let
|
|||
|
||||
powerline-kak = buildKakounePluginFrom2Nix {
|
||||
pname = "powerline-kak";
|
||||
version = "2021-02-15";
|
||||
version = "2021-02-25";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jdugan6240";
|
||||
owner = "andreyorst";
|
||||
repo = "powerline.kak";
|
||||
rev = "322a760daa099d519ff50d14c29b27f3e2af00d1";
|
||||
sha256 = "0mb8f8p6g75p05ifp45i0gbq2mib8c8giz7r1xfd0yrwspp4aksc";
|
||||
rev = "64ad98b6c85e63345563671b043960464d51c4b0";
|
||||
sha256 = "09w2sk19qi64hgsyg4gb407vyppnlgk272mqbinz2r3apy6szkl3";
|
||||
};
|
||||
meta.homepage = "https://github.com/jdugan6240/powerline.kak/";
|
||||
meta.homepage = "https://github.com/andreyorst/powerline.kak/";
|
||||
};
|
||||
|
||||
prelude-kak = buildKakounePluginFrom2Nix {
|
||||
pname = "prelude-kak";
|
||||
version = "2020-09-06";
|
||||
version = "2021-02-24";
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexherbo2";
|
||||
owner = "kakounedotcom";
|
||||
repo = "prelude.kak";
|
||||
rev = "f1e0f4d5cb62a36924e3f8ba6824d6aed8c19d23";
|
||||
rev = "5dbdc020c546032885c1fdb463e366cc89fc15ad";
|
||||
sha256 = "1pncr8azqvl2z9yvzhc68p1s9fld8cvak8yz88zgrp5ypx2cxl8c";
|
||||
};
|
||||
meta.homepage = "https://github.com/alexherbo2/prelude.kak/";
|
||||
meta.homepage = "https://github.com/kakounedotcom/prelude.kak/";
|
||||
};
|
||||
|
||||
replace-mode-kak = buildKakounePluginFrom2Nix {
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
alexherbo2/auto-pairs.kak
|
||||
alexherbo2/connect.kak
|
||||
alexherbo2/prelude.kak
|
||||
alexherbo2/replace-mode.kak
|
||||
alexherbo2/sleuth.kak
|
||||
andreyorst/fzf.kak
|
||||
andreyorst/powerline.kak
|
||||
danr/kakoune-easymotion
|
||||
Delapouite/kakoune-buffers
|
||||
Delapouite/kakoune-registers
|
||||
enricozb/tabs.kak@main
|
||||
greenfork/active-window.kak
|
||||
jdugan6240/powerline.kak
|
||||
kakoune-editor/kakoune-extra-filetypes
|
||||
kakounedotcom/connect.kak
|
||||
kakounedotcom/prelude.kak
|
||||
listentolist/kakoune-rainbow
|
||||
mayjs/openscad.kak
|
||||
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 }:
|
||||
|
||||
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 {
|
||||
version = "11.0_beta";
|
||||
version = "11.1";
|
||||
pname = "textadept11";
|
||||
|
||||
nativeBuildInputs = [ pkg-config unzip ];
|
||||
nativeBuildInputs = [ pkg-config unzip zip ];
|
||||
buildInputs = [
|
||||
gtk2 ncurses glib zip
|
||||
gtk2 ncurses glib
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "textadept11";
|
||||
owner = "orbitalquark";
|
||||
repo = "textadept";
|
||||
rev = "8da5f6b4a13f14b9dd3cb9dc23ad4f7bf41e91c1";
|
||||
sha256 = "0v11v3x8g6v696m3l1bm52zy2g9xzz7hlmn912sn30nhcag3raxs";
|
||||
rev = "1df99d561dd2055a01efa9183bb9e1b2ad43babc";
|
||||
sha256 = "0g4bh5dp391vi32aa796vszpbxyl2dm5231v9dwc8l9v0b2786qn";
|
||||
};
|
||||
|
||||
preConfigure =
|
||||
|
@ -40,7 +40,9 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=$(out) WGET=true PIXMAPS_DIR=$(out)/share/pixmaps"
|
||||
"PREFIX=$(out)"
|
||||
"WGET=true"
|
||||
"PIXMAPS_DIR=$(out)/share/pixmaps"
|
||||
];
|
||||
|
||||
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";
|
||||
sha256 = "1v1kyxj7rv5rxadbg8gl8wh1jafpy7zj0wr6dcyxq9209dl6h8ag";
|
||||
};
|
||||
"9e2ffa159299899c9345aea15c17ba1941953871.zip" = {
|
||||
url = "https://github.com/orbitalquark/scinterm/archive/9e2ffa159299899c9345aea15c17ba1941953871.zip";
|
||||
sha256 = "12h7prgp689w45p4scxd8vvsyw8fkv27g6gvgis55xr44daa6122";
|
||||
"6a774158d8a3c7bc7ea120bc01cdb016fa351a7e.zip" = {
|
||||
url = "https://github.com/orbitalquark/scinterm/archive/6a774158d8a3c7bc7ea120bc01cdb016fa351a7e.zip";
|
||||
sha256 = "083xvpw14dxbyrv4i48q76bmr44hs637qv363n6ibfs8xv1kq7iv";
|
||||
};
|
||||
"scintillua_4.4.5-1.zip" = {
|
||||
url = "https://github.com/orbitalquark/scintillua/archive/scintillua_4.4.5-1.zip";
|
||||
sha256 = "095wpbid2kvr5xgkhd5bd4sd7ljgk6gd9palrjkmdcwfgsf1lp04";
|
||||
"scintillua_4.4.5-2.zip" = {
|
||||
url = "https://github.com/orbitalquark/scintillua/archive/scintillua_4.4.5-2.zip";
|
||||
sha256 = "1061y2gg78zb2mml8msyarxgdwbf7g8g2v08fr1qqsqi2pbb7mfc";
|
||||
};
|
||||
"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";
|
||||
sha256 = "1zjzl7acvcdavmcg5l7wi12jd4rh95q9pl5aiww7hv0v0mv6bmj8";
|
||||
};
|
||||
"v1_7_0_2.zip" = {
|
||||
url = "https://github.com/keplerproject/luafilesystem/archive/v1_7_0_2.zip";
|
||||
sha256 = "0y44ymc7higz5dd2w3c6ib7mwmpr6yvszcl7lm12nf8x3y4snx4i";
|
||||
"v1_8_0.zip" = {
|
||||
url = "https://github.com/keplerproject/luafilesystem/archive/v1_8_0.zip";
|
||||
sha256 = "12p1p5qpdql44y3cc035h8rs8rgdqp6nrnrixlp5544agb5bx9p3";
|
||||
};
|
||||
"64587546482a1a6324706d75c80b77d2f87118a4.zip" = {
|
||||
url = "https://github.com/orbitalquark/gtdialog/archive/64587546482a1a6324706d75c80b77d2f87118a4.zip";
|
||||
sha256 = "10mglbnn8r1cakqn9h285pwfnh7kfa98v7j8qh83c24n66blyfh9";
|
||||
};
|
||||
"cdk-5.0-20150928.tgz" = {
|
||||
url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20150928.tgz";
|
||||
sha256 = "0j74l874y33i26y5kjg3pf1vswyjif8k93pqhi0iqykpbxfsg382";
|
||||
"cdk-5.0-20200923.tgz" = {
|
||||
url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20200923.tgz";
|
||||
sha256 = "1vdakz119a13d7p7w53hk56fdmbkhv6y9xvdapcfnbnbh3l5szq0";
|
||||
};
|
||||
"libtermkey-0.20.tar.gz" = {
|
||||
url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.20.tar.gz";
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "tiled";
|
||||
version = "1.4.3";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bjorn";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0n8p7bp5pqq72c65av3v7wbazwphh78pw27nqvpiyp9y8k5w4pg0";
|
||||
sha256 = "sha256-Pf9nA5DUAJ+PPNG+oP7RO4/TD8fy4ADsyq625a6cbFk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config qmake ];
|
||||
|
|
|
@ -75,7 +75,6 @@ in stdenv.mkDerivation rec {
|
|||
patches = [ ./cflags-prune.diff ] ++ lib.optional ftNixSupport ./ft-nix-support.patch;
|
||||
|
||||
configureFlags = [
|
||||
"--enable-gui=${guiSupport}"
|
||||
"--with-features=${features}"
|
||||
"--disable-xsmp" # XSMP session management
|
||||
"--disable-xsmp_interact" # XSMP interaction
|
||||
|
@ -95,6 +94,7 @@ in stdenv.mkDerivation rec {
|
|||
"--disable-carbon_check"
|
||||
"--disable-gtktest"
|
||||
]
|
||||
++ lib.optional (guiSupport == "gtk2" || guiSupport == "gtk3") "--enable-gui=${guiSupport}"
|
||||
++ lib.optional stdenv.isDarwin
|
||||
(if darwinSupport then "--enable-darwin" else "--disable-darwin")
|
||||
++ lib.optionals luaSupport [
|
||||
|
@ -127,8 +127,22 @@ in stdenv.mkDerivation rec {
|
|||
++ lib.optional (guiSupport == "gtk3") wrapGAppsHook
|
||||
;
|
||||
|
||||
buildInputs = [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau
|
||||
libXmu glib libICE ]
|
||||
buildInputs = [
|
||||
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 == "gtk3") gtk3-x11
|
||||
++ 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)
|
||||
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})
|
||||
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})
|
||||
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})
|
||||
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})
|
||||
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";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1px6x99cv8nb8lcy3vgcicr4ar0bfj5rfnc5a1yw8rs5p1qnflgw";
|
||||
x86_64-darwin = "0grzivqb2fyvwh0fjh9vr205fjcsrd1iqhkwk3mgv792zfrb7ksf";
|
||||
aarch64-linux = "0p0msxgc13kqmpq7wk61igc1qbgmgg9463s44dp4ii3630iyr4lw";
|
||||
armv7l-linux = "147lki1wr5nzsg1mq12jmdjq9qr6vbdpmzbpr5nrvq23cak94ff8";
|
||||
x86_64-linux = "0fpa3b807hy3wrb98h5s0p6ljya279bikv2qwq30nvr0f4zn48bk";
|
||||
x86_64-darwin = "0bw7pdzn0a0zr7x8fpwck7v73dq5vh71ja00z11mhjrkjnvmmd9k";
|
||||
aarch64-linux = "04wrqcmyamhwiwcyay1z0q0dvf6g7k3pcs93x7hahy16l65w7s2c";
|
||||
armv7l-linux = "1hkc9i4z021jwjn275w790bppfvi63g0cnwvkssqdh1c94939rhv";
|
||||
}.${system};
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
|
@ -25,7 +25,7 @@ in
|
|||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.54.2";
|
||||
version = "1.54.3";
|
||||
pname = "vscode";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
|
@ -34,7 +34,7 @@ in
|
|||
|
||||
src = fetchurl {
|
||||
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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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 {
|
||||
name = "zile-2.6.0.90";
|
||||
pname = "zile";
|
||||
version = "2.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/zile/${name}.tar.gz";
|
||||
sha256 = "1bhdwnasmqhy0hi3fqmpzr8xkw5zlqjpmf1cj42h4cg3fnamp6r3";
|
||||
url = "mirror://gnu/zile/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-v7rN33aOORc6J0Z5JP5AmZCj6XvjYyoCl5hl+7mvAnc=";
|
||||
};
|
||||
|
||||
buildInputs = [ glib libgee ncurses boehmgc vala ];
|
||||
nativeBuildInputs = [ perl pkg-config ]
|
||||
buildInputs = [
|
||||
boehmgc
|
||||
glib
|
||||
libgee
|
||||
ncurses
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
pkg-config
|
||||
vala
|
||||
]
|
||||
# `help2man' wants to run Zile, which won't work when the
|
||||
# newly-produced binary can't be run at build-time.
|
||||
++ lib.optional
|
||||
(stdenv.hostPlatform == stdenv.buildPlatform)
|
||||
help2man;
|
||||
++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) help2man;
|
||||
|
||||
# Tests can't be run because most of them rely on the ability to
|
||||
# fiddle with the terminal.
|
||||
|
@ -24,33 +43,38 @@ stdenv.mkDerivation rec {
|
|||
gl_cv_func_fstatat_zero_flag="yes";
|
||||
|
||||
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/";
|
||||
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;
|
||||
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
|
||||
maintainers = with maintainers; [ pSub AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib, stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, substituteAll
|
||||
, gdal
|
||||
, cmake
|
||||
|
@ -19,7 +20,7 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "OpenOrienteering-Mapper";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
|
||||
buildInputs = [
|
||||
gdal
|
||||
|
@ -38,14 +39,21 @@ mkDerivation rec {
|
|||
owner = "OpenOrienteering";
|
||||
repo = "mapper";
|
||||
rev = "v${version}";
|
||||
sha256 = "13k9dirqm74lknhr8w121zr1hjd9gm1y73cj4rrj98rx44dzmk7b";
|
||||
sha256 = "1w8ikqpgi0ksrzjal5ihfaik4grc5v3gdnnv79j20xkr2p4yn1h5";
|
||||
};
|
||||
|
||||
patches = (substituteAll {
|
||||
# See https://github.com/NixOS/nixpkgs/issues/86054
|
||||
patches = [
|
||||
# https://github.com/NixOS/nixpkgs/issues/86054
|
||||
(substituteAll {
|
||||
src = ./fix-qttranslations-path.diff;
|
||||
inherit qttranslations;
|
||||
});
|
||||
})
|
||||
# https://github.com/OpenOrienteering/mapper/pull/1907
|
||||
(fetchpatch {
|
||||
url = "https://github.com/OpenOrienteering/mapper/commit/bc52aa567e90a58d6963b44d5ae1909f3f841508.patch";
|
||||
sha256 = "1bkckapzccn6k0ri6bgrr0nhis9498fnwj7b32s2ysym8zcg0355";
|
||||
})
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
# Building the manual and bundling licenses fails
|
||||
|
@ -81,7 +89,8 @@ mkDerivation rec {
|
|||
and provides a free alternative to the existing proprietary solution.
|
||||
'';
|
||||
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;
|
||||
maintainers = with maintainers; [ mpickering sikmir ];
|
||||
};
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ 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,
|
||||
gtk-mac-integration-gtk2 }:
|
||||
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation {
|
|||
];
|
||||
|
||||
buildInputs =
|
||||
[ gtk2 libxml2 gettext python libxml2Python docbook5
|
||||
[ gtk2 libxml2 gettext python2 libxml2Python docbook5
|
||||
libxslt docbook_xsl libart_lgpl ]
|
||||
++ lib.optional withGNOME libgnomeui
|
||||
++ lib.optional stdenv.isDarwin gtk-mac-integration-gtk2;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lightburn";
|
||||
version = "0.9.21";
|
||||
version = "0.9.22";
|
||||
|
||||
nativeBuildInputs = [
|
||||
p7zip
|
||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/LightBurnSoftware/deployment/releases/download/${version}/LightBurn-Linux64-v${version}.7z";
|
||||
sha256 = "sha256-Tnv+vfKOdDWIU36T9ZqwdTwuMd2AOGyKBY0IkPfrZlc=";
|
||||
sha256 = "sha256-DOiO36suytukkviqYyLL47DFVzsJt2ZfSnnni95CLaA=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, writeText
|
||||
, cmake
|
||||
, doxygen
|
||||
|
@ -44,24 +44,16 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "monado";
|
||||
version = "0.4.1";
|
||||
version = "21.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
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 = [
|
||||
cmake
|
||||
doxygen
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "photoflare";
|
||||
version = "1.6.7";
|
||||
version = "1.6.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PhotoFlare";
|
||||
repo = "photoflare";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Gx3YP29NrNHp0p05a1O4Xb9kqkA6pQLTJZ3/wOx+BWY=";
|
||||
sha256 = "sha256-7b7ICcHuMjOMtyQDkokoHeZrF4G+bOzgRJP4mkns+Zc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake qttools ];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yEd";
|
||||
version = "3.20.1";
|
||||
version = "3.21.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip";
|
||||
sha256 = "0sd73s700f3gqq5zq1psrqjg6ff2gv49f8vd37v6bv65vdxqxryq";
|
||||
sha256 = "1jw28hkd7p0n660gid8yh5y0kdcz6ycn4hsgjlf0pq48x9kv6w0c";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper unzip wrapGAppsHook ];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
mkDerivation, lib,
|
||||
extra-cmake-modules,
|
||||
ffmpeg_3, kio, taglib
|
||||
ffmpeg_4, kio, taglib
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
|
@ -11,5 +11,5 @@ mkDerivation {
|
|||
maintainers = [ lib.maintainers.ttuegel ];
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules ];
|
||||
buildInputs = [ ffmpeg_3 kio taglib ];
|
||||
buildInputs = [ ffmpeg_4 kio taglib ];
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ mkDerivation {
|
|||
pname = "libksane";
|
||||
meta = with lib; {
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ pshendry ];
|
||||
maintainers = with maintainers; [ polendri ];
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules ];
|
||||
buildInputs = [ qtbase ki18n ktextwidgets kwallet kwidgetsaddons sane-backends ];
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "1password";
|
||||
version = "8.0.28";
|
||||
version = "8.0.30";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://onepassword.s3.amazonaws.com/linux/appimage/${pname}-${version}.AppImage";
|
||||
hash = "sha256-okLeyok/5rihGXaQaUR06dGkpuqqW02qJ6q6VVLtZsE=";
|
||||
hash = "sha256-j+fp/f8nta+OOuOFU4mmUrGYlVmAqdaXO4rLJ0in+m8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{ stdenv, lib, fetchFromGitHub, makeWrapper
|
||||
, curl, python, bind, iproute, bc, gitMinimal }:
|
||||
, curl, python3, bind, iproute, bc, gitMinimal }:
|
||||
let
|
||||
version = "1.23.0";
|
||||
deps = lib.makeBinPath [
|
||||
curl
|
||||
python
|
||||
python3
|
||||
bind.dnsutils
|
||||
iproute
|
||||
bc
|
||||
|
@ -24,11 +24,13 @@ stdenv.mkDerivation {
|
|||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
patchPhase = ''
|
||||
postPatch = ''
|
||||
patchShebangs install.sh
|
||||
substituteInPlace install.sh --replace /usr/local "$out"
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -86,6 +86,7 @@ mkDerivation rec {
|
|||
with python3Packages; [
|
||||
apsw
|
||||
beautifulsoup4
|
||||
cchardet
|
||||
css-parser
|
||||
cssselect
|
||||
dateutil
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, fetchFromGitHub, pythonPackages, gettext }:
|
||||
{ lib, fetchFromGitHub, python2Packages, gettext }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "cherrytree";
|
||||
version = "0.39.4";
|
||||
|
||||
|
@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
|
|||
|
||||
nativeBuildInputs = [ gettext ];
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ pygtk dbus-python pygtksourceview ];
|
||||
propagatedBuildInputs = with python2Packages; [ pygtk dbus-python pygtksourceview ];
|
||||
|
||||
patches = [ ./subprocess.patch ];
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
||||
{ lib, stdenv, fetchFromGitHub
|
||||
, dbus, cmake, pkg-config
|
||||
, glib, udev, polkit, libusb1, libjpeg, libmodule
|
||||
, pcre, libXdmcp, util-linux, libpthreadstubs
|
||||
|
@ -9,39 +9,31 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clightd";
|
||||
version = "5.1";
|
||||
version = "5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FedeDP";
|
||||
repo = "Clightd";
|
||||
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
|
||||
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_ACTION_DIR = "${placeholder "out"}/share/polkit-1/actions";
|
||||
|
||||
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(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
|
||||
'';
|
||||
|
||||
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 enableGamma "-DENABLE_GAMMA=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,
|
||||
# distributed by the editor.
|
||||
|
@ -13,7 +13,9 @@
|
|||
# I guess people owning a 3D printer generally don't use i686.
|
||||
# If, however, someone needs it, we certainly can find a solution.
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
pythonPackages = python2Packages;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "curabydagoma";
|
||||
# Version is the date, UNIX format
|
||||
version = "1520506579";
|
||||
|
@ -26,7 +28,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
unpackCmd = "unzip $curSrc && tar zxf CuraByDagoma_amd64.tar.gz";
|
||||
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
|
||||
# py files. However, Python doesn't realize that because the packages
|
||||
|
@ -46,7 +48,7 @@ stdenv.mkDerivation rec {
|
|||
cat > $out/bin/curabydago <<EOF
|
||||
#!${runtimeShell}
|
||||
export PYTHONPATH=$PYTHONPATH
|
||||
${python.out}/bin/python $out/curabydago/cura.py
|
||||
${pythonPackages.python.interpreter} $out/curabydago/cura.py
|
||||
EOF
|
||||
chmod a+x $out/bin/curabydago
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, copyDesktopItems
|
||||
, fetchFromGitHub
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
|
@ -14,26 +15,16 @@
|
|||
, zlib
|
||||
, 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 {
|
||||
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 {
|
||||
owner = "dbeaver";
|
||||
repo = "dbeaver";
|
||||
rev = version;
|
||||
sha256 = "sha256-it0EcPD7TXSknjVkGv22Nq1D4J32OEncQDy4w9CIPNk=";
|
||||
sha256 = "sha256-9l8604STqmdoUjD+EJCp4aDk4juKsPCmFnD/WYpajxo=";
|
||||
};
|
||||
|
||||
fetchedMavenDeps = stdenv.mkDerivation {
|
||||
|
@ -62,6 +53,12 @@ stdenv.mkDerivation rec {
|
|||
outputHash = "sha256-xKlFFQXd2U513KZKQa7ttSFNX2gxVr9hNsvyaoN/rEE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
maven
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fontconfig
|
||||
freetype
|
||||
|
@ -71,12 +68,19 @@ stdenv.mkDerivation rec {
|
|||
libX11
|
||||
libXrender
|
||||
libXtst
|
||||
makeWrapper
|
||||
zlib
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
maven
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "dbeaver";
|
||||
exec = "dbeaver";
|
||||
icon = "dbeaver";
|
||||
desktopName = "dbeaver";
|
||||
comment = "SQL Integrated Development Environment";
|
||||
genericName = "SQL Integrated Development Environment";
|
||||
categories = "Development;";
|
||||
})
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
|
@ -89,7 +93,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
installPhase =
|
||||
let
|
||||
productTargetPath = "product/standalone/target/products/org.jkiss.dbeaver.core.product";
|
||||
productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";
|
||||
|
||||
platformMap = {
|
||||
aarch64-linux = "aarch64";
|
||||
|
@ -129,10 +133,6 @@ stdenv.mkDerivation rec {
|
|||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk3 libXtst ])} \
|
||||
--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
|
||||
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";
|
||||
name = "dockbarx-${ver}";
|
||||
|
||||
|
@ -24,7 +24,7 @@ pythonPackages.buildPythonApplication rec {
|
|||
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 ])
|
||||
++ [ keybinder ];
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{ lib, pythonPackages }:
|
||||
{ lib, python3Packages }:
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "dotfiles";
|
||||
version = "0.6.4";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit version pname;
|
||||
sha256 = "03qis6m9r2qh00sqbgwsm883s4bj1ibwpgk86yh4l235mdw8jywv";
|
||||
};
|
||||
|
@ -12,8 +12,8 @@ pythonPackages.buildPythonApplication rec {
|
|||
# No tests in archive
|
||||
doCheck = false;
|
||||
|
||||
checkInputs = with pythonPackages; [ pytest ];
|
||||
propagatedBuildInputs = with pythonPackages; [ click ];
|
||||
checkInputs = with python3Packages; [ pytest ];
|
||||
propagatedBuildInputs = with python3Packages; [ click ];
|
||||
|
||||
meta = with lib; {
|
||||
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
|
||||
, dbiSupport ? false, libdbi ? null, libdbiDrivers ? null
|
||||
, postgresSupport ? false, postgresql ? null
|
||||
|
@ -21,7 +21,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
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 postgresSupport [ postgresql ];
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "gpxsee";
|
||||
version = "8.8";
|
||||
version = "8.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tumic0";
|
||||
repo = "GPXSee";
|
||||
rev = version;
|
||||
sha256 = "sha256-eAXMmjPcfnJA5w6w/SRc6T5KHss77t0JijTB6+ctjzo=";
|
||||
sha256 = "sha256-nl9iu8ezgMZ1wy2swDXYRDLlkSz1II+C65UUWNvGBxg=";
|
||||
};
|
||||
|
||||
patches = (substituteAll {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue