Merge master into haskell-updates
This commit is contained in:
commit
02be936be3
|
@ -6,7 +6,7 @@ Docker itself is not used to perform any of the operations done by these functio
|
||||||
## buildImage {#ssec-pkgs-dockerTools-buildImage}
|
## buildImage {#ssec-pkgs-dockerTools-buildImage}
|
||||||
|
|
||||||
This function builds a Docker-compatible repository tarball containing a single image.
|
This function builds a Docker-compatible repository tarball containing a single image.
|
||||||
As such, the result is suitable for being loaded in Docker with `docker load` (see [](#ex-dockerTools-buildImage) for how to do this).
|
As such, the result is suitable for being loaded in Docker with `docker image load` (see [](#ex-dockerTools-buildImage) for how to do this).
|
||||||
|
|
||||||
This function will create a single layer for all files (and dependencies) that are specified in its argument.
|
This function will create a single layer for all files (and dependencies) that are specified in its argument.
|
||||||
Only new dependencies that are not already in the existing layers will be copied.
|
Only new dependencies that are not already in the existing layers will be copied.
|
||||||
|
@ -43,7 +43,7 @@ Similarly, if you encounter errors similar to `Error_Protocol ("certificate has
|
||||||
`fromImage` (Path or Null; _optional_)
|
`fromImage` (Path or Null; _optional_)
|
||||||
|
|
||||||
: The repository tarball of an image to be used as the base for the generated image.
|
: The repository tarball of an image to be used as the base for the generated image.
|
||||||
It must be a valid Docker image, such as one exported by `docker save`, or another image built with the `dockerTools` utility functions.
|
It must be a valid Docker image, such as one exported by `docker image save`, or another image built with the `dockerTools` utility functions.
|
||||||
This can be seen as an equivalent of `FROM fromImage` in a `Dockerfile`.
|
This can be seen as an equivalent of `FROM fromImage` in a `Dockerfile`.
|
||||||
A value of `null` can be seen as an equivalent of `FROM scratch`.
|
A value of `null` can be seen as an equivalent of `FROM scratch`.
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ Similarly, if you encounter errors similar to `Error_Protocol ("certificate has
|
||||||
|
|
||||||
_Default value:_ `""`.
|
_Default value:_ `""`.
|
||||||
|
|
||||||
`config` (Attribute Set; _optional_)
|
`config` (Attribute Set or Null; _optional_)
|
||||||
|
|
||||||
: Used to specify the configuration of the containers that will be started off the generated image.
|
: Used to specify the configuration of the containers that will be started off the generated image.
|
||||||
Must be an attribute set, with each attribute as listed in the [Docker Image Specification v1.3.0](https://github.com/moby/moby/blob/46f7ab808b9504d735d600e259ca0723f76fb164/image/spec/spec.md#image-json-field-descriptions).
|
Must be an attribute set, with each attribute as listed in the [Docker Image Specification v1.3.0](https://github.com/moby/moby/blob/46f7ab808b9504d735d600e259ca0723f76fb164/image/spec/spec.md#image-json-field-descriptions).
|
||||||
|
@ -247,7 +247,7 @@ Cooking the image...
|
||||||
Finished.
|
Finished.
|
||||||
/nix/store/p4dsg62inh9d2ksy3c7bv58xa851dasr-docker-image-redis.tar.gz
|
/nix/store/p4dsg62inh9d2ksy3c7bv58xa851dasr-docker-image-redis.tar.gz
|
||||||
|
|
||||||
$ docker load -i /nix/store/p4dsg62inh9d2ksy3c7bv58xa851dasr-docker-image-redis.tar.gz
|
$ docker image load -i /nix/store/p4dsg62inh9d2ksy3c7bv58xa851dasr-docker-image-redis.tar.gz
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
Loaded image: redis:latest
|
Loaded image: redis:latest
|
||||||
```
|
```
|
||||||
|
@ -345,8 +345,8 @@ dockerTools.buildImage {
|
||||||
|
|
||||||
After importing the generated repository tarball with Docker, its CLI will display a reasonable date and sort the images as expected:
|
After importing the generated repository tarball with Docker, its CLI will display a reasonable date and sort the images as expected:
|
||||||
|
|
||||||
```ShellSession
|
```shell
|
||||||
$ docker images
|
$ docker image ls
|
||||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||||
hello latest de2bf4786de6 About a minute ago 25.2MB
|
hello latest de2bf4786de6 About a minute ago 25.2MB
|
||||||
```
|
```
|
||||||
|
@ -364,7 +364,7 @@ Despite the similar name, [`buildImage`](#ssec-pkgs-dockerTools-buildImage) work
|
||||||
Even though some of the arguments may seem related, they cannot be interchanged.
|
Even though some of the arguments may seem related, they cannot be interchanged.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
You can use this function to load an image in Docker with `docker load`.
|
You can load the result of this function in Docker with `docker image load`.
|
||||||
See [](#ex-dockerTools-buildLayeredImage-hello) to see how to do that.
|
See [](#ex-dockerTools-buildLayeredImage-hello) to see how to do that.
|
||||||
|
|
||||||
### Examples {#ssec-pkgs-dockerTools-buildLayeredImage-examples}
|
### Examples {#ssec-pkgs-dockerTools-buildLayeredImage-examples}
|
||||||
|
@ -404,7 +404,7 @@ Adding manifests...
|
||||||
Done.
|
Done.
|
||||||
/nix/store/hxcz7snvw7f8rzhbh6mv8jq39d992905-hello.tar.gz
|
/nix/store/hxcz7snvw7f8rzhbh6mv8jq39d992905-hello.tar.gz
|
||||||
|
|
||||||
$ docker load -i /nix/store/hxcz7snvw7f8rzhbh6mv8jq39d992905-hello.tar.gz
|
$ docker image load -i /nix/store/hxcz7snvw7f8rzhbh6mv8jq39d992905-hello.tar.gz
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
Loaded image: hello:latest
|
Loaded image: hello:latest
|
||||||
```
|
```
|
||||||
|
@ -415,7 +415,7 @@ Loaded image: hello:latest
|
||||||
`streamLayeredImage` builds a **script** which, when run, will stream to stdout a Docker-compatible repository tarball containing a single image, using multiple layers to improve sharing between images.
|
`streamLayeredImage` builds a **script** which, when run, will stream to stdout a Docker-compatible repository tarball containing a single image, using multiple layers to improve sharing between images.
|
||||||
This means that `streamLayeredImage` does not output an image into the Nix store, but only a script that builds the image, saving on IO and disk/cache space, particularly with large images.
|
This means that `streamLayeredImage` does not output an image into the Nix store, but only a script that builds the image, saving on IO and disk/cache space, particularly with large images.
|
||||||
|
|
||||||
You can use this function to load an image in Docker with `docker load`.
|
You can load the result of this function in Docker with `docker image load`.
|
||||||
See [](#ex-dockerTools-streamLayeredImage-hello) to see how to do that.
|
See [](#ex-dockerTools-streamLayeredImage-hello) to see how to do that.
|
||||||
|
|
||||||
For this function, you specify a [store path](https://nixos.org/manual/nix/stable/store/store-path) or a list of store paths to be added to the image, and the functions will automatically include any dependencies of those paths in the image.
|
For this function, you specify a [store path](https://nixos.org/manual/nix/stable/store/store-path) or a list of store paths to be added to the image, and the functions will automatically include any dependencies of those paths in the image.
|
||||||
|
@ -440,7 +440,7 @@ This allows the function to produce reproducible images.
|
||||||
|
|
||||||
: The name of the generated image.
|
: The name of the generated image.
|
||||||
|
|
||||||
`tag` (String; _optional_)
|
`tag` (String or Null; _optional_)
|
||||||
|
|
||||||
: Tag of the generated image.
|
: Tag of the generated image.
|
||||||
If `null`, the hash of the nix derivation will be used as the tag.
|
If `null`, the hash of the nix derivation will be used as the tag.
|
||||||
|
@ -450,7 +450,7 @@ This allows the function to produce reproducible images.
|
||||||
`fromImage`(Path or Null; _optional_)
|
`fromImage`(Path or Null; _optional_)
|
||||||
|
|
||||||
: The repository tarball of an image to be used as the base for the generated image.
|
: The repository tarball of an image to be used as the base for the generated image.
|
||||||
It must be a valid Docker image, such as one exported by `docker save`, or another image built with the `dockerTools` utility functions.
|
It must be a valid Docker image, such as one exported by `docker image save`, or another image built with the `dockerTools` utility functions.
|
||||||
This can be seen as an equivalent of `FROM fromImage` in a `Dockerfile`.
|
This can be seen as an equivalent of `FROM fromImage` in a `Dockerfile`.
|
||||||
A value of `null` can be seen as an equivalent of `FROM scratch`.
|
A value of `null` can be seen as an equivalent of `FROM scratch`.
|
||||||
|
|
||||||
|
@ -470,7 +470,7 @@ This allows the function to produce reproducible images.
|
||||||
|
|
||||||
_Default value:_ `[]`
|
_Default value:_ `[]`
|
||||||
|
|
||||||
`config` (Attribute Set; _optional_) []{#dockerTools-buildLayeredImage-arg-config}
|
`config` (Attribute Set or Null; _optional_) []{#dockerTools-buildLayeredImage-arg-config}
|
||||||
|
|
||||||
: Used to specify the configuration of the containers that will be started off the generated image.
|
: Used to specify the configuration of the containers that will be started off the generated image.
|
||||||
Must be an attribute set, with each attribute as listed in the [Docker Image Specification v1.3.0](https://github.com/moby/moby/blob/46f7ab808b9504d735d600e259ca0723f76fb164/image/spec/spec.md#image-json-field-descriptions).
|
Must be an attribute set, with each attribute as listed in the [Docker Image Specification v1.3.0](https://github.com/moby/moby/blob/46f7ab808b9504d735d600e259ca0723f76fb164/image/spec/spec.md#image-json-field-descriptions).
|
||||||
|
@ -594,7 +594,7 @@ dockerTools.streamLayeredImage {
|
||||||
```
|
```
|
||||||
|
|
||||||
The result of building this package is a script.
|
The result of building this package is a script.
|
||||||
Running this script and piping it into `docker load` gives you the same image that was built in [](#ex-dockerTools-buildLayeredImage-hello).
|
Running this script and piping it into `docker image load` gives you the same image that was built in [](#ex-dockerTools-buildLayeredImage-hello).
|
||||||
Note that in this case, the image is never added to the Nix store, but instead streamed directly into Docker.
|
Note that in this case, the image is never added to the Nix store, but instead streamed directly into Docker.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
@ -602,7 +602,7 @@ $ nix-build
|
||||||
(output removed for clarity)
|
(output removed for clarity)
|
||||||
/nix/store/wsz2xl8ckxnlb769irvq6jv1280dfvxd-stream-hello
|
/nix/store/wsz2xl8ckxnlb769irvq6jv1280dfvxd-stream-hello
|
||||||
|
|
||||||
$ /nix/store/wsz2xl8ckxnlb769irvq6jv1280dfvxd-stream-hello | docker load
|
$ /nix/store/wsz2xl8ckxnlb769irvq6jv1280dfvxd-stream-hello | docker image load
|
||||||
No 'fromImage' provided
|
No 'fromImage' provided
|
||||||
Creating layer 1 from paths: ['/nix/store/i93s7xxblavsacpy82zdbn4kplsyq48l-libunistring-1.1']
|
Creating layer 1 from paths: ['/nix/store/i93s7xxblavsacpy82zdbn4kplsyq48l-libunistring-1.1']
|
||||||
Creating layer 2 from paths: ['/nix/store/ji01n9vinnj22nbrb86nx8a1ssgpilx8-libidn2-2.3.4']
|
Creating layer 2 from paths: ['/nix/store/ji01n9vinnj22nbrb86nx8a1ssgpilx8-libidn2-2.3.4']
|
||||||
|
@ -718,7 +718,7 @@ dockerTools.streamLayeredImage {
|
||||||
[]{#ssec-pkgs-dockerTools-fetchFromRegistry}
|
[]{#ssec-pkgs-dockerTools-fetchFromRegistry}
|
||||||
## pullImage {#ssec-pkgs-dockerTools-pullImage}
|
## pullImage {#ssec-pkgs-dockerTools-pullImage}
|
||||||
|
|
||||||
This function is similar to the `docker pull` command, which means it can be used to pull a Docker image from a registry that implements the [Docker Registry HTTP API V2](https://distribution.github.io/distribution/spec/api/).
|
This function is similar to the `docker image pull` command, which means it can be used to pull a Docker image from a registry that implements the [Docker Registry HTTP API V2](https://distribution.github.io/distribution/spec/api/).
|
||||||
By default, the `docker.io` registry is used.
|
By default, the `docker.io` registry is used.
|
||||||
|
|
||||||
The image will be downloaded as an uncompressed Docker-compatible repository tarball, which is suitable for use with other `dockerTools` functions such as [`buildImage`](#ssec-pkgs-dockerTools-buildImage), [`buildLayeredImage`](#ssec-pkgs-dockerTools-buildLayeredImage), and [`streamLayeredImage`](#ssec-pkgs-dockerTools-streamLayeredImage).
|
The image will be downloaded as an uncompressed Docker-compatible repository tarball, which is suitable for use with other `dockerTools` functions such as [`buildImage`](#ssec-pkgs-dockerTools-buildImage), [`buildLayeredImage`](#ssec-pkgs-dockerTools-buildLayeredImage), and [`streamLayeredImage`](#ssec-pkgs-dockerTools-streamLayeredImage).
|
||||||
|
@ -1105,7 +1105,7 @@ This is currently implemented by linking to the `env` binary from the `coreutils
|
||||||
### binSh {#sssec-pkgs-dockerTools-helpers-binSh}
|
### binSh {#sssec-pkgs-dockerTools-helpers-binSh}
|
||||||
|
|
||||||
This provides a `/bin/sh` link to the `bash` binary from the `bashInteractive` package.
|
This provides a `/bin/sh` link to the `bash` binary from the `bashInteractive` package.
|
||||||
Because of this, it supports cases such as running a command interactively in a container (for example by running `docker run -it <image_name>`).
|
Because of this, it supports cases such as running a command interactively in a container (for example by running `docker container run -it <image_name>`).
|
||||||
|
|
||||||
### caCertificates {#sssec-pkgs-dockerTools-helpers-caCertificates}
|
### caCertificates {#sssec-pkgs-dockerTools-helpers-caCertificates}
|
||||||
|
|
||||||
|
@ -1169,9 +1169,9 @@ This is made possible by `binSh`.
|
||||||
$ nix-build
|
$ nix-build
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
/nix/store/2p0i3i04cgjlk71hsn7ll4kxaxxiv4qg-docker-image-env-helpers.tar.gz
|
/nix/store/2p0i3i04cgjlk71hsn7ll4kxaxxiv4qg-docker-image-env-helpers.tar.gz
|
||||||
$ docker load -i /nix/store/2p0i3i04cgjlk71hsn7ll4kxaxxiv4qg-docker-image-env-helpers.tar.gz
|
$ docker image load -i /nix/store/2p0i3i04cgjlk71hsn7ll4kxaxxiv4qg-docker-image-env-helpers.tar.gz
|
||||||
(output removed for clarity)
|
(output removed for clarity)
|
||||||
$ docker run --rm -it env-helpers:latest /bin/sh
|
$ docker container run --rm -it env-helpers:latest /bin/sh
|
||||||
sh-5.2# help
|
sh-5.2# help
|
||||||
GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
|
GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
|
||||||
(rest of output removed for clarity)
|
(rest of output removed for clarity)
|
||||||
|
@ -1209,9 +1209,9 @@ This is made possible by `binSh`.
|
||||||
$ nix-build
|
$ nix-build
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
/nix/store/rpf47f4z5b9qr4db4ach9yr4b85hjhxq-env-helpers.tar.gz
|
/nix/store/rpf47f4z5b9qr4db4ach9yr4b85hjhxq-env-helpers.tar.gz
|
||||||
$ docker load -i /nix/store/rpf47f4z5b9qr4db4ach9yr4b85hjhxq-env-helpers.tar.gz
|
$ docker image load -i /nix/store/rpf47f4z5b9qr4db4ach9yr4b85hjhxq-env-helpers.tar.gz
|
||||||
(output removed for clarity)
|
(output removed for clarity)
|
||||||
$ docker run --rm -it env-helpers:latest /bin/sh
|
$ docker container run --rm -it env-helpers:latest /bin/sh
|
||||||
sh-5.2# help
|
sh-5.2# help
|
||||||
GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
|
GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
|
||||||
(rest of output removed for clarity)
|
(rest of output removed for clarity)
|
||||||
|
@ -1315,7 +1315,7 @@ $ nix-build
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
/nix/store/pkj1sgzaz31wl0pbvbg3yp5b3kxndqms-hello-2.12.1-env.tar.gz
|
/nix/store/pkj1sgzaz31wl0pbvbg3yp5b3kxndqms-hello-2.12.1-env.tar.gz
|
||||||
|
|
||||||
$ docker load -i /nix/store/pkj1sgzaz31wl0pbvbg3yp5b3kxndqms-hello-2.12.1-env.tar.gz
|
$ docker image load -i /nix/store/pkj1sgzaz31wl0pbvbg3yp5b3kxndqms-hello-2.12.1-env.tar.gz
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
Loaded image: hello-2.12.1-env:latest
|
Loaded image: hello-2.12.1-env:latest
|
||||||
```
|
```
|
||||||
|
@ -1323,7 +1323,7 @@ Loaded image: hello-2.12.1-env:latest
|
||||||
After starting an interactive container, the derivation can be built by running `buildDerivation`, and the output can be executed as expected:
|
After starting an interactive container, the derivation can be built by running `buildDerivation`, and the output can be executed as expected:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker run -it hello-2.12.1-env:latest
|
$ docker container run -it hello-2.12.1-env:latest
|
||||||
[nix-shell:~]$ buildDerivation
|
[nix-shell:~]$ buildDerivation
|
||||||
Running phase: unpackPhase
|
Running phase: unpackPhase
|
||||||
unpacking source archive /nix/store/pa10z4ngm0g83kx9mssrqzz30s84vq7k-hello-2.12.1.tar.gz
|
unpacking source archive /nix/store/pa10z4ngm0g83kx9mssrqzz30s84vq7k-hello-2.12.1.tar.gz
|
||||||
|
@ -1443,14 +1443,14 @@ dockerTools.streamNixShellImage {
|
||||||
```
|
```
|
||||||
|
|
||||||
The result of building this package is a script.
|
The result of building this package is a script.
|
||||||
Running this script and piping it into `docker load` gives you the same image that was built in [](#ex-dockerTools-buildNixShellImage-hello).
|
Running this script and piping it into `docker image load` gives you the same image that was built in [](#ex-dockerTools-buildNixShellImage-hello).
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ nix-build
|
$ nix-build
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
/nix/store/8vhznpz2frqazxnd8pgdvf38jscdypax-stream-hello-2.12.1-env
|
/nix/store/8vhznpz2frqazxnd8pgdvf38jscdypax-stream-hello-2.12.1-env
|
||||||
|
|
||||||
$ /nix/store/8vhznpz2frqazxnd8pgdvf38jscdypax-stream-hello-2.12.1-env | docker load
|
$ /nix/store/8vhznpz2frqazxnd8pgdvf38jscdypax-stream-hello-2.12.1-env | docker image load
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
Loaded image: hello-2.12.1-env:latest
|
Loaded image: hello-2.12.1-env:latest
|
||||||
```
|
```
|
||||||
|
@ -1458,7 +1458,7 @@ Loaded image: hello-2.12.1-env:latest
|
||||||
After starting an interactive container, the derivation can be built by running `buildDerivation`, and the output can be executed as expected:
|
After starting an interactive container, the derivation can be built by running `buildDerivation`, and the output can be executed as expected:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker run -it hello-2.12.1-env:latest
|
$ docker container run -it hello-2.12.1-env:latest
|
||||||
[nix-shell:~]$ buildDerivation
|
[nix-shell:~]$ buildDerivation
|
||||||
Running phase: unpackPhase
|
Running phase: unpackPhase
|
||||||
unpacking source archive /nix/store/pa10z4ngm0g83kx9mssrqzz30s84vq7k-hello-2.12.1.tar.gz
|
unpacking source archive /nix/store/pa10z4ngm0g83kx9mssrqzz30s84vq7k-hello-2.12.1.tar.gz
|
||||||
|
@ -1497,14 +1497,14 @@ dockerTools.streamNixShellImage {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The result of building this package is a script which can be run and piped into `docker load` to load the generated image.
|
The result of building this package is a script which can be run and piped into `docker image load` to load the generated image.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ nix-build
|
$ nix-build
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
/nix/store/h5abh0vljgzg381lna922gqknx6yc0v7-stream-hello-2.12.1-env
|
/nix/store/h5abh0vljgzg381lna922gqknx6yc0v7-stream-hello-2.12.1-env
|
||||||
|
|
||||||
$ /nix/store/h5abh0vljgzg381lna922gqknx6yc0v7-stream-hello-2.12.1-env | docker load
|
$ /nix/store/h5abh0vljgzg381lna922gqknx6yc0v7-stream-hello-2.12.1-env | docker image load
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
Loaded image: hello-2.12.1-env:latest
|
Loaded image: hello-2.12.1-env:latest
|
||||||
```
|
```
|
||||||
|
@ -1512,7 +1512,7 @@ Loaded image: hello-2.12.1-env:latest
|
||||||
After starting an interactive container, we can verify the extra package is available by running `cowsay`:
|
After starting an interactive container, we can verify the extra package is available by running `cowsay`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker run -it hello-2.12.1-env:latest
|
$ docker container run -it hello-2.12.1-env:latest
|
||||||
[nix-shell:~]$ cowsay "Hello, world!"
|
[nix-shell:~]$ cowsay "Hello, world!"
|
||||||
_______________
|
_______________
|
||||||
< Hello, world! >
|
< Hello, world! >
|
||||||
|
@ -1546,14 +1546,14 @@ dockerTools.streamNixShellImage {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The result of building this package is a script which can be run and piped into `docker load` to load the generated image.
|
The result of building this package is a script which can be run and piped into `docker image load` to load the generated image.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ nix-build
|
$ nix-build
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
/nix/store/iz4dhdvgzazl5vrgyz719iwjzjy6xlx1-stream-hello-2.12.1-env
|
/nix/store/iz4dhdvgzazl5vrgyz719iwjzjy6xlx1-stream-hello-2.12.1-env
|
||||||
|
|
||||||
$ /nix/store/iz4dhdvgzazl5vrgyz719iwjzjy6xlx1-stream-hello-2.12.1-env | docker load
|
$ /nix/store/iz4dhdvgzazl5vrgyz719iwjzjy6xlx1-stream-hello-2.12.1-env | docker image load
|
||||||
(some output removed for clarity)
|
(some output removed for clarity)
|
||||||
Loaded image: hello-2.12.1-env:latest
|
Loaded image: hello-2.12.1-env:latest
|
||||||
```
|
```
|
||||||
|
@ -1561,7 +1561,7 @@ Loaded image: hello-2.12.1-env:latest
|
||||||
After starting an interactive container, we can see the result of the `shellHook`:
|
After starting an interactive container, we can see the result of the `shellHook`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ docker run -it hello-2.12.1-env:latest
|
$ docker container run -it hello-2.12.1-env:latest
|
||||||
Hello, world!
|
Hello, world!
|
||||||
|
|
||||||
[nix-shell:~]$
|
[nix-shell:~]$
|
||||||
|
|
|
@ -44,11 +44,11 @@ rustPlatform.buildRustPackage rec {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
`buildRustPackage` requires either the `cargoHash` or the `cargoSha256`
|
`buildRustPackage` requires either a `cargoHash` (preferred) or a
|
||||||
attribute which is computed over all crate sources of this package.
|
`cargoSha256` attribute, computed over all crate sources of this package.
|
||||||
`cargoSha256` is used for traditional Nix SHA-256 hashes. `cargoHash` should
|
`cargoHash` supports [SRI](https://www.w3.org/TR/SRI/) hashes and should be
|
||||||
instead be used for [SRI](https://www.w3.org/TR/SRI/) hashes and should be
|
preferred over `cargoSha256` which was used for traditional Nix SHA-256 hashes.
|
||||||
preferred. For example:
|
For example:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8=";
|
cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8=";
|
||||||
|
@ -64,18 +64,18 @@ Both types of hashes are permitted when contributing to nixpkgs. The
|
||||||
Cargo hash is obtained by inserting a fake checksum into the
|
Cargo hash is obtained by inserting a fake checksum into the
|
||||||
expression and building the package once. The correct checksum can
|
expression and building the package once. The correct checksum can
|
||||||
then be taken from the failed build. A fake hash can be used for
|
then be taken from the failed build. A fake hash can be used for
|
||||||
`cargoSha256` as follows:
|
`cargoHash` as follows:
|
||||||
|
|
||||||
```nix
|
|
||||||
cargoSha256 = lib.fakeSha256;
|
|
||||||
```
|
|
||||||
|
|
||||||
For `cargoHash` you can use:
|
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
cargoHash = lib.fakeHash;
|
cargoHash = lib.fakeHash;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
For `cargoSha256` you can use:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
cargoSha256 = lib.fakeSha256;
|
||||||
|
```
|
||||||
|
|
||||||
Per the instructions in the [Cargo Book](https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html)
|
Per the instructions in the [Cargo Book](https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html)
|
||||||
best practices guide, Rust applications should always commit the `Cargo.lock`
|
best practices guide, Rust applications should always commit the `Cargo.lock`
|
||||||
file in git to ensure a reproducible build. However, a few packages do not, and
|
file in git to ensure a reproducible build. However, a few packages do not, and
|
||||||
|
@ -90,7 +90,7 @@ directory into a tar.gz archive.
|
||||||
The tarball with vendored dependencies contains a directory with the
|
The tarball with vendored dependencies contains a directory with the
|
||||||
package's `name`, which is normally composed of `pname` and
|
package's `name`, which is normally composed of `pname` and
|
||||||
`version`. This means that the vendored dependencies hash
|
`version`. This means that the vendored dependencies hash
|
||||||
(`cargoSha256`/`cargoHash`) is dependent on the package name and
|
(`cargoHash`/`cargoSha256`) is dependent on the package name and
|
||||||
version. The `cargoDepsName` attribute can be used to use another name
|
version. The `cargoDepsName` attribute can be used to use another name
|
||||||
for the directory of vendored dependencies. For example, the hash can
|
for the directory of vendored dependencies. For example, the hash can
|
||||||
be made invariant to the version by setting `cargoDepsName` to
|
be made invariant to the version by setting `cargoDepsName` to
|
||||||
|
@ -115,7 +115,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
### Importing a `Cargo.lock` file {#importing-a-cargo.lock-file}
|
### Importing a `Cargo.lock` file {#importing-a-cargo.lock-file}
|
||||||
|
|
||||||
Using `cargoSha256` or `cargoHash` is tedious when using
|
Using a vendored hash (`cargoHash`/`cargoSha256`) is tedious when using
|
||||||
`buildRustPackage` within a project, since it requires that the hash
|
`buildRustPackage` within a project, since it requires that the hash
|
||||||
is updated after every change to `Cargo.lock`. Therefore,
|
is updated after every change to `Cargo.lock`. Therefore,
|
||||||
`buildRustPackage` also supports vendoring dependencies directly from
|
`buildRustPackage` also supports vendoring dependencies directly from
|
||||||
|
|
|
@ -98,7 +98,7 @@ $ sudo launchctl kickstart -k system/org.nixos.nix-daemon
|
||||||
host.pkgs = pkgs;
|
host.pkgs = pkgs;
|
||||||
darwin-builder.workingDirectory = "/var/lib/darwin-builder";
|
darwin-builder.workingDirectory = "/var/lib/darwin-builder";
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -2250,6 +2250,12 @@
|
||||||
githubId = 24027;
|
githubId = 24027;
|
||||||
name = "Bruno Bigras";
|
name = "Bruno Bigras";
|
||||||
};
|
};
|
||||||
|
bbjubjub = {
|
||||||
|
name = "Julie B.";
|
||||||
|
email = "julie+nixpkgs@bbjubjub.fr";
|
||||||
|
github = "bbjubjub2494";
|
||||||
|
githubId = 15657735;
|
||||||
|
};
|
||||||
bburdette = {
|
bburdette = {
|
||||||
email = "bburdette@protonmail.com";
|
email = "bburdette@protonmail.com";
|
||||||
github = "bburdette";
|
github = "bburdette";
|
||||||
|
@ -3216,6 +3222,13 @@
|
||||||
github = "cdmistman";
|
github = "cdmistman";
|
||||||
githubId = 23486351;
|
githubId = 23486351;
|
||||||
};
|
};
|
||||||
|
cdombroski = {
|
||||||
|
name = "Chris Dombroski";
|
||||||
|
email = "cdombroski@gmail.com";
|
||||||
|
matrix = "@cdombroski:kow.is";
|
||||||
|
github = "cdombroski";
|
||||||
|
githubId = 244909;
|
||||||
|
};
|
||||||
ceedubs = {
|
ceedubs = {
|
||||||
email = "ceedubs@gmail.com";
|
email = "ceedubs@gmail.com";
|
||||||
github = "ceedubs";
|
github = "ceedubs";
|
||||||
|
@ -4289,6 +4302,15 @@
|
||||||
githubId = 34766150;
|
githubId = 34766150;
|
||||||
name = "datafoo";
|
name = "datafoo";
|
||||||
};
|
};
|
||||||
|
DataHearth = {
|
||||||
|
email = "dev@antoine-langlois.net";
|
||||||
|
github = "DataHearth";
|
||||||
|
githubId = 28595242;
|
||||||
|
name = "DataHearth";
|
||||||
|
keys = [{
|
||||||
|
fingerprint = "A129 2547 0298 BFEE 7EE0 92B3 946E 2D0C 410C 7B3D";
|
||||||
|
}];
|
||||||
|
};
|
||||||
davegallant = {
|
davegallant = {
|
||||||
name = "Dave Gallant";
|
name = "Dave Gallant";
|
||||||
email = "davegallant@gmail.com";
|
email = "davegallant@gmail.com";
|
||||||
|
@ -4782,6 +4804,12 @@
|
||||||
githubId = 8404455;
|
githubId = 8404455;
|
||||||
name = "Diego Lelis";
|
name = "Diego Lelis";
|
||||||
};
|
};
|
||||||
|
diegs = {
|
||||||
|
email = "dpontor@gmail.com";
|
||||||
|
github = "diegs";
|
||||||
|
githubId = 74719;
|
||||||
|
name = "Diego Pontoriero";
|
||||||
|
};
|
||||||
DieracDelta = {
|
DieracDelta = {
|
||||||
email = "justin@restivo.me";
|
email = "justin@restivo.me";
|
||||||
github = "DieracDelta";
|
github = "DieracDelta";
|
||||||
|
@ -5304,6 +5332,12 @@
|
||||||
githubId = 7875;
|
githubId = 7875;
|
||||||
name = "Rommel Martinez";
|
name = "Rommel Martinez";
|
||||||
};
|
};
|
||||||
|
ecklf = {
|
||||||
|
email = "ecklf@icloud.com";
|
||||||
|
github = "ecklf";
|
||||||
|
githubId = 8146736;
|
||||||
|
name = "Florentin Eckl";
|
||||||
|
};
|
||||||
eclairevoyant = {
|
eclairevoyant = {
|
||||||
github = "eclairevoyant";
|
github = "eclairevoyant";
|
||||||
githubId = 848000;
|
githubId = 848000;
|
||||||
|
@ -11067,15 +11101,6 @@
|
||||||
githubId = 4969294;
|
githubId = 4969294;
|
||||||
name = "Louis Tim Larsen";
|
name = "Louis Tim Larsen";
|
||||||
};
|
};
|
||||||
lourkeur = {
|
|
||||||
name = "Louis Bettens";
|
|
||||||
email = "louis@bettens.info";
|
|
||||||
github = "lourkeur";
|
|
||||||
githubId = 15657735;
|
|
||||||
keys = [{
|
|
||||||
fingerprint = "5B93 9CFA E8FC 4D8F E07A 3AEA DFE1 D4A0 1733 7E2A";
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
loveisgrief = {
|
loveisgrief = {
|
||||||
name = "LoveIsGrief";
|
name = "LoveIsGrief";
|
||||||
email = "loveisgrief@tuta.io";
|
email = "loveisgrief@tuta.io";
|
||||||
|
@ -17450,6 +17475,12 @@
|
||||||
github = "shymega";
|
github = "shymega";
|
||||||
githubId = 1334592;
|
githubId = 1334592;
|
||||||
};
|
};
|
||||||
|
siddarthkay = {
|
||||||
|
email = "siddarthkay@gmail.com";
|
||||||
|
github = "siddarthkay";
|
||||||
|
githubId = 64726664;
|
||||||
|
name = "Siddarth Kumar";
|
||||||
|
};
|
||||||
siddharthdhakane = {
|
siddharthdhakane = {
|
||||||
email = "siddharthdhakane@gmail.com";
|
email = "siddharthdhakane@gmail.com";
|
||||||
github = "siddharthdhakane";
|
github = "siddharthdhakane";
|
||||||
|
@ -18320,6 +18351,13 @@
|
||||||
githubId = 2666479;
|
githubId = 2666479;
|
||||||
name = "Y Nguyen";
|
name = "Y Nguyen";
|
||||||
};
|
};
|
||||||
|
superherointj = {
|
||||||
|
email = "sergiomarcelo@yandex.com";
|
||||||
|
github = "superherointj";
|
||||||
|
githubId = 5861043;
|
||||||
|
matrix = "@superherointj:matrix.org";
|
||||||
|
name = "Sérgio Marcelo";
|
||||||
|
};
|
||||||
SuperSandro2000 = {
|
SuperSandro2000 = {
|
||||||
email = "sandro.jaeckel@gmail.com";
|
email = "sandro.jaeckel@gmail.com";
|
||||||
matrix = "@sandro:supersandro.de";
|
matrix = "@sandro:supersandro.de";
|
||||||
|
|
|
@ -176,7 +176,7 @@ with lib.maintainers; {
|
||||||
|
|
||||||
cosmopolitan = {
|
cosmopolitan = {
|
||||||
members = [
|
members = [
|
||||||
lourkeur
|
bbjubjub
|
||||||
tomberek
|
tomberek
|
||||||
];
|
];
|
||||||
scope = "Maintain the Cosmopolitan LibC and related programs.";
|
scope = "Maintain the Cosmopolitan LibC and related programs.";
|
||||||
|
@ -821,12 +821,18 @@ with lib.maintainers; {
|
||||||
|
|
||||||
qt-kde = {
|
qt-kde = {
|
||||||
members = [
|
members = [
|
||||||
|
ilya-fedin
|
||||||
|
k900
|
||||||
|
LunNova
|
||||||
|
mjm
|
||||||
|
nickcao
|
||||||
|
SuperSandro2000
|
||||||
ttuegel
|
ttuegel
|
||||||
];
|
];
|
||||||
githubTeams = [
|
githubTeams = [
|
||||||
"qt-kde"
|
"qt-kde"
|
||||||
];
|
];
|
||||||
scope = "Maintain the KDE desktop environment and Qt.";
|
scope = "Maintain the Qt framework, KDE application suite, Plasma desktop environment and related projects.";
|
||||||
shortName = "Qt / KDE";
|
shortName = "Qt / KDE";
|
||||||
enableFeatureFreezePing = true;
|
enableFeatureFreezePing = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -20,8 +20,7 @@
|
||||||
};
|
};
|
||||||
in ''
|
in ''
|
||||||
if [ ! -e /etc/nixos/configuration.nix ]; then
|
if [ ! -e /etc/nixos/configuration.nix ]; then
|
||||||
mkdir -p /etc/nixos
|
install -m 644 -D ${config} /etc/nixos/configuration.nix
|
||||||
cp ${config} /etc/nixos/configuration.nix
|
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -6,9 +6,9 @@ let
|
||||||
libDir = pkgs.stdenv.hostPlatform.libDir;
|
libDir = pkgs.stdenv.hostPlatform.libDir;
|
||||||
ldsoBasename = builtins.unsafeDiscardStringContext (last (splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker));
|
ldsoBasename = builtins.unsafeDiscardStringContext (last (splitString "/" pkgs.stdenv.cc.bintools.dynamicLinker));
|
||||||
|
|
||||||
pkgs32 = pkgs.pkgsi686Linux;
|
# Hard-code to avoid creating another instance of nixpkgs. Also avoids eval errors in some cases.
|
||||||
libDir32 = pkgs32.stdenv.hostPlatform.libDir;
|
libDir32 = "lib"; # pkgs.pkgsi686Linux.stdenv.hostPlatform.libDir
|
||||||
ldsoBasename32 = builtins.unsafeDiscardStringContext (last (splitString "/" pkgs32.stdenv.cc.bintools.dynamicLinker));
|
ldsoBasename32 = "ld-linux.so.2"; # last (splitString "/" pkgs.pkgsi686Linux.stdenv.cc.bintools.dynamicLinker)
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
environment.ldso = mkOption {
|
environment.ldso = mkOption {
|
||||||
|
|
|
@ -192,7 +192,8 @@ in
|
||||||
mkdir -p "$(dirname "${certmgrAPITokenPath}")"
|
mkdir -p "$(dirname "${certmgrAPITokenPath}")"
|
||||||
if [ -f "${cfsslAPITokenPath}" ]; then
|
if [ -f "${cfsslAPITokenPath}" ]; then
|
||||||
ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}"
|
ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}"
|
||||||
else
|
elif [ ! -f "${certmgrAPITokenPath}" ]; then
|
||||||
|
# Don't remove the token if it already exists
|
||||||
install -m 600 /dev/null "${certmgrAPITokenPath}"
|
install -m 600 /dev/null "${certmgrAPITokenPath}"
|
||||||
fi
|
fi
|
||||||
''
|
''
|
||||||
|
|
|
@ -17,14 +17,11 @@ let
|
||||||
lib.mapAttrs (_: toString) cfg.extraConfig
|
lib.mapAttrs (_: toString) cfg.extraConfig
|
||||||
);
|
);
|
||||||
|
|
||||||
manage =
|
manage = pkgs.writeShellScript "manage" ''
|
||||||
let
|
set -o allexport # Export the following env vars
|
||||||
setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env);
|
${lib.toShellVars env}
|
||||||
in
|
exec ${pkg}/bin/tandoor-recipes "$@"
|
||||||
pkgs.writeShellScript "manage" ''
|
'';
|
||||||
${setupEnv}
|
|
||||||
exec ${pkg}/bin/tandoor-recipes "$@"
|
|
||||||
'';
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
meta.maintainers = with maintainers; [ ambroisie ];
|
meta.maintainers = with maintainers; [ ambroisie ];
|
||||||
|
|
|
@ -1,8 +1,36 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, utils, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
inherit (lib)
|
||||||
|
attrNames
|
||||||
|
concatMapStrings
|
||||||
|
concatMapStringsSep
|
||||||
|
concatStrings
|
||||||
|
concatStringsSep
|
||||||
|
elem
|
||||||
|
filter
|
||||||
|
flip
|
||||||
|
hasAttr
|
||||||
|
hasPrefix
|
||||||
|
isAttrs
|
||||||
|
isBool
|
||||||
|
isDerivation
|
||||||
|
isList
|
||||||
|
mapAttrsToList
|
||||||
|
mkChangedOptionModule
|
||||||
|
mkEnableOption
|
||||||
|
mkIf
|
||||||
|
mkOption
|
||||||
|
mkPackageOption
|
||||||
|
optionals
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
inherit (utils)
|
||||||
|
escapeSystemdExecArgs
|
||||||
|
;
|
||||||
|
|
||||||
cfg = config.services.knot;
|
cfg = config.services.knot;
|
||||||
|
|
||||||
yamlConfig = let
|
yamlConfig = let
|
||||||
|
@ -113,8 +141,7 @@ let
|
||||||
mkConfigFile = configString: pkgs.writeTextFile {
|
mkConfigFile = configString: pkgs.writeTextFile {
|
||||||
name = "knot.conf";
|
name = "knot.conf";
|
||||||
text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + configString;
|
text = (concatMapStringsSep "\n" (file: "include: ${file}") cfg.keyFiles) + "\n" + configString;
|
||||||
# TODO: maybe we could do some checks even when private keys complicate this?
|
checkPhase = lib.optionalString cfg.checkConfig ''
|
||||||
checkPhase = lib.optionalString (cfg.keyFiles == []) ''
|
|
||||||
${cfg.package}/bin/knotc --config=$out conf-check
|
${cfg.package}/bin/knotc --config=$out conf-check
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -142,12 +169,45 @@ let
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
services.knot = {
|
services.knot = {
|
||||||
enable = mkEnableOption (lib.mdDoc "Knot authoritative-only DNS server");
|
enable = mkEnableOption "Knot authoritative-only DNS server";
|
||||||
|
|
||||||
|
enableXDP = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = lib.hasAttrByPath [ "xdp" "listen" ] cfg.settings;
|
||||||
|
defaultText = ''
|
||||||
|
Enabled when the `xdp.listen` setting is configured through `settings`.
|
||||||
|
'';
|
||||||
|
example = true;
|
||||||
|
description = ''
|
||||||
|
Extends the systemd unit with permissions to allow for the use of
|
||||||
|
the eXpress Data Path (XDP).
|
||||||
|
|
||||||
|
::: {.note}
|
||||||
|
Make sure to read up on functional [limitations](https://www.knot-dns.cz/docs/latest/singlehtml/index.html#mode-xdp-limitations)
|
||||||
|
when running in XDP mode.
|
||||||
|
:::
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
checkConfig = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
# TODO: maybe we could do some checks even when private keys complicate this?
|
||||||
|
# conf-check fails hard on missing IPs/devices with XDP
|
||||||
|
default = cfg.keyFiles == [] && !cfg.enableXDP;
|
||||||
|
defaultText = ''
|
||||||
|
Disabled when the config uses `keyFiles` or `enableXDP`.
|
||||||
|
'';
|
||||||
|
example = false;
|
||||||
|
description = ''
|
||||||
|
Toggles the configuration test at build time. It runs in a
|
||||||
|
sandbox, and therefore cannot be used in all scenarios.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraArgs = mkOption {
|
extraArgs = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
List of additional command line parameters for knotd
|
List of additional command line parameters for knotd
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -155,7 +215,7 @@ in {
|
||||||
keyFiles = mkOption {
|
keyFiles = mkOption {
|
||||||
type = types.listOf types.path;
|
type = types.listOf types.path;
|
||||||
default = [];
|
default = [];
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
A list of files containing additional configuration
|
A list of files containing additional configuration
|
||||||
to be included using the include directive. This option
|
to be included using the include directive. This option
|
||||||
allows to include configuration like TSIG keys without
|
allows to include configuration like TSIG keys without
|
||||||
|
@ -168,7 +228,7 @@ in {
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = types.attrs;
|
type = types.attrs;
|
||||||
default = {};
|
default = {};
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Extra configuration as nix values.
|
Extra configuration as nix values.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -176,7 +236,7 @@ in {
|
||||||
settingsFile = mkOption {
|
settingsFile = mkOption {
|
||||||
type = types.nullOr types.path;
|
type = types.nullOr types.path;
|
||||||
default = null;
|
default = null;
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
As alternative to ``settings``, you can provide whole configuration
|
As alternative to ``settings``, you can provide whole configuration
|
||||||
directly in the almost-YAML format of Knot DNS.
|
directly in the almost-YAML format of Knot DNS.
|
||||||
You might want to utilize ``pkgs.writeText "knot.conf" "longConfigString"`` for this.
|
You might want to utilize ``pkgs.writeText "knot.conf" "longConfigString"`` for this.
|
||||||
|
@ -210,19 +270,35 @@ in {
|
||||||
wants = [ "network.target" ];
|
wants = [ "network.target" ];
|
||||||
after = ["network.target" ];
|
after = ["network.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = let
|
||||||
|
# https://www.knot-dns.cz/docs/3.3/singlehtml/index.html#pre-requisites
|
||||||
|
xdpCapabilities = lib.optionals (cfg.enableXDP) [
|
||||||
|
"CAP_NET_ADMIN"
|
||||||
|
"CAP_NET_RAW"
|
||||||
|
"CAP_SYS_ADMIN"
|
||||||
|
"CAP_IPC_LOCK"
|
||||||
|
] ++ lib.optionals (lib.versionOlder config.boot.kernelPackages.kernel.version "5.11") [
|
||||||
|
"CAP_SYS_RESOURCE"
|
||||||
|
];
|
||||||
|
in {
|
||||||
Type = "notify";
|
Type = "notify";
|
||||||
ExecStart = "${cfg.package}/bin/knotd --config=${configFile} --socket=${socketFile} ${concatStringsSep " " cfg.extraArgs}";
|
ExecStart = escapeSystemdExecArgs ([
|
||||||
ExecReload = "${knot-cli-wrappers}/bin/knotc reload";
|
(lib.getExe cfg.package)
|
||||||
|
"--config=${configFile}"
|
||||||
|
"--socket=${socketFile}"
|
||||||
|
] ++ cfg.extraArgs);
|
||||||
|
ExecReload = escapeSystemdExecArgs [
|
||||||
|
"${knot-cli-wrappers}/bin/knotc" "reload"
|
||||||
|
];
|
||||||
User = "knot";
|
User = "knot";
|
||||||
Group = "knot";
|
Group = "knot";
|
||||||
|
|
||||||
AmbientCapabilities = [
|
AmbientCapabilities = [
|
||||||
"CAP_NET_BIND_SERVICE"
|
"CAP_NET_BIND_SERVICE"
|
||||||
];
|
] ++ xdpCapabilities;
|
||||||
CapabilityBoundingSet = [
|
CapabilityBoundingSet = [
|
||||||
"CAP_NET_BIND_SERVICE"
|
"CAP_NET_BIND_SERVICE"
|
||||||
];
|
] ++ xdpCapabilities;
|
||||||
DeviceAllow = "";
|
DeviceAllow = "";
|
||||||
DevicePolicy = "closed";
|
DevicePolicy = "closed";
|
||||||
LockPersonality = true;
|
LockPersonality = true;
|
||||||
|
@ -247,6 +323,9 @@ in {
|
||||||
"AF_INET"
|
"AF_INET"
|
||||||
"AF_INET6"
|
"AF_INET6"
|
||||||
"AF_UNIX"
|
"AF_UNIX"
|
||||||
|
] ++ optionals (cfg.enableXDP) [
|
||||||
|
"AF_NETLINK"
|
||||||
|
"AF_XDP"
|
||||||
];
|
];
|
||||||
RestrictNamespaces = true;
|
RestrictNamespaces = true;
|
||||||
RestrictRealtime =true;
|
RestrictRealtime =true;
|
||||||
|
@ -258,6 +337,8 @@ in {
|
||||||
SystemCallFilter = [
|
SystemCallFilter = [
|
||||||
"@system-service"
|
"@system-service"
|
||||||
"~@privileged"
|
"~@privileged"
|
||||||
|
] ++ optionals (cfg.enableXDP) [
|
||||||
|
"bpf"
|
||||||
];
|
];
|
||||||
UMask = "0077";
|
UMask = "0077";
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,17 +12,14 @@ let
|
||||||
lib.mapAttrs (_: toString) cfg.settings
|
lib.mapAttrs (_: toString) cfg.settings
|
||||||
);
|
);
|
||||||
|
|
||||||
manage =
|
manage = pkgs.writeShellScript "manage" ''
|
||||||
let
|
set -o allexport # Export the following env vars
|
||||||
setupEnv = lib.concatStringsSep "\n" (lib.mapAttrsToList (name: val: "export ${name}=${lib.escapeShellArg val}") env);
|
${lib.toShellVars env}
|
||||||
in
|
eval "$(${config.systemd.package}/bin/systemctl show -pUID,MainPID photoprism.service | ${pkgs.gnused}/bin/sed "s/UID/ServiceUID/")"
|
||||||
pkgs.writeShellScript "manage" ''
|
exec ${pkgs.util-linux}/bin/nsenter \
|
||||||
${setupEnv}
|
-t $MainPID -m -S $ServiceUID -G $ServiceUID --wdns=${cfg.storagePath} \
|
||||||
eval "$(${config.systemd.package}/bin/systemctl show -pUID,MainPID photoprism.service | ${pkgs.gnused}/bin/sed "s/UID/ServiceUID/")"
|
${cfg.package}/bin/photoprism "$@"
|
||||||
exec ${pkgs.util-linux}/bin/nsenter \
|
'';
|
||||||
-t $MainPID -m -S $ServiceUID -G $ServiceUID --wdns=${cfg.storagePath} \
|
|
||||||
${cfg.package}/bin/photoprism "$@"
|
|
||||||
'';
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
|
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
|
||||||
|
|
|
@ -114,13 +114,16 @@ in {
|
||||||
services.knot.extraArgs = [ "-v" ];
|
services.knot.extraArgs = [ "-v" ];
|
||||||
services.knot.settings = {
|
services.knot.settings = {
|
||||||
server = {
|
server = {
|
||||||
listen = [
|
|
||||||
"0.0.0.0@53"
|
|
||||||
"::@53"
|
|
||||||
];
|
|
||||||
automatic-acl = true;
|
automatic-acl = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xdp = {
|
||||||
|
listen = [
|
||||||
|
"eth1"
|
||||||
|
];
|
||||||
|
tcp = true;
|
||||||
|
};
|
||||||
|
|
||||||
remote.primary = {
|
remote.primary = {
|
||||||
address = "192.168.0.1@53";
|
address = "192.168.0.1@53";
|
||||||
key = "xfr_key";
|
key = "xfr_key";
|
||||||
|
@ -140,7 +143,7 @@ in {
|
||||||
"sub.example.com".file = "sub.example.com.zone";
|
"sub.example.com".file = "sub.example.com.zone";
|
||||||
};
|
};
|
||||||
|
|
||||||
log.syslog.any = "info";
|
log.syslog.any = "debug";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
client = { lib, nodes, ... }: {
|
client = { lib, nodes, ... }: {
|
||||||
|
|
|
@ -45,7 +45,7 @@ let
|
||||||
'';
|
'';
|
||||||
in pkgs.runCommand "mpitest" {} ''
|
in pkgs.runCommand "mpitest" {} ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
${pkgs.openmpi}/bin/mpicc ${mpitestC} -o $out/bin/mpitest
|
${lib.getDev pkgs.mpi}/bin/mpicc ${mpitestC} -o $out/bin/mpitest
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
name = "slurm";
|
name = "slurm";
|
||||||
|
|
|
@ -127,5 +127,6 @@ stdenv.mkDerivation rec {
|
||||||
# error: 'vvtanh' was not declared in this scope; did you mean 'tanh'?
|
# error: 'vvtanh' was not declared in this scope; did you mean 'tanh'?
|
||||||
# error: no matching function for call to 'juce::dsp::SIMDRegister<double>::SIMDRegister(xsimd::simd_batch_traits<xsimd::batch<double, 2> >::batch_bool_type)'
|
# error: no matching function for call to 'juce::dsp::SIMDRegister<double>::SIMDRegister(xsimd::simd_batch_traits<xsimd::batch<double, 2> >::batch_bool_type)'
|
||||||
broken = stdenv.isAarch64; # since 2021-12-27 on hydra (update to 2.10): https://hydra.nixos.org/build/162558991
|
broken = stdenv.isAarch64; # since 2021-12-27 on hydra (update to 2.10): https://hydra.nixos.org/build/162558991
|
||||||
|
mainProgram = "CHOWTapeModel";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,5 +102,6 @@ stdenv.mkDerivation rec {
|
||||||
license = with licenses; [ bsd3 ];
|
license = with licenses; [ bsd3 ];
|
||||||
maintainers = with maintainers; [ magnetophon ];
|
maintainers = with maintainers; [ magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "ChowKick";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,5 +34,6 @@ stdenv.mkDerivation {
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = [ maintainers.robbinch ];
|
maintainers = [ maintainers.robbinch ];
|
||||||
|
mainProgram = "aacgain";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.lgpl3;
|
license = licenses.lgpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ nico202 orivej ];
|
maintainers = with maintainers; [ nico202 orivej ];
|
||||||
|
mainProgram = "aeolus";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [ maintainers.mrVanDalo ];
|
maintainers = [ maintainers.mrVanDalo ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
mainProgram = "aj-snapshot";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
|
||||||
maintainers = [ maintainers.tcbravo ];
|
maintainers = [ maintainers.tcbravo ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
|
mainProgram = "ashuffle";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,5 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
license = licenses.isc;
|
license = licenses.isc;
|
||||||
maintainers = with maintainers; [ sna ];
|
maintainers = with maintainers; [ sna ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
mainProgram = "aucatctl";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "bitmeter";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2Only;
|
license = licenses.gpl2Only;
|
||||||
maintainers = with maintainers; [ auchter ];
|
maintainers = with maintainers; [ auchter ];
|
||||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||||
|
mainProgram = "brutefir";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.lgpl2;
|
license = licenses.lgpl2;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "calfjackhost";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,5 +58,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "A tool and library for reading digital audio from CDs";
|
description = "A tool and library for reading digital audio from CDs";
|
||||||
license = with licenses; [ gpl2Plus lgpl21Plus ];
|
license = with licenses; [ gpl2Plus lgpl21Plus ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
mainProgram = "cdparanoia";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ ftrvxmtrx ];
|
maintainers = with maintainers; [ ftrvxmtrx ];
|
||||||
|
mainProgram = "chuck";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,5 +26,6 @@ appimageTools.wrapType2 rec {
|
||||||
license = licenses.agpl3;
|
license = licenses.agpl3;
|
||||||
maintainers = [ maintainers.cigrainger ];
|
maintainers = [ maintainers.cigrainger ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
mainProgram = "cider";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
|
||||||
maintainers = with lib.maintainers; [ CharlesHD mudri ];
|
maintainers = with lib.maintainers; [ CharlesHD mudri ];
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
|
mainProgram = "cmusfm";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl3Only;
|
license = licenses.gpl3Only;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = teams.c3d2.members;
|
maintainers = teams.c3d2.members;
|
||||||
|
mainProgram = "codecserver";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,5 +35,6 @@ stdenv.mkDerivation {
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ anderspapitto ];
|
maintainers = with maintainers; [ anderspapitto ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; linux;
|
||||||
|
mainProgram = "dirt";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
|
||||||
# I asked upstream to assign a license, so maybe this can be free
|
# I asked upstream to assign a license, so maybe this can be free
|
||||||
# in the future, but for now let's play it safe and make it unfree.
|
# in the future, but for now let's play it safe and make it unfree.
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
|
mainProgram = "DolbyBi64";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ artemist ];
|
maintainers = with maintainers; [ artemist ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
mainProgram = "dsf2flac";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = with lib.maintainers; [ jhhuh ];
|
maintainers = with lib.maintainers; [ jhhuh ];
|
||||||
|
mainProgram = "eflite";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,5 +66,6 @@ stdenv.mkDerivation rec {
|
||||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||||
maintainers = with maintainers; [ OPNA2608 ];
|
maintainers = with maintainers; [ OPNA2608 ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
mainProgram = "famistudio";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "A command-line program for playing FLAC audio files";
|
description = "A command-line program for playing FLAC audio files";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
mainProgram = "flac123";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.lgpl21Plus;
|
license = licenses.lgpl21Plus;
|
||||||
maintainers = with maintainers; [ goibhniu lovek323 ];
|
maintainers = with maintainers; [ goibhniu lovek323 ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
mainProgram = "fluidsynth";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
maintainers = [ lib.maintainers.sepi ];
|
maintainers = [ lib.maintainers.sepi ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "fweelin";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
|
mainProgram = "freqtweak";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,5 +45,6 @@ stdenv.mkDerivation rec {
|
||||||
# From HOW-TO-COMPILE.txt:
|
# From HOW-TO-COMPILE.txt:
|
||||||
# > This code is NOT big-endian compatible
|
# > This code is NOT big-endian compatible
|
||||||
platforms = platforms.littleEndian;
|
platforms = platforms.littleEndian;
|
||||||
|
mainProgram = "ft2-clone";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,5 +116,6 @@ stdenv.mkDerivation rec {
|
||||||
license = with licenses; [ gpl2Plus ];
|
license = with licenses; [ gpl2Plus ];
|
||||||
maintainers = with maintainers; [ OPNA2608 ];
|
maintainers = with maintainers; [ OPNA2608 ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
mainProgram = "furnace";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
|
mainProgram = "geonkick";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "gigedit";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,5 +38,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ pSub ];
|
maintainers = with maintainers; [ pSub ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; linux;
|
||||||
|
mainProgram = "gjay";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,5 +34,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://gnaural.sourceforge.net/";
|
homepage = "https://gnaural.sourceforge.net/";
|
||||||
maintainers = with maintainers; [ ehmry ];
|
maintainers = with maintainers; [ ehmry ];
|
||||||
license = with licenses; [ gpl2Only ];
|
license = with licenses; [ gpl2Only ];
|
||||||
|
mainProgram = "gnaural";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,13 +18,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gtkcord4";
|
pname = "gtkcord4";
|
||||||
version = "0.0.18";
|
version = "0.0.19";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "diamondburned";
|
owner = "diamondburned";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-J76MkbXtlrRIyQEbNlHFNpAW9+mXcOcrx9ahMQ61NL4=";
|
hash = "sha256-TOrAUTYS4J4W1wZvP1TxZf5Nel29YCPoWPN7GYNomkc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -56,7 +56,7 @@ buildGoModule rec {
|
||||||
install -D -m 444 internal/icons/hicolor/scalable/apps/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
|
install -D -m 444 internal/icons/hicolor/scalable/apps/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
|
||||||
'';
|
'';
|
||||||
|
|
||||||
vendorHash = "sha256-BDR67P4Gxveg2FpxijT0eWjUciGDO+l02QmBUxVb99c=";
|
vendorHash = "sha256-dJm+v7/2+TQWoU7G1uOpie6KN5W0JqfLU4mF8mghV4A=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "GTK4 Discord client in Go, attempt #4";
|
description = "GTK4 Discord client in Go, attempt #4";
|
||||||
|
|
|
@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = with maintainers; [ muscaln ];
|
maintainers = with maintainers; [ muscaln ];
|
||||||
|
mainProgram = "headset";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,5 +70,6 @@
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "helm";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,5 +83,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "HybridReverb2";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://id3v2.sourceforge.net/";
|
homepage = "https://id3v2.sourceforge.net/";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = with platforms; unix;
|
platforms = with platforms; unix;
|
||||||
|
mainProgram = "id3v2";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
maintainers = [ lib.maintainers.magnetophon ];
|
maintainers = [ lib.maintainers.magnetophon ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "psindustrializer";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,5 +47,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "infamous-rule";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "convert4chan";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "jaaa";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,5 +35,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
maintainers = [ maintainers.PowerUser64 ];
|
maintainers = [ maintainers.PowerUser64 ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
mainProgram = "jack-passthru";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
maintainers = [ lib.maintainers.marcweber ];
|
maintainers = [ lib.maintainers.marcweber ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "jack_meter";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
maintainers = [ lib.maintainers.magnetophon ];
|
maintainers = [ lib.maintainers.magnetophon ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "japa";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,5 +30,6 @@ buildGoModule rec {
|
||||||
homepage = "https://github.com/tryffel/jellycli";
|
homepage = "https://github.com/tryffel/jellycli";
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ oxzi ];
|
maintainers = with maintainers; [ oxzi ];
|
||||||
|
mainProgram = "jellycli";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [ ];
|
||||||
inherit (jre_headless.meta) platforms;
|
inherit (jre_headless.meta) platforms;
|
||||||
|
mainProgram = "JMusicBot";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "keyfinder-cli";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "Advanced command-line metronome for JACK";
|
description = "Advanced command-line metronome for JACK";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "klick";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,5 +54,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ suhr ];
|
maintainers = with maintainers; [ suhr ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "klystrack";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ orivej ];
|
maintainers = with maintainers; [ orivej ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "kmetronome";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,5 +59,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
description = "ListenBrainz submission client for MPD";
|
description = "ListenBrainz submission client for MPD";
|
||||||
license = licenses.agpl3Only;
|
license = licenses.agpl3Only;
|
||||||
maintainers = with maintainers; [ DeeUnderscore ];
|
maintainers = with maintainers; [ DeeUnderscore ];
|
||||||
|
mainProgram = "listenbrainz-mpd";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
# https://github.com/NixOS/nixpkgs/pull/91766#issuecomment-688751821
|
# https://github.com/NixOS/nixpkgs/pull/91766#issuecomment-688751821
|
||||||
broken = stdenv.isDarwin;
|
broken = stdenv.isDarwin;
|
||||||
|
mainProgram = "lgpt";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,5 +26,6 @@ stdenv.mkDerivation {
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = with lib.maintainers; [ p-h ];
|
maintainers = with lib.maintainers; [ p-h ];
|
||||||
|
mainProgram = "LAC";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,5 +43,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ prusnak ];
|
maintainers = with maintainers; [ prusnak ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "luppp";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "lv2bm";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.artistic2;
|
license = licenses.artistic2;
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
mainProgram = "lv2lint";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
|
||||||
license = with licenses; [ bsdOriginal zlib ];
|
license = with licenses; [ bsdOriginal zlib ];
|
||||||
maintainers = [ maintainers.chkno ];
|
maintainers = [ maintainers.chkno ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
mainProgram = "m4acut";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,5 +41,6 @@ stdenv.mkDerivation rec {
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
broken = stdenv.isDarwin; # error: no type or protocol named 'NSPasteboardType'
|
broken = stdenv.isDarwin; # error: no type or protocol named 'NSPasteboardType'
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
|
mainProgram = "master_me";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.nico202 ];
|
maintainers = [ maintainers.nico202 ];
|
||||||
|
mainProgram = "meterbridge";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
|
||||||
maintainers = with maintainers; [ raskin ];
|
maintainers = with maintainers; [ raskin ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
homepage = "https://www.nongnu.org/mi2ly/";
|
homepage = "https://www.nongnu.org/mi2ly/";
|
||||||
|
mainProgram = "mi2ly";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "mid2key";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
maintainers = with lib.maintainers; [ ];
|
maintainers = with lib.maintainers; [ ];
|
||||||
platforms = with lib.platforms; linux;
|
platforms = with lib.platforms; linux;
|
||||||
|
mainProgram = "mikmod";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,5 +81,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
# ibtool -> real Xcode -> I can't get that, and Ofborg can't test that
|
# ibtool -> real Xcode -> I can't get that, and Ofborg can't test that
|
||||||
broken = stdenv.hostPlatform.isDarwin;
|
broken = stdenv.hostPlatform.isDarwin;
|
||||||
maintainers = with maintainers; [ OPNA2608 ];
|
maintainers = with maintainers; [ OPNA2608 ];
|
||||||
|
mainProgram = "milkytracker";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -95,5 +95,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2Only;
|
license = licenses.gpl2Only;
|
||||||
maintainers = with maintainers; [ OPNA2608 ];
|
maintainers = with maintainers; [ OPNA2608 ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
|
mainProgram = "mmlgui";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
changelog = "https://github.com/figsoda/mmtc/blob/v${version}/CHANGELOG.md";
|
changelog = "https://github.com/figsoda/mmtc/blob/v${version}/CHANGELOG.md";
|
||||||
license = licenses.mpl20;
|
license = licenses.mpl20;
|
||||||
maintainers = with maintainers; [ figsoda ];
|
maintainers = with maintainers; [ figsoda ];
|
||||||
|
mainProgram = "mmtc";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,5 +96,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ aethelz pSub jagajaga ];
|
maintainers = with maintainers; [ aethelz pSub jagajaga ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
mainProgram = "mocp";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.lgpl21;
|
license = licenses.lgpl21;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ devhell ];
|
maintainers = with maintainers; [ devhell ];
|
||||||
|
mainProgram = "mp3gain";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
|
||||||
license = lib.licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
platforms = lib.platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
maintainers = [ lib.maintainers.devhell ];
|
maintainers = [ lib.maintainers.devhell ];
|
||||||
|
mainProgram = "mp3val";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,5 +34,6 @@ appimageTools.wrapType2 {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = with maintainers; [ zendo ];
|
maintainers = with maintainers; [ zendo ];
|
||||||
|
mainProgram = "museeks";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
changelog = "https://github.com/tsirysndr/music-player/releases/tag/v${version}";
|
changelog = "https://github.com/tsirysndr/music-player/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.marsam ];
|
maintainers = [ maintainers.marsam ];
|
||||||
|
mainProgram = "music-player";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,5 +29,6 @@ stdenv.mkDerivation {
|
||||||
license = licenses.mpl20;
|
license = licenses.mpl20;
|
||||||
maintainers = with maintainers; [ ggpeti ];
|
maintainers = with maintainers; [ ggpeti ];
|
||||||
platforms = with platforms; darwin ++ linux;
|
platforms = with platforms; darwin ++ linux;
|
||||||
|
mainProgram = "musly";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; [ fpletz ];
|
maintainers = with maintainers; [ fpletz ];
|
||||||
|
mainProgram = "ncmpc";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = teams.c3d2.members;
|
maintainers = teams.c3d2.members;
|
||||||
|
mainProgram = "ncpamixer";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,5 +59,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
changelog = "https://github.com/hrkfdn/ncspot/releases/tag/v${version}";
|
changelog = "https://github.com/hrkfdn/ncspot/releases/tag/v${version}";
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
maintainers = [ maintainers.marsam ];
|
maintainers = [ maintainers.marsam ];
|
||||||
|
mainProgram = "ncspot";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
|
||||||
license = with licenses; [ gpl3 ];
|
license = with licenses; [ gpl3 ];
|
||||||
maintainers = [ maintainers.magnetophon ];
|
maintainers = [ maintainers.magnetophon ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "ninjas2";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,5 +82,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
maintainers = with maintainers; [ magnetophon ];
|
maintainers = with maintainers; [ magnetophon ];
|
||||||
|
mainProgram = "Odin2";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,5 +90,6 @@ buildNpmPackage rec {
|
||||||
license = licenses.gpl3Only;
|
license = licenses.gpl3Only;
|
||||||
maintainers = with maintainers; [ lilyinstarlight ];
|
maintainers = with maintainers; [ lilyinstarlight ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "open-stage-control";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,5 +85,6 @@ buildDotnetModule rec {
|
||||||
];
|
];
|
||||||
maintainers = with maintainers; [ lilyinstarlight ];
|
maintainers = with maintainers; [ lilyinstarlight ];
|
||||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||||
|
mainProgram = "OpenUtau";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,5 +36,6 @@ stdenv.mkDerivation rec {
|
||||||
broken = stdenv.isDarwin;
|
broken = stdenv.isDarwin;
|
||||||
maintainers = with maintainers; [ kmein ];
|
maintainers = with maintainers; [ kmein ];
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
|
mainProgram = "opustags";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ ericsagnes ];
|
maintainers = with maintainers; [ ericsagnes ];
|
||||||
|
mainProgram = "pamix";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
|
||||||
license = lib.licenses.lgpl3;
|
license = lib.licenses.lgpl3;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = [ lib.maintainers.nico202 ];
|
maintainers = [ lib.maintainers.nico202 ];
|
||||||
|
mainProgram = "patchage";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,5 +56,6 @@ stdenv.mkDerivation {
|
||||||
homepage = "https://hypermammut.sourceforge.net/paulstretch/";
|
homepage = "https://hypermammut.sourceforge.net/paulstretch/";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
|
mainProgram = "paulstretch";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
license = with licenses; [ asl20 mit ];
|
license = with licenses; [ asl20 mit ];
|
||||||
maintainers = [ maintainers.vanilla ];
|
maintainers = [ maintainers.vanilla ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "pbpctrl";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = [ maintainers.goibhniu ];
|
maintainers = [ maintainers.goibhniu ];
|
||||||
|
mainProgram = "petri-foo";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://6xq.net/pianobar/";
|
homepage = "https://6xq.net/pianobar/";
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = licenses.mit; # expat version
|
license = licenses.mit; # expat version
|
||||||
|
mainProgram = "pianobar";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://github.com/yoyz/picoloop";
|
homepage = "https://github.com/yoyz/picoloop";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
|
mainProgram = "picoloop";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,5 +18,6 @@ stdenv.mkDerivation {
|
||||||
description = "A straightforward command line program to play midi files through the ALSA sequencer";
|
description = "A straightforward command line program to play midi files through the ALSA sequencer";
|
||||||
maintainers = with maintainers; [ lheckemann ];
|
maintainers = with maintainers; [ lheckemann ];
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
|
mainProgram = "pmidi";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,5 +18,6 @@ buildGoModule {
|
||||||
homepage = "https://ambientsound.github.io/pms/";
|
homepage = "https://ambientsound.github.io/pms/";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ deejayem ];
|
maintainers = with maintainers; [ deejayem ];
|
||||||
|
mainProgram = "pms";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ orivej ];
|
maintainers = with maintainers; [ orivej ];
|
||||||
|
mainProgram = "Proteus";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user