mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-11 04:02:55 +03:00
Merge staging-next into staging
This commit is contained in:
commit
0d0d7dcd06
3
.github/CODEOWNERS
vendored
3
.github/CODEOWNERS
vendored
@ -120,3 +120,6 @@
|
||||
# Dhall
|
||||
/pkgs/development/dhall-modules @Gabriel439 @Profpatsch
|
||||
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch
|
||||
|
||||
# Idris
|
||||
/pkgs/development/idris-modules @Infinisil
|
||||
|
@ -1,39 +1,115 @@
|
||||
Idris packages
|
||||
==============
|
||||
# Idris packages
|
||||
|
||||
This directory contains build rules for idris packages. In addition,
|
||||
it contains several functions to build and compose those packages.
|
||||
Everything is exposed to the user via the `idrisPackages` attribute.
|
||||
## Installing Idris
|
||||
|
||||
callPackage
|
||||
------------
|
||||
The easiest way to get a working idris version is to install the `idris` attribute:
|
||||
|
||||
This is like the normal nixpkgs callPackage function, specialized to
|
||||
idris packages.
|
||||
```
|
||||
$ # On NixOS
|
||||
$ nix-env -i nixos.idris
|
||||
$ # On non-NixOS
|
||||
$ nix-env -i nixpkgs.idris
|
||||
```
|
||||
|
||||
builtins
|
||||
---------
|
||||
This however only provides the `prelude` and `base` libraries. To install additional libraries:
|
||||
|
||||
This is a list of all of the libraries that come packaged with Idris
|
||||
itself.
|
||||
```
|
||||
$ nix-env -iE 'pkgs: pkgs.idrisPackages.with-packages (with pkgs.idrisPackages; [ contrib pruviloj ])'
|
||||
```
|
||||
|
||||
build-idris-package
|
||||
--------------------
|
||||
To see all available Idris packages:
|
||||
```
|
||||
$ # On NixOS
|
||||
$ nix-env -qaPA nixos.idrisPackages
|
||||
$ # On non-NixOS
|
||||
$ nix-env -qaPA nixpkgs.idrisPackages
|
||||
```
|
||||
|
||||
A function to build an idris package. Its sole argument is a set like
|
||||
you might pass to `stdenv.mkDerivation`, except `build-idris-package`
|
||||
sets several attributes for you. See `build-idris-package.nix` for
|
||||
details.
|
||||
Similarly, entering a `nix-shell`:
|
||||
```
|
||||
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
|
||||
```
|
||||
|
||||
build-builtin-package
|
||||
----------------------
|
||||
## Starting Idris with library support
|
||||
|
||||
A version of `build-idris-package` specialized to builtin libraries.
|
||||
Mostly for internal use.
|
||||
To have access to these libraries in idris, call it with an argument `-p <library name>` for each library:
|
||||
|
||||
with-packages
|
||||
-------------
|
||||
```
|
||||
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
|
||||
[nix-shell:~]$ idris -p contrib -p pruviloj
|
||||
```
|
||||
|
||||
Bundle idris together with a list of packages. Because idris currently
|
||||
only supports a single directory in its library path, you must include
|
||||
all desired libraries here, including `prelude` and `base`.
|
||||
A listing of all available packages the Idris binary has access to is available via `--listlibs`:
|
||||
|
||||
```
|
||||
$ idris --listlibs
|
||||
00prelude-idx.ibc
|
||||
pruviloj
|
||||
base
|
||||
contrib
|
||||
prelude
|
||||
00pruviloj-idx.ibc
|
||||
00base-idx.ibc
|
||||
00contrib-idx.ibc
|
||||
```
|
||||
|
||||
## Building an Idris project with Nix
|
||||
|
||||
As an example of how a Nix expression for an Idris package can be created, here is the one for `idrisPackages.yaml`:
|
||||
|
||||
```nix
|
||||
{ build-idris-package
|
||||
, fetchFromGitHub
|
||||
, contrib
|
||||
, lightyear
|
||||
, lib
|
||||
}:
|
||||
build-idris-package {
|
||||
name = "yaml";
|
||||
version = "2018-01-25";
|
||||
|
||||
# This is the .ipkg file that should be built, defaults to the package name
|
||||
# In this case it should build `Yaml.ipkg` instead of `yaml.ipkg`
|
||||
# This is only necessary because the yaml packages ipkg file is
|
||||
# different from its package name here.
|
||||
ipkgName = "Yaml";
|
||||
# Idris dependencies to provide for the build
|
||||
idrisDeps = [ contrib lightyear ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Heather";
|
||||
repo = "Idris.Yaml";
|
||||
rev = "5afa51ffc839844862b8316faba3bafa15656db4";
|
||||
sha256 = "1g4pi0swmg214kndj85hj50ccmckni7piprsxfdzdfhg87s0avw7";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Idris YAML lib";
|
||||
homepage = https://github.com/Heather/Idris.Yaml;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.brainrape ];
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
Assuming this file is saved as `yaml.nix`, it's buildable using
|
||||
|
||||
```
|
||||
$ nix-build -E '(import <nixpkgs> {}).idrisPackages.callPackage ./yaml.nix {}'
|
||||
```
|
||||
|
||||
Or it's possible to use
|
||||
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
{
|
||||
yaml = idrisPackages.callPackage ./yaml.nix {};
|
||||
}
|
||||
```
|
||||
|
||||
in another file (say `default.nix`) to be able to build it with
|
||||
|
||||
```
|
||||
$ nix-build -A yaml
|
||||
```
|
||||
|
@ -14,7 +14,7 @@ project.
|
||||
|
||||
The package set also provides support for multiple Node.js versions. The policy
|
||||
is that a new package should be added to the collection for the latest stable LTS
|
||||
release (which is currently 8.x), unless there is an explicit reason to support
|
||||
release (which is currently 10.x), unless there is an explicit reason to support
|
||||
a different release.
|
||||
|
||||
If your package uses native addons, you need to examine what kind of native
|
||||
@ -26,7 +26,7 @@ build system it uses. Here are some examples:
|
||||
|
||||
After you have identified the correct system, you need to override your package
|
||||
expression while adding in build system as a build input. For example, `dat`
|
||||
requires `node-gyp-build`, so we override its expression in `default-v8.nix`:
|
||||
requires `node-gyp-build`, so we override its expression in `default-v10.nix`:
|
||||
|
||||
```nix
|
||||
dat = nodePackages.dat.override (oldAttrs: {
|
||||
@ -36,9 +36,9 @@ dat = nodePackages.dat.override (oldAttrs: {
|
||||
|
||||
To add a package from NPM to nixpkgs:
|
||||
|
||||
1. Modify `pkgs/development/node-packages/node-packages-v8.json` to add, update
|
||||
or remove package entries. (Or `pkgs/development/node-packages/node-packages-v10.json`
|
||||
for packages depending on Node.js 10.x)
|
||||
1. Modify `pkgs/development/node-packages/node-packages-v10.json` to add, update
|
||||
or remove package entries. (Or `pkgs/development/node-packages/node-packages-v8.json`
|
||||
for packages depending on Node.js 8.x)
|
||||
2. Run the script: `(cd pkgs/development/node-packages && ./generate.sh)`.
|
||||
3. Build your new package to test your changes:
|
||||
`cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
|
||||
|
@ -2077,7 +2077,7 @@ someVar=$(stripHash $name)
|
||||
Nix itself considers a build-time dependency merely something that should
|
||||
previously be built and accessible at build time—packages themselves are
|
||||
on their own to perform any additional setup. In most cases, that is fine,
|
||||
and the downstream derivation can deal with it's own dependencies. But for a
|
||||
and the downstream derivation can deal with its own dependencies. But for a
|
||||
few common tasks, that would result in almost every package doing the same
|
||||
sort of setup work---depending not on the package itself, but entirely on
|
||||
which dependencies were used.
|
||||
@ -2131,10 +2131,10 @@ someVar=$(stripHash $name)
|
||||
<literal>n + 1</literal> dependencies, as only those ones match the
|
||||
compiler's target platform. The <envar>hostOffset</envar> variable is
|
||||
defined with the current dependency's host offset
|
||||
<envar>targetOffset</envar> with its target offset, before it's setup hook
|
||||
is sourced. Additionally, since most environment hooks don't care about the
|
||||
target platform, That means the setup hook can append to the right bash
|
||||
array by doing something like
|
||||
<envar>targetOffset</envar> with its target offset, before its setup hook is
|
||||
sourced. Additionally, since most environment hooks don't care about the
|
||||
target platform, That means the setup hook can append to the right bash array
|
||||
by doing something like
|
||||
<programlisting language="bash">
|
||||
addEnvHooks "$hostOffset" myBashFunction
|
||||
</programlisting>
|
||||
@ -2142,7 +2142,7 @@ addEnvHooks "$hostOffset" myBashFunction
|
||||
|
||||
<para>
|
||||
The <emphasis>existence</emphasis> of setups hooks has long been documented
|
||||
and packages inside Nixpkgs are free to use these mechanism. Other packages,
|
||||
and packages inside Nixpkgs are free to use this mechanism. Other packages,
|
||||
however, should not rely on these mechanisms not changing between Nixpkgs
|
||||
versions. Because of the existing issues with this system, there's little
|
||||
benefit from mandating it be stable for any period of time.
|
||||
|
@ -47,6 +47,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
||||
amd = {
|
||||
fullName = "AMD License Agreement";
|
||||
url = http://developer.amd.com/amd-license-agreement/;
|
||||
free = false;
|
||||
};
|
||||
|
||||
apsl20 = spdx {
|
||||
@ -104,14 +105,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
||||
fullName = ''BSD 4-clause "Original" or "Old" License'';
|
||||
};
|
||||
|
||||
bsl10 = {
|
||||
fullName = "Business Source License 1.0";
|
||||
url = https://mariadb.com/bsl10;
|
||||
};
|
||||
|
||||
bsl11 = {
|
||||
fullName = "Business Source License 1.1";
|
||||
url = https://mariadb.com/bsl11;
|
||||
free = false;
|
||||
};
|
||||
|
||||
clArtistic = spdx {
|
||||
|
@ -112,11 +112,26 @@ rec {
|
||||
config = "aarch64-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
aarch64be-embedded = {
|
||||
config = "aarch64_be-none-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
ppc-embedded = {
|
||||
config = "powerpc-none-eabi";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
ppcle-embedded = {
|
||||
config = "powerpcle-none-eabi";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
alpha-embedded = {
|
||||
config = "alpha-elf";
|
||||
libc = "newlib";
|
||||
};
|
||||
|
||||
i686-embedded = {
|
||||
config = "i686-elf";
|
||||
|
@ -80,6 +80,7 @@ rec {
|
||||
armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; };
|
||||
armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; };
|
||||
aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; version = "8"; };
|
||||
aarch64_be = { bits = 64; significantByte = bigEndian; family = "arm"; version = "8"; };
|
||||
|
||||
i686 = { bits = 32; significantByte = littleEndian; family = "x86"; };
|
||||
x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; };
|
||||
@ -92,6 +93,7 @@ rec {
|
||||
powerpc = { bits = 32; significantByte = bigEndian; family = "power"; };
|
||||
powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; };
|
||||
powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; };
|
||||
powerpcle = { bits = 32; significantByte = littleEndian; family = "power"; };
|
||||
|
||||
riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; };
|
||||
riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; };
|
||||
@ -101,6 +103,8 @@ rec {
|
||||
|
||||
wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; };
|
||||
wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; };
|
||||
|
||||
alpha = { bits = 64; significantByte = littleEndian; family = "alpha"; };
|
||||
|
||||
avr = { bits = 8; family = "avr"; };
|
||||
};
|
||||
|
@ -129,6 +129,13 @@ rec {
|
||||
/* Returns the current nixpkgs release number as string. */
|
||||
release = lib.strings.fileContents ../.version;
|
||||
|
||||
/* Returns the current nixpkgs release code name.
|
||||
|
||||
On each release the first letter is bumped and a new animal is chosen
|
||||
starting with that new letter.
|
||||
*/
|
||||
codeName = "Koi";
|
||||
|
||||
/* Returns the current nixpkgs version suffix as string. */
|
||||
versionSuffix =
|
||||
let suffixFile = ../.version-suffix;
|
||||
|
@ -216,6 +216,11 @@
|
||||
github = "alunduil";
|
||||
name = "Alex Brandt";
|
||||
};
|
||||
amar1729 = {
|
||||
email = "amar.paul16@gmail.com";
|
||||
github = "amar1729";
|
||||
name = "Amar Paul";
|
||||
};
|
||||
ambrop72 = {
|
||||
email = "ambrop7@gmail.com";
|
||||
github = "ambrop72";
|
||||
@ -757,6 +762,11 @@
|
||||
github = "ChengCat";
|
||||
name = "Yucheng Zhang";
|
||||
};
|
||||
chessai = {
|
||||
email = "chessai1996@gmail.com";
|
||||
github = "chessai";
|
||||
name = "Daniel Cartwright";
|
||||
};
|
||||
chiiruno = {
|
||||
email = "okinan@protonmail.com";
|
||||
github = "chiiruno";
|
||||
@ -4263,6 +4273,11 @@
|
||||
github = "tex";
|
||||
name = "Milan Svoboda";
|
||||
};
|
||||
tg-x = {
|
||||
email = "*@tg-x.net";
|
||||
github = "tg-x";
|
||||
name = "TG ⊗ Θ";
|
||||
};
|
||||
thall = {
|
||||
email = "niclas.thall@gmail.com";
|
||||
github = "thall";
|
||||
|
@ -22,5 +22,6 @@
|
||||
<xi:include href="networking.xml" />
|
||||
<xi:include href="linux-kernel.xml" />
|
||||
<xi:include href="../generated/modules.xml" xpointer="xpointer(//section[@id='modules']/*)" />
|
||||
<xi:include href="profiles.xml" />
|
||||
<!-- Apache; libvirtd virtualisation -->
|
||||
</part>
|
||||
|
39
nixos/doc/manual/configuration/profiles.xml
Normal file
39
nixos/doc/manual/configuration/profiles.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="ch-profiles">
|
||||
<title>Profiles</title>
|
||||
<para>
|
||||
In some cases, it may be desirable to take advantage of commonly-used,
|
||||
predefined configurations provided by nixpkgs, but different from those that
|
||||
come as default. This is a role fulfilled by NixOS's Profiles, which come as
|
||||
files living in <filename><nixpkgs/nixos/modules/profiles></filename>.
|
||||
That is to say, expected usage is to add them to the imports list of your
|
||||
<filename>/etc/configuration.nix</filename> as such:
|
||||
</para>
|
||||
<programlisting>
|
||||
imports = [
|
||||
<nixpkgs/nixos/modules/profiles/profile-name.nix>
|
||||
];
|
||||
</programlisting>
|
||||
<para>
|
||||
Even if some of these profiles seem only useful in the context of
|
||||
install media, many are actually intended to be used in real installs.
|
||||
</para>
|
||||
<para>
|
||||
What follows is a brief explanation on the purpose and use-case for each
|
||||
profile. Detailing each option configured by each one is out of scope.
|
||||
</para>
|
||||
<xi:include href="profiles/all-hardware.xml" />
|
||||
<xi:include href="profiles/base.xml" />
|
||||
<xi:include href="profiles/clone-config.xml" />
|
||||
<xi:include href="profiles/demo.xml" />
|
||||
<xi:include href="profiles/docker-container.xml" />
|
||||
<xi:include href="profiles/graphical.xml" />
|
||||
<xi:include href="profiles/hardened.xml" />
|
||||
<xi:include href="profiles/headless.xml" />
|
||||
<xi:include href="profiles/installation-device.xml" />
|
||||
<xi:include href="profiles/minimal.xml" />
|
||||
<xi:include href="profiles/qemu-guest.xml" />
|
||||
</chapter>
|
20
nixos/doc/manual/configuration/profiles/all-hardware.xml
Normal file
20
nixos/doc/manual/configuration/profiles/all-hardware.xml
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-all-hardware">
|
||||
<title>All Hardware</title>
|
||||
<para>
|
||||
Enables all hardware supported by NixOS: i.e., all firmware is
|
||||
included, and all devices from which one may boot are enabled in the initrd.
|
||||
Its primary use is in the NixOS installation CDs.
|
||||
</para>
|
||||
<para>
|
||||
The enabled kernel modules include support for SATA and PATA, SCSI
|
||||
(partially), USB, Firewire (untested), Virtio (QEMU, KVM, etc.), VMware, and
|
||||
Hyper-V. Additionally, <xref linkend="opt-hardware.enableAllFirmware"/> is
|
||||
enabled, and the firmware for the ZyDAS ZD1211 chipset is specifically
|
||||
installed.
|
||||
</para>
|
||||
</section>
|
15
nixos/doc/manual/configuration/profiles/base.xml
Normal file
15
nixos/doc/manual/configuration/profiles/base.xml
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-base">
|
||||
<title>Base</title>
|
||||
<para>
|
||||
Defines the software packages included in the "minimal"
|
||||
installation CD. It installs several utilities useful in a simple recovery or
|
||||
install media, such as a text-mode web browser, and tools for manipulating
|
||||
block devices, networking, hardware diagnostics, and filesystems (with their
|
||||
respective kernel modules).
|
||||
</para>
|
||||
</section>
|
14
nixos/doc/manual/configuration/profiles/clone-config.xml
Normal file
14
nixos/doc/manual/configuration/profiles/clone-config.xml
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-clone-config">
|
||||
<title>Clone Config</title>
|
||||
<para>
|
||||
This profile is used in installer images.
|
||||
It provides an editable configuration.nix that imports all the modules that
|
||||
were also used when creating the image in the first place.
|
||||
As a result it allows users to edit and rebuild the live-system.
|
||||
</para>
|
||||
</section>
|
13
nixos/doc/manual/configuration/profiles/demo.xml
Normal file
13
nixos/doc/manual/configuration/profiles/demo.xml
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-demo">
|
||||
<title>Demo</title>
|
||||
<para>
|
||||
This profile just enables a <systemitem class="username">demo</systemitem> user, with password <literal>demo</literal>, uid <literal>1000</literal>, <systemitem class="groupname">wheel</systemitem>
|
||||
group and <link linkend="opt-services.xserver.displayManager.sddm.autoLogin">
|
||||
autologin in the SDDM display manager</link>.
|
||||
</para>
|
||||
</section>
|
15
nixos/doc/manual/configuration/profiles/docker-container.xml
Normal file
15
nixos/doc/manual/configuration/profiles/docker-container.xml
Normal file
@ -0,0 +1,15 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-docker-container">
|
||||
<title>Docker Container</title>
|
||||
<para>
|
||||
This is the profile from which the Docker images are generated. It prepares a
|
||||
working system by importing the <link linkend="sec-profile-minimal">Minimal</link> and
|
||||
<link linkend="sec-profile-clone-config">Clone Config</link> profiles, and setting appropriate
|
||||
configuration options that are useful inside a container context, like
|
||||
<xref linkend="opt-boot.isContainer"/>.
|
||||
</para>
|
||||
</section>
|
21
nixos/doc/manual/configuration/profiles/graphical.xml
Normal file
21
nixos/doc/manual/configuration/profiles/graphical.xml
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-graphical">
|
||||
<title>Graphical</title>
|
||||
<para>
|
||||
Defines a NixOS configuration with the Plasma 5 desktop. It's used by the
|
||||
graphical installation CD.
|
||||
</para>
|
||||
<para>
|
||||
It sets <xref linkend="opt-services.xserver.enable"/>,
|
||||
<xref linkend="opt-services.xserver.displayManager.sddm.enable"/>,
|
||||
<xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> (
|
||||
<link linkend="opt-services.xserver.desktopManager.plasma5.enableQt4Support">
|
||||
without Qt4 Support</link>), and
|
||||
<xref linkend="opt-services.xserver.libinput.enable"/> to true. It also
|
||||
includes glxinfo and firefox in the system packages list.
|
||||
</para>
|
||||
</section>
|
22
nixos/doc/manual/configuration/profiles/hardened.xml
Normal file
22
nixos/doc/manual/configuration/profiles/hardened.xml
Normal file
@ -0,0 +1,22 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-hardened">
|
||||
<title>Hardened</title>
|
||||
<para>
|
||||
A profile with most (vanilla) hardening options enabled by default,
|
||||
potentially at the cost of features and performance.
|
||||
</para>
|
||||
<para>
|
||||
This includes a hardened kernel, and limiting the system information
|
||||
available to processes through the <filename>/sys</filename> and
|
||||
<filename>/proc</filename> filesystems. It also disables the User Namespaces
|
||||
feature of the kernel, which stops Nix from being able to build anything
|
||||
(this particular setting can be overriden via
|
||||
<xref linkend="opt-security.allowUserNamespaces"/>). See the <literal
|
||||
xlink:href="https://github.com/nixos/nixpkgs/tree/master/nixos/modules/profiles/hardened.nix">
|
||||
profile source</literal> for further detail on which settings are altered.
|
||||
</para>
|
||||
</section>
|
18
nixos/doc/manual/configuration/profiles/headless.xml
Normal file
18
nixos/doc/manual/configuration/profiles/headless.xml
Normal file
@ -0,0 +1,18 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-headless">
|
||||
<title>Headless</title>
|
||||
<para>
|
||||
Common configuration for headless machines (e.g., Amazon EC2 instances).
|
||||
</para>
|
||||
<para>
|
||||
Disables <link linkend="opt-sound.enable">sound</link>,
|
||||
<link linkend="opt-boot.vesa">vesa</link>, serial consoles,
|
||||
<link linkend="opt-systemd.enableEmergencyMode">emergency mode</link>,
|
||||
<link linkend="opt-boot.loader.grub.splashImage">grub splash images</link> and
|
||||
configures the kernel to reboot automatically on panic.
|
||||
</para>
|
||||
</section>
|
@ -0,0 +1,35 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-installation-device">
|
||||
<title>Installation Device</title>
|
||||
<para>
|
||||
Provides a basic configuration for installation devices like CDs. This means
|
||||
enabling hardware scans, using the <link linkend="sec-profile-clone-config">
|
||||
Clone Config profile</link> to guarantee
|
||||
<filename>/etc/nixos/configuration.nix</filename> exists (for
|
||||
<command>nixos-rebuild</command> to work), a copy of the Nixpkgs channel
|
||||
snapshot used to create the install media.
|
||||
</para>
|
||||
<para>
|
||||
Additionally, documentation for <link linkend="opt-documentation.enable">
|
||||
Nixpkgs</link> and <link linkend="opt-documentation.nixos.enable">NixOS
|
||||
</link> are forcefully enabled (to override the
|
||||
<link linkend="sec-profile-minimal">Minimal profile</link> preference); the
|
||||
NixOS manual is shown automatically on TTY 8, sudo and udisks are disabled.
|
||||
Autologin is enabled as root.
|
||||
</para>
|
||||
<para>
|
||||
A message is shown to the user to start a display manager if needed,
|
||||
ssh with <xref linkend="opt-services.openssh.permitRootLogin"/> are enabled (but
|
||||
doesn't autostart). WPA Supplicant is also enabled without autostart.
|
||||
</para>
|
||||
<para>
|
||||
Finally, vim is installed, root is set to not have a password, the kernel is
|
||||
made more silent for remote public IP installs, and several settings are
|
||||
tweaked so that the installer has a better chance of succeeding under
|
||||
low-memory environments.
|
||||
</para>
|
||||
</section>
|
17
nixos/doc/manual/configuration/profiles/minimal.xml
Normal file
17
nixos/doc/manual/configuration/profiles/minimal.xml
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-minimal">
|
||||
<title>Minimal</title>
|
||||
<para>
|
||||
This profile defines a small NixOS configuration. It does not contain any
|
||||
graphical stuff. It's a very short file that enables
|
||||
<link linkend="opt-environment.noXlibs">noXlibs</link>, sets
|
||||
<link linkend="opt-i18n.supportedLocales">i18n.supportedLocales</link>
|
||||
to only support the user-selected locale,
|
||||
<link linkend="opt-documentation.enable">disables packages' documentation
|
||||
</link>, and <link linkend="opt-sound.enable">disables sound</link>.
|
||||
</para>
|
||||
</section>
|
16
nixos/doc/manual/configuration/profiles/qemu-guest.xml
Normal file
16
nixos/doc/manual/configuration/profiles/qemu-guest.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-profile-qemu-guest">
|
||||
<title>QEMU Guest</title>
|
||||
<para>
|
||||
This profile contains common configuration for virtual machines running under
|
||||
QEMU (using virtio).
|
||||
</para>
|
||||
<para>
|
||||
It makes virtio modules available on the initrd, sets the system time from
|
||||
the hardware clock to work around a bug in qemu-kvm, and
|
||||
<link linkend="opt-security.rngd.enable">enables rngd</link>.
|
||||
</para>
|
||||
</section>
|
@ -13,18 +13,18 @@
|
||||
</refnamediv>
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>nixos-generate-config</command>
|
||||
<command>nixos-generate-config</command>
|
||||
<arg>
|
||||
<option>--force</option>
|
||||
</arg>
|
||||
|
||||
|
||||
<arg>
|
||||
<arg choice='plain'>
|
||||
<option>--root</option>
|
||||
</arg>
|
||||
<replaceable>root</replaceable>
|
||||
</arg>
|
||||
|
||||
|
||||
<arg>
|
||||
<arg choice='plain'>
|
||||
<option>--dir</option>
|
||||
@ -167,7 +167,7 @@ $ nixos-generate-config --root /mnt
|
||||
|
||||
{
|
||||
imports =
|
||||
[ <nixos/modules/installer/scan/not-detected.nix>
|
||||
[ <nixos/modules/installer/scan/not-detected.nix>
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ehci_hcd" "ahci" ];
|
||||
|
@ -149,6 +149,14 @@
|
||||
make sure to update your configuration if you want to keep <literal>proglodyte-wasm</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
When the <literal>nixpkgs.pkgs</literal> option is set, NixOS will no
|
||||
longer ignore the <literal>nixpkgs.overlays</literal> option. The old
|
||||
behavior can be recovered by setting <literal>nixpkgs.overlays =
|
||||
lib.mkForce [];</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
OpenSMTPD has been upgraded to version 6.4.0p1. This release makes
|
||||
@ -206,6 +214,14 @@
|
||||
<literal>hardware.ckb-next.*</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The option <literal>services.xserver.displayManager.job.logToFile</literal> which was
|
||||
previously set to <literal>true</literal> when using the display managers
|
||||
<literal>lightdm</literal>, <literal>sddm</literal> or <literal>xpra</literal> has been
|
||||
reset to the default value (<literal>false</literal>).
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
|
@ -1,4 +1,13 @@
|
||||
{ system, pkgs, minimal ? false, config ? {} }:
|
||||
{ system
|
||||
, # Use a minimal kernel?
|
||||
minimal ? false
|
||||
, # Ignored
|
||||
config ? null
|
||||
# Nixpkgs, for qemu, lib and more
|
||||
, pkgs
|
||||
, # NixOS configuration to add to the VMs
|
||||
extraConfigurations ? []
|
||||
}:
|
||||
|
||||
with pkgs.lib;
|
||||
with import ../lib/qemu-flags.nix { inherit pkgs; };
|
||||
@ -28,7 +37,8 @@ rec {
|
||||
../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
|
||||
{ key = "no-manual"; documentation.nixos.enable = false; }
|
||||
{ key = "qemu"; system.build.qemu = qemu; }
|
||||
] ++ optional minimal ../modules/testing/minimal-kernel.nix;
|
||||
] ++ optional minimal ../modules/testing/minimal-kernel.nix
|
||||
++ extraConfigurations;
|
||||
extraArgs = { inherit nodes; };
|
||||
};
|
||||
|
||||
|
@ -1,6 +1,13 @@
|
||||
{ system, pkgs, minimal ? false, config ? {} }:
|
||||
{ system
|
||||
, pkgs
|
||||
# Use a minimal kernel?
|
||||
, minimal ? false
|
||||
# Ignored
|
||||
, config ? null
|
||||
# Modules to add to each VM
|
||||
, extraConfigurations ? [] }:
|
||||
|
||||
with import ./build-vms.nix { inherit system pkgs minimal config; };
|
||||
with import ./build-vms.nix { inherit system pkgs minimal extraConfigurations; };
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
|
86
nixos/modules/config/gtk/gtk-icon-cache.nix
Normal file
86
nixos/modules/config/gtk/gtk-icon-cache.nix
Normal file
@ -0,0 +1,86 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
{
|
||||
options = {
|
||||
gtk.iconCache.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = config.services.xserver.enable;
|
||||
description = ''
|
||||
Whether to build icon theme caches for GTK+ applications.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf config.gtk.iconCache.enable {
|
||||
|
||||
# (Re)build icon theme caches
|
||||
# ---------------------------
|
||||
# Each icon theme has its own cache. The difficult is that many
|
||||
# packages may contribute with icons to the same theme by installing
|
||||
# some icons.
|
||||
#
|
||||
# For instance, on my current NixOS system, the following packages
|
||||
# (among many others) have icons installed into the hicolor icon
|
||||
# theme: hicolor-icon-theme, psensor, wpa_gui, caja, etc.
|
||||
#
|
||||
# As another example, the mate icon theme has icons installed by the
|
||||
# packages mate-icon-theme, mate-settings-daemon, and libmateweather.
|
||||
#
|
||||
# The HighContrast icon theme also has icons from different packages,
|
||||
# like gnome-theme-extras and meld.
|
||||
|
||||
# When the cache is built all of its icons has to be known. How to
|
||||
# implement this?
|
||||
#
|
||||
# I think that most themes have all icons installed by only one
|
||||
# package. On my system there are 71 themes installed. Only 3 of them
|
||||
# have icons installed from more than one package.
|
||||
#
|
||||
# If the main package of the theme provides a cache, presumably most
|
||||
# of its icons will be available to applications without running this
|
||||
# module. But additional icons offered by other packages will not be
|
||||
# available. Therefore I think that it is good that the main theme
|
||||
# package installs a cache (although it does not completely fixes the
|
||||
# situation for packages installed with nix-env).
|
||||
#
|
||||
# The module solution presented here keeps the cache when there is
|
||||
# only one package contributing with icons to the theme. Otherwise it
|
||||
# rebuilds the cache taking into account the icons provided all
|
||||
# packages.
|
||||
|
||||
environment.extraSetup = ''
|
||||
# For each icon theme directory ...
|
||||
|
||||
find $out/share/icons -mindepth 1 -maxdepth 1 -print0 | while read -d $'\0' themedir
|
||||
do
|
||||
|
||||
# In order to build the cache, the theme dir should be
|
||||
# writable. When the theme dir is a symbolic link to somewhere
|
||||
# in the nix store it is not writable and it means that only
|
||||
# one package is contributing to the theme. If it already has
|
||||
# a cache, no rebuild is needed. Otherwise a cache has to be
|
||||
# built, and to be able to do that we first remove the
|
||||
# symbolic link and make a directory, and then make symbolic
|
||||
# links from the original directory into the new one.
|
||||
|
||||
if [ ! -w "$themedir" -a -L "$themedir" -a ! -r "$themedir"/icon-theme.cache ]; then
|
||||
name=$(basename "$themedir")
|
||||
path=$(readlink -f "$themedir")
|
||||
rm "$themedir"
|
||||
mkdir -p "$themedir"
|
||||
ln -s "$path"/* "$themedir"/
|
||||
fi
|
||||
|
||||
# (Re)build the cache if the theme dir is writable, replacing any
|
||||
# existing cache for the theme
|
||||
|
||||
if [ -w "$themedir" ]; then
|
||||
rm -f "$themedir"/icon-theme.cache
|
||||
${pkgs.gtk3.out}/bin/gtk-update-icon-cache --ignore-theme-index "$themedir"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
@ -260,9 +260,9 @@ in
|
||||
'';
|
||||
|
||||
} // optionalAttrs config.services.resolved.enable {
|
||||
# symlink the static version of resolv.conf as recommended by upstream:
|
||||
# symlink the dynamic stub resolver of resolv.conf as recommended by upstream:
|
||||
# https://www.freedesktop.org/software/systemd/man/systemd-resolved.html#/etc/resolv.conf
|
||||
"resolv.conf".source = "${pkgs.systemd}/lib/systemd/resolv.conf";
|
||||
"resolv.conf".source = "/run/systemd/resolve/stub-resolv.conf";
|
||||
} // optionalAttrs (config.services.resolved.enable && dnsmasqResolve) {
|
||||
"dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
|
||||
} // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") {
|
||||
|
@ -135,10 +135,6 @@ in
|
||||
# outputs TODO: note that the tools will often not be linked by default
|
||||
postBuild =
|
||||
''
|
||||
if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then
|
||||
$out/bin/gtk-update-icon-cache $out/share/icons/hicolor
|
||||
fi
|
||||
|
||||
if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then
|
||||
$out/bin/glib-compile-schemas $out/share/glib-2.0/schemas
|
||||
fi
|
||||
|
@ -10,6 +10,15 @@ in
|
||||
options.hardware.ckb-next = {
|
||||
enable = mkEnableOption "the Corsair keyboard/mouse driver";
|
||||
|
||||
gid = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
example = 100;
|
||||
description = ''
|
||||
Limit access to the ckb daemon to a particular group.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.ckb-next;
|
||||
@ -26,8 +35,8 @@ in
|
||||
systemd.services.ckb-next = {
|
||||
description = "Corsair Keyboards and Mice Daemon";
|
||||
wantedBy = ["multi-user.target"];
|
||||
script = "exec ${cfg.package}/bin/ckb-next-daemon";
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/ckb-next-daemon ${optionalString (cfg.gid != null) "--gid=${builtins.toString cfg.gid}"}";
|
||||
Restart = "on-failure";
|
||||
StandardOutput = "syslog";
|
||||
};
|
||||
|
@ -314,14 +314,16 @@ push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDr
|
||||
|
||||
# Generate the swapDevices option from the currently activated swap
|
||||
# devices.
|
||||
my @swaps = read_file("/proc/swaps");
|
||||
shift @swaps;
|
||||
my @swaps = read_file("/proc/swaps", err_mode => 'carp');
|
||||
my @swapDevices;
|
||||
foreach my $swap (@swaps) {
|
||||
$swap =~ /^(\S+)\s/;
|
||||
next unless -e $1;
|
||||
my $dev = findStableDevPath $1;
|
||||
push @swapDevices, "{ device = \"$dev\"; }";
|
||||
if (@swaps) {
|
||||
shift @swaps;
|
||||
foreach my $swap (@swaps) {
|
||||
$swap =~ /^(\S+)\s/;
|
||||
next unless -e $1;
|
||||
my $dev = findStableDevPath $1;
|
||||
push @swapDevices, "{ device = \"$dev\"; }";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -101,7 +101,7 @@
|
||||
iodined = 66;
|
||||
#libvirtd = 67; # unused
|
||||
graphite = 68;
|
||||
statsd = 69;
|
||||
#statsd = 69; # removed 2018-11-14
|
||||
transmission = 70;
|
||||
postgres = 71;
|
||||
#vboxusers = 72; # unused
|
||||
@ -411,7 +411,7 @@
|
||||
iodined = 66;
|
||||
libvirtd = 67;
|
||||
graphite = 68;
|
||||
#statsd = 69; # unused
|
||||
#statsd = 69; # removed 2018-11-14
|
||||
transmission = 70;
|
||||
postgres = 71;
|
||||
vboxusers = 72;
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, options, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.nixpkgs;
|
||||
opt = options.nixpkgs;
|
||||
|
||||
isConfig = x:
|
||||
builtins.isAttrs x || lib.isFunction x;
|
||||
@ -54,6 +55,12 @@ let
|
||||
check = builtins.isAttrs;
|
||||
};
|
||||
|
||||
defaultPkgs = import ../../../pkgs/top-level/default.nix {
|
||||
inherit (cfg) config overlays localSystem crossSystem;
|
||||
};
|
||||
|
||||
finalPkgs = if opt.pkgs.isDefined then cfg.pkgs.appendOverlays cfg.overlays else defaultPkgs;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
@ -61,21 +68,25 @@ in
|
||||
|
||||
pkgs = mkOption {
|
||||
defaultText = literalExample
|
||||
''import "''${nixos}/.." {
|
||||
''import "''${nixos}/../pkgs/top-level" {
|
||||
inherit (cfg) config overlays localSystem crossSystem;
|
||||
}
|
||||
'';
|
||||
default = import ../../.. {
|
||||
inherit (cfg) config overlays localSystem crossSystem;
|
||||
};
|
||||
type = pkgsType;
|
||||
example = literalExample ''import <nixpkgs> {}'';
|
||||
description = ''
|
||||
This is the evaluation of Nixpkgs that will be provided to
|
||||
all NixOS modules. Defining this option has the effect of
|
||||
ignoring the other options that would otherwise be used to
|
||||
evaluate Nixpkgs, because those are arguments to the default
|
||||
value. The default value imports the Nixpkgs source files
|
||||
If set, the pkgs argument to all NixOS modules is the value of
|
||||
this option, extended with <code>nixpkgs.overlays</code>, if
|
||||
that is also set. Either <code>nixpkgs.crossSystem</code> or
|
||||
<code>nixpkgs.localSystem</code> will be used in an assertion
|
||||
to check that the NixOS and Nixpkgs architectures match. Any
|
||||
other options in <code>nixpkgs.*</code>, notably <code>config</code>,
|
||||
will be ignored.
|
||||
|
||||
If unset, the pkgs argument to all NixOS modules is determined
|
||||
as shown in the default value for this option.
|
||||
|
||||
The default value imports the Nixpkgs source files
|
||||
relative to the location of this NixOS module, because
|
||||
NixOS and Nixpkgs are distributed together for consistency,
|
||||
so the <code>nixos</code> in the default value is in fact a
|
||||
@ -128,12 +139,14 @@ in
|
||||
description = ''
|
||||
List of overlays to use with the Nix Packages collection.
|
||||
(For details, see the Nixpkgs documentation.) It allows
|
||||
you to override packages globally. This is a function that
|
||||
you to override packages globally. Each function in the list
|
||||
takes as an argument the <emphasis>original</emphasis> Nixpkgs.
|
||||
The first argument should be used for finding dependencies, and
|
||||
the second should be used for overriding recipes.
|
||||
|
||||
Ignored when <code>nixpkgs.pkgs</code> is set.
|
||||
If <code>nixpkgs.pkgs</code> is set, overlays specified here
|
||||
will be applied after the overlays that were already present
|
||||
in <code>nixpkgs.pkgs</code>.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -207,7 +220,26 @@ in
|
||||
|
||||
config = {
|
||||
_module.args = {
|
||||
pkgs = cfg.pkgs;
|
||||
pkgs = finalPkgs;
|
||||
};
|
||||
|
||||
assertions = [
|
||||
(
|
||||
let
|
||||
nixosExpectedSystem =
|
||||
if config.nixpkgs.crossSystem != null
|
||||
then config.nixpkgs.crossSystem.system
|
||||
else config.nixpkgs.localSystem.system;
|
||||
nixosOption =
|
||||
if config.nixpkgs.crossSystem != null
|
||||
then "nixpkgs.crossSystem"
|
||||
else "nixpkgs.localSystem";
|
||||
pkgsSystem = finalPkgs.stdenv.targetPlatform.system;
|
||||
in {
|
||||
assertion = nixosExpectedSystem == pkgsSystem;
|
||||
message = "The NixOS nixpkgs.pkgs option was set to a Nixpkgs invocation that compiles to target system ${pkgsSystem} but NixOS was configured for system ${nixosExpectedSystem} via NixOS option ${nixosOption}. The NixOS system settings must match the Nixpkgs target system.";
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ in
|
||||
nixos.codeName = mkOption {
|
||||
readOnly = true;
|
||||
type = types.str;
|
||||
default = lib.trivial.codeName;
|
||||
description = "The NixOS release code name (e.g. <literal>Emu</literal>).";
|
||||
};
|
||||
|
||||
@ -79,9 +80,6 @@ in
|
||||
version = mkDefault (cfg.release + cfg.versionSuffix);
|
||||
revision = mkIf (pathIsDirectory gitRepo) (mkDefault gitCommitId);
|
||||
versionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId));
|
||||
|
||||
# Note: the first letter is bumped on every release. It's an animal.
|
||||
codeName = "Koi";
|
||||
};
|
||||
|
||||
# Generate /etc/os-release. See
|
||||
|
@ -11,6 +11,7 @@
|
||||
./config/xdg/icons.nix
|
||||
./config/xdg/menus.nix
|
||||
./config/xdg/mime.nix
|
||||
./config/gtk/gtk-icon-cache.nix
|
||||
./config/gnu.nix
|
||||
./config/i18n.nix
|
||||
./config/iproute2.nix
|
||||
@ -63,7 +64,6 @@
|
||||
./i18n/input-method/ibus.nix
|
||||
./i18n/input-method/nabi.nix
|
||||
./i18n/input-method/uim.nix
|
||||
./installer/tools/auto-upgrade.nix
|
||||
./installer/tools/tools.nix
|
||||
./misc/assertions.nix
|
||||
./misc/crashdump.nix
|
||||
@ -302,6 +302,7 @@
|
||||
./services/logging/graylog.nix
|
||||
./services/logging/heartbeat.nix
|
||||
./services/logging/journalbeat.nix
|
||||
./services/logging/journaldriver.nix
|
||||
./services/logging/journalwatch.nix
|
||||
./services/logging/klogd.nix
|
||||
./services/logging/logcheck.nix
|
||||
@ -451,7 +452,6 @@
|
||||
./services/monitoring/riemann-tools.nix
|
||||
./services/monitoring/scollector.nix
|
||||
./services/monitoring/smartd.nix
|
||||
./services/monitoring/statsd.nix
|
||||
./services/monitoring/sysstat.nix
|
||||
./services/monitoring/systemhealth.nix
|
||||
./services/monitoring/teamviewer.nix
|
||||
@ -801,6 +801,7 @@
|
||||
./system/boot/timesyncd.nix
|
||||
./system/boot/tmp.nix
|
||||
./system/etc/etc.nix
|
||||
./tasks/auto-upgrade.nix
|
||||
./tasks/bcache.nix
|
||||
./tasks/cpu-freq.nix
|
||||
./tasks/encrypted-devices.nix
|
||||
|
@ -87,9 +87,19 @@ in {
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
New style config options.
|
||||
Configuration options in RabbitMQ's new config file format,
|
||||
which is a simple key-value format that can not express nested
|
||||
data structures. This is known as the <literal>rabbitmq.conf</literal> file,
|
||||
although outside NixOS that filename may have Erlang syntax, particularly
|
||||
prior to RabbitMQ 3.7.0.
|
||||
|
||||
See http://www.rabbitmq.com/configure.html
|
||||
If you do need to express nested data structures, you can use
|
||||
<literal>config</literal> option. Configuration from <literal>config</literal>
|
||||
will be merged into these options by RabbitMQ at runtime to
|
||||
form the final configuration.
|
||||
|
||||
See http://www.rabbitmq.com/configure.html#config-items
|
||||
For the distinct formats, see http://www.rabbitmq.com/configure.html#config-file-formats
|
||||
'';
|
||||
};
|
||||
|
||||
@ -97,10 +107,17 @@ in {
|
||||
default = "";
|
||||
type = types.str;
|
||||
description = ''
|
||||
Verbatim advanced configuration file contents.
|
||||
Prefered way is to use configItems.
|
||||
Verbatim advanced configuration file contents using the Erlang syntax.
|
||||
This is also known as the <literal>advanced.config</literal> file or the old config format.
|
||||
|
||||
See http://www.rabbitmq.com/configure.html
|
||||
<literal>configItems</literal> is preferred whenever possible. However, nested
|
||||
data structures can only be expressed properly using the <literal>config</literal> option.
|
||||
|
||||
The contents of this option will be merged into the <literal>configItems</literal>
|
||||
by RabbitMQ at runtime to form the final configuration.
|
||||
|
||||
See the second table on http://www.rabbitmq.com/configure.html#config-items
|
||||
For the distinct formats, see http://www.rabbitmq.com/configure.html#config-file-formats
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -20,6 +20,8 @@ let
|
||||
'';
|
||||
|
||||
script = ''
|
||||
umask 0077 # ensure backup is only readable by postgres user
|
||||
|
||||
if [ -e ${cfg.location}/${db}.sql.gz ]; then
|
||||
${pkgs.coreutils}/bin/mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz
|
||||
fi
|
||||
|
@ -23,6 +23,7 @@ let
|
||||
''
|
||||
[mysqld]
|
||||
port = ${toString cfg.port}
|
||||
datadir = ${cfg.dataDir}
|
||||
${optionalString (cfg.bind != null) "bind-address = ${cfg.bind}" }
|
||||
${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "log-bin=mysql-bin"}
|
||||
${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "server-id = ${toString cfg.replication.serverId}"}
|
||||
@ -147,7 +148,7 @@ in
|
||||
option is changed. This means that users created and permissions assigned once through this option or
|
||||
otherwise have to be removed manually.
|
||||
'';
|
||||
example = [
|
||||
example = literalExample ''[
|
||||
{
|
||||
name = "nextcloud";
|
||||
ensurePermissions = {
|
||||
@ -160,7 +161,7 @@ in
|
||||
"*.*" = "SELECT, LOCK TABLES";
|
||||
};
|
||||
}
|
||||
];
|
||||
]'';
|
||||
};
|
||||
|
||||
# FIXME: remove this option; it's a really bad idea.
|
||||
|
@ -405,6 +405,9 @@ in
|
||||
cp -Rf ${pkgs.zookeeper}/* ${cfg.baseDir}/zookeeper
|
||||
chown -R zookeeper ${cfg.baseDir}/zookeeper/conf
|
||||
chmod -R u+w ${cfg.baseDir}/zookeeper/conf
|
||||
replace_what=$(echo ${pkgs.zookeeper} | sed 's/[\/&]/\\&/g')
|
||||
replace_with=$(echo ${cfg.baseDir}/zookeeper | sed 's/[\/&]/\\&/g')
|
||||
sed -i 's/'"$replace_what"'/'"$replace_with"'/g' ${cfg.baseDir}/zookeeper/bin/zk*.sh
|
||||
'';
|
||||
};
|
||||
users.users = singleton {
|
||||
|
@ -564,11 +564,11 @@ in {
|
||||
[ -L /run/gitlab/log ] || ln -sf ${cfg.statePath}/log /run/gitlab/log
|
||||
[ -L /run/gitlab/tmp ] || ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
|
||||
[ -L /run/gitlab/uploads ] || ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
|
||||
cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
||||
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
||||
${optionalString cfg.smtp.enable ''
|
||||
ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
|
||||
''}
|
||||
cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
||||
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
||||
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret
|
||||
|
||||
# JSON is a subset of YAML
|
||||
|
@ -117,11 +117,11 @@ in
|
||||
|
||||
buildCores = mkOption {
|
||||
type = types.int;
|
||||
default = 1;
|
||||
default = 0;
|
||||
example = 64;
|
||||
description = ''
|
||||
This option defines the maximum number of concurrent tasks during
|
||||
one build. It affects, e.g., -j option for make. The default is 1.
|
||||
one build. It affects, e.g., -j option for make.
|
||||
The special value 0 means that the builder should use all
|
||||
available CPU cores in the system. Some builds may become
|
||||
non-deterministic with this option; use with care! Packages will
|
||||
|
@ -12,7 +12,7 @@ let
|
||||
|
||||
localConfig = {
|
||||
global = {
|
||||
"plugins directory" = "${wrappedPlugins}/libexec/netdata/plugins.d ${pkgs.netdata}/libexec/netdata/plugins.d";
|
||||
"plugins directory" = "${pkgs.netdata}/libexec/netdata/plugins.d ${wrappedPlugins}/libexec/netdata/plugins.d";
|
||||
};
|
||||
web = {
|
||||
"web files owner" = "root";
|
||||
@ -53,6 +53,31 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
python = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable python-based plugins
|
||||
'';
|
||||
};
|
||||
extraPackages = mkOption {
|
||||
default = ps: [];
|
||||
defaultText = "ps: []";
|
||||
example = literalExample ''
|
||||
ps: [
|
||||
ps.psycopg2
|
||||
ps.docker
|
||||
ps.dnspython
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
Extra python packages available at runtime
|
||||
to enable additional python plugins.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkOption {
|
||||
type = types.attrsOf types.attrs;
|
||||
default = {};
|
||||
@ -75,10 +100,11 @@ in {
|
||||
}
|
||||
];
|
||||
systemd.services.netdata = {
|
||||
path = with pkgs; [ gawk curl ];
|
||||
description = "Real time performance monitoring";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = (with pkgs; [ gawk curl ]) ++ lib.optional cfg.python.enable
|
||||
(pkgs.python3.withPackages cfg.python.extraPackages);
|
||||
preStart = concatStringsSep "\n" (map (dir: ''
|
||||
mkdir -vp ${dir}
|
||||
chmod 750 ${dir}
|
||||
@ -89,6 +115,7 @@ in {
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
Environment="PYTHONPATH=${pkgs.netdata}/libexec/netdata/python.d/python_modules";
|
||||
PermissionsStartOnly = true;
|
||||
ExecStart = "${pkgs.netdata}/bin/netdata -D -c ${configFile}";
|
||||
TimeoutStopSec = 60;
|
||||
@ -96,7 +123,7 @@ in {
|
||||
};
|
||||
|
||||
security.wrappers."apps.plugin" = {
|
||||
source = "${pkgs.netdata}/libexec/netdata/plugins.d/apps.plugin";
|
||||
source = "${pkgs.netdata}/libexec/netdata/plugins.d/apps.plugin.org";
|
||||
capabilities = "cap_dac_read_search,cap_sys_ptrace+ep";
|
||||
owner = cfg.user;
|
||||
group = cfg.group;
|
||||
|
@ -176,10 +176,8 @@ in
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Type="forking";
|
||||
PIDFile="/run/glusterd.pid";
|
||||
LimitNOFILE=65536;
|
||||
ExecStart="${glusterfs}/sbin/glusterd -p /run/glusterd.pid --log-level=${cfg.logLevel} ${toString cfg.extraFlags}";
|
||||
ExecStart="${glusterfs}/sbin/glusterd --no-daemon --log-level=${cfg.logLevel} ${toString cfg.extraFlags}";
|
||||
KillMode=cfg.killMode;
|
||||
TimeoutStopSec=cfg.stopKillTimeout;
|
||||
};
|
||||
|
@ -3,13 +3,20 @@
|
||||
with lib;
|
||||
|
||||
let cfg = config.services.cloud-init;
|
||||
path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow openssh iproute ];
|
||||
path = with pkgs; [
|
||||
cloud-init
|
||||
iproute
|
||||
nettools
|
||||
openssh
|
||||
shadow
|
||||
utillinux
|
||||
] ++ optional cfg.btrfs.enable btrfs-progs
|
||||
++ optional cfg.ext4.enable e2fsprogs
|
||||
;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
|
||||
services.cloud-init = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
@ -29,6 +36,22 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
btrfs.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Allow the cloud-init service to operate `btrfs` filesystem.
|
||||
'';
|
||||
};
|
||||
|
||||
ext4.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Allow the cloud-init service to operate `ext4` filesystem.
|
||||
'';
|
||||
};
|
||||
|
||||
config = mkOption {
|
||||
type = types.str;
|
||||
default = ''
|
||||
|
@ -21,8 +21,8 @@ let
|
||||
db_database=${cfg.database.name}
|
||||
db_username=${cfg.database.user}
|
||||
db_password=${cfg.database.password}
|
||||
db_port=${if (cfg.database.port != null) then cfg.database.port
|
||||
else default_port}
|
||||
db_port=${toString (if (cfg.database.port != null) then cfg.database.port
|
||||
else default_port)}
|
||||
''
|
||||
}
|
||||
${cfg.extraConfig}
|
||||
|
@ -208,15 +208,11 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
services.xserver.displayManager.job = {
|
||||
logToFile = true;
|
||||
|
||||
# lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
|
||||
execCmd = ''
|
||||
export PATH=${lightdm}/sbin:$PATH
|
||||
exec ${lightdm}/sbin/lightdm
|
||||
'';
|
||||
};
|
||||
# lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
|
||||
services.xserver.displayManager.job.execCmd = ''
|
||||
export PATH=${lightdm}/sbin:$PATH
|
||||
exec ${lightdm}/sbin/lightdm
|
||||
'';
|
||||
|
||||
environment.etc."lightdm/lightdm.conf".source = lightdmConf;
|
||||
environment.etc."lightdm/users.conf".source = usersConf;
|
||||
|
@ -209,8 +209,6 @@ in
|
||||
];
|
||||
|
||||
services.xserver.displayManager.job = {
|
||||
logToFile = true;
|
||||
|
||||
environment = {
|
||||
# Load themes from system environment
|
||||
QT_PLUGIN_PATH = "/run/current-system/sw/" + pkgs.qt5.qtbase.qtPluginPrefix;
|
||||
|
@ -219,30 +219,26 @@ in
|
||||
VideoRam 192000
|
||||
'';
|
||||
|
||||
services.xserver.displayManager.job = {
|
||||
logToFile = true;
|
||||
|
||||
execCmd = ''
|
||||
${optionalString (cfg.pulseaudio)
|
||||
"export PULSE_COOKIE=/var/run/pulse/.config/pulse/cookie"}
|
||||
exec ${pkgs.xpra}/bin/xpra start \
|
||||
--daemon=off \
|
||||
--log-dir=/var/log \
|
||||
--log-file=xpra.log \
|
||||
--opengl=on \
|
||||
--clipboard=on \
|
||||
--notifications=on \
|
||||
--speaker=yes \
|
||||
--mdns=no \
|
||||
--pulseaudio=no \
|
||||
${optionalString (cfg.pulseaudio) "--sound-source=pulse"} \
|
||||
--socket-dirs=/var/run/xpra \
|
||||
--xvfb="xpra_Xdummy ${concatStringsSep " " dmcfg.xserverArgs}" \
|
||||
${optionalString (cfg.bindTcp != null) "--bind-tcp=${cfg.bindTcp}"} \
|
||||
--auth=${cfg.auth} \
|
||||
${concatStringsSep " " cfg.extraOptions}
|
||||
'';
|
||||
};
|
||||
services.xserver.displayManager.job.execCmd = ''
|
||||
${optionalString (cfg.pulseaudio)
|
||||
"export PULSE_COOKIE=/var/run/pulse/.config/pulse/cookie"}
|
||||
exec ${pkgs.xpra}/bin/xpra start \
|
||||
--daemon=off \
|
||||
--log-dir=/var/log \
|
||||
--log-file=xpra.log \
|
||||
--opengl=on \
|
||||
--clipboard=on \
|
||||
--notifications=on \
|
||||
--speaker=yes \
|
||||
--mdns=no \
|
||||
--pulseaudio=no \
|
||||
${optionalString (cfg.pulseaudio) "--sound-source=pulse"} \
|
||||
--socket-dirs=/var/run/xpra \
|
||||
--xvfb="xpra_Xdummy ${concatStringsSep " " dmcfg.xserverArgs}" \
|
||||
${optionalString (cfg.bindTcp != null) "--bind-tcp=${cfg.bindTcp}"} \
|
||||
--auth=${cfg.auth} \
|
||||
${concatStringsSep " " cfg.extraOptions}
|
||||
'';
|
||||
|
||||
services.xserver.terminateOnReset = false;
|
||||
|
||||
|
@ -13,7 +13,8 @@ let
|
||||
|
||||
# Map video driver names to driver packages. FIXME: move into card-specific modules.
|
||||
knownVideoDrivers = {
|
||||
virtualbox = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; };
|
||||
# Alias so people can keep using "virtualbox" instead of "vboxvideo".
|
||||
virtualbox = { modules = [ xorg.xf86videovboxvideo ]; driverName = "vboxvideo"; };
|
||||
|
||||
# modesetting does not have a xf86videomodesetting package as it is included in xorgserver
|
||||
modesetting = {};
|
||||
@ -564,8 +565,6 @@ in
|
||||
knownVideoDrivers;
|
||||
in optional (driver != null) ({ inherit name; modules = []; driverName = name; } // driver));
|
||||
|
||||
nixpkgs.config = optionalAttrs (elem "vboxvideo" cfg.videoDrivers) { xorg.abiCompat = "1.18"; };
|
||||
|
||||
assertions = [
|
||||
{ assertion = config.security.polkit.enable;
|
||||
message = "X11 requires Polkit to be enabled (‘security.polkit.enable = true’).";
|
||||
|
@ -4,6 +4,6 @@ let self = {
|
||||
"16.03" = "gs://nixos-cloud-images/nixos-image-16.03.847.8688c17-x86_64-linux.raw.tar.gz";
|
||||
"17.03" = "gs://nixos-cloud-images/nixos-image-17.03.1082.4aab5c5798-x86_64-linux.raw.tar.gz";
|
||||
"18.03" = "gs://nixos-cloud-images/nixos-image-18.03.132536.fdb5ba4cdf9-x86_64-linux.raw.tar.gz";
|
||||
|
||||
latest = self."18.03";
|
||||
"18.09" = "gs://nixos-cloud-images/nixos-image-18.09.1228.a4c4cbb613c-x86_64-linux.raw.tar.gz";
|
||||
latest = self."18.09";
|
||||
}; in self
|
||||
|
@ -88,6 +88,7 @@ in
|
||||
graphite = handleTest ./graphite.nix {};
|
||||
hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
|
||||
hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};
|
||||
handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {};
|
||||
haproxy = handleTest ./haproxy.nix {};
|
||||
#hardened = handleTest ./hardened.nix {}; # broken due useSandbox = true
|
||||
hibernate = handleTest ./hibernate.nix {};
|
||||
@ -98,7 +99,7 @@ in
|
||||
hydra = handleTest ./hydra {};
|
||||
i3wm = handleTest ./i3wm.nix {};
|
||||
iftop = handleTest ./iftop.nix {};
|
||||
incron = handleTest tests/incron.nix {};
|
||||
incron = handleTest ./incron.nix {};
|
||||
influxdb = handleTest ./influxdb.nix {};
|
||||
initrd-network-ssh = handleTest ./initrd-network-ssh {};
|
||||
initrdNetwork = handleTest ./initrd-network.nix {};
|
||||
@ -189,7 +190,6 @@ in
|
||||
smokeping = handleTest ./smokeping.nix {};
|
||||
snapper = handleTest ./snapper.nix {};
|
||||
solr = handleTest ./solr.nix {};
|
||||
#statsd = handleTest ./statsd.nix {}; # statsd is broken: #45946
|
||||
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
|
||||
sudo = handleTest ./sudo.nix {};
|
||||
switchTest = handleTest ./switch-test.nix {};
|
||||
|
@ -27,6 +27,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
|
||||
enable = true;
|
||||
databasePassword = "dbPassword";
|
||||
initialRootPassword = "notproduction";
|
||||
smtp.enable = true;
|
||||
secrets = {
|
||||
secret = "secret";
|
||||
otp = "otpsecret";
|
||||
|
25
nixos/tests/handbrake.nix
Normal file
25
nixos/tests/handbrake.nix
Normal file
@ -0,0 +1,25 @@
|
||||
import ./make-test.nix ({ pkgs, ... }:
|
||||
let
|
||||
# Download Big Buck Bunny example, licensed under CC Attribution 3.0.
|
||||
testMkv = pkgs.fetchurl {
|
||||
url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
|
||||
sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
|
||||
};
|
||||
in {
|
||||
name = "handbrake";
|
||||
|
||||
meta = {
|
||||
maintainers = with pkgs.stdenv.lib.maintainers; [ danieldk ];
|
||||
};
|
||||
|
||||
machine = { pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [ handbrake ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
# Test MP4 and MKV transcoding. Since this is a short clip, transcoding typically
|
||||
# only takes a few seconds.
|
||||
$machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160");
|
||||
$machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160");
|
||||
'';
|
||||
})
|
@ -481,7 +481,7 @@ in {
|
||||
# Test whether opening encrypted filesystem with keyfile
|
||||
# Checks for regression of missing cryptsetup, when no luks device without
|
||||
# keyfile is configured
|
||||
filesystemEncryptedWithKeyfile = makeInstallerTest "filesystemEncryptedWithKeyfile"
|
||||
encryptedFSWithKeyfile = makeInstallerTest "encryptedFSWithKeyfile"
|
||||
{ createPartitions = ''
|
||||
$machine->succeed(
|
||||
"flock /dev/vda parted --script /dev/vda -- mklabel msdos"
|
||||
|
@ -58,6 +58,7 @@ let
|
||||
# Check backup service
|
||||
$machine->succeed("systemctl start postgresqlBackup-postgres.service");
|
||||
$machine->succeed("zcat /var/backup/postgresql/postgres.sql.gz | grep '<test>ok</test>'");
|
||||
$machine->succeed("stat -c '%a' /var/backup/postgresql/postgres.sql.gz | grep 600");
|
||||
$machine->shutdown;
|
||||
'';
|
||||
|
||||
|
@ -1,51 +0,0 @@
|
||||
import ./make-test.nix ({ pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
name = "statsd";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ ma27 ];
|
||||
};
|
||||
|
||||
machine = {
|
||||
services.statsd.enable = true;
|
||||
services.statsd.backends = [ "statsd-influxdb-backend" "console" ];
|
||||
services.statsd.extraConfig = ''
|
||||
influxdb: {
|
||||
username: "root",
|
||||
password: "root",
|
||||
database: "statsd"
|
||||
}
|
||||
'';
|
||||
|
||||
services.influxdb.enable = true;
|
||||
|
||||
systemd.services.influx-init = {
|
||||
description = "Setup Influx Test Base";
|
||||
after = [ "influxdb.service" ];
|
||||
before = [ "statsd.service" ];
|
||||
|
||||
script = ''
|
||||
echo "CREATE DATABASE statsd" | ${pkgs.influxdb}/bin/influx
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
$machine->start();
|
||||
$machine->waitForUnit("statsd.service");
|
||||
$machine->waitForOpenPort(8126);
|
||||
|
||||
# check state of the `statsd` server
|
||||
$machine->succeed('[ "health: up" = "$(echo health | nc 127.0.0.1 8126 -w 120 -N)" ];');
|
||||
|
||||
# confirm basic examples for metrics derived from docs:
|
||||
# https://github.com/etsy/statsd/blob/v0.8.0/README.md#usage and
|
||||
# https://github.com/etsy/statsd/blob/v0.8.0/docs/admin_interface.md
|
||||
$machine->succeed("echo 'foo:1|c' | nc -u -w 0 127.0.0.1 8125");
|
||||
$machine->succeed("echo counters | nc -w 120 127.0.0.1 8126 -N | grep foo");
|
||||
$machine->succeed("echo 'delcounters foo' | nc -w 120 127.0.0.1 8126 -N");
|
||||
$machine->fail("echo counters | nc -w 120 127.0.0.1 8126 -N | grep foo");
|
||||
'';
|
||||
})
|
@ -6,19 +6,20 @@
|
||||
, qtwebengine, qtx11extras, qtxmlpatterns
|
||||
, monero, unbound, readline, boost, libunwind
|
||||
, libsodium, pcsclite, zeromq, cppzmq, pkgconfig
|
||||
, hidapi
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "monero-gui-${version}";
|
||||
version = "0.13.0.3";
|
||||
version = "0.13.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "monero-project";
|
||||
repo = "monero-gui";
|
||||
rev = "v${version}";
|
||||
sha256 = "1rvxwz7p1yw9c817n07m60xvmv2p97s82sfzwkg2x880fpxb0gj9";
|
||||
sha256 = "142yj5s15bhm300dislq3x5inw1f37shnrd5vyj78jjcvry3wymw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake pkgconfig ];
|
||||
@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
qtwebchannel qtwebengine qtx11extras
|
||||
qtxmlpatterns monero unbound readline
|
||||
boost libunwind libsodium pcsclite zeromq
|
||||
cppzmq makeWrapper
|
||||
cppzmq makeWrapper hidapi
|
||||
];
|
||||
|
||||
patches = [
|
||||
@ -86,7 +87,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Private, secure, untraceable currency";
|
||||
homepage = https://getmonero.org/;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ rnhmjoj ];
|
||||
};
|
||||
}
|
||||
|
@ -11,12 +11,12 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "monero-${version}";
|
||||
version = "0.13.0.3";
|
||||
version = "0.13.0.4";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/monero-project/monero.git";
|
||||
rev = "v${version}";
|
||||
sha256 = "03qx8y74zxnmabdi5r3a274pp8zvm3xhkdwi1xf5sb40vf4sfmwb";
|
||||
sha256 = "1ambgakapijhsi1pd70vw8vvnlwa3nid944lqkbfq3wl25lmc70d";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig git ];
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2
|
||||
, wafHook
|
||||
, python2Packages}:
|
||||
|
||||
let
|
||||
@ -12,15 +13,10 @@ in stdenv.mkDerivation rec {
|
||||
sha256 = "06dgf5655znbvrd7fhrv8msv6zw8vk0hjqglcqkh90960mnnmwz7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig wafHook ];
|
||||
buildInputs = [ makeWrapper alsaLib dbus libjack2 python dbus-python ];
|
||||
|
||||
configurePhase = "${python.interpreter} waf configure --prefix=$out";
|
||||
|
||||
buildPhase = "${python.interpreter} waf";
|
||||
|
||||
installPhase = ''
|
||||
${python.interpreter} waf install
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
|
||||
'';
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python3 }:
|
||||
{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python3
|
||||
, wafHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ams-lv2-${version}";
|
||||
@ -11,15 +12,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig wafHook ];
|
||||
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];
|
||||
|
||||
configurePhase = "${python3.interpreter} waf configure --prefix=$out";
|
||||
|
||||
buildPhase = "${python3.interpreter} waf";
|
||||
|
||||
installPhase = "${python3.interpreter} waf install";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An LV2 port of the internal modules found in Alsa Modular Synth";
|
||||
homepage = http://objectivewave.wordpress.com/ams-lv2;
|
||||
|
@ -4,7 +4,8 @@
|
||||
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
|
||||
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper
|
||||
, perl, pkgconfig, python2, rubberband, serd, sord, sratom
|
||||
, taglib, vampSDK, dbus, fftw, pango, suil, libarchive }:
|
||||
, taglib, vampSDK, dbus, fftw, pango, suil, libarchive
|
||||
, wafHook }:
|
||||
|
||||
let
|
||||
|
||||
@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wafHook ];
|
||||
buildInputs =
|
||||
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac
|
||||
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
|
||||
@ -47,13 +49,13 @@ stdenv.mkDerivation rec {
|
||||
patchShebangs ./tools/
|
||||
'';
|
||||
|
||||
configurePhase = "${python2.interpreter} waf configure --optimize --docs --with-backends=jack,alsa,dummy --prefix=$out";
|
||||
|
||||
buildPhase = "${python2.interpreter} waf";
|
||||
|
||||
installPhase = ''
|
||||
${python2.interpreter} waf install
|
||||
configureFlags = [
|
||||
"--optimize"
|
||||
"--docs"
|
||||
"--with-backends=jack,alsa,dummy"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# Install desktop file
|
||||
mkdir -p "$out/share/applications"
|
||||
cat > "$out/share/applications/ardour.desktop" << EOF
|
||||
|
@ -1,27 +1,24 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gettext, gtk2, expat, intltool, libgcrypt,
|
||||
libunique, gnutls, libxml2, curl, mpd_clientlib, dbus-glib, libnotify,
|
||||
{ stdenv, fetchurl, pkgconfig, gettext, gtk3, intltool,
|
||||
wrapGAppsHook, libxml2, curl, mpd_clientlib, dbus-glib,
|
||||
libsoup, avahi, taglib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.5.1";
|
||||
version = "1.6";
|
||||
name = "ario-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/ario-player/${name}.tar.gz";
|
||||
sha256 = "07n97618jv1ilxnm5c6qj9zjz0imw3p304mn4hjbjkk3p0d2hc88";
|
||||
sha256 = "16nhfb3h5pc7flagfdz7xy0iq6kvgy6h4bfpi523i57rxvlfshhl";
|
||||
};
|
||||
|
||||
patches = [ ./glib-single-include.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig gettext intltool wrapGAppsHook ];
|
||||
buildInputs = [
|
||||
gettext gtk2 expat intltool libgcrypt libunique gnutls
|
||||
libxml2 curl mpd_clientlib dbus-glib libnotify libsoup avahi taglib
|
||||
gtk3 libxml2 curl mpd_clientlib dbus-glib libsoup avahi taglib
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "GTK2 client for MPD (Music player daemon)";
|
||||
description = "GTK client for MPD (Music player daemon)";
|
||||
homepage = http://ario-player.sourceforge.net/;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.garrison ];
|
||||
|
@ -1,40 +0,0 @@
|
||||
From: Michael Biebl <biebl@debian.org>
|
||||
Origin: vendor
|
||||
Bug-Debian: http://bugs.debian.org/665506
|
||||
Subject: Including individual glib headers no longer supported
|
||||
|
||||
--- a/src/ario-profiles.h
|
||||
+++ b/src/ario-profiles.h
|
||||
@@ -20,7 +20,7 @@
|
||||
#ifndef __ARIO_PROFILES_H
|
||||
#define __ARIO_PROFILES_H
|
||||
|
||||
-#include <glib/gslist.h>
|
||||
+#include <glib.h>
|
||||
#include "servers/ario-server.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
--- a/src/plugins/ario-plugin-info.c
|
||||
+++ b/src/plugins/ario-plugin-info.c
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#include <string.h>
|
||||
#include <glib/gi18n.h>
|
||||
-#include <glib/gkeyfile.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include "plugins/ario-plugin-info-priv.h"
|
||||
#include "ario-debug.h"
|
||||
--- a/src/ario-util.h
|
||||
+++ b/src/ario-util.h
|
||||
@@ -18,8 +18,8 @@
|
||||
*/
|
||||
|
||||
#include "servers/ario-server.h"
|
||||
-#include "glib/gslist.h"
|
||||
-#include "gdk/gdkpixbuf.h"
|
||||
+#include <glib.h>
|
||||
+#include <gdk/gdkpixbuf.h>
|
||||
|
||||
/* Number of covers used to generate the drag & drop image */
|
||||
#define MAX_COVERS_IN_DRAG 3
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, lv2, pkgconfig, python2 }:
|
||||
{ stdenv, fetchurl, lv2, pkgconfig, python2, wafHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "fomp-${version}";
|
||||
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig wafHook ];
|
||||
buildInputs = [ lv2 python2 ];
|
||||
|
||||
installPhase = ''
|
||||
python waf configure --prefix=$out
|
||||
python waf
|
||||
python waf install
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://drobilla.net/software/fomp/;
|
||||
description = "An LV2 port of the MCP, VCO, FIL, and WAH plugins by Fons Adriaensen";
|
||||
|
@ -2,7 +2,7 @@
|
||||
, avahi, bluez, boost, eigen, fftw, glib, glib-networking
|
||||
, glibmm, gsettings-desktop-schemas, gtkmm2, libjack2
|
||||
, ladspaH, libav, librdf, libsndfile, lilv, lv2, serd, sord, sratom
|
||||
, wrapGAppsHook, zita-convolver, zita-resampler, curl
|
||||
, wrapGAppsHook, zita-convolver, zita-resampler, curl, wafHook
|
||||
, optimizationSupport ? false # Enable support for native CPU extensions
|
||||
}:
|
||||
|
||||
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];
|
||||
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 wafHook ];
|
||||
|
||||
buildInputs = [
|
||||
avahi bluez boost eigen fftw glib glibmm glib-networking.out
|
||||
@ -38,12 +38,6 @@ stdenv.mkDerivation rec {
|
||||
"--convolver-ffmpeg"
|
||||
] ++ optional optimizationSupport "--optimization";
|
||||
|
||||
configurePhase = ''python2 waf configure --prefix=$out $configureFlags'';
|
||||
|
||||
buildPhase = ''python2 waf build'';
|
||||
|
||||
installPhase = ''python2 waf install'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A virtual guitar amplifier for Linux running with JACK";
|
||||
longDescription = ''
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
||||
, lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
|
||||
|
||||
, wafHook
|
||||
, suil
|
||||
}:
|
||||
|
||||
@ -15,23 +15,19 @@ stdenv.mkDerivation rec {
|
||||
deepClone = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig wafHook ];
|
||||
buildInputs = [
|
||||
boost ganv glibmm gtkmm2 libjack2 lilv lv2Unstable makeWrapper
|
||||
python raul serd sord sratom suil
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
preConfigure = ''
|
||||
sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript
|
||||
${python.interpreter} waf configure --prefix=$out
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ rdflib ];
|
||||
|
||||
buildPhase = "${python.interpreter} waf";
|
||||
|
||||
installPhase = ''
|
||||
${python.interpreter} waf install
|
||||
postInstall = ''
|
||||
for program in ingenams ingenish
|
||||
do
|
||||
wrapProgram $out/bin/$program \
|
||||
|
@ -17,12 +17,8 @@ stdenv.mkDerivation rec {
|
||||
jack
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
scons
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp jackmix/jackmix $out/bin
|
||||
install -D jackmix/jackmix $out/bin/jackmix
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python
|
||||
, serd, sord , sratom, suil }:
|
||||
, serd, sord , sratom, suil, wafHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "jalv-${version}";
|
||||
@ -10,17 +10,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig wafHook ];
|
||||
buildInputs = [
|
||||
gtk2 libjack2 lilv lv2 python serd sord sratom suil
|
||||
];
|
||||
|
||||
configurePhase = "python waf configure --prefix=$out";
|
||||
|
||||
buildPhase = "python waf";
|
||||
|
||||
installPhase = "python waf install";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple but fully featured LV2 host for Jack";
|
||||
homepage = http://drobilla.net/software/jalv;
|
||||
|
@ -12,15 +12,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ scons libsamplerate libsndfile liblo libjack2 boost ];
|
||||
prefixKey = "PREFIX=";
|
||||
NIX_CFLAGS_COMPILE = "-fpermissive";
|
||||
|
||||
buildPhase = ''
|
||||
mkdir -p $out
|
||||
scons PREFIX=$out
|
||||
'';
|
||||
|
||||
installPhase = "scons install";
|
||||
|
||||
meta = {
|
||||
homepage = http://das.nasophon.de/klick/;
|
||||
description = "Advanced command-line metronome for JACK";
|
||||
@ -28,4 +22,3 @@ stdenv.mkDerivation rec {
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
25
pkgs/applications/audio/ltc-tools/default.nix
Normal file
25
pkgs/applications/audio/ltc-tools/default.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{stdenv, fetchFromGitHub, pkgconfig, libltc, libsndfile, jack2}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ltc-tools-${version}";
|
||||
version = "0.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "x42";
|
||||
repo = "ltc-tools";
|
||||
rev = "v${version}";
|
||||
sha256 = "1a7r99mwc7p5j5y453mrgph67wlznd674v4k2pfmlvc91s6lh44y";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig libltc libsndfile jack2 ];
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/x42/ltc-tools";
|
||||
description = "Tools to deal with linear-timecode (LTC)";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ tg-x ];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python }:
|
||||
{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python, wafHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mda-lv2-${version}";
|
||||
@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig wafHook ];
|
||||
buildInputs = [ fftwSinglePrec lv2 python ];
|
||||
|
||||
configurePhase = "python waf configure --prefix=$out";
|
||||
|
||||
buildPhase = "python waf";
|
||||
|
||||
installPhase = "python waf install";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://drobilla.net/software/mda-lv2/;
|
||||
description = "An LV2 port of the MDA plugins by Paul Kellett";
|
||||
|
@ -32,26 +32,11 @@ stdenv.mkDerivation rec {
|
||||
"opus=1"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mkdir -p "$out"
|
||||
scons \
|
||||
-j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \
|
||||
$sconsFlags "prefix=$out"
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
scons $sconsFlags "prefix=$out" install
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
wrapProgram $out/bin/mixxx \
|
||||
--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive;
|
||||
'';
|
||||
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://mixxx.org;
|
||||
description = "Digital DJ mixing software";
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, python2, cairo, libjpeg, ntk, libjack2
|
||||
, libsndfile, ladspaH, liblrdf, liblo, libsigcxx
|
||||
, libsndfile, ladspaH, liblrdf, liblo, libsigcxx, wafHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -12,13 +12,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig wafHook ];
|
||||
buildInputs = [ python2 cairo libjpeg ntk libjack2 libsndfile
|
||||
ladspaH liblrdf liblo libsigcxx
|
||||
];
|
||||
configurePhase = "python waf configure --prefix=$out";
|
||||
buildPhase = "python waf build";
|
||||
installPhase = "python waf install";
|
||||
|
||||
meta = {
|
||||
description = "Lightweight and lightning fast modular Digital Audio Workstation";
|
||||
|
@ -21,14 +21,6 @@ stdenv.mkDerivation rec {
|
||||
sed -i "s/= check/= detail::filter_base<internal_type, checked>::check/" nova/source/dsp/filter.hpp
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
scons
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
scons $sconsFlags "prefix=$out" install
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "LADSPA plugins based on filters of nova";
|
||||
homepage = http://klingt.org/~tim/nova-filters/;
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, alsaLib, boost, dbus-glib, fetchsvn, ganv, glibmm
|
||||
, gtkmm2, libjack2, pkgconfig, python2
|
||||
, gtkmm2, libjack2, pkgconfig, python2, wafHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -13,13 +13,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
alsaLib boost dbus-glib ganv glibmm gtkmm2 libjack2
|
||||
pkgconfig python2
|
||||
pkgconfig python2 wafHook
|
||||
];
|
||||
|
||||
configurePhase = "python waf configure --prefix=$out";
|
||||
buildPhase = "python waf build";
|
||||
installPhase = "python waf install";
|
||||
|
||||
meta = {
|
||||
description = "Modular patch bay for Jack and ALSA systems";
|
||||
homepage = http://non.tuxfamily.org;
|
||||
|
@ -12,8 +12,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "justinfrankel";
|
||||
repo = "WDL";
|
||||
rev = "e87f5bdee7327b63398366fde6ec0a3f08bf600d";
|
||||
sha256 = "147idjqc6nc23w9krl8a9w571k5jx190z3id6ir6cr8zsx0lakdb";
|
||||
rev = "cb89dc81dc5cbc13a8f1b3cda38a204e356d4014";
|
||||
sha256 = "0m19dy4r0i21ckypzfhpfjm6sh00v9i088pva7hhhr4mmrbqd0ms";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
@ -31,11 +31,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "reaper-${version}";
|
||||
version = "5.94";
|
||||
version = "5.961";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
|
||||
sha256 = "16g5q12wh1cfbl9wq03vb7vpsd870k7i7883z0wn492x7y9syz8z";
|
||||
sha256 = "0lnpdnxnwn7zfn8slivkp971ll9qshgq7y9gcfrk5829z94df06i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, pkgconfig, fetchFromGitHub, scons, python, glibmm, libpulseaudio, libao
|
||||
}:
|
||||
{ stdenv, lib, pkgconfig, fetchFromGitHub, scons
|
||||
, python, glibmm, libpulseaudio, libao }:
|
||||
|
||||
let
|
||||
version = "unstable-2018-02-10";
|
||||
@ -30,14 +30,6 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
patches = [ ./honor_nix_environment.patch ];
|
||||
|
||||
buildPhase = ''
|
||||
scons prefix=$out
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
scons install
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A free and open source speech synthesizer for Russian language and others";
|
||||
homepage = https://github.com/Olga-Yakovleva/RHVoice/wiki;
|
||||
|
@ -13,14 +13,14 @@ let
|
||||
sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r";
|
||||
};
|
||||
betaVersion = {
|
||||
version = "3.3.0.15"; # "Android Studio 3.3 Beta 3"
|
||||
build = "182.5105271";
|
||||
sha256Hash = "03j3g39v1g4jf5q37bd50zfqsgjfnwnyhjgx8vkfwlg263vhhvdq";
|
||||
version = "3.3.0.16"; # "Android Studio 3.3 Beta 4"
|
||||
build = "182.5114240";
|
||||
sha256Hash = "12gzwnlvc1w5lywpdckdgwxy2yrhf0m0fvaljdsis2arw0x9qdh2";
|
||||
};
|
||||
latestVersion = { # canary & dev
|
||||
version = "3.4.0.2"; # "Android Studio 3.4 Canary 3"
|
||||
build = "183.5112304";
|
||||
sha256Hash = "0dzk4ag1dirfq8l2q91j6hsfyi07wx52qcsmbjb9a2710rlwpdhp";
|
||||
version = "3.4.0.3"; # "Android Studio 3.4 Canary 4"
|
||||
build = "183.5129585";
|
||||
sha256Hash = "10y09sy0h4yp39dwpp8x7kjvw8r7hvk0qllbbaqj76j33xa85793";
|
||||
};
|
||||
in rec {
|
||||
# Old alias
|
||||
|
@ -250,12 +250,12 @@ in
|
||||
|
||||
clion = buildClion rec {
|
||||
name = "clion-${version}";
|
||||
version = "2018.2.5"; /* updated by script */
|
||||
version = "2018.2.6"; /* updated by script */
|
||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||
sha256 = "0brbwgyjh38ix8nr176glmc3kr7ndi8wppxqkb1c890jw5d3916j"; /* updated by script */
|
||||
sha256 = "1mgm3a6ph3j085bidl6vsy85kpscfspzxbzdmh3biklwfv3445rf"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-clion";
|
||||
update-channel = "CLion Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
||||
@ -263,12 +263,12 @@ in
|
||||
|
||||
datagrip = buildDataGrip rec {
|
||||
name = "datagrip-${version}";
|
||||
version = "2018.2.4"; /* updated by script */
|
||||
version = "2018.2.5"; /* updated by script */
|
||||
description = "Your Swiss Army Knife for Databases and SQL";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
||||
sha256 = "1m3b8pfmzz9x2b9izf19ax8h67p1myqqalvm214g1b8qqskqz60i"; /* updated by script */
|
||||
sha256 = "0ls3qas8z0d1ynn6hh42qipa5br2g2497wf3pgcw3q0m3kp6wida"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-datagrip";
|
||||
update-channel = "DataGrip 2018.2";
|
||||
@ -276,12 +276,12 @@ in
|
||||
|
||||
goland = buildGoland rec {
|
||||
name = "goland-${version}";
|
||||
version = "2018.2.3"; /* updated by script */
|
||||
version = "2018.2.4"; /* updated by script */
|
||||
description = "Up and Coming Go IDE";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
||||
sha256 = "0pd01aw1mv6w47ksgc8zbc7ppgbb64qsdgyqghiyibdjf07h53hd"; /* updated by script */
|
||||
sha256 = "0aan23ggs314bvpsldsv9m4pdmnlgdcjac9x6hv1j145a1pp439i"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-goland";
|
||||
update-channel = "GoLand Release";
|
||||
@ -289,12 +289,12 @@ in
|
||||
|
||||
idea-community = buildIdea rec {
|
||||
name = "idea-community-${version}";
|
||||
version = "2018.2.5"; /* updated by script */
|
||||
version = "2018.2.6"; /* updated by script */
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||
sha256 = "0jnnmhn1gba670q2yprlh3ypa6k21pbg91pshz9aqkdhhmzk4759"; /* updated by script */
|
||||
sha256 = "02hpbyivji9vnik7p04zrja1rhhl49r0365g0i6sa1rrwd1fhvwf"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-idea-ce";
|
||||
update-channel = "IntelliJ IDEA Release";
|
||||
@ -302,12 +302,12 @@ in
|
||||
|
||||
idea-ultimate = buildIdea rec {
|
||||
name = "idea-ultimate-${version}";
|
||||
version = "2018.2.5"; /* updated by script */
|
||||
version = "2018.2.6"; /* updated by script */
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
|
||||
sha256 = "105mzbqm3bx05bmkwyfykz76bzgzzgb9hb6wcagb9fv7dvqyggg6"; /* updated by script */
|
||||
sha256 = "0x0ylcbj8spvzmwxrw3p4c64ad27iz58lwj4yb8a6vwh6p22gflk"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-idea";
|
||||
update-channel = "IntelliJ IDEA Release";
|
||||
@ -328,12 +328,12 @@ in
|
||||
|
||||
pycharm-community = buildPycharm rec {
|
||||
name = "pycharm-community-${version}";
|
||||
version = "2018.2.4"; /* updated by script */
|
||||
version = "2018.2.5"; /* updated by script */
|
||||
description = "PyCharm Community Edition";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "1vjvbaqa1qq173m0xy16v9avav8az43s1dzks55x0gvh5yj3cyqz"; /* updated by script */
|
||||
sha256 = "0zfnhrkv4y90a3myq13406vzivg234l69x0c5d7vyv6ys7dmq5fm"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm-ce";
|
||||
update-channel = "PyCharm Release";
|
||||
@ -341,12 +341,12 @@ in
|
||||
|
||||
pycharm-professional = buildPycharm rec {
|
||||
name = "pycharm-professional-${version}";
|
||||
version = "2018.2.4"; /* updated by script */
|
||||
version = "2018.2.5"; /* updated by script */
|
||||
description = "PyCharm Professional Edition";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "14q4n62ppp1cxrv8mq2lxv9mjm95adag9856jpl9734s0gyjj3a5"; /* updated by script */
|
||||
sha256 = "0yfq25kmzzd15x83zdbrq9j62c32maklzhsk1rzymabyb56blh5c"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm";
|
||||
update-channel = "PyCharm Release";
|
||||
@ -380,12 +380,12 @@ in
|
||||
|
||||
webstorm = buildWebStorm rec {
|
||||
name = "webstorm-${version}";
|
||||
version = "2018.2.5"; /* updated by script */
|
||||
version = "2018.2.6"; /* updated by script */
|
||||
description = "Professional IDE for Web and JavaScript development";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
||||
sha256 = "0d4l2bf87i6kv45qmbw55hvcrnxr6zxjcjicbkjs2k01lv7y605c"; /* updated by script */
|
||||
sha256 = "1snx59b6d0szd1a07agpqxlprhy2mc9jvbnxcck5hfwxl3ic7x5g"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-webstorm";
|
||||
update-channel = "WebStorm Release";
|
||||
|
@ -1,6 +1,8 @@
|
||||
{ stdenv, lib, makeWrapper
|
||||
, vimUtils
|
||||
, bundlerEnv, ruby
|
||||
, nodejs
|
||||
, nodePackages
|
||||
, pythonPackages
|
||||
, python3Packages
|
||||
}:
|
||||
@ -12,6 +14,7 @@ let
|
||||
wrapper = {
|
||||
withPython ? true, extraPythonPackages ? (_: []) /* the function you would have passed to python.withPackages */
|
||||
, withPython3 ? true, extraPython3Packages ? (_: []) /* the function you would have passed to python.withPackages */
|
||||
, withNodeJs? false
|
||||
, withRuby ? true
|
||||
, withPyGUI ? false
|
||||
, vimAlias ? false
|
||||
@ -50,6 +53,8 @@ let
|
||||
++ (extraPython3PackagesFun ps)
|
||||
++ (concatMap (f: f ps) pluginPython3Packages));
|
||||
|
||||
binPath = makeBinPath (optionals withRuby [rubyEnv] ++ optionals withNodeJs [nodejs]);
|
||||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "neovim-${stdenv.lib.getVersion neovim}";
|
||||
@ -62,10 +67,12 @@ let
|
||||
|
||||
makeWrapper "$(readlink -v --canonicalize-existing "${bin}")" \
|
||||
"$out/bin/nvim" --add-flags " \
|
||||
--cmd \"${if withNodeJs then "let g:node_host_prog='${nodePackages.neovim}/bin/neovim-node-host'" else "let g:loaded_node_provider=1"}\" \
|
||||
--cmd \"${if withPython then "let g:python_host_prog='$out/bin/nvim-python'" else "let g:loaded_python_provider = 1"}\" \
|
||||
--cmd \"${if withPython3 then "let g:python3_host_prog='$out/bin/nvim-python3'" else "let g:loaded_python3_provider = 1"}\" \
|
||||
--cmd \"${if withRuby then "let g:ruby_host_prog='$out/bin/nvim-ruby'" else "let g:loaded_ruby_provider=1"}\" " \
|
||||
${optionalString withRuby '' --suffix PATH : ${rubyEnv}/bin --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' }
|
||||
--suffix PATH : ${binPath} \
|
||||
${optionalString withRuby '' --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' }
|
||||
|
||||
''
|
||||
+ optionalString (!stdenv.isDarwin) ''
|
||||
|
@ -1,13 +1,14 @@
|
||||
{ stdenv, fetchgit, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}:
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}:
|
||||
|
||||
let
|
||||
version = "1.2.0";
|
||||
version = "1.4.8";
|
||||
in stdenv.mkDerivation {
|
||||
name = "notepadqq-${version}";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/notepadqq/notepadqq.git";
|
||||
rev = "ab074d30e02d49e0fe6957c1523e7fed239aff7d";
|
||||
sha256 = "0j8vqsdw314qpk5lrgccm9n7gbyr14ac3s65sl1qn87pxhrz1hpg";
|
||||
src = fetchFromGitHub {
|
||||
owner = "notepadqq";
|
||||
repo = "notepadqq";
|
||||
rev = "v${version}";
|
||||
sha256 = "0lbv4s7ng31dkznzbkmp2cvkqglmfj6lv4mbg3r410fif2nrva7k";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -23,8 +24,10 @@ in stdenv.mkDerivation {
|
||||
export LRELEASE="lrelease"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = http://notepadqq.altervista.org/;
|
||||
homepage = https://notepadqq.com/;
|
||||
description = "Notepad++-like editor for the Linux desktop";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "tiled-${version}";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bjorn";
|
||||
repo = "tiled";
|
||||
rev = "v${version}";
|
||||
sha256 = "15apv81c5h17ljrxvm7hlyqg5bw58dzgik8gfhmh97wpwnbz1bl9";
|
||||
sha256 = "077fv3kn3fy06z8f414r3ny4a04l05prppmkyvjqhnwf1i1jck1w";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig qmake ];
|
||||
|
@ -2,7 +2,7 @@
|
||||
gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }:
|
||||
|
||||
let
|
||||
version = "1.28.2";
|
||||
version = "1.29.1";
|
||||
channel = "stable";
|
||||
|
||||
plat = {
|
||||
@ -12,9 +12,9 @@ let
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
sha256 = {
|
||||
"i686-linux" = "13zgx80qzq1wvss3byh56rvp2bdxywc4xmhhljsqrxf17g86g2zr";
|
||||
"x86_64-linux" = "1z50hkr9mcf76hlr1jb80nbvpxbpm2bh0l63yh9yqpalmz66xbfy";
|
||||
"x86_64-darwin" = "0n7lavpylg1q89qa64z4z1v7pgmwb2kidc57cgpvjnhjg8idys33";
|
||||
"i686-linux" = "0r19i3gg6iz8j7plb89c0k8r3wlh9vxbv7mwbssy0yvhid2af3ww";
|
||||
"x86_64-linux" = "1r66mjz4lgv3dk0rjb9p27ha9y7vj7xld9x9gqnjxqx9ify71r9i";
|
||||
"x86_64-darwin" = "0akr8675hnppxwr8xy5lr6rlqz8zg1fj823vks5mx3ssmd3sg189";
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
archive_fmt = if stdenv.hostPlatform.system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk2, glib,
|
||||
pcre, cfitsio, perl, gob2, vala, libtiff, json-glib }:
|
||||
{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk2, glib
|
||||
, pcre, cfitsio, perl, gob2, vala, libtiff, json-glib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "giv-${version}";
|
||||
@ -21,10 +21,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [ ./build.patch ];
|
||||
|
||||
buildPhase = "scons";
|
||||
|
||||
installPhase = "scons install";
|
||||
|
||||
nativeBuildInputs = [ scons pkgconfig vala perl gob2 ];
|
||||
buildInputs = [ gdk_pixbuf gtk2 glib pcre cfitsio libtiff json-glib ];
|
||||
|
||||
|
@ -26,10 +26,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
propagatedBuildInputs = [ numpy ];
|
||||
|
||||
buildPhase = "scons prefix=$out";
|
||||
|
||||
installPhase = ''
|
||||
scons prefix=$out install
|
||||
postInstall = ''
|
||||
sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint
|
||||
'';
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, qtbase, qtsvg, fetchurl, makeDesktopItem }:
|
||||
{ stdenv, lib, qtbase, qtsvg, libglvnd, fetchurl, makeDesktopItem }:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "write_stylus-${version}";
|
||||
version = "209";
|
||||
@ -43,9 +43,10 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
preFixup = let
|
||||
libPath = lib.makeLibraryPath [
|
||||
qtbase # libQt5PrintSupport.so.5
|
||||
qtsvg # libQt5Svg.so.5
|
||||
qtbase # libQt5PrintSupport.so.5
|
||||
qtsvg # libQt5Svg.so.5
|
||||
stdenv.cc.cc.lib # libstdc++.so.6
|
||||
libglvnd # ibGL.so.1
|
||||
];
|
||||
in ''
|
||||
patchelf \
|
||||
|
@ -42,17 +42,17 @@ let
|
||||
libXi
|
||||
];
|
||||
in buildRustPackage rec {
|
||||
name = "alacritty-unstable-${version}";
|
||||
version = "0.2.1";
|
||||
name = "alacritty-${version}";
|
||||
version = "0.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jwilm";
|
||||
repo = "alacritty";
|
||||
rev = "v${version}";
|
||||
sha256 = "1402axwjz70gg6ylhhm82f1rl6xvxkr1qy0jx3r4r32vzfap1l67";
|
||||
sha256 = "0p9q5cpxw5v2ka1ylaa009sfbncnlrva9yam4hag6npcnd8x4f95";
|
||||
};
|
||||
|
||||
cargoSha256 = "0slcyn77svj0686g1vk7kgndzirpkba9jwwybgsdl755r53dswk0";
|
||||
cargoSha256 = "0664fi16kyly8hhfj0hgddsnfdk3y0z31758gvb0xq13ssdb6sv6";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
@ -67,6 +67,8 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/share/icons/hicolor/$size/apps
|
||||
convert -size $size ../far2l/DE/icons/hicolor/$size/apps/far2l.svg $out/share/icons/hicolor/$size/apps/far2l.png
|
||||
done
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
wrapProgram $out/bin/far2l --argv0 $out/bin/far2l
|
||||
'';
|
||||
|
||||
stripDebugList = "bin share";
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, libuuid
|
||||
, sane-backends, podofo, libjpeg, djvulibre, libxmlxx3, libzip, tesseract
|
||||
, enchant, intltool, poppler, json-glib
|
||||
, intltool, poppler, json-glib
|
||||
, ninja
|
||||
, python3
|
||||
|
||||
@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
enchant
|
||||
libxmlxx3
|
||||
libzip
|
||||
libuuid
|
||||
|
29
pkgs/applications/misc/gremlin-console/default.nix
Normal file
29
pkgs/applications/misc/gremlin-console/default.nix
Normal file
@ -0,0 +1,29 @@
|
||||
{ pkgs, fetchzip, stdenv, makeWrapper, openjdk }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gremlin-console-${version}";
|
||||
version = "3.3.4";
|
||||
src = fetchzip {
|
||||
url = "http://www-eu.apache.org/dist/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip";
|
||||
sha256 = "14xr0yqklmm4jvj1hnkj89lj83zzs2l1375ni0jbf12gy31jlb2w";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/opt
|
||||
cp -r ext lib $out/opt/
|
||||
install -D bin/gremlin.sh $out/opt/bin/gremlin-console
|
||||
makeWrapper $out/opt/bin/gremlin-console $out/bin/gremlin-console \
|
||||
--prefix PATH ":" "${openjdk}/bin/" \
|
||||
--set CLASSPATH "$out/opt/lib/"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://tinkerpop.apache.org/;
|
||||
description = "Console of the Apache TinkerPop graph computing framework";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.lewo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
{ stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils
|
||||
, intltool, dbus-glib, gnome_python
|
||||
, hicolor-icon-theme
|
||||
, wafHook
|
||||
}:
|
||||
|
||||
# TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes
|
||||
@ -17,28 +18,17 @@ pythonPackages.buildPythonApplication rec {
|
||||
sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wafHook ];
|
||||
buildInputs = [
|
||||
docbook2x libxslt gnome-doc-utils intltool dbus-glib hicolor-icon-theme
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ];
|
||||
|
||||
configurePhase = ''
|
||||
python waf configure --prefix="$out"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
python waf build
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
python waf install
|
||||
'';
|
||||
|
||||
# error: invalid command 'test'
|
||||
doCheck = false;
|
||||
|
||||
|
@ -29,15 +29,15 @@ let
|
||||
license_dir = "~/.config/houdini";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "16.5.439";
|
||||
version = "17.0.352";
|
||||
name = "houdini-runtime-${version}";
|
||||
src = requireFile rec {
|
||||
name = "houdini-${version}-linux_x86_64_gcc4.8.tar.gz";
|
||||
sha256 = "7e483072a0e6e751a93f2a2f968cccb2d95559c61106ffeb344c95975704321b";
|
||||
name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
|
||||
sha256 = "0cl5fkgaplb0cvv7mli06ffc9j4ngpy8hl5zqabj3d645gcgafjg";
|
||||
message = ''
|
||||
This nix expression requires that ${name} is already part of the store.
|
||||
Download it from https://sidefx.com and add it to the nix store with:
|
||||
|
||||
|
||||
nix-prefetch-url <URL>
|
||||
|
||||
This can't be done automatically because you need to create an account on
|
||||
|
@ -8,6 +8,7 @@
|
||||
, keybinder3
|
||||
, hicolor-icon-theme
|
||||
, wrapGAppsHook
|
||||
, wafHook
|
||||
}:
|
||||
|
||||
with python3Packages;
|
||||
@ -24,37 +25,20 @@ buildPythonApplication rec {
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook intltool
|
||||
# For setup hook
|
||||
gobjectIntrospection
|
||||
gobjectIntrospection wafHook
|
||||
];
|
||||
buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ];
|
||||
propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
python ./waf configure --prefix=$prefix
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
python ./waf
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = let
|
||||
postInstall = let
|
||||
pythonPath = (stdenv.lib.concatMapStringsSep ":"
|
||||
(m: "${m}/lib/${python.libPrefix}/site-packages")
|
||||
propagatedBuildInputs);
|
||||
in ''
|
||||
runHook preInstall
|
||||
python ./waf install
|
||||
|
||||
gappsWrapperArgs+=(
|
||||
"--prefix" "PYTHONPATH" : "${pythonPath}"
|
||||
"--set" "PYTHONNOUSERSITE" "1"
|
||||
)
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = false; # no tests
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchgit, cmake, perl
|
||||
{ stdenv, fetchFromGitHub, cmake, perl
|
||||
, alsaLib, libevdev, libopus, udev, SDL2
|
||||
, ffmpeg, pkgconfig, xorg, libvdpau, libpulseaudio, libcec
|
||||
, curl, expat, avahi, enet, libuuid
|
||||
@ -6,13 +6,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "moonlight-embedded-${version}";
|
||||
version = "2.4.6";
|
||||
version = "2.4.7";
|
||||
|
||||
# fetchgit used to ensure submodules are available
|
||||
src = fetchgit {
|
||||
url = "git://github.com/irtimmer/moonlight-embedded";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "0vs6rjmz8058s9lscagiif6pcizwfrvfpk9rxxgacfi0xisfgmf1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "irtimmer";
|
||||
repo = "moonlight-embedded";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ihgb0kh4rhbgn55s25rfbs8063zqvcyqn137jn3nsc0is1595a9";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
@ -30,8 +30,9 @@ mkDerivation rec {
|
||||
substituteInPlace nixnote.cpp --replace 'tidyProcess.start("tidy' 'tidyProcess.start("${html-tidy}/bin/tidy'
|
||||
'';
|
||||
|
||||
postInstal = ''
|
||||
postInstall = ''
|
||||
cp images/windowIcon.png $out/share/pixmaps/nixnote2.png
|
||||
cp theme.ini $out/share/nixnote2/theme.ini
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -10,12 +10,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "polar-bookshelf-${version}";
|
||||
version = "1.0.11";
|
||||
version = "1.0.13";
|
||||
|
||||
# fetching a .deb because there's no easy way to package this Electron app
|
||||
src = fetchurl {
|
||||
url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb";
|
||||
sha256 = "11rrwd5cr984nhgrib12hx6k74hzgmb3cfk6qnr1l604dk9pqfqx";
|
||||
sha256 = "0dh7pw8ncm8kr9anb6jqw7rr4lxgmq8a40c9zlrhzyswdpvnp1g7";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -70,6 +70,10 @@ stdenv.mkDerivation rec {
|
||||
mv usr/share/* $out/share/
|
||||
|
||||
ln -s $out/share/polar-bookshelf/polar-bookshelf $out/bin/polar-bookshelf
|
||||
|
||||
# Correct desktop file `Exec`
|
||||
substituteInPlace $out/share/applications/polar-bookshelf.desktop \
|
||||
--replace "/opt/Polar Bookshelf/polar-bookshelf" "$out/bin/polar-bookshelf"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "termite-${version}";
|
||||
version = "13";
|
||||
version = "14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thestinger";
|
||||
repo = "termite";
|
||||
rev = "v${version}";
|
||||
sha256 = "02cn70ygl93ghhkhs3xdxn5b1yadc255v3yp8cmhhyzsv5027hvj";
|
||||
sha256 = "0dmz9rpc2fdvcwhcmjnhb48ixn403gxpq03g334d1hgjw2hsyx7x";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
name = "urh-${version}";
|
||||
version = "2.4.0";
|
||||
version = "2.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jopohl";
|
||||
repo = "urh";
|
||||
rev = "v${version}";
|
||||
sha256 = "0cwbqcv0yffg6fa3g4zknwffa6119i6827w6jm74fhlfa9kwy34c";
|
||||
sha256 = "1irwrhfbvl3ds8bi69laf8h0fyph0kpwrbfy0q8xh0w3l222sj3m";
|
||||
};
|
||||
|
||||
buildInputs = [ hackrf rtl-sdr airspy limesuite ];
|
||||
|
@ -1,28 +0,0 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, gtk3, vala, pkgconfig, gnome3, gobjectIntrospection }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.3.1";
|
||||
name = "valauncher-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mic92";
|
||||
repo = "valauncher";
|
||||
rev = "v${version}";
|
||||
sha256 = "18969v870737jg1q0l3d05pb9mxsrcpdi0mnyz94rwkspszvxxqi";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake vala pkgconfig
|
||||
# For setup hook
|
||||
gobjectIntrospection
|
||||
];
|
||||
buildInputs = [ gtk3 gnome3.libgee ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A fast dmenu-like gtk3 application launcher";
|
||||
homepage = https://github.com/Mic92/valauncher;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ mic92 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user