Merge master into staging-next
This commit is contained in:
commit
b2a3891e12
800 changed files with 21489 additions and 5337 deletions
84
doc/languages-frameworks/beam.section.md
Normal file
84
doc/languages-frameworks/beam.section.md
Normal file
|
@ -0,0 +1,84 @@
|
|||
# BEAM Languages (Erlang, Elixir & LFE) {#sec-beam}
|
||||
|
||||
## Introduction {#beam-introduction}
|
||||
|
||||
In this document and related Nix expressions, we use the term, *BEAM*, to describe the environment. BEAM is the name of the Erlang Virtual Machine and, as far as we're concerned, from a packaging perspective, all languages that run on the BEAM are interchangeable. That which varies, like the build system, is transparent to users of any given BEAM package, so we make no distinction.
|
||||
|
||||
## Structure {#beam-structure}
|
||||
|
||||
All BEAM-related expressions are available via the top-level `beam` attribute, which includes:
|
||||
|
||||
- `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR19`, etc), Elixir (`beam.interpreters.elixir`) and LFE (`beam.interpreters.lfe`).
|
||||
|
||||
- `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlangR19`.
|
||||
|
||||
The default Erlang compiler, defined by `beam.interpreters.erlang`, is aliased as `erlang`. The default BEAM package set is defined by `beam.packages.erlang` and aliased at the top level as `beamPackages`.
|
||||
|
||||
To create a package builder built with a custom Erlang version, use the lambda, `beam.packagesWith`, which accepts an Erlang/OTP derivation and produces a package builder similar to `beam.packages.erlang`.
|
||||
|
||||
Many Erlang/OTP distributions available in `beam.interpreters` have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's `beam.interpreters.erlangR22_odbc_javac`, which corresponds to `beam.interpreters.erlangR22` and `beam.interpreters.erlangR22_nox`, which corresponds to `beam.interpreters.erlangR22`.
|
||||
|
||||
## Build Tools {#build-tools}
|
||||
|
||||
### Rebar3 {#build-tools-rebar3}
|
||||
|
||||
We provide a version of Rebar3, under `rebar3`. We also provide a helper to fetch Rebar3 dependencies from a lockfile under `fetchRebar3Deps`.
|
||||
|
||||
### Mix & Erlang.mk {#build-tools-other}
|
||||
|
||||
Both Mix and Erlang.mk work exactly as expected. There is a bootstrap process that needs to be run for both, however, which is supported by the `buildMix` and `buildErlangMk` derivations, respectively.
|
||||
|
||||
## How to Install BEAM Packages {#how-to-install-beam-packages}
|
||||
|
||||
BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. To install any of those builders into your profile, refer to them by their attribute path `beamPackages.rebar3`:
|
||||
|
||||
```ShellSession
|
||||
$ nix-env -f "<nixpkgs>" -iA beamPackages.rebar3
|
||||
```
|
||||
|
||||
## Packaging BEAM Applications {#packaging-beam-applications}
|
||||
|
||||
### Erlang Applications {#packaging-erlang-applications}
|
||||
|
||||
#### Rebar3 Packages {#rebar3-packages}
|
||||
|
||||
The Nix function, `buildRebar3`, defined in `beam.packages.erlang.buildRebar3` and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project.
|
||||
|
||||
If a package needs to compile native code via Rebar3's port compilation mechanism, add `compilePort = true;` to the derivation.
|
||||
|
||||
#### Erlang.mk Packages {#erlang-mk-packages}
|
||||
|
||||
Erlang.mk functions similarly to Rebar3, except we use `buildErlangMk` instead of `buildRebar3`.
|
||||
|
||||
#### Mix Packages {#mix-packages}
|
||||
|
||||
Mix functions similarly to Rebar3, except we use `buildMix` instead of `buildRebar3`.
|
||||
|
||||
Alternatively, we can use `buildHex` as a shortcut:
|
||||
|
||||
## How to Develop {#how-to-develop}
|
||||
|
||||
### Creating a Shell {#creating-a-shell}
|
||||
|
||||
Usually, we need to create a `shell.nix` file and do our development inside of the environment specified therein. Just install your version of erlang and other interpreter, and then user your normal build tools. As an example with elixir:
|
||||
|
||||
```nix
|
||||
{ pkgs ? import "<nixpkgs"> {} }:
|
||||
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
|
||||
elixir = beam.packages.erlangR22.elixir_1_9;
|
||||
|
||||
in
|
||||
mkShell {
|
||||
buildInputs = [ elixir ];
|
||||
|
||||
ERL_INCLUDE_PATH="${erlang}/lib/erlang/usr/include";
|
||||
}
|
||||
```
|
||||
|
||||
#### Building in a Shell (for Mix Projects) {#building-in-a-shell}
|
||||
|
||||
Using a `shell.nix` as described (see <xref linkend="creating-a-shell"/>) should just work.
|
|
@ -1,159 +0,0 @@
|
|||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xml:id="sec-beam">
|
||||
<title>BEAM Languages (Erlang, Elixir & LFE)</title>
|
||||
|
||||
<section xml:id="beam-introduction">
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>
|
||||
In this document and related Nix expressions, we use the term, <emphasis>BEAM</emphasis>, to describe the environment. BEAM is the name of the Erlang Virtual Machine and, as far as we're concerned, from a packaging perspective, all languages that run on the BEAM are interchangeable. That which varies, like the build system, is transparent to users of any given BEAM package, so we make no distinction.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="beam-structure">
|
||||
<title>Structure</title>
|
||||
|
||||
<para>
|
||||
All BEAM-related expressions are available via the top-level <literal>beam</literal> attribute, which includes:
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>interpreters</literal>: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (<literal>beam.interpreters.erlangR19</literal>, etc), Elixir (<literal>beam.interpreters.elixir</literal>) and LFE (<literal>beam.interpreters.lfe</literal>).
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>packages</literal>: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. <literal>beam.packages.erlangR19</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>
|
||||
The default Erlang compiler, defined by <literal>beam.interpreters.erlang</literal>, is aliased as <literal>erlang</literal>. The default BEAM package set is defined by <literal>beam.packages.erlang</literal> and aliased at the top level as <literal>beamPackages</literal>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To create a package builder built with a custom Erlang version, use the lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation and produces a package builder similar to <literal>beam.packages.erlang</literal>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Many Erlang/OTP distributions available in <literal>beam.interpreters</literal> have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's <literal>beam.interpreters.erlangR22_odbc_javac</literal>, which corresponds to <literal>beam.interpreters.erlangR22</literal> and <literal>beam.interpreters.erlangR22_nox</literal>, which corresponds to <literal>beam.interpreters.erlangR22</literal>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="build-tools">
|
||||
<title>Build Tools</title>
|
||||
|
||||
<section xml:id="build-tools-rebar3">
|
||||
<title>Rebar3</title>
|
||||
|
||||
<para>
|
||||
We provide a version of Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="build-tools-other">
|
||||
<title>Mix & Erlang.mk</title>
|
||||
|
||||
<para>
|
||||
Both Mix and Erlang.mk work exactly as expected. There is a bootstrap process that needs to be run for both, however, which is supported by the <literal>buildMix</literal> and <literal>buildErlangMk</literal> derivations, respectively.
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section xml:id="how-to-install-beam-packages">
|
||||
<title>How to Install BEAM Packages</title>
|
||||
|
||||
<para>
|
||||
BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users.
|
||||
To install any of those builders into your profile, refer to them by their attribute path <literal>beamPackages.rebar3</literal>:
|
||||
</para>
|
||||
|
||||
<screen>
|
||||
<prompt>$ </prompt>nix-env -f "<nixpkgs>" -iA beamPackages.rebar3
|
||||
</screen>
|
||||
</section>
|
||||
|
||||
<section xml:id="packaging-beam-applications">
|
||||
<title>Packaging BEAM Applications</title>
|
||||
|
||||
<section xml:id="packaging-erlang-applications">
|
||||
<title>Erlang Applications</title>
|
||||
|
||||
<section xml:id="rebar3-packages">
|
||||
<title>Rebar3 Packages</title>
|
||||
|
||||
<para>
|
||||
The Nix function, <literal>buildRebar3</literal>, defined in <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If a package needs to compile native code via Rebar3's port compilation mechanism, add <literal>compilePort = true;</literal> to the derivation.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="erlang-mk-packages">
|
||||
<title>Erlang.mk Packages</title>
|
||||
|
||||
<para>
|
||||
Erlang.mk functions similarly to Rebar3, except we use <literal>buildErlangMk</literal> instead of <literal>buildRebar3</literal>.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
<section xml:id="mix-packages">
|
||||
<title>Mix Packages</title>
|
||||
|
||||
<para>
|
||||
Mix functions similarly to Rebar3, except we use <literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Alternatively, we can use <literal>buildHex</literal> as a shortcut:
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section xml:id="how-to-develop">
|
||||
<title>How to Develop</title>
|
||||
|
||||
<section xml:id="creating-a-shell">
|
||||
<title>Creating a Shell</title>
|
||||
|
||||
<para>
|
||||
Usually, we need to create a <literal>shell.nix</literal> file and do our development inside of the environment specified therein. Just install your version of erlang and other interpreter, and then user your normal build tools.
|
||||
As an example with elixir:
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
{ pkgs ? import "<nixpkgs"> {} }:
|
||||
|
||||
with pkgs;
|
||||
|
||||
let
|
||||
|
||||
elixir = beam.packages.erlangR22.elixir_1_9;
|
||||
|
||||
in
|
||||
mkShell {
|
||||
buildInputs = [ elixir ];
|
||||
|
||||
ERL_INCLUDE_PATH="${erlang}/lib/erlang/usr/include";
|
||||
}
|
||||
</programlisting>
|
||||
|
||||
<section xml:id="building-in-a-shell">
|
||||
<title>Building in a Shell (for Mix Projects)</title>
|
||||
|
||||
<para>
|
||||
Using a <literal>shell.nix</literal> as described (see <xref
|
||||
linkend="creating-a-shell"/>) should just work.
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
|
@ -7,7 +7,7 @@
|
|||
</para>
|
||||
<xi:include href="agda.section.xml" />
|
||||
<xi:include href="android.section.xml" />
|
||||
<xi:include href="beam.xml" />
|
||||
<xi:include href="beam.section.xml" />
|
||||
<xi:include href="bower.xml" />
|
||||
<xi:include href="coq.xml" />
|
||||
<xi:include href="crystal.section.xml" />
|
||||
|
|
|
@ -392,6 +392,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) {
|
|||
fullName = "Historic Permission Notice and Disclaimer";
|
||||
};
|
||||
|
||||
hpndSellVariant = spdx {
|
||||
fullName = "Historical Permission Notice and Disclaimer - sell variant";
|
||||
spdxId = "HPND-sell-variant";
|
||||
};
|
||||
|
||||
# Intel's license, seems free
|
||||
iasl = {
|
||||
fullName = "iASL";
|
||||
|
|
|
@ -640,13 +640,7 @@ rec {
|
|||
unique [ 3 2 3 4 ]
|
||||
=> [ 3 2 4 ]
|
||||
*/
|
||||
unique = list:
|
||||
if list == [] then
|
||||
[]
|
||||
else
|
||||
let
|
||||
x = head list;
|
||||
in [x] ++ unique (remove x list);
|
||||
unique = foldl' (acc: e: if elem e acc then acc else acc ++ [ e ]) [];
|
||||
|
||||
/* Intersects list 'e' and another list. O(nm) complexity.
|
||||
|
||||
|
|
|
@ -34,6 +34,11 @@ rec {
|
|||
platform = platforms.raspberrypi;
|
||||
};
|
||||
|
||||
remarkable1 = {
|
||||
config = "armv7l-unknown-linux-gnueabihf";
|
||||
platform = platforms.zero-gravitas;
|
||||
};
|
||||
|
||||
armv7l-hf-multiplatform = {
|
||||
config = "armv7l-unknown-linux-gnueabihf";
|
||||
platform = platforms.armv7l-hf-multiplatform;
|
||||
|
|
|
@ -203,6 +203,20 @@ rec {
|
|||
# Legacy attribute, for compatibility with existing configs only.
|
||||
raspberrypi2 = armv7l-hf-multiplatform;
|
||||
|
||||
zero-gravitas = {
|
||||
name = "zero-gravitas";
|
||||
kernelBaseConfig = "zero-gravitas_defconfig";
|
||||
kernelArch = "arm";
|
||||
# kernelTarget verified by checking /boot on reMarkable 1 device
|
||||
kernelTarget = "zImage";
|
||||
kernelAutoModules = false;
|
||||
kernelDTB = true;
|
||||
gcc = {
|
||||
fpu = "neon";
|
||||
cpu = "cortex-a9";
|
||||
};
|
||||
};
|
||||
|
||||
scaleway-c1 = armv7l-hf-multiplatform // {
|
||||
gcc = {
|
||||
cpu = "cortex-a9";
|
||||
|
|
|
@ -1152,9 +1152,9 @@
|
|||
githubId = 50839;
|
||||
name = "Brian Jones";
|
||||
};
|
||||
boothead = {
|
||||
commandodev = {
|
||||
email = "ben@perurbis.com";
|
||||
github = "boothead";
|
||||
github = "commandodev";
|
||||
githubId = 87764;
|
||||
name = "Ben Ford";
|
||||
};
|
||||
|
@ -1755,6 +1755,12 @@
|
|||
githubId = 1740337;
|
||||
name = "Chris Ostrouchov";
|
||||
};
|
||||
confus = {
|
||||
email = "con-f-use@gmx.net";
|
||||
github = "con-f-use";
|
||||
githubId = 11145016;
|
||||
name = "J.C.";
|
||||
};
|
||||
contrun = {
|
||||
email = "uuuuuu@protonmail.com";
|
||||
github = "contrun";
|
||||
|
@ -4801,12 +4807,6 @@
|
|||
fingerprint = "5A9A 1C9B 2369 8049 3B48 CF5B 81A1 5409 4816 2372";
|
||||
}];
|
||||
};
|
||||
kylewlacy = {
|
||||
email = "kylelacy+nix@pm.me";
|
||||
github = "kylewlacy";
|
||||
githubId = 1362179;
|
||||
name = "Kyle Lacy";
|
||||
};
|
||||
laikq = {
|
||||
email = "gwen@quasebarth.de";
|
||||
github = "laikq";
|
||||
|
@ -6135,6 +6135,12 @@
|
|||
githubId = 5139265;
|
||||
name = "James Wood";
|
||||
};
|
||||
mudrii = {
|
||||
email = "mudreac@gmail.com";
|
||||
github = "mudrii";
|
||||
githubId = 220262;
|
||||
name = "Ion Mudreac";
|
||||
};
|
||||
muflax = {
|
||||
email = "mail@muflax.com";
|
||||
github = "muflax";
|
||||
|
@ -6975,6 +6981,12 @@
|
|||
fingerprint = "240B 57DE 4271 2480 7CE3 EAC8 4F74 D536 1C4C A31E";
|
||||
}];
|
||||
};
|
||||
preisschild = {
|
||||
email = "florian@florianstroeger.com";
|
||||
github = "Preisschild";
|
||||
githubId = 11898437;
|
||||
name = "Florian Ströger";
|
||||
};
|
||||
priegger = {
|
||||
email = "philipp@riegger.name";
|
||||
github = "priegger";
|
||||
|
@ -9041,6 +9053,12 @@
|
|||
githubId = 619015;
|
||||
name = "Svintsov Dmitry";
|
||||
};
|
||||
urbas = {
|
||||
email = "matej.urbas@gmail.com";
|
||||
github = "urbas";
|
||||
githubId = 771193;
|
||||
name = "Matej Urbas";
|
||||
};
|
||||
uri-canva = {
|
||||
email = "uri@canva.com";
|
||||
github = "uri-canva";
|
||||
|
|
|
@ -9,3 +9,4 @@ curl https://repology.org/api/v1/repository/nix_unstable/problems \
|
|||
| jq -r '.[] | select(.type == "homepage_permanent_https_redirect") | .data | "s@\(.url)@\(.target)@"' \
|
||||
| sort | uniq | tee script.sed
|
||||
find -name '*.nix' | xargs -P4 -- sed -f script.sed -i
|
||||
rm script.sed
|
|
@ -106,6 +106,13 @@
|
|||
for more info.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Setting <option>services.openssh.authorizedKeysFiles</option> now also affects which keys <option>security.pam.enableSSHAgentAuth</option> will use.
|
||||
|
||||
WARNING: If you are using these options in combination do make sure that any key paths you use are present in <option>services.openssh.authorizedKeysFiles</option>!
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The option <option>fonts.enableFontDir</option> has been renamed to
|
||||
|
|
|
@ -134,7 +134,7 @@ let format' = format; in let
|
|||
|
||||
binPath = with pkgs; makeBinPath (
|
||||
[ rsync
|
||||
utillinux
|
||||
util-linux
|
||||
parted
|
||||
e2fsprogs
|
||||
lkl
|
||||
|
@ -239,7 +239,7 @@ let format' = format; in let
|
|||
in pkgs.vmTools.runInLinuxVM (
|
||||
pkgs.runCommand name
|
||||
{ preVM = prepareImage;
|
||||
buildInputs = with pkgs; [ utillinux e2fsprogs dosfstools ];
|
||||
buildInputs = with pkgs; [ util-linux e2fsprogs dosfstools ];
|
||||
postVM = ''
|
||||
${if format == "raw" then ''
|
||||
mv $diskImage $out/${filename}
|
||||
|
|
|
@ -187,7 +187,7 @@ in
|
|||
before = [ "${realDevice'}.swap" ];
|
||||
# If swap is encrypted, depending on rngd resolves a possible entropy starvation during boot
|
||||
after = mkIf (config.security.rngd.enable && sw.randomEncryption.enable) [ "rngd.service" ];
|
||||
path = [ pkgs.utillinux ] ++ optional sw.randomEncryption.enable pkgs.cryptsetup;
|
||||
path = [ pkgs.util-linux ] ++ optional sw.randomEncryption.enable pkgs.cryptsetup;
|
||||
|
||||
script =
|
||||
''
|
||||
|
|
|
@ -37,7 +37,7 @@ let
|
|||
pkgs.procps
|
||||
pkgs.su
|
||||
pkgs.time
|
||||
pkgs.utillinux
|
||||
pkgs.util-linux
|
||||
pkgs.which
|
||||
pkgs.zstd
|
||||
];
|
||||
|
|
|
@ -80,6 +80,15 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
memoryMax = mkOption {
|
||||
default = null;
|
||||
type = with types; nullOr int;
|
||||
description = ''
|
||||
Maximum total amount of memory (in bytes) that can be used by the zram
|
||||
swap devices.
|
||||
'';
|
||||
};
|
||||
|
||||
priority = mkOption {
|
||||
default = 5;
|
||||
type = types.int;
|
||||
|
@ -146,11 +155,16 @@ in
|
|||
|
||||
# Calculate memory to use for zram
|
||||
mem=$(${pkgs.gawk}/bin/awk '/MemTotal: / {
|
||||
print int($2*${toString cfg.memoryPercent}/100.0/${toString devicesCount}*1024)
|
||||
value=int($2*${toString cfg.memoryPercent}/100.0/${toString devicesCount}*1024);
|
||||
${lib.optionalString (cfg.memoryMax != null) ''
|
||||
memory_max=int(${toString cfg.memoryMax}/${toString devicesCount});
|
||||
if (value > memory_max) { value = memory_max }
|
||||
''}
|
||||
print value
|
||||
}' /proc/meminfo)
|
||||
|
||||
${pkgs.utillinux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev}
|
||||
${pkgs.utillinux}/sbin/mkswap /dev/${dev}
|
||||
${pkgs.util-linux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev}
|
||||
${pkgs.util-linux}/sbin/mkswap /dev/${dev}
|
||||
'';
|
||||
restartIfChanged = false;
|
||||
};
|
||||
|
|
|
@ -147,10 +147,10 @@ in
|
|||
sdImage.storePaths = [ config.system.build.toplevel ];
|
||||
|
||||
system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs,
|
||||
mtools, libfaketime, utillinux, zstd }: stdenv.mkDerivation {
|
||||
mtools, libfaketime, util-linux, zstd }: stdenv.mkDerivation {
|
||||
name = config.sdImage.imageName;
|
||||
|
||||
nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux zstd ];
|
||||
nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime util-linux zstd ];
|
||||
|
||||
inherit (config.sdImage) compressImage;
|
||||
|
||||
|
@ -221,7 +221,7 @@ in
|
|||
set -euo pipefail
|
||||
set -x
|
||||
# Figure out device names for the boot device and root filesystem.
|
||||
rootPart=$(${pkgs.utillinux}/bin/findmnt -n -o SOURCE /)
|
||||
rootPart=$(${pkgs.util-linux}/bin/findmnt -n -o SOURCE /)
|
||||
bootDevice=$(lsblk -npo PKNAME $rootPart)
|
||||
|
||||
# Resize the root partition and the filesystem to fit the disk
|
||||
|
|
|
@ -96,7 +96,7 @@ in
|
|||
|
||||
boot.initrd.extraUtilsCommands =
|
||||
''
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/hwclock
|
||||
copy_bin_and_libs ${pkgs.util-linux}/sbin/hwclock
|
||||
'';
|
||||
|
||||
boot.initrd.postDeviceCommands =
|
||||
|
|
|
@ -110,7 +110,7 @@ in {
|
|||
"L+ /usr/local/bin/chmod - - - - ${coreutils}/bin/chmod"
|
||||
"L+ /usr/local/bin/cp - - - - ${coreutils}/bin/cp"
|
||||
"L+ /usr/local/bin/sed - - - - ${gnused}/bin/sed"
|
||||
"L+ /usr/local/bin/setsid - - - - ${utillinux}/bin/setsid"
|
||||
"L+ /usr/local/bin/setsid - - - - ${util-linux}/bin/setsid"
|
||||
"L+ /usr/local/bin/xrandr - - - - ${xorg.xrandr}/bin/xrandr"
|
||||
"L+ /usr/local/bin/xmodmap - - - - ${xorg.xmodmap}/bin/xmodmap"
|
||||
];
|
||||
|
|
|
@ -396,7 +396,7 @@ let
|
|||
${optionalString cfg.logFailures
|
||||
"auth required pam_tally.so"}
|
||||
${optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth)
|
||||
"auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=~/.ssh/authorized_keys:~/.ssh/authorized_keys2:/etc/ssh/authorized_keys.d/%u"}
|
||||
"auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles}"}
|
||||
${optionalString cfg.fprintAuth
|
||||
"auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so"}
|
||||
${let p11 = config.security.pam.p11; in optionalString cfg.p11Auth
|
||||
|
|
|
@ -60,7 +60,7 @@ in
|
|||
<!-- if activated, requires ofl from hxtools to be present -->
|
||||
<logout wait="0" hup="no" term="no" kill="no" />
|
||||
<!-- set PATH variable for pam_mount module -->
|
||||
<path>${pkgs.utillinux}/bin</path>
|
||||
<path>${pkgs.util-linux}/bin</path>
|
||||
<!-- create mount point if not present -->
|
||||
<mkmountpoint enable="1" remove="true" />
|
||||
|
||||
|
|
|
@ -163,8 +163,8 @@ in
|
|||
# These are mount related wrappers that require the +s permission.
|
||||
fusermount.source = "${pkgs.fuse}/bin/fusermount";
|
||||
fusermount3.source = "${pkgs.fuse3}/bin/fusermount3";
|
||||
mount.source = "${lib.getBin pkgs.utillinux}/bin/mount";
|
||||
umount.source = "${lib.getBin pkgs.utillinux}/bin/umount";
|
||||
mount.source = "${lib.getBin pkgs.util-linux}/bin/mount";
|
||||
umount.source = "${lib.getBin pkgs.util-linux}/bin/umount";
|
||||
};
|
||||
|
||||
boot.specialFileSystems.${parentWrapperDir} = {
|
||||
|
|
|
@ -45,7 +45,7 @@ in
|
|||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
path = with pkgs; [
|
||||
utillinux # for dmesg
|
||||
util-linux # for dmesg
|
||||
];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.salt}/bin/salt-master";
|
||||
|
|
|
@ -50,7 +50,7 @@ in
|
|||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
path = with pkgs; [
|
||||
utillinux
|
||||
util-linux
|
||||
];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.salt}/bin/salt-minion";
|
||||
|
|
|
@ -308,7 +308,7 @@ in
|
|||
requires = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
|
||||
path = with pkgs; [ iputils tarsnap utillinux ];
|
||||
path = with pkgs; [ iputils tarsnap util-linux ];
|
||||
|
||||
# In order for the persistent tarsnap timer to work reliably, we have to
|
||||
# make sure that the tarsnap server is reachable after systemd starts up
|
||||
|
@ -355,7 +355,7 @@ in
|
|||
description = "Tarsnap restore '${name}'";
|
||||
requires = [ "network-online.target" ];
|
||||
|
||||
path = with pkgs; [ iputils tarsnap utillinux ];
|
||||
path = with pkgs; [ iputils tarsnap util-linux ];
|
||||
|
||||
script = let
|
||||
tarsnap = ''tarsnap --configfile "/etc/tarsnap/${name}.conf"'';
|
||||
|
|
|
@ -241,7 +241,7 @@ in
|
|||
description = "Kubernetes Kubelet Service";
|
||||
wantedBy = [ "kubernetes.target" ];
|
||||
after = [ "network.target" "docker.service" "kube-apiserver.service" ];
|
||||
path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path;
|
||||
path = with pkgs; [ gitMinimal openssh docker util-linux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path;
|
||||
preStart = ''
|
||||
${concatMapStrings (img: ''
|
||||
echo "Seeding docker image: ${img}"
|
||||
|
|
|
@ -32,7 +32,7 @@ in
|
|||
environment.systemPackages = [ pkgs.torque ];
|
||||
|
||||
systemd.services.torque-mom-init = {
|
||||
path = with pkgs; [ torque utillinux procps inetutils ];
|
||||
path = with pkgs; [ torque util-linux procps inetutils ];
|
||||
|
||||
script = ''
|
||||
pbs_mkdirs -v aux
|
||||
|
|
|
@ -21,7 +21,7 @@ in
|
|||
environment.systemPackages = [ pkgs.torque ];
|
||||
|
||||
systemd.services.torque-server-init = {
|
||||
path = with pkgs; [ torque utillinux procps inetutils ];
|
||||
path = with pkgs; [ torque util-linux procps inetutils ];
|
||||
|
||||
script = ''
|
||||
tmpsetup=$(mktemp -t torque-XXXX)
|
||||
|
|
|
@ -541,7 +541,7 @@ in
|
|||
jq
|
||||
moreutils
|
||||
remarshal
|
||||
utillinux
|
||||
util-linux
|
||||
cfg.package
|
||||
] ++ cfg.extraPackages;
|
||||
reloadIfChanged = true;
|
||||
|
|
|
@ -118,7 +118,7 @@ in
|
|||
after = [ "network.target" ];
|
||||
|
||||
path = [
|
||||
pkgs.utillinux # for `logger`
|
||||
pkgs.util-linux # for `logger`
|
||||
pkgs.bash
|
||||
];
|
||||
|
||||
|
|
|
@ -17,10 +17,6 @@ let
|
|||
mkdir -p "$out/lib"
|
||||
ln -s "${pkgs.pipewire.jack}/lib" "$out/lib/pipewire"
|
||||
'';
|
||||
pulse-libs = pkgs.runCommand "pulse-libs" {} ''
|
||||
mkdir -p "$out/lib"
|
||||
ln -s "${pkgs.pipewire.pulse}/lib" "$out/lib/pipewire"
|
||||
'';
|
||||
in {
|
||||
|
||||
meta = {
|
||||
|
@ -50,7 +46,7 @@ in {
|
|||
};
|
||||
|
||||
pulse = {
|
||||
enable = mkEnableOption "PulseAudio emulation";
|
||||
enable = mkEnableOption "PulseAudio server emulation";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -61,23 +57,24 @@ in {
|
|||
assertions = [
|
||||
{
|
||||
assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable;
|
||||
message = "PipeWire based PulseAudio emulation doesn't use the PulseAudio service";
|
||||
message = "PipeWire based PulseAudio server emulation replaces PulseAudio";
|
||||
}
|
||||
{
|
||||
assertion = cfg.jack.enable -> !config.services.jack.jackd.enable;
|
||||
message = "PIpeWire based JACK emulation doesn't use the JACK service";
|
||||
message = "PipeWire based JACK emulation doesn't use the JACK service";
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.pipewire ]
|
||||
++ lib.optional cfg.jack.enable jack-libs
|
||||
++ lib.optional cfg.pulse.enable pulse-libs;
|
||||
++ lib.optional cfg.jack.enable jack-libs;
|
||||
|
||||
systemd.packages = [ pkgs.pipewire ];
|
||||
systemd.packages = [ pkgs.pipewire ]
|
||||
++ lib.optional cfg.pulse.enable pkgs.pipewire.pulse;
|
||||
|
||||
# PipeWire depends on DBUS but doesn't list it. Without this booting
|
||||
# into a terminal results in the service crashing with an error.
|
||||
systemd.user.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
|
||||
systemd.user.sockets.pipewire-pulse.wantedBy = lib.mkIf (cfg.socketActivation && cfg.pulse.enable) ["sockets.target"];
|
||||
systemd.user.services.pipewire.bindsTo = [ "dbus.service" ];
|
||||
services.udev.packages = [ pkgs.pipewire ];
|
||||
|
||||
|
@ -100,6 +97,6 @@ in {
|
|||
source = "${pkgs.pipewire}/share/alsa/alsa.conf.d/50-pipewire.conf";
|
||||
};
|
||||
environment.sessionVariables.LD_LIBRARY_PATH =
|
||||
lib.optional (cfg.jack.enable || cfg.pulse.enable) "/run/current-system/sw/lib/pipewire";
|
||||
lib.optional cfg.jack.enable "/run/current-system/sw/lib/pipewire";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ in {
|
|||
description = "Profile Sync daemon";
|
||||
wants = [ "psd-resync.service" ];
|
||||
wantedBy = [ "default.target" ];
|
||||
path = with pkgs; [ rsync kmod gawk nettools utillinux profile-sync-daemon ];
|
||||
path = with pkgs; [ rsync kmod gawk nettools util-linux profile-sync-daemon ];
|
||||
unitConfig = {
|
||||
RequiresMountsFor = [ "/home/" ];
|
||||
};
|
||||
|
@ -55,7 +55,7 @@ in {
|
|||
wants = [ "psd-resync.timer" ];
|
||||
partOf = [ "psd.service" ];
|
||||
wantedBy = [ "default.target" ];
|
||||
path = with pkgs; [ rsync kmod gawk nettools utillinux profile-sync-daemon ];
|
||||
path = with pkgs; [ rsync kmod gawk nettools util-linux profile-sync-daemon ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon resync";
|
||||
|
|
|
@ -49,8 +49,13 @@ in
|
|||
default = 34197;
|
||||
description = ''
|
||||
The port to which the service should bind.
|
||||
|
||||
This option will also open up the UDP port in the firewall configuration.
|
||||
'';
|
||||
};
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to automatically open the specified UDP port in the firewall.
|
||||
'';
|
||||
};
|
||||
saveName = mkOption {
|
||||
|
@ -237,6 +242,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedUDPPorts = [ cfg.port ];
|
||||
networking.firewall.allowedUDPPorts = if cfg.openFirewall then [ cfg.port ] else [];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -57,8 +57,8 @@ let
|
|||
substituteInPlace $i \
|
||||
--replace \"/sbin/modprobe \"${pkgs.kmod}/bin/modprobe \
|
||||
--replace \"/sbin/mdadm \"${pkgs.mdadm}/sbin/mdadm \
|
||||
--replace \"/sbin/blkid \"${pkgs.utillinux}/sbin/blkid \
|
||||
--replace \"/bin/mount \"${pkgs.utillinux}/bin/mount \
|
||||
--replace \"/sbin/blkid \"${pkgs.util-linux}/sbin/blkid \
|
||||
--replace \"/bin/mount \"${pkgs.util-linux}/bin/mount \
|
||||
--replace /usr/bin/readlink ${pkgs.coreutils}/bin/readlink \
|
||||
--replace /usr/bin/basename ${pkgs.coreutils}/bin/basename
|
||||
done
|
||||
|
@ -280,7 +280,7 @@ in
|
|||
|
||||
services.udev.packages = [ extraUdevRules extraHwdbFile ];
|
||||
|
||||
services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.utillinux udev ];
|
||||
services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.util-linux udev ];
|
||||
|
||||
boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ];
|
||||
|
||||
|
|
|
@ -834,12 +834,6 @@ in
|
|||
};
|
||||
|
||||
services.postfix.masterConfig = {
|
||||
smtp_inet = {
|
||||
name = "smtp";
|
||||
type = "inet";
|
||||
private = false;
|
||||
command = "smtpd";
|
||||
};
|
||||
pickup = {
|
||||
private = false;
|
||||
wakeup = 60;
|
||||
|
@ -921,6 +915,12 @@ in
|
|||
in concatLists (mapAttrsToList mkKeyVal cfg.submissionOptions);
|
||||
};
|
||||
} // optionalAttrs cfg.enableSmtp {
|
||||
smtp_inet = {
|
||||
name = "smtp";
|
||||
type = "inet";
|
||||
private = false;
|
||||
command = "smtpd";
|
||||
};
|
||||
smtp = {};
|
||||
relay = {
|
||||
command = "smtp";
|
||||
|
|
|
@ -31,7 +31,7 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
systemd.packages = [ pkgs.utillinux ];
|
||||
systemd.packages = [ pkgs.util-linux ];
|
||||
|
||||
systemd.timers.fstrim = {
|
||||
timerConfig = {
|
||||
|
|
|
@ -658,7 +658,7 @@ in {
|
|||
script = ''
|
||||
set -eu
|
||||
|
||||
PSQL="${pkgs.utillinux}/bin/runuser -u ${pgsql.superUser} -- psql --port=${toString pgsql.port}"
|
||||
PSQL="${pkgs.util-linux}/bin/runuser -u ${pgsql.superUser} -- psql --port=${toString pgsql.port}"
|
||||
|
||||
$PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
|
||||
current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
|
||||
|
|
|
@ -713,7 +713,7 @@ in {
|
|||
${ concatMapStringsSep "\n " (x: "--config-path ${x} \\") ([ configFile ] ++ cfg.extraConfigFiles) }
|
||||
--keys-directory ${cfg.dataDir}
|
||||
'';
|
||||
ExecReload = "${pkgs.utillinux}/bin/kill -HUP $MAINPID";
|
||||
ExecReload = "${pkgs.util-linux}/bin/kill -HUP $MAINPID";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -539,7 +539,7 @@ in
|
|||
systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ];
|
||||
|
||||
systemd.services.nix-daemon =
|
||||
{ path = [ nix pkgs.utillinux config.programs.ssh.package ]
|
||||
{ path = [ nix pkgs.util-linux config.programs.ssh.package ]
|
||||
++ optionals cfg.distributedBuilds [ pkgs.gzip ];
|
||||
|
||||
environment = cfg.envVars
|
||||
|
|
|
@ -142,7 +142,7 @@ in {
|
|||
serviceConfig = {
|
||||
Environment="PYTHONPATH=${cfg.package}/libexec/netdata/python.d/python_modules";
|
||||
ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}";
|
||||
ExecReload = "${pkgs.utillinux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
|
||||
ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
|
||||
TimeoutStopSec = 60;
|
||||
Restart = "on-failure";
|
||||
# User and group
|
||||
|
|
|
@ -36,7 +36,7 @@ let
|
|||
|
||||
$SMARTD_MESSAGE
|
||||
EOF
|
||||
} | ${pkgs.utillinux}/bin/wall 2>/dev/null
|
||||
} | ${pkgs.util-linux}/bin/wall 2>/dev/null
|
||||
''}
|
||||
${optionalString nx.enable ''
|
||||
export DISPLAY=${nx.display}
|
||||
|
|
|
@ -244,7 +244,7 @@ in
|
|||
# postStop, then we get a hang + kernel oops, because AFS can't be
|
||||
# stopped simply by sending signals to processes.
|
||||
preStop = ''
|
||||
${pkgs.utillinux}/bin/umount ${cfg.mountPoint}
|
||||
${pkgs.util-linux}/bin/umount ${cfg.mountPoint}
|
||||
${openafsBin}/sbin/afsd -shutdown
|
||||
${pkgs.kmod}/sbin/rmmod libafs
|
||||
'';
|
||||
|
|
|
@ -112,7 +112,7 @@ in
|
|||
description = ''
|
||||
Must be set to a unique identifier, preferably a UUID according to
|
||||
RFC 4122. UUIDs can be generated with `uuidgen` command, found in
|
||||
the `utillinux` package.
|
||||
the `util-linux` package.
|
||||
'';
|
||||
};
|
||||
port = mkOption {
|
||||
|
@ -232,7 +232,7 @@ in
|
|||
description = ''
|
||||
Must be set to a unique identifier, preferably a UUID according to
|
||||
RFC 4122. UUIDs can be generated with `uuidgen` command, found in
|
||||
the `utillinux` package.
|
||||
the `util-linux` package.
|
||||
'';
|
||||
};
|
||||
port = mkOption {
|
||||
|
@ -370,7 +370,7 @@ in
|
|||
description = ''
|
||||
Must be set to a unique identifier, preferably a UUID according to
|
||||
RFC 4122. UUIDs can be generated with `uuidgen` command, found in
|
||||
the `utillinux` package.
|
||||
the `util-linux` package.
|
||||
'';
|
||||
};
|
||||
port = mkOption {
|
||||
|
|
|
@ -15,6 +15,9 @@ with lib;
|
|||
config = mkIf cfg.enable {
|
||||
boot.kernelModules = [ "tun" ];
|
||||
|
||||
# mullvad-daemon writes to /etc/iproute2/rt_tables
|
||||
networking.iproute2.enable = true;
|
||||
|
||||
systemd.services.mullvad-daemon = {
|
||||
description = "Mullvad VPN daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
|
|
@ -465,7 +465,7 @@ in {
|
|||
restartTriggers = [ configFile overrideNameserversScript ];
|
||||
|
||||
# useful binaries for user-specified hooks
|
||||
path = [ pkgs.iproute pkgs.utillinux pkgs.coreutils ];
|
||||
path = [ pkgs.iproute pkgs.util-linux pkgs.coreutils ];
|
||||
aliases = [ "dbus-org.freedesktop.nm-dispatcher.service" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -477,7 +477,7 @@ in
|
|||
# https://github.com/NixOS/nixpkgs/pull/10155
|
||||
# https://github.com/NixOS/nixpkgs/pull/41745
|
||||
services.openssh.authorizedKeysFiles =
|
||||
[ ".ssh/authorized_keys" ".ssh/authorized_keys2" "/etc/ssh/authorized_keys.d/%u" ];
|
||||
[ "%h/.ssh/authorized_keys" "%h/.ssh/authorized_keys2" "/etc/ssh/authorized_keys.d/%u" ];
|
||||
|
||||
services.openssh.extraConfig = mkOrder 0
|
||||
''
|
||||
|
|
|
@ -63,7 +63,7 @@ in {
|
|||
description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
path = with pkgs; [ kmod iproute iptables utillinux ];
|
||||
path = with pkgs; [ kmod iproute iptables util-linux ];
|
||||
environment = {
|
||||
STRONGSWAN_CONF = pkgs.writeTextFile {
|
||||
name = "strongswan.conf";
|
||||
|
|
|
@ -152,7 +152,7 @@ in
|
|||
systemd.services.strongswan = {
|
||||
description = "strongSwan IPSec Service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ kmod iproute iptables utillinux ]; # XXX Linux
|
||||
path = with pkgs; [ kmod iproute iptables util-linux ]; # XXX Linux
|
||||
after = [ "network-online.target" ];
|
||||
environment = {
|
||||
STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; };
|
||||
|
|
|
@ -9,7 +9,7 @@ let cfg = config.services.cloud-init;
|
|||
nettools
|
||||
openssh
|
||||
shadow
|
||||
utillinux
|
||||
util-linux
|
||||
] ++ optional cfg.btrfs.enable btrfs-progs
|
||||
++ optional cfg.ext4.enable e2fsprogs
|
||||
;
|
||||
|
|
|
@ -397,9 +397,9 @@ in
|
|||
mr ${getLib pkgs.openssl}/lib/libcrypto*.so*,
|
||||
mr ${getLib pkgs.openssl}/lib/libssl*.so*,
|
||||
mr ${getLib pkgs.systemd}/lib/libsystemd*.so*,
|
||||
mr ${getLib pkgs.utillinuxMinimal.out}/lib/libblkid.so*,
|
||||
mr ${getLib pkgs.utillinuxMinimal.out}/lib/libmount.so*,
|
||||
mr ${getLib pkgs.utillinuxMinimal.out}/lib/libuuid.so*,
|
||||
mr ${getLib pkgs.util-linuxMinimal.out}/lib/libblkid.so*,
|
||||
mr ${getLib pkgs.util-linuxMinimal.out}/lib/libmount.so*,
|
||||
mr ${getLib pkgs.util-linuxMinimal.out}/lib/libuuid.so*,
|
||||
mr ${getLib pkgs.xz}/lib/liblzma*.so*,
|
||||
mr ${getLib pkgs.zlib}/lib/libz*.so*,
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ with lib;
|
|||
let
|
||||
|
||||
autologinArg = optionalString (config.services.mingetty.autologinUser != null) "--autologin ${config.services.mingetty.autologinUser}";
|
||||
gettyCmd = extraArgs: "@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}";
|
||||
gettyCmd = extraArgs: "@${pkgs.util-linux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}";
|
||||
|
||||
in
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ in
|
|||
Set a UUID that uniquely identifies the server.
|
||||
|
||||
This can be generated with
|
||||
<literal>nix-shell -p utillinux --run uuidgen</literal>.
|
||||
<literal>nix-shell -p util-linux --run uuidgen</literal>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -750,8 +750,8 @@ in
|
|||
# Get rid of old semaphores. These tend to accumulate across
|
||||
# server restarts, eventually preventing it from restarting
|
||||
# successfully.
|
||||
for i in $(${pkgs.utillinux}/bin/ipcs -s | grep ' ${cfg.user} ' | cut -f2 -d ' '); do
|
||||
${pkgs.utillinux}/bin/ipcrm -s $i
|
||||
for i in $(${pkgs.util-linux}/bin/ipcs -s | grep ' ${cfg.user} ' | cut -f2 -d ' '); do
|
||||
${pkgs.util-linux}/bin/ipcrm -s $i
|
||||
done
|
||||
'';
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ with lib;
|
|||
|
||||
path =
|
||||
[ pkgs.xorg.xorgserver.out pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth
|
||||
pkgs.nettools pkgs.shadow pkgs.procps pkgs.utillinux pkgs.bash
|
||||
pkgs.nettools pkgs.shadow pkgs.procps pkgs.util-linux pkgs.bash
|
||||
];
|
||||
|
||||
environment.FD_GEOM = "1024x786x24";
|
||||
|
|
|
@ -25,7 +25,7 @@ let
|
|||
stdenv.cc.libc # nscd in update-users-groups.pl
|
||||
shadow
|
||||
nettools # needed for hostname
|
||||
utillinux # needed for mount and mountpoint
|
||||
util-linux # needed for mount and mountpoint
|
||||
];
|
||||
|
||||
scriptType = with types;
|
||||
|
|
|
@ -97,10 +97,11 @@ let
|
|||
allowSubstitutes = false;
|
||||
buildCommand = systemBuilder;
|
||||
|
||||
inherit (pkgs) utillinux coreutils;
|
||||
inherit (pkgs) coreutils;
|
||||
systemd = config.systemd.package;
|
||||
shell = "${pkgs.bash}/bin/sh";
|
||||
su = "${pkgs.shadow.su}/bin/su";
|
||||
utillinux = pkgs.util-linux;
|
||||
|
||||
kernelParams = config.boot.kernelParams;
|
||||
installBootLoader =
|
||||
|
|
|
@ -20,8 +20,8 @@ with lib;
|
|||
boot.initrd.extraUtilsCommands = ''
|
||||
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
|
||||
copy_bin_and_libs ${pkgs.gnused}/bin/sed
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/lsblk
|
||||
copy_bin_and_libs ${pkgs.util-linux}/sbin/sfdisk
|
||||
copy_bin_and_libs ${pkgs.util-linux}/sbin/lsblk
|
||||
|
||||
substitute "${pkgs.cloud-utils.guest}/bin/.growpart-wrapped" "$out/bin/growpart" \
|
||||
--replace "${pkgs.bash}/bin/sh" "/bin/sh" \
|
||||
|
|
|
@ -66,7 +66,7 @@ let
|
|||
extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels
|
||||
default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios gfxpayloadEfi gfxpayloadBios;
|
||||
path = with pkgs; makeBinPath (
|
||||
[ coreutils gnused gnugrep findutils diffutils btrfs-progs utillinux mdadm ]
|
||||
[ coreutils gnused gnugrep findutils diffutils btrfs-progs util-linux mdadm ]
|
||||
++ optional (cfg.efiSupport && (cfg.version == 2)) efibootmgr
|
||||
++ optionals cfg.useOSProber [ busybox os-prober ]);
|
||||
font = if cfg.font == null then ""
|
||||
|
@ -705,7 +705,7 @@ in
|
|||
let
|
||||
install-grub-pl = pkgs.substituteAll {
|
||||
src = ./install-grub.pl;
|
||||
inherit (pkgs) utillinux;
|
||||
utillinux = pkgs.util-linux;
|
||||
btrfsprogs = pkgs.btrfs-progs;
|
||||
};
|
||||
in pkgs.writeScript "install-grub.sh" (''
|
||||
|
|
|
@ -18,7 +18,7 @@ with lib;
|
|||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.utillinux}/sbin/hwclock --systohc ${if config.time.hardwareClockInLocalTime then "--localtime" else "--utc"}";
|
||||
ExecStart = "${pkgs.util-linux}/sbin/hwclock --systohc ${if config.time.hardwareClockInLocalTime then "--localtime" else "--utc"}";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -219,6 +219,9 @@ done
|
|||
@preDeviceCommands@
|
||||
echo "running udev..."
|
||||
ln -sfn /proc/self/fd /dev/fd
|
||||
ln -sfn /proc/self/fd/0 /dev/stdin
|
||||
ln -sfn /proc/self/fd/1 /dev/stdout
|
||||
ln -sfn /proc/self/fd/2 /dev/stderr
|
||||
mkdir -p /etc/systemd
|
||||
ln -sfn @linkUnits@ /etc/systemd/network
|
||||
mkdir -p /etc/udev
|
||||
|
|
|
@ -107,8 +107,8 @@ let
|
|||
copy_bin_and_libs $BIN
|
||||
done
|
||||
|
||||
# Copy some utillinux stuff.
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/blkid
|
||||
# Copy some util-linux stuff.
|
||||
copy_bin_and_libs ${pkgs.util-linux}/sbin/blkid
|
||||
|
||||
# Copy dmsetup and lvm.
|
||||
copy_bin_and_libs ${getBin pkgs.lvm2}/bin/dmsetup
|
||||
|
@ -235,7 +235,7 @@ let
|
|||
--replace scsi_id ${extraUtils}/bin/scsi_id \
|
||||
--replace cdrom_id ${extraUtils}/bin/cdrom_id \
|
||||
--replace ${pkgs.coreutils}/bin/basename ${extraUtils}/bin/basename \
|
||||
--replace ${pkgs.utillinux}/bin/blkid ${extraUtils}/bin/blkid \
|
||||
--replace ${pkgs.util-linux}/bin/blkid ${extraUtils}/bin/blkid \
|
||||
--replace ${getBin pkgs.lvm2}/bin ${extraUtils}/bin \
|
||||
--replace ${pkgs.mdadm}/sbin ${extraUtils}/sbin \
|
||||
--replace ${pkgs.bash}/bin/sh ${extraUtils}/bin/sh \
|
||||
|
|
|
@ -17,7 +17,7 @@ let
|
|||
inherit (config.system.build) earlyMountScript;
|
||||
path = lib.makeBinPath ([
|
||||
pkgs.coreutils
|
||||
pkgs.utillinux
|
||||
pkgs.util-linux
|
||||
] ++ lib.optional useHostResolvConf pkgs.openresolv);
|
||||
fsPackagesPath = lib.makeBinPath config.system.fsPackages;
|
||||
postBootCommands = pkgs.writeText "local-cmds"
|
||||
|
|
|
@ -109,9 +109,8 @@ in {
|
|||
'';
|
||||
}];
|
||||
|
||||
system.autoUpgrade.flags = [ "--no-build-output" ]
|
||||
++ (if cfg.flake == null then
|
||||
(if cfg.channel == null then
|
||||
system.autoUpgrade.flags = (if cfg.flake == null then
|
||||
[ "--no-build-output" ] ++ (if cfg.channel == null then
|
||||
[ "--upgrade" ]
|
||||
else [
|
||||
"-I"
|
||||
|
|
|
@ -286,7 +286,7 @@ in
|
|||
before = [ mountPoint' "systemd-fsck@${device'}.service" ];
|
||||
requires = [ device'' ];
|
||||
after = [ device'' ];
|
||||
path = [ pkgs.utillinux ] ++ config.system.fsPackages;
|
||||
path = [ pkgs.util-linux ] ++ config.system.fsPackages;
|
||||
script =
|
||||
''
|
||||
if ! [ -e "${fs.device}" ]; then exit 1; fi
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
# Hacky!!! fuse hard-codes the path to mount
|
||||
mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin
|
||||
ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin
|
||||
ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin
|
||||
mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin
|
||||
ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin
|
||||
ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin
|
||||
'';
|
||||
})
|
||||
|
||||
|
|
|
@ -440,7 +440,7 @@ in
|
|||
pkgs.gnugrep
|
||||
pkgs.gnused
|
||||
pkgs.nettools
|
||||
pkgs.utillinux
|
||||
pkgs.util-linux
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -1246,7 +1246,7 @@ in
|
|||
'';
|
||||
|
||||
# Udev attributes for systemd to name the device and to create a .device target.
|
||||
systemdAttrs = n: ''NAME:="${n}", ENV{INTERFACE}:="${n}", ENV{SYSTEMD_ALIAS}:="/sys/subsystem/net/devices/${n}", TAG+="systemd"'';
|
||||
systemdAttrs = n: ''NAME:="${n}", ENV{INTERFACE}="${n}", ENV{SYSTEMD_ALIAS}="/sys/subsystem/net/devices/${n}", TAG+="systemd"'';
|
||||
in
|
||||
flip (concatMapStringsSep "\n") (attrNames wlanDeviceInterfaces) (device:
|
||||
let
|
||||
|
|
|
@ -124,7 +124,7 @@ in
|
|||
boot.initrd.extraUtilsCommands =
|
||||
''
|
||||
# We need swapon in the initrd.
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/swapon
|
||||
copy_bin_and_libs ${pkgs.util-linux}/sbin/swapon
|
||||
'';
|
||||
|
||||
# Don't put old configurations in the GRUB menu. The user has no
|
||||
|
|
|
@ -22,7 +22,7 @@ let
|
|||
nettools # for hostname
|
||||
procps # for pidof
|
||||
shadow # for useradd, usermod
|
||||
utillinux # for (u)mount, fdisk, sfdisk, mkswap
|
||||
util-linux # for (u)mount, fdisk, sfdisk, mkswap
|
||||
parted
|
||||
];
|
||||
pythonPath = [ pythonPackages.pyasn1 ];
|
||||
|
|
|
@ -27,7 +27,7 @@ in
|
|||
popd
|
||||
'';
|
||||
diskImageBase = "nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw";
|
||||
buildInputs = [ pkgs.utillinux pkgs.perl ];
|
||||
buildInputs = [ pkgs.util-linux pkgs.perl ];
|
||||
exportReferencesGraph =
|
||||
[ "closure" config.system.build.toplevel ];
|
||||
}
|
||||
|
|
|
@ -190,7 +190,7 @@ let
|
|||
'' else ''
|
||||
''}
|
||||
'';
|
||||
buildInputs = [ pkgs.utillinux ];
|
||||
buildInputs = [ pkgs.util-linux ];
|
||||
QEMU_OPTS = "-nographic -serial stdio -monitor none"
|
||||
+ lib.optionalString cfg.useEFIBoot (
|
||||
" -drive if=pflash,format=raw,unit=0,readonly=on,file=${efiFirmware}"
|
||||
|
|
|
@ -201,8 +201,8 @@ in
|
|||
''
|
||||
if [ -d /proc/xen ]; then
|
||||
${pkgs.kmod}/bin/modprobe xenfs 2> /dev/null
|
||||
${pkgs.utillinux}/bin/mountpoint -q /proc/xen || \
|
||||
${pkgs.utillinux}/bin/mount -t xenfs none /proc/xen
|
||||
${pkgs.util-linux}/bin/mountpoint -q /proc/xen || \
|
||||
${pkgs.util-linux}/bin/mount -t xenfs none /proc/xen
|
||||
fi
|
||||
'';
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ in
|
|||
atd = handleTest ./atd.nix {};
|
||||
avahi = handleTest ./avahi.nix {};
|
||||
avahi-with-resolved = handleTest ./avahi.nix { networkd = true; };
|
||||
awscli = handleTest ./awscli.nix { };
|
||||
babeld = handleTest ./babeld.nix {};
|
||||
bazarr = handleTest ./bazarr.nix {};
|
||||
bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64
|
||||
|
|
17
nixos/tests/awscli.nix
Normal file
17
nixos/tests/awscli.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "awscli";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
};
|
||||
|
||||
machine = { pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [ pkgs.awscli ];
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
assert "${pkgs.python3Packages.botocore.version}" in machine.succeed("aws --version")
|
||||
assert "${pkgs.awscli.version}" in machine.succeed("aws --version")
|
||||
'';
|
||||
})
|
|
@ -499,8 +499,8 @@ let
|
|||
list, targetList
|
||||
)
|
||||
with subtest("Test MTU and MAC Address are configured"):
|
||||
assert "mtu 1342" in machine.succeed("ip link show dev tap0")
|
||||
assert "mtu 1343" in machine.succeed("ip link show dev tun0")
|
||||
machine.wait_until_succeeds("ip link show dev tap0 | grep 'mtu 1342'")
|
||||
machine.wait_until_succeeds("ip link show dev tun0 | grep 'mtu 1343'")
|
||||
assert "02:de:ad:be:ef:01" in machine.succeed("ip link show dev tap0")
|
||||
'' # network-addresses-* only exist in scripted networking
|
||||
+ optionalString (!networkd) ''
|
||||
|
|
|
@ -9,7 +9,7 @@ let
|
|||
${parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s
|
||||
mkdir /mnt
|
||||
${e2fsprogs}/bin/mkfs.ext4 /dev/vda1
|
||||
${utillinux}/bin/mount -t ext4 /dev/vda1 /mnt
|
||||
${util-linux}/bin/mount -t ext4 /dev/vda1 /mnt
|
||||
|
||||
if test -e /mnt/.debug; then
|
||||
exec ${bash}/bin/sh
|
||||
|
|
|
@ -26,7 +26,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
|||
|
||||
systemd.shutdown.test = pkgs.writeScript "test.shutdown" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
PATH=${lib.makeBinPath (with pkgs; [ utillinux coreutils ])}
|
||||
PATH=${lib.makeBinPath (with pkgs; [ util-linux coreutils ])}
|
||||
mount -t 9p shared -o trans=virtio,version=9p2000.L /tmp/shared
|
||||
touch /tmp/shared/shutdown-test
|
||||
umount /tmp/shared
|
||||
|
|
|
@ -24,7 +24,7 @@ let
|
|||
|
||||
miniInit = ''
|
||||
#!${pkgs.runtimeShell} -xe
|
||||
export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.utillinux ]}"
|
||||
export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.util-linux ]}"
|
||||
|
||||
mkdir -p /run/dbus
|
||||
cat > /etc/passwd <<EOF
|
||||
|
@ -72,7 +72,7 @@ let
|
|||
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
copy_bin_and_libs "${guestAdditions}/bin/mount.vboxsf"
|
||||
copy_bin_and_libs "${pkgs.utillinux}/bin/unshare"
|
||||
copy_bin_and_libs "${pkgs.util-linux}/bin/unshare"
|
||||
${(attrs.extraUtilsCommands or (const "")) pkgs}
|
||||
'';
|
||||
|
||||
|
@ -122,7 +122,7 @@ let
|
|||
"$diskImage" "$out/disk.vdi"
|
||||
'';
|
||||
|
||||
buildInputs = [ pkgs.utillinux pkgs.perl ];
|
||||
buildInputs = [ pkgs.util-linux pkgs.perl ];
|
||||
} ''
|
||||
${pkgs.parted}/sbin/parted --script /dev/vda mklabel msdos
|
||||
${pkgs.parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchFromGitHub, makeWrapper, rofi, mpc_cli, perl,
|
||||
utillinux, pythonPackages, libnotify }:
|
||||
util-linux, pythonPackages, libnotify }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "clerk-2016-10-14";
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation {
|
|||
installPhase = ''
|
||||
DESTDIR=$out PREFIX=/ make install
|
||||
wrapProgram $out/bin/clerk \
|
||||
--prefix PATH : "${stdenv.lib.makeBinPath [ rofi mpc_cli perl utillinux libnotify ]}"
|
||||
--prefix PATH : "${stdenv.lib.makeBinPath [ rofi mpc_cli perl util-linux libnotify ]}"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -17,7 +17,7 @@ let
|
|||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://faust.grame.fr/";
|
||||
homepage = "https://faust.grame.fr/";
|
||||
downloadPage = "https://sourceforge.net/projects/faudiostream/files/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -31,7 +31,7 @@ let
|
|||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://faust.grame.fr/";
|
||||
homepage = "https://faust.grame.fr/";
|
||||
downloadPage = "https://github.com/grame-cncm/faust/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
|||
together the convenience of a standalone interpreted language with the
|
||||
efficiency of a compiled language. It's ideal for fast prototyping.
|
||||
'';
|
||||
homepage = "http://faust.grame.fr/";
|
||||
homepage = "https://faust.grame.fr/";
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -32,7 +32,9 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://16-bits.org/ft2.php";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = platforms.all;
|
||||
# From HOW-TO-COMPILE.txt:
|
||||
# > This code is NOT big-endian compatible
|
||||
platforms = platforms.littleEndian;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
let
|
||||
pname = "HybridReverb2";
|
||||
version = "2.1.1";
|
||||
version = "2.1.2";
|
||||
owner = "jpcima";
|
||||
DBversion = "1.0.0";
|
||||
in
|
||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
|||
inherit owner;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "15mba9qvlis0qrklr50wp3jdysvmk33m7pvclp0k1is9pirj97cb";
|
||||
sha256 = "16r20plz1w068bgbkrydv01a991ygjybdya3ah7bhp3m5xafjwqb";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
From c3865405ca707e3284a81709577d85ce2b3db72c Mon Sep 17 00:00:00 2001
|
||||
From: Francesco Gazzetta <fgaz@fgaz.me>
|
||||
Date: Wed, 19 Aug 2020 15:06:58 +0200
|
||||
Subject: [PATCH 2/2] Set the initial directory to the current directory
|
||||
|
||||
otherwise the user has to navigate from the nix store, which makes the program
|
||||
crash due to its size
|
||||
---
|
||||
sources/Adapters/DEB/System/DEBSystem.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sources/Adapters/DEB/System/DEBSystem.cpp b/sources/Adapters/DEB/System/DEBSystem.cpp
|
||||
index 6e86693..65d2cdd 100644
|
||||
--- a/sources/Adapters/DEB/System/DEBSystem.cpp
|
||||
+++ b/sources/Adapters/DEB/System/DEBSystem.cpp
|
||||
@@ -54,7 +54,7 @@ void DEBSystem::Boot(int argc,char **argv) {
|
||||
}
|
||||
Path::SetAlias("bin",dirname(buff)) ;
|
||||
|
||||
- Path::SetAlias("root","bin:..") ;
|
||||
+ Path::SetAlias("root",".") ;
|
||||
|
||||
#ifdef _DEBUG
|
||||
Trace::GetInstance()->SetLogger(*(new StdOutLogger()));
|
||||
--
|
||||
2.25.4
|
||||
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "littlegptracker";
|
||||
version = "unstable-2019-04-14";
|
||||
version = "unstable-2020-11-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mdashdotdashn";
|
||||
repo = "littlegptracker";
|
||||
rev = "0ed729b46739e3df5e111c6fa4d548fde2d3b891";
|
||||
sha256 = "1pc6lg2qp6xh7ahs5d5pb63ms4h2dz7ryp3c7mci4g37gbwbsj5b";
|
||||
rev = "4aca8cd765e1ad586da62decd019e66cb64b45b8";
|
||||
sha256 = "0f2ip8z5wxk8fvlw47mczsbcrzh4nh1hgw1fwf5gjrqnzm8v111x";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -26,9 +26,6 @@ stdenv.mkDerivation rec {
|
|||
# Remove outdated (pre-64bit) checks that would fail on modern platforms
|
||||
# (see description in patch file)
|
||||
./0001-Remove-coherency-checks.patch
|
||||
# Set starting directory to cwd, default is in /nix/store and causes a crash
|
||||
# (see description in patch file)
|
||||
./0002-Set-the-initial-directory-to-the-current-directory.patch
|
||||
];
|
||||
|
||||
preBuild = "cd projects";
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ stdenv, fetchurl, lib, libX11, libXext, alsaLib, freetype, brand, type, version, homepage, sha256, ... }:
|
||||
{ stdenv, fetchurl, lib, libX11, libXext, alsaLib, freetype, brand, type, version, homepage, url, sha256, ... }:
|
||||
stdenv.mkDerivation rec {
|
||||
inherit type;
|
||||
baseName = "${type}-Edit";
|
||||
name = "${lib.toLower baseName}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://downloads.music-group.com/software/behringer/${type}/${type}-Edit_LINUX_64bit_${version}.tar.gz";
|
||||
inherit url;
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
callPackage ./generic.nix (args // rec {
|
||||
brand = "Midas";
|
||||
type = "M32";
|
||||
version = "3.2";
|
||||
sha256 = "1cds6qinz37086l6pmmgrzrxadygjr2z96sjjyznnai2wz4z2nrd";
|
||||
homepage = "http://www.musictri.be/Categories/Midas/Mixers/Digital/M32/p/P0B3I/downloads";
|
||||
version = "4.1";
|
||||
url = "https://mediadl.musictribe.com/download/software/midas_${type}/${type}-Edit_LINUX_64-Bit_${version}.tar.gz";
|
||||
sha256 = "0aqhdrxqa49liyvbbw5x32kwk0h1spzvmizmdxklrfs64vvr9bvh";
|
||||
homepage = "https://midasconsoles.com/midas/product?modelCode=P0B3I";
|
||||
})
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
callPackage ./generic.nix (args // rec {
|
||||
brand = "Behringer";
|
||||
type = "X32";
|
||||
version = "3.2";
|
||||
sha256 = "1lzmhd0sqnlzc0khpwm82sfi48qhv7rg153a57qjih7hhhy41mzk";
|
||||
homepage = "http://www.musictri.be/Categories/Behringer/Mixers/Digital/X32/p/P0ASF/downloads";
|
||||
version = "4.1";
|
||||
url = "https://mediadl.musictribe.com/download/software/behringer/${type}/${type}-Edit_LINUX_64-Bit_${version}.tar.gz";
|
||||
sha256 = "0zsw7qfmcci87skkpq8vx5zxk35phn8y4byispvki9ascifnnb33";
|
||||
homepage = "https://www.behringer.com/behringer/product?modelCode=P0ASF";
|
||||
})
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
pname = "mopidy-musicbox-webclient";
|
||||
version = "2.4.0";
|
||||
version = "3.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pimusicbox";
|
||||
repo = "mopidy-musicbox-webclient";
|
||||
rev = "v${version}";
|
||||
sha256 = "0784s32pap9rbki3f0f7swaf6946sdv4xzidns13jmw9ilifk5z4";
|
||||
sha256 = "1lzarazq67gciyn6r8cdms0f7j0ayyfwhpf28z93ydb280mfrrb9";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ mopidy ];
|
||||
|
@ -18,6 +18,7 @@ pythonPackages.buildPythonApplication rec {
|
|||
meta = with stdenv.lib; {
|
||||
description = "Mopidy extension for playing music from SoundCloud";
|
||||
license = licenses.mit;
|
||||
broken = stdenv.isDarwin;
|
||||
maintainers = [ maintainers.spwhitt ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://www.muse-sequencer.org/";
|
||||
homepage = "https://muse-sequencer.github.io/";
|
||||
description = "MIDI/Audio sequencer with recording and editing capabilities";
|
||||
longDescription = ''
|
||||
MusE is a MIDI/Audio sequencer with recording and editing capabilities
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pt2-clone";
|
||||
version = "1.24";
|
||||
version = "1.25_fix";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "8bitbubsy";
|
||||
repo = "pt2-clone";
|
||||
rev = "v${version}";
|
||||
sha256 = "0lw18943dqgydgl4byk440j016m486s82k6hhqjn3w75108b7w1r";
|
||||
sha256 = "1slv8qjxsj67z6984nl67g53mq0sdls2cbikvfjmgmad1wkh98ma";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -29,7 +29,9 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://16-bits.org/pt2.php";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
platforms = platforms.all;
|
||||
# From HOW-TO-COMPILE.txt:
|
||||
# > This code is NOT big-endian compatible
|
||||
platforms = platforms.littleEndian;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
, libselinux ? null
|
||||
, libsepol ? null
|
||||
, p11-kit ? null
|
||||
, utillinux ? null
|
||||
, util-linux ? null
|
||||
, qtbase
|
||||
, qtx11extras
|
||||
, qttools
|
||||
|
@ -67,7 +67,7 @@ mkDerivation rec {
|
|||
libselinux
|
||||
libsepol
|
||||
p11-kit
|
||||
utillinux
|
||||
util-linux
|
||||
]
|
||||
++ lib.optionals withGstreamer (with gst_all_1; [
|
||||
gstreamer
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchFromGitHub, python3, cdparanoia, cdrdao, flac
|
||||
, sox, accuraterip-checksum, libsndfile, utillinux, substituteAll }:
|
||||
, sox, accuraterip-checksum, libsndfile, util-linux, substituteAll }:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "whipper";
|
||||
|
@ -37,7 +37,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
];
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ accuraterip-checksum cdrdao utillinux flac sox ])
|
||||
"--prefix" "PATH" ":" (stdenv.lib.makeBinPath [ accuraterip-checksum cdrdao util-linux flac sox ])
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, openssl, db53, boost
|
||||
, zlib, miniupnpc, qtbase ? null , qttools ? null, utillinux, protobuf, qrencode, libevent
|
||||
, zlib, miniupnpc, qtbase ? null , qttools ? null, util-linux, protobuf, qrencode, libevent
|
||||
, withGui, python3, jemalloc, zeromq4 }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
@ -20,7 +20,7 @@ mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkgconfig cmake ];
|
||||
buildInputs = [ openssl db53 boost zlib python3 jemalloc zeromq4
|
||||
miniupnpc utillinux protobuf libevent ]
|
||||
miniupnpc util-linux protobuf libevent ]
|
||||
++ optionals withGui [ qtbase qttools qrencode ];
|
||||
|
||||
cmakeFlags = optionals (!withGui) [
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
|
||||
, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, qrencode, libevent
|
||||
, zlib, miniupnpc, qtbase ? null, qttools ? null, util-linux, protobuf, qrencode, libevent
|
||||
, withGui }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [ openssl db48 boost zlib
|
||||
miniupnpc utillinux protobuf libevent ]
|
||||
miniupnpc util-linux protobuf libevent ]
|
||||
++ optionals withGui [ qtbase qttools qrencode ];
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
, miniupnpc
|
||||
, libevent
|
||||
, protobuf
|
||||
, utillinux
|
||||
, util-linux
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [ openssl db5 openssl utillinux
|
||||
buildInputs = [ openssl db5 openssl util-linux
|
||||
protobuf boost zlib miniupnpc libevent ];
|
||||
|
||||
configureFlags = [ "--with-incompatible-bdb"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
|
||||
, zlib, miniupnpc, utillinux, protobuf, qrencode, libevent, python3
|
||||
, zlib, miniupnpc, util-linux, protobuf, qrencode, libevent, python3
|
||||
, withGui, wrapQtAppsHook ? null, qtbase ? null, qttools ? null
|
||||
, Foundation, ApplicationServices, AppKit }:
|
||||
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [ pkgconfig autoreconfHook python3 ]
|
||||
++ optionals withGui [ wrapQtAppsHook qttools ];
|
||||
buildInputs = [ openssl db48 boost zlib
|
||||
miniupnpc utillinux protobuf libevent ]
|
||||
miniupnpc util-linux protobuf libevent ]
|
||||
++ optionals withGui [ qtbase qttools qrencode ]
|
||||
++ optionals stdenv.isDarwin [ Foundation ApplicationServices AppKit ];
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
, qtbase ? null
|
||||
, qttools ? null
|
||||
, wrapQtAppsHook ? null
|
||||
, utillinux
|
||||
, util-linux
|
||||
, python3
|
||||
, qrencode
|
||||
, libevent
|
||||
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||
++ optional stdenv.isDarwin hexdump
|
||||
++ optional withGui wrapQtAppsHook;
|
||||
buildInputs = [ db48 boost zlib zeromq miniupnpc libevent ]
|
||||
++ optionals stdenv.isLinux [ utillinux ]
|
||||
++ optionals stdenv.isLinux [ util-linux ]
|
||||
++ optionals withGui [ qtbase qttools qrencode ];
|
||||
|
||||
postInstall = optional withGui ''
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clightning";
|
||||
version = "0.9.1";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
|
||||
sha256 = "4923e2fa001cfc2403d1bed368710499d5def322e6384b8eea2bd39d3351a417";
|
||||
sha256 = "022fw6rbn0chg0432h9q05w8qnys0hd9hf1qm2qlnnmamxw4dyfy";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ fetchFromGitHub, stdenv, pkgconfig, autoreconfHook
|
||||
, openssl, db48, boost, zlib, miniupnpc
|
||||
, qrencode, glib, protobuf, yasm, libevent
|
||||
, utillinux
|
||||
, util-linux
|
||||
, enable_Upnp ? false
|
||||
, disable_Wallet ? false
|
||||
, disable_Daemon ? false }:
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [ glib openssl db48 yasm boost zlib libevent
|
||||
miniupnpc protobuf qrencode utillinux ];
|
||||
miniupnpc protobuf qrencode util-linux ];
|
||||
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib --with-gui=no" ]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv , fetchFromGitHub
|
||||
, pkgconfig, autoreconfHook
|
||||
, db5, openssl, boost, zlib, miniupnpc, libevent
|
||||
, protobuf, utillinux, qt4, qrencode
|
||||
, protobuf, util-linux, qt4, qrencode
|
||||
, withGui }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [ openssl db5 openssl utillinux
|
||||
buildInputs = [ openssl db5 openssl util-linux
|
||||
protobuf boost zlib miniupnpc libevent ]
|
||||
++ optionals withGui [ qt4 qrencode ];
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue