Merge remote-tracking branch 'NixOS/master' into staging
This commit is contained in:
commit
92f0f8dd68
@ -1279,7 +1279,9 @@ makeFlags = [ "PREFIX=$(out)" ];
|
|||||||
<command>make</command>. You must use this instead of
|
<command>make</command>. You must use this instead of
|
||||||
<varname>makeFlags</varname> if the arguments contain spaces, e.g.
|
<varname>makeFlags</varname> if the arguments contain spaces, e.g.
|
||||||
<programlisting>
|
<programlisting>
|
||||||
makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
|
preBuild = ''
|
||||||
|
makeFlagsArray+=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
|
||||||
|
'';
|
||||||
</programlisting>
|
</programlisting>
|
||||||
Note that shell arrays cannot be passed through environment variables,
|
Note that shell arrays cannot be passed through environment variables,
|
||||||
so you cannot set <varname>makeFlagsArray</varname> in a derivation
|
so you cannot set <varname>makeFlagsArray</varname> in a derivation
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
- `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`),
|
- `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`),
|
||||||
- `keys` is a list of your PGP/GPG key IDs and fingerprints.
|
- `keys` is a list of your PGP/GPG key IDs and fingerprints.
|
||||||
|
|
||||||
`handle == github` is strongly preffered whenever `github` is an acceptable attribute name and is short and convenient.
|
`handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient.
|
||||||
|
|
||||||
Add PGP/GPG keys only if you actually use them to sign commits and/or mail.
|
Add PGP/GPG keys only if you actually use them to sign commits and/or mail.
|
||||||
|
|
||||||
@ -1427,6 +1427,10 @@
|
|||||||
email = "justin.humm@posteo.de";
|
email = "justin.humm@posteo.de";
|
||||||
github = "erictapen";
|
github = "erictapen";
|
||||||
name = "Justin Humm";
|
name = "Justin Humm";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0x438871E000AA178E";
|
||||||
|
fingerprint = "984E 4BAD 9127 4D0E AE47 FF03 4388 71E0 00AA 178E";
|
||||||
|
}];
|
||||||
};
|
};
|
||||||
erikryb = {
|
erikryb = {
|
||||||
email = "erik.rybakken@math.ntnu.no";
|
email = "erik.rybakken@math.ntnu.no";
|
||||||
@ -1456,6 +1460,10 @@
|
|||||||
email = "elis@hirwing.se";
|
email = "elis@hirwing.se";
|
||||||
github = "etu";
|
github = "etu";
|
||||||
name = "Elis Hirwing";
|
name = "Elis Hirwing";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0xD57EFA625C9A925F";
|
||||||
|
fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F";
|
||||||
|
}];
|
||||||
};
|
};
|
||||||
evck = {
|
evck = {
|
||||||
email = "eric@evenchick.com";
|
email = "eric@evenchick.com";
|
||||||
@ -2882,6 +2890,11 @@
|
|||||||
email = "joerg@thalheim.io";
|
email = "joerg@thalheim.io";
|
||||||
github = "mic92";
|
github = "mic92";
|
||||||
name = "Jörg Thalheim";
|
name = "Jörg Thalheim";
|
||||||
|
keys = [{
|
||||||
|
# compare with https://keybase.io/Mic92
|
||||||
|
longkeyid = "rsa4096/0x003F2096411B5F92";
|
||||||
|
fingerprint = "3DEE 1C55 6E1C 3DC5 54F5 875A 003F 2096 411B 5F92";
|
||||||
|
}];
|
||||||
};
|
};
|
||||||
michaelpj = {
|
michaelpj = {
|
||||||
email = "michaelpj@gmail.com";
|
email = "michaelpj@gmail.com";
|
||||||
@ -3600,6 +3613,14 @@
|
|||||||
email = "dev.primeos@gmail.com";
|
email = "dev.primeos@gmail.com";
|
||||||
github = "primeos";
|
github = "primeos";
|
||||||
name = "Michael Weiss";
|
name = "Michael Weiss";
|
||||||
|
keys = [
|
||||||
|
{ longkeyid = "ed25519/0x130826A6C2A389FD"; # Git only
|
||||||
|
fingerprint = "86A7 4A55 07D0 58D1 322E 37FD 1308 26A6 C2A3 89FD";
|
||||||
|
}
|
||||||
|
{ longkeyid = "rsa3072/0xBCA9943DD1DF4C04"; # Email, etc.
|
||||||
|
fingerprint = "AF85 991C C950 49A2 4205 1933 BCA9 943D D1DF 4C04";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
Profpatsch = {
|
Profpatsch = {
|
||||||
email = "mail@profpatsch.de";
|
email = "mail@profpatsch.de";
|
||||||
@ -3668,6 +3689,10 @@
|
|||||||
email = "hi@alyssa.is";
|
email = "hi@alyssa.is";
|
||||||
github = "alyssais";
|
github = "alyssais";
|
||||||
name = "Alyssa Ross";
|
name = "Alyssa Ross";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/736CCDF9EF51BD97";
|
||||||
|
fingerprint = "7573 56D7 79BB B888 773E 415E 736C CDF9 EF51 BD97";
|
||||||
|
}];
|
||||||
};
|
};
|
||||||
ragge = {
|
ragge = {
|
||||||
email = "r.dahlen@gmail.com";
|
email = "r.dahlen@gmail.com";
|
||||||
@ -4183,6 +4208,10 @@
|
|||||||
email = "sebastien.maret@icloud.com";
|
email = "sebastien.maret@icloud.com";
|
||||||
github = "smaret";
|
github = "smaret";
|
||||||
name = "Sébastien Maret";
|
name = "Sébastien Maret";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0x86E30E5A0F5FC59C";
|
||||||
|
fingerprint = "4242 834C D401 86EF 8281 4093 86E3 0E5A 0F5F C59C";
|
||||||
|
}];
|
||||||
};
|
};
|
||||||
smironov = {
|
smironov = {
|
||||||
email = "grrwlf@gmail.com";
|
email = "grrwlf@gmail.com";
|
||||||
@ -4373,6 +4402,10 @@
|
|||||||
email = "me@tadeo.ca";
|
email = "me@tadeo.ca";
|
||||||
github = "tadeokondrak";
|
github = "tadeokondrak";
|
||||||
name = "Tadeo Kondrak";
|
name = "Tadeo Kondrak";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "ed25519/0xFBE607FCC49516D3";
|
||||||
|
fingerprint = "0F2B C0C7 E77C 5B42 AC5B 4C18 FBE6 07FC C495 16D3";
|
||||||
|
}];
|
||||||
};
|
};
|
||||||
tadfisher = {
|
tadfisher = {
|
||||||
email = "tadfisher@gmail.com";
|
email = "tadfisher@gmail.com";
|
||||||
@ -4879,11 +4912,6 @@
|
|||||||
github = "wjlroe";
|
github = "wjlroe";
|
||||||
name = "William Roe";
|
name = "William Roe";
|
||||||
};
|
};
|
||||||
wkennington = {
|
|
||||||
email = "william@wkennington.com";
|
|
||||||
github = "wkennington";
|
|
||||||
name = "William A. Kennington III";
|
|
||||||
};
|
|
||||||
wmertens = {
|
wmertens = {
|
||||||
email = "Wout.Mertens@gmail.com";
|
email = "Wout.Mertens@gmail.com";
|
||||||
github = "wmertens";
|
github = "wmertens";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#! /usr/bin/env nix-shell
|
#! /usr/bin/env nix-shell
|
||||||
#! nix-shell -i perl -p perl perlPackages.NetAmazonS3 perlPackages.FileSlurp nixUnstable nixUnstable.perl-bindings
|
#! nix-shell -i perl -p perl perlPackages.NetAmazonS3 perlPackages.FileSlurp perlPackages.JSON perlPackages.LWPProtocolHttps nixUnstable nixUnstable.perl-bindings
|
||||||
|
|
||||||
# This command uploads tarballs to tarballs.nixos.org, the
|
# This command uploads tarballs to tarballs.nixos.org, the
|
||||||
# content-addressed cache used by fetchurl as a fallback for when
|
# content-addressed cache used by fetchurl as a fallback for when
|
||||||
@ -101,8 +101,8 @@ sub uploadFile {
|
|||||||
my ($name, $dest) = @_;
|
my ($name, $dest) = @_;
|
||||||
#print STDERR "linking $name to $dest...\n";
|
#print STDERR "linking $name to $dest...\n";
|
||||||
$bucket->add_key($name, "", {
|
$bucket->add_key($name, "", {
|
||||||
'x-amz-website-redirect-location' => "/" . $dest,
|
'x-amz-website-redirect-location' => "/" . $dest,
|
||||||
'x-amz-acl' => "public-read"
|
'x-amz-acl' => "public-read"
|
||||||
})
|
})
|
||||||
or die "failed to create redirect from $name to $dest\n";
|
or die "failed to create redirect from $name to $dest\n";
|
||||||
$cache{$name} = 1;
|
$cache{$name} = 1;
|
||||||
@ -116,8 +116,8 @@ sub uploadFile {
|
|||||||
# Upload the file as sha512/<hash-in-base-16>.
|
# Upload the file as sha512/<hash-in-base-16>.
|
||||||
print STDERR "uploading $fn to $mainKey...\n";
|
print STDERR "uploading $fn to $mainKey...\n";
|
||||||
$bucket->add_key_filename($mainKey, $fn, {
|
$bucket->add_key_filename($mainKey, $fn, {
|
||||||
'x-amz-meta-original-name' => $name,
|
'x-amz-meta-original-name' => $name,
|
||||||
'x-amz-acl' => "public-read"
|
'x-amz-acl' => "public-read"
|
||||||
})
|
})
|
||||||
or die "failed to upload $fn to $mainKey\n";
|
or die "failed to upload $fn to $mainKey\n";
|
||||||
$cache{$mainKey} = 1;
|
$cache{$mainKey} = 1;
|
||||||
|
@ -4,4 +4,8 @@ if [[ -z "$VERBOSE" ]]; then
|
|||||||
echo "You may set VERBOSE=1 to see debug output or to any other non-empty string to make this script completely silent"
|
echo "You may set VERBOSE=1 to see debug output or to any other non-empty string to make this script completely silent"
|
||||||
fi
|
fi
|
||||||
unset HOME NIXPKGS_CONFIG # Force empty config
|
unset HOME NIXPKGS_CONFIG # Force empty config
|
||||||
|
|
||||||
|
# With the default heap size (380MB), nix-instantiate fails:
|
||||||
|
# Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
|
||||||
|
export GC_INITIAL_HEAP_SIZE=${GC_INITIAL_HEAP_SIZE:-2000000000} # 2GB
|
||||||
nix-instantiate --strict --eval-only --xml --show-trace "$(dirname "$0")"/eval-release.nix 2>&1 > /dev/null
|
nix-instantiate --strict --eval-only --xml --show-trace "$(dirname "$0")"/eval-release.nix 2>&1 > /dev/null
|
@ -31,7 +31,7 @@ let
|
|||||||
if !canEval x then []
|
if !canEval x then []
|
||||||
else if isDerivation x then optional (canEval x.drvPath) x
|
else if isDerivation x then optional (canEval x.drvPath) x
|
||||||
else if isList x then concatLists (map derivationsIn' x)
|
else if isList x then concatLists (map derivationsIn' x)
|
||||||
else if isAttrs x then concatLists (mapAttrsToList (n: v: derivationsIn' v) x)
|
else if isAttrs x then concatLists (mapAttrsToList (n: v: addErrorContext "while finding tarballs in '${n}':" (derivationsIn' v)) x)
|
||||||
else [ ];
|
else [ ];
|
||||||
|
|
||||||
keyDrv = drv: if canEval drv.drvPath then { key = drv.drvPath; value = drv; } else { };
|
keyDrv = drv: if canEval drv.drvPath then { key = drv.drvPath; value = drv; } else { };
|
||||||
|
@ -440,6 +440,21 @@
|
|||||||
from nixpkgs due to the lack of maintainers.
|
from nixpkgs due to the lack of maintainers.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
It is possible now to uze ZRAM devices as general purpose ephemeral block devices,
|
||||||
|
not only as swap. Using more than 1 device as ZRAM swap is no longer recommended,
|
||||||
|
but is still possible by setting <literal>zramSwap.swapDevices</literal> explicitly.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Default algorithm for ZRAM swap was changed to <literal>zstd</literal>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Changes to ZRAM algorithm are applied during <literal>nixos-rebuild switch</literal>,
|
||||||
|
so make sure you have enough swap space on disk to survive ZRAM device rebuild. Alternatively,
|
||||||
|
use <literal>nixos-rebuild boot; reboot</literal>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
@ -27,6 +27,9 @@
|
|||||||
, # The root file system type.
|
, # The root file system type.
|
||||||
fsType ? "ext4"
|
fsType ? "ext4"
|
||||||
|
|
||||||
|
, # Filesystem label
|
||||||
|
label ? "nixos"
|
||||||
|
|
||||||
, # The initial NixOS configuration file to be copied to
|
, # The initial NixOS configuration file to be copied to
|
||||||
# /etc/nixos/configuration.nix.
|
# /etc/nixos/configuration.nix.
|
||||||
configFile ? null
|
configFile ? null
|
||||||
@ -134,9 +137,9 @@ let format' = format; in let
|
|||||||
# Get start & length of the root partition in sectors to $START and $SECTORS.
|
# Get start & length of the root partition in sectors to $START and $SECTORS.
|
||||||
eval $(partx $diskImage -o START,SECTORS --nr ${rootPartition} --pairs)
|
eval $(partx $diskImage -o START,SECTORS --nr ${rootPartition} --pairs)
|
||||||
|
|
||||||
mkfs.${fsType} -F -L nixos $diskImage -E offset=$(sectorsToBytes $START) $(sectorsToKilobytes $SECTORS)K
|
mkfs.${fsType} -F -L ${label} $diskImage -E offset=$(sectorsToBytes $START) $(sectorsToKilobytes $SECTORS)K
|
||||||
'' else ''
|
'' else ''
|
||||||
mkfs.${fsType} -F -L nixos $diskImage
|
mkfs.${fsType} -F -L ${label} $diskImage
|
||||||
''}
|
''}
|
||||||
|
|
||||||
root="$PWD/root"
|
root="$PWD/root"
|
||||||
|
@ -6,10 +6,27 @@ let
|
|||||||
|
|
||||||
cfg = config.zramSwap;
|
cfg = config.zramSwap;
|
||||||
|
|
||||||
devices = map (nr: "zram${toString nr}") (range 0 (cfg.numDevices - 1));
|
# don't set swapDevices as mkDefault, so we can detect user had read our warning
|
||||||
|
# (see below) and made an action (or not)
|
||||||
|
devicesCount = if cfg.swapDevices != null then cfg.swapDevices else cfg.numDevices;
|
||||||
|
|
||||||
|
devices = map (nr: "zram${toString nr}") (range 0 (devicesCount - 1));
|
||||||
|
|
||||||
modprobe = "${pkgs.kmod}/bin/modprobe";
|
modprobe = "${pkgs.kmod}/bin/modprobe";
|
||||||
|
|
||||||
|
warnings =
|
||||||
|
assert cfg.swapDevices != null -> cfg.numDevices >= cfg.swapDevices;
|
||||||
|
flatten [
|
||||||
|
(optional (cfg.numDevices > 1 && cfg.swapDevices == null) ''
|
||||||
|
Using several small zram devices as swap is no better than using one large.
|
||||||
|
Set either zramSwap.numDevices = 1 or explicitly set zramSwap.swapDevices.
|
||||||
|
|
||||||
|
Previously multiple zram devices were used to enable multithreaded
|
||||||
|
compression. Linux supports multithreaded compression for 1 device
|
||||||
|
since 3.15. See https://lkml.org/lkml/2014/2/28/404 for details.
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -24,9 +41,11 @@ in
|
|||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
description = ''
|
description = ''
|
||||||
Enable in-memory compressed swap space provided by the zram kernel
|
Enable in-memory compressed devices and swap space provided by the zram
|
||||||
module.
|
kernel module.
|
||||||
See https://www.kernel.org/doc/Documentation/blockdev/zram.txt
|
See <link xlink:href="https://www.kernel.org/doc/Documentation/blockdev/zram.txt">
|
||||||
|
https://www.kernel.org/doc/Documentation/blockdev/zram.txt
|
||||||
|
</link>.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -34,7 +53,19 @@ in
|
|||||||
default = 1;
|
default = 1;
|
||||||
type = types.int;
|
type = types.int;
|
||||||
description = ''
|
description = ''
|
||||||
Number of zram swap devices to create.
|
Number of zram devices to create. See also
|
||||||
|
<literal>zramSwap.swapDevices</literal>
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = mkOption {
|
||||||
|
default = null;
|
||||||
|
example = 1;
|
||||||
|
type = with types; nullOr int;
|
||||||
|
description = ''
|
||||||
|
Number of zram devices to be used as swap. Must be
|
||||||
|
<literal><= zramSwap.numDevices</literal>.
|
||||||
|
Default is same as <literal>zramSwap.numDevices</literal>, recommended is 1.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -44,7 +75,8 @@ in
|
|||||||
description = ''
|
description = ''
|
||||||
Maximum amount of memory that can be used by the zram swap devices
|
Maximum amount of memory that can be used by the zram swap devices
|
||||||
(as a percentage of your total memory). Defaults to 1/2 of your total
|
(as a percentage of your total memory). Defaults to 1/2 of your total
|
||||||
RAM.
|
RAM. Run <literal>zramctl</literal> to check how good memory is
|
||||||
|
compressed.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -58,12 +90,26 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
algorithm = mkOption {
|
||||||
|
default = "zstd";
|
||||||
|
example = "lzo";
|
||||||
|
type = with types; either (enum [ "lzo" "lz4" "zstd" ]) str;
|
||||||
|
description = ''
|
||||||
|
Compression algorithm. <literal>lzo</literal> has good compression,
|
||||||
|
but is slow. <literal>lz4</literal> has bad compression, but is fast.
|
||||||
|
<literal>zstd</literal> is both good compression and fast.
|
||||||
|
You can check what other algorithms are supported by your zram device with
|
||||||
|
<programlisting>cat /sys/class/block/zram*/comp_algorithm</programlisting>
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
inherit warnings;
|
||||||
|
|
||||||
system.requiredKernelConfig = with config.lib.kernelConfig; [
|
system.requiredKernelConfig = with config.lib.kernelConfig; [
|
||||||
(isModule "ZRAM")
|
(isModule "ZRAM")
|
||||||
];
|
];
|
||||||
@ -85,25 +131,25 @@ in
|
|||||||
createZramInitService = dev:
|
createZramInitService = dev:
|
||||||
nameValuePair "zram-init-${dev}" {
|
nameValuePair "zram-init-${dev}" {
|
||||||
description = "Init swap on zram-based device ${dev}";
|
description = "Init swap on zram-based device ${dev}";
|
||||||
bindsTo = [ "dev-${dev}.swap" ];
|
|
||||||
after = [ "dev-${dev}.device" "zram-reloader.service" ];
|
after = [ "dev-${dev}.device" "zram-reloader.service" ];
|
||||||
requires = [ "dev-${dev}.device" "zram-reloader.service" ];
|
requires = [ "dev-${dev}.device" "zram-reloader.service" ];
|
||||||
before = [ "dev-${dev}.swap" ];
|
before = [ "dev-${dev}.swap" ];
|
||||||
requiredBy = [ "dev-${dev}.swap" ];
|
requiredBy = [ "dev-${dev}.swap" ];
|
||||||
|
unitConfig.DefaultDependencies = false; # needed to prevent a cycle
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/class/block/${dev}/reset'";
|
ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/class/block/${dev}/reset'";
|
||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
set -u
|
set -euo pipefail
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
# Calculate memory to use for zram
|
|
||||||
totalmem=$(${pkgs.gnugrep}/bin/grep 'MemTotal: ' /proc/meminfo | ${pkgs.gawk}/bin/awk '{print $2}')
|
|
||||||
mem=$(((totalmem * ${toString cfg.memoryPercent} / 100 / ${toString cfg.numDevices}) * 1024))
|
|
||||||
|
|
||||||
echo $mem > /sys/class/block/${dev}/disksize
|
# Calculate memory to use for zram
|
||||||
|
mem=$(${pkgs.gawk}/bin/awk '/MemTotal: / {
|
||||||
|
print int($2*${toString cfg.memoryPercent}/100.0/${toString devicesCount}*1024)
|
||||||
|
}' /proc/meminfo)
|
||||||
|
|
||||||
|
${pkgs.utillinux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev}
|
||||||
${pkgs.utillinux}/sbin/mkswap /dev/${dev}
|
${pkgs.utillinux}/sbin/mkswap /dev/${dev}
|
||||||
'';
|
'';
|
||||||
restartIfChanged = false;
|
restartIfChanged = false;
|
||||||
@ -111,6 +157,9 @@ in
|
|||||||
in listToAttrs ((map createZramInitService devices) ++ [(nameValuePair "zram-reloader"
|
in listToAttrs ((map createZramInitService devices) ++ [(nameValuePair "zram-reloader"
|
||||||
{
|
{
|
||||||
description = "Reload zram kernel module when number of devices changes";
|
description = "Reload zram kernel module when number of devices changes";
|
||||||
|
wants = [ "systemd-udevd.service" ];
|
||||||
|
after = [ "systemd-udevd.service" ];
|
||||||
|
unitConfig.DefaultDependencies = false; # needed to prevent a cycle
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
@ -118,7 +167,11 @@ in
|
|||||||
ExecStart = "${modprobe} zram";
|
ExecStart = "${modprobe} zram";
|
||||||
ExecStop = "${modprobe} -r zram";
|
ExecStop = "${modprobe} -r zram";
|
||||||
};
|
};
|
||||||
restartTriggers = [ cfg.numDevices ];
|
restartTriggers = [
|
||||||
|
cfg.numDevices
|
||||||
|
cfg.algorithm
|
||||||
|
cfg.memoryPercent
|
||||||
|
];
|
||||||
restartIfChanged = true;
|
restartIfChanged = true;
|
||||||
})]);
|
})]);
|
||||||
|
|
||||||
|
@ -124,10 +124,14 @@ in
|
|||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
assertions = lib.singleton {
|
assertions = [
|
||||||
assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
|
{ assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
|
||||||
message = "Option driSupport32Bit only makes sense on a 64-bit system.";
|
message = "Option driSupport32Bit only makes sense on a 64-bit system.";
|
||||||
};
|
}
|
||||||
|
{ assertion = cfg.driSupport32Bit -> (config.boot.kernelPackages.kernel.features.ia32Emulation or false);
|
||||||
|
message = "Option driSupport32Bit requires a kernel that supports 32bit emulation";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"L+ /run/opengl-driver - - - - ${package}"
|
"L+ /run/opengl-driver - - - - ${package}"
|
||||||
|
@ -314,13 +314,13 @@ else
|
|||||||
# echo 1>&2 "Warning: This value is not an option."
|
# echo 1>&2 "Warning: This value is not an option."
|
||||||
|
|
||||||
result=$(evalCfg "")
|
result=$(evalCfg "")
|
||||||
if names=$(attrNames "$result" 2> /dev/null); then
|
if [ ! -z "$result" ]; then
|
||||||
|
names=$(attrNames "$result" 2> /dev/null)
|
||||||
echo 1>&2 "This attribute set contains:"
|
echo 1>&2 "This attribute set contains:"
|
||||||
escapeQuotes () { eval echo "$1"; }
|
escapeQuotes () { eval echo "$1"; }
|
||||||
nixMap escapeQuotes "$names"
|
nixMap escapeQuotes "$names"
|
||||||
else
|
else
|
||||||
echo 1>&2 "An error occurred while looking for attribute names."
|
echo 1>&2 "An error occurred while looking for attribute names. Are you sure that '$option' exists?"
|
||||||
echo $result
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -6,11 +6,11 @@ let
|
|||||||
|
|
||||||
cfg = config.services.postgresqlBackup;
|
cfg = config.services.postgresqlBackup;
|
||||||
|
|
||||||
postgresqlBackupService = db :
|
postgresqlBackupService = db: dumpCmd:
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
description = "Backup of database ${db}";
|
description = "Backup of ${db} database(s)";
|
||||||
|
|
||||||
requires = [ "postgresql.service" ];
|
requires = [ "postgresql.service" ];
|
||||||
|
|
||||||
@ -26,7 +26,7 @@ let
|
|||||||
${pkgs.coreutils}/bin/mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz
|
${pkgs.coreutils}/bin/mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
${config.services.postgresql.package}/bin/pg_dump ${cfg.pgdumpOptions} ${db} | \
|
${dumpCmd} | \
|
||||||
${pkgs.gzip}/bin/gzip -c > ${cfg.location}/${db}.sql.gz
|
${pkgs.gzip}/bin/gzip -c > ${cfg.location}/${db}.sql.gz
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -42,9 +42,7 @@ let
|
|||||||
in {
|
in {
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
||||||
services.postgresqlBackup = {
|
services.postgresqlBackup = {
|
||||||
|
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
description = ''
|
description = ''
|
||||||
@ -61,6 +59,19 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
backupAll = mkOption {
|
||||||
|
default = cfg.databases == [];
|
||||||
|
defaultText = "services.postgresqlBackup.databases == []";
|
||||||
|
type = lib.types.bool;
|
||||||
|
description = ''
|
||||||
|
Backup all databases using pg_dumpall.
|
||||||
|
This option is mutual exclusive to
|
||||||
|
<literal>services.postgresqlBackup.databases</literal>.
|
||||||
|
The resulting backup dump will have the name all.sql.gz.
|
||||||
|
This option is the default if no databases are specified.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
databases = mkOption {
|
databases = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
description = ''
|
description = ''
|
||||||
@ -79,18 +90,36 @@ in {
|
|||||||
type = types.string;
|
type = types.string;
|
||||||
default = "-Cbo";
|
default = "-Cbo";
|
||||||
description = ''
|
description = ''
|
||||||
Command line options for pg_dump.
|
Command line options for pg_dump. This options is not used
|
||||||
|
if <literal>config.services.postgresqlBackup.backupAll</literal> is enabled.
|
||||||
|
Note that config.services.postgresqlBackup.backupAll is also active,
|
||||||
|
when no databases where specified.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.services.postgresqlBackup.enable {
|
config = mkMerge [
|
||||||
|
{
|
||||||
systemd.services = listToAttrs (map (db : {
|
assertions = [{
|
||||||
|
assertion = cfg.backupAll -> cfg.databases == [];
|
||||||
|
message = "config.services.postgresqlBackup.backupAll cannot be used together with config.services.postgresqlBackup.databases";
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
(mkIf (cfg.enable && cfg.backupAll) {
|
||||||
|
systemd.services.postgresqlBackup =
|
||||||
|
postgresqlBackupService "all" "${config.services.postgresql.package}/bin/pg_dumpall";
|
||||||
|
})
|
||||||
|
(mkIf (cfg.enable && !cfg.backupAll) {
|
||||||
|
systemd.services = listToAttrs (map (db:
|
||||||
|
let
|
||||||
|
cmd = "${config.services.postgresql.package}/bin/pg_dump ${cfg.pgdumpOptions} ${db}";
|
||||||
|
in {
|
||||||
name = "postgresqlBackup-${db}";
|
name = "postgresqlBackup-${db}";
|
||||||
value = postgresqlBackupService db; } ) cfg.databases);
|
value = postgresqlBackupService db cmd;
|
||||||
};
|
}) cfg.databases);
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
# Type for a valid systemd unit option. Needed for correctly passing "timerConfig" to "systemd.timers"
|
||||||
|
unitOption = (import ../../system/boot/systemd-unit-options.nix { inherit config lib; }).unitOption;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
options.services.restic.backups = mkOption {
|
options.services.restic.backups = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
@ -47,7 +52,7 @@ with lib;
|
|||||||
};
|
};
|
||||||
|
|
||||||
timerConfig = mkOption {
|
timerConfig = mkOption {
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf unitOption;
|
||||||
default = {
|
default = {
|
||||||
OnCalendar = "daily";
|
OnCalendar = "daily";
|
||||||
};
|
};
|
||||||
|
@ -274,7 +274,8 @@ in
|
|||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = if hasNotify then "notify" else "simple";
|
Type = if hasNotify then "notify" else "simple";
|
||||||
RuntimeDirectory = "mysqld";
|
RuntimeDirectory = "mysqld";
|
||||||
ExecStart = "${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions}";
|
# The last two environment variables are used for starting Galera clusters
|
||||||
|
ExecStart = "${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION";
|
||||||
};
|
};
|
||||||
|
|
||||||
postStart = ''
|
postStart = ''
|
||||||
|
@ -145,7 +145,7 @@ in
|
|||||||
PLEX_MEDIA_SERVER_HOME="${cfg.package}/usr/lib/plexmediaserver";
|
PLEX_MEDIA_SERVER_HOME="${cfg.package}/usr/lib/plexmediaserver";
|
||||||
PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6";
|
PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="6";
|
||||||
PLEX_MEDIA_SERVER_TMPDIR="/tmp";
|
PLEX_MEDIA_SERVER_TMPDIR="/tmp";
|
||||||
LD_LIBRARY_PATH="${cfg.package}/usr/lib/plexmediaserver";
|
LD_LIBRARY_PATH="/run/opengl-driver/lib:${cfg.package}/usr/lib/plexmediaserver";
|
||||||
LC_ALL="en_US.UTF-8";
|
LC_ALL="en_US.UTF-8";
|
||||||
LANG="en_US.UTF-8";
|
LANG="en_US.UTF-8";
|
||||||
};
|
};
|
||||||
|
@ -88,6 +88,8 @@ in {
|
|||||||
ExecStart = "${cfg.package}/sbin/collectd -C ${conf} -f";
|
ExecStart = "${cfg.package}/sbin/collectd -C ${conf} -f";
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = 3;
|
||||||
};
|
};
|
||||||
|
|
||||||
preStart = ''
|
preStart = ''
|
||||||
|
@ -18,12 +18,34 @@ in
|
|||||||
socketPath = mkOption {
|
socketPath = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = "/var/run/dovecot/stats";
|
default = "/var/run/dovecot/stats";
|
||||||
example = "/var/run/dovecot2/stats";
|
example = "/var/run/dovecot2/old-stats";
|
||||||
description = ''
|
description = ''
|
||||||
Path under which the stats socket is placed.
|
Path under which the stats socket is placed.
|
||||||
The user/group under which the exporter runs,
|
The user/group under which the exporter runs,
|
||||||
should be able to access the socket in order
|
should be able to access the socket in order
|
||||||
to scrape the metrics successfully.
|
to scrape the metrics successfully.
|
||||||
|
|
||||||
|
Please keep in mind that the stats module has changed in
|
||||||
|
<link xlink:href="https://wiki2.dovecot.org/Upgrading/2.3">Dovecot 2.3+</link> which
|
||||||
|
is not <link xlink:href="https://github.com/kumina/dovecot_exporter/issues/8">compatible with this exporter</link>.
|
||||||
|
|
||||||
|
The following extra config has to be passed to Dovecot to ensure that recent versions
|
||||||
|
work with this exporter:
|
||||||
|
<programlisting>
|
||||||
|
{
|
||||||
|
<xref linkend="opt-services.prometheus.exporters.dovecot.enable" /> = true;
|
||||||
|
<xref linkend="opt-services.prometheus.exporters.dovecot.socketPath" /> = "/var/run/dovecot2/old-stats";
|
||||||
|
<xref linkend="opt-services.dovecot2.extraConfig" /> = '''
|
||||||
|
mail_plugins = $mail_plugins old_stats
|
||||||
|
service old-stats {
|
||||||
|
unix_listener old-stats {
|
||||||
|
user = nobody
|
||||||
|
group = nobody
|
||||||
|
}
|
||||||
|
}
|
||||||
|
''';
|
||||||
|
}
|
||||||
|
</programlisting>
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
scopes = mkOption {
|
scopes = mkOption {
|
||||||
|
@ -513,6 +513,7 @@ in
|
|||||||
RuntimeDirectory = [ "prosody" ];
|
RuntimeDirectory = [ "prosody" ];
|
||||||
PIDFile = "/run/prosody/prosody.pid";
|
PIDFile = "/run/prosody/prosody.pid";
|
||||||
ExecStart = "${cfg.package}/bin/prosodyctl start";
|
ExecStart = "${cfg.package}/bin/prosodyctl start";
|
||||||
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26,6 +26,12 @@ let
|
|||||||
substituteInPlace $out/sesman.ini \
|
substituteInPlace $out/sesman.ini \
|
||||||
--replace LogFile=xrdp-sesman.log LogFile=/dev/null \
|
--replace LogFile=xrdp-sesman.log LogFile=/dev/null \
|
||||||
--replace EnableSyslog=1 EnableSyslog=0
|
--replace EnableSyslog=1 EnableSyslog=0
|
||||||
|
|
||||||
|
# Ensure that clipboard works for non-ASCII characters
|
||||||
|
sed -i -e '/.*SessionVariables.*/ a\
|
||||||
|
LANG=${config.i18n.defaultLocale}\
|
||||||
|
LOCALE_ARCHIVE=${config.i18n.glibcLocales}/lib/locale/locale-archive
|
||||||
|
' $out/sesman.ini
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -187,8 +187,8 @@ let
|
|||||||
SSLRandomSeed startup builtin
|
SSLRandomSeed startup builtin
|
||||||
SSLRandomSeed connect builtin
|
SSLRandomSeed connect builtin
|
||||||
|
|
||||||
SSLProtocol All -SSLv2 -SSLv3
|
SSLProtocol ${mainCfg.sslProtocols}
|
||||||
SSLCipherSuite HIGH:!aNULL:!MD5:!EXP
|
SSLCipherSuite ${mainCfg.sslCiphers}
|
||||||
SSLHonorCipherOrder on
|
SSLHonorCipherOrder on
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -630,6 +630,19 @@ in
|
|||||||
description =
|
description =
|
||||||
"Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited";
|
"Maximum number of httpd requests answered per httpd child (prefork), 0 means unlimited";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sslCiphers = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "HIGH:!aNULL:!MD5:!EXP";
|
||||||
|
description = "Cipher Suite available for negotiation in SSL proxy handshake.";
|
||||||
|
};
|
||||||
|
|
||||||
|
sslProtocols = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "All -SSLv2 -SSLv3";
|
||||||
|
example = "All -SSLv2 -SSLv3 -TLSv1";
|
||||||
|
description = "Allowed SSL/TLS protocol versions.";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
# Include the options shared between the main server and virtual hosts.
|
# Include the options shared between the main server and virtual hosts.
|
||||||
|
@ -107,6 +107,7 @@ in
|
|||||||
initrdNetwork = handleTest ./initrd-network.nix {};
|
initrdNetwork = handleTest ./initrd-network.nix {};
|
||||||
installer = handleTest ./installer.nix {};
|
installer = handleTest ./installer.nix {};
|
||||||
ipv6 = handleTest ./ipv6.nix {};
|
ipv6 = handleTest ./ipv6.nix {};
|
||||||
|
jackett = handleTest ./jackett.nix {};
|
||||||
jenkins = handleTest ./jenkins.nix {};
|
jenkins = handleTest ./jenkins.nix {};
|
||||||
#kafka = handleTest ./kafka.nix {}; # broken since openjdk: 8u181 -> 8u192
|
#kafka = handleTest ./kafka.nix {}; # broken since openjdk: 8u181 -> 8u192
|
||||||
kerberos = handleTest ./kerberos/default.nix {};
|
kerberos = handleTest ./kerberos/default.nix {};
|
||||||
@ -120,6 +121,7 @@ in
|
|||||||
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
|
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
|
||||||
ldap = handleTest ./ldap.nix {};
|
ldap = handleTest ./ldap.nix {};
|
||||||
leaps = handleTest ./leaps.nix {};
|
leaps = handleTest ./leaps.nix {};
|
||||||
|
lidarr = handleTest ./lidarr.nix {};
|
||||||
#lightdm = handleTest ./lightdm.nix {};
|
#lightdm = handleTest ./lightdm.nix {};
|
||||||
login = handleTest ./login.nix {};
|
login = handleTest ./login.nix {};
|
||||||
#logstash = handleTest ./logstash.nix {};
|
#logstash = handleTest ./logstash.nix {};
|
||||||
@ -179,6 +181,7 @@ in
|
|||||||
quagga = handleTest ./quagga.nix {};
|
quagga = handleTest ./quagga.nix {};
|
||||||
quake3 = handleTest ./quake3.nix {};
|
quake3 = handleTest ./quake3.nix {};
|
||||||
rabbitmq = handleTest ./rabbitmq.nix {};
|
rabbitmq = handleTest ./rabbitmq.nix {};
|
||||||
|
radarr = handleTest ./radarr.nix {};
|
||||||
radicale = handleTest ./radicale.nix {};
|
radicale = handleTest ./radicale.nix {};
|
||||||
redmine = handleTest ./redmine.nix {};
|
redmine = handleTest ./redmine.nix {};
|
||||||
roundcube = handleTest ./roundcube.nix {};
|
roundcube = handleTest ./roundcube.nix {};
|
||||||
@ -195,12 +198,14 @@ in
|
|||||||
smokeping = handleTest ./smokeping.nix {};
|
smokeping = handleTest ./smokeping.nix {};
|
||||||
snapper = handleTest ./snapper.nix {};
|
snapper = handleTest ./snapper.nix {};
|
||||||
solr = handleTest ./solr.nix {};
|
solr = handleTest ./solr.nix {};
|
||||||
|
sonarr = handleTest ./sonarr.nix {};
|
||||||
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
|
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
|
||||||
sudo = handleTest ./sudo.nix {};
|
sudo = handleTest ./sudo.nix {};
|
||||||
switchTest = handleTest ./switch-test.nix {};
|
switchTest = handleTest ./switch-test.nix {};
|
||||||
syncthing-relay = handleTest ./syncthing-relay.nix {};
|
syncthing-relay = handleTest ./syncthing-relay.nix {};
|
||||||
systemd = handleTest ./systemd.nix {};
|
systemd = handleTest ./systemd.nix {};
|
||||||
taskserver = handleTest ./taskserver.nix {};
|
taskserver = handleTest ./taskserver.nix {};
|
||||||
|
telegraf = handleTest ./telegraf.nix {};
|
||||||
tomcat = handleTest ./tomcat.nix {};
|
tomcat = handleTest ./tomcat.nix {};
|
||||||
tor = handleTest ./tor.nix {};
|
tor = handleTest ./tor.nix {};
|
||||||
transmission = handleTest ./transmission.nix {};
|
transmission = handleTest ./transmission.nix {};
|
||||||
|
@ -23,7 +23,7 @@ in
|
|||||||
{
|
{
|
||||||
name = "bittorrent";
|
name = "bittorrent";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ domenkozar eelco chaoflow rob wkennington bobvanderlinden ];
|
maintainers = [ domenkozar eelco chaoflow rob bobvanderlinden ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes =
|
nodes =
|
||||||
|
@ -200,7 +200,7 @@ let
|
|||||||
name = "installer-" + name;
|
name = "installer-" + name;
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
# put global maintainers here, individuals go into makeInstallerTest fkt call
|
# put global maintainers here, individuals go into makeInstallerTest fkt call
|
||||||
maintainers = [ wkennington ] ++ (meta.maintainers or []);
|
maintainers = (meta.maintainers or []);
|
||||||
};
|
};
|
||||||
nodes = {
|
nodes = {
|
||||||
|
|
||||||
|
18
nixos/tests/jackett.nix
Normal file
18
nixos/tests/jackett.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import ./make-test.nix ({ lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
rec {
|
||||||
|
name = "jackett";
|
||||||
|
meta.maintainers = with maintainers; [ etu ];
|
||||||
|
|
||||||
|
nodes.machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{ services.jackett.enable = true; };
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
$machine->waitForUnit('jackett.service');
|
||||||
|
$machine->waitForOpenPort('9117');
|
||||||
|
$machine->succeed("curl --fail http://localhost:9117/");
|
||||||
|
'';
|
||||||
|
})
|
18
nixos/tests/lidarr.nix
Normal file
18
nixos/tests/lidarr.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import ./make-test.nix ({ lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
rec {
|
||||||
|
name = "lidarr";
|
||||||
|
meta.maintainers = with maintainers; [ etu ];
|
||||||
|
|
||||||
|
nodes.machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{ services.lidarr.enable = true; };
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
$machine->waitForUnit('lidarr.service');
|
||||||
|
$machine->waitForOpenPort('8686');
|
||||||
|
$machine->succeed("curl --fail http://localhost:8686/");
|
||||||
|
'';
|
||||||
|
})
|
@ -8,7 +8,7 @@ import ./make-test.nix ({ pkgs, ...} : let
|
|||||||
in {
|
in {
|
||||||
name = "mongodb";
|
name = "mongodb";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ bluescreen303 offline wkennington cstrahan rvl ];
|
maintainers = [ bluescreen303 offline cstrahan rvl ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
|
@ -24,7 +24,7 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false,
|
|||||||
name = "nat" + (if withFirewall then "WithFirewall" else "Standalone")
|
name = "nat" + (if withFirewall then "WithFirewall" else "Standalone")
|
||||||
+ (lib.optionalString withConntrackHelpers "withConntrackHelpers");
|
+ (lib.optionalString withConntrackHelpers "withConntrackHelpers");
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ eelco chaoflow rob wkennington ];
|
maintainers = [ eelco chaoflow rob ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes =
|
nodes =
|
||||||
|
@ -606,7 +606,4 @@ let
|
|||||||
|
|
||||||
in mapAttrs (const (attrs: makeTest (attrs // {
|
in mapAttrs (const (attrs: makeTest (attrs // {
|
||||||
name = "${attrs.name}-Networking-${if networkd then "Networkd" else "Scripted"}";
|
name = "${attrs.name}-Networking-${if networkd then "Networkd" else "Scripted"}";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
|
||||||
maintainers = [ wkennington ];
|
|
||||||
};
|
|
||||||
}))) testCases
|
}))) testCases
|
||||||
|
@ -20,7 +20,7 @@ in
|
|||||||
{
|
{
|
||||||
name = "nfs";
|
name = "nfs";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ eelco chaoflow wkennington ];
|
maintainers = [ eelco chaoflow ];
|
||||||
};
|
};
|
||||||
|
|
||||||
nodes =
|
nodes =
|
||||||
|
@ -12,7 +12,9 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
services.postgresql = let mypg = pkgs.postgresql_11; in {
|
services.postgresql = let mypg = pkgs.postgresql_11; in {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = mypg;
|
package = mypg;
|
||||||
extraPlugins = [ (pkgs.postgis.override { postgresql = mypg; }) ];
|
extraPlugins = with mypg.pkgs; [
|
||||||
|
postgis
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -22,5 +24,6 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
$master->waitForUnit("postgresql");
|
$master->waitForUnit("postgresql");
|
||||||
$master->sleep(10); # Hopefully this is long enough!!
|
$master->sleep(10); # Hopefully this is long enough!!
|
||||||
$master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'");
|
$master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'");
|
||||||
|
$master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'");
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -7,7 +7,7 @@ with import ../lib/testing.nix { inherit system pkgs; };
|
|||||||
with pkgs.lib;
|
with pkgs.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
postgresql-versions = pkgs.callPackages ../../pkgs/servers/sql/postgresql { };
|
postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs pkgs;
|
||||||
test-sql = pkgs.writeText "postgresql-test" ''
|
test-sql = pkgs.writeText "postgresql-test" ''
|
||||||
CREATE EXTENSION pgcrypto; -- just to check if lib loading works
|
CREATE EXTENSION pgcrypto; -- just to check if lib loading works
|
||||||
CREATE TABLE sth (
|
CREATE TABLE sth (
|
||||||
@ -21,7 +21,7 @@ let
|
|||||||
CREATE TABLE xmltest ( doc xml );
|
CREATE TABLE xmltest ( doc xml );
|
||||||
INSERT INTO xmltest (doc) VALUES ('<test>ok</test>'); -- check if libxml2 enabled
|
INSERT INTO xmltest (doc) VALUES ('<test>ok</test>'); -- check if libxml2 enabled
|
||||||
'';
|
'';
|
||||||
make-postgresql-test = postgresql-name: postgresql-package: makeTest {
|
make-postgresql-test = postgresql-name: postgresql-package: backup-all: makeTest {
|
||||||
name = postgresql-name;
|
name = postgresql-name;
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ zagy ];
|
maintainers = [ zagy ];
|
||||||
@ -29,14 +29,17 @@ let
|
|||||||
|
|
||||||
machine = {...}:
|
machine = {...}:
|
||||||
{
|
{
|
||||||
services.postgresql.package=postgresql-package;
|
|
||||||
services.postgresql.enable = true;
|
services.postgresql.enable = true;
|
||||||
|
services.postgresql.package = postgresql-package;
|
||||||
|
|
||||||
services.postgresqlBackup.enable = true;
|
services.postgresqlBackup.enable = true;
|
||||||
services.postgresqlBackup.databases = [ "postgres" ];
|
services.postgresqlBackup.databases = optional (!backup-all) "postgres";
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = let
|
||||||
|
backupName = if backup-all then "all" else "postgres";
|
||||||
|
backupService = if backup-all then "postgresqlBackup" else "postgresqlBackup-postgres";
|
||||||
|
in ''
|
||||||
sub check_count {
|
sub check_count {
|
||||||
my ($select, $nlines) = @_;
|
my ($select, $nlines) = @_;
|
||||||
return 'test $(sudo -u postgres psql postgres -tAc "' . $select . '"|wc -l) -eq ' . $nlines;
|
return 'test $(sudo -u postgres psql postgres -tAc "' . $select . '"|wc -l) -eq ' . $nlines;
|
||||||
@ -56,12 +59,20 @@ let
|
|||||||
$machine->succeed(check_count("SELECT xpath(\'/test/text()\', doc) FROM xmltest;", 1));
|
$machine->succeed(check_count("SELECT xpath(\'/test/text()\', doc) FROM xmltest;", 1));
|
||||||
|
|
||||||
# Check backup service
|
# Check backup service
|
||||||
$machine->succeed("systemctl start postgresqlBackup-postgres.service");
|
$machine->succeed("systemctl start ${backupService}.service");
|
||||||
$machine->succeed("zcat /var/backup/postgresql/postgres.sql.gz | grep '<test>ok</test>'");
|
$machine->succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep '<test>ok</test>'");
|
||||||
$machine->succeed("stat -c '%a' /var/backup/postgresql/postgres.sql.gz | grep 600");
|
$machine->succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600");
|
||||||
$machine->shutdown;
|
$machine->shutdown;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
mapAttrs' (p-name: p-package: {name=p-name; value=make-postgresql-test p-name p-package;}) postgresql-versions
|
(mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // (
|
||||||
|
# just pick one version for the dump all test
|
||||||
|
let
|
||||||
|
first = head (attrNames postgresql-versions);
|
||||||
|
name = "${first}-backup-all";
|
||||||
|
in {
|
||||||
|
${name} = make-postgresql-test name postgresql-versions.${first} true;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
18
nixos/tests/radarr.nix
Normal file
18
nixos/tests/radarr.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import ./make-test.nix ({ lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
rec {
|
||||||
|
name = "radarr";
|
||||||
|
meta.maintainers = with maintainers; [ etu ];
|
||||||
|
|
||||||
|
nodes.machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{ services.radarr.enable = true; };
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
$machine->waitForUnit('radarr.service');
|
||||||
|
$machine->waitForOpenPort('7878');
|
||||||
|
$machine->succeed("curl --fail http://localhost:7878/");
|
||||||
|
'';
|
||||||
|
})
|
18
nixos/tests/sonarr.nix
Normal file
18
nixos/tests/sonarr.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import ./make-test.nix ({ lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
rec {
|
||||||
|
name = "sonarr";
|
||||||
|
meta.maintainers = with maintainers; [ etu ];
|
||||||
|
|
||||||
|
nodes.machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{ services.sonarr.enable = true; };
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
$machine->waitForUnit('sonarr.service');
|
||||||
|
$machine->waitForOpenPort('8989');
|
||||||
|
$machine->succeed("curl --fail http://localhost:8989/");
|
||||||
|
'';
|
||||||
|
})
|
30
nixos/tests/telegraf.nix
Normal file
30
nixos/tests/telegraf.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import ./make-test.nix ({ pkgs, ...} : {
|
||||||
|
name = "telegraf";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ mic92 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
machine = { ... }: {
|
||||||
|
services.telegraf.enable = true;
|
||||||
|
services.telegraf.extraConfig = {
|
||||||
|
agent.interval = "1s";
|
||||||
|
agent.flush_interval = "1s";
|
||||||
|
inputs.exec = {
|
||||||
|
commands = [
|
||||||
|
"${pkgs.runtimeShell} -c 'echo example,tag=a i=42i'"
|
||||||
|
];
|
||||||
|
timeout = "5s";
|
||||||
|
data_format = "influx";
|
||||||
|
};
|
||||||
|
outputs.file.files = ["/tmp/metrics.out"];
|
||||||
|
outputs.file.data_format = "influx";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
startAll;
|
||||||
|
|
||||||
|
$machine->waitForUnit("telegraf.service");
|
||||||
|
$machine->waitUntilSucceeds("grep -q example /tmp/metrics.out");
|
||||||
|
'';
|
||||||
|
})
|
@ -379,7 +379,7 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ aszlig wkennington cdepillabout ];
|
maintainers = [ aszlig cdepillabout ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
let
|
let
|
||||||
version = "2.2.5";
|
version = "2.3.0";
|
||||||
sha256 = "0q9vgwc0jlja73r4na7yil624iagq1607ac47wh8a7xgfjmjjai1";
|
sha256 = "0v79nz19riaga6iwj6m59fq8adm5llrkq61xizriz30rw8rkk04z";
|
||||||
cargoSha256 = "0ibdmyh1jvfq51vhwn4riyhilqwhf71hjd4vyj525smn95p75b14";
|
cargoSha256 = "01vdrfqh2nlghbgnbb7qmrazsjmynrb9542qrgchxq589wasb4j2";
|
||||||
in
|
in
|
||||||
import ./parity.nix { inherit version sha256 cargoSha256; }
|
import ./parity.nix { inherit version sha256 cargoSha256; }
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
let
|
let
|
||||||
version = "2.1.10";
|
version = "2.2.7";
|
||||||
sha256 = "1l4yl8i24q8v4hzljzai37f587x8m3cz3byzifhvq3bjky7p8h80";
|
sha256 = "0bxq4z84vsb8hmbscr41xiw11m9xg6if231v76c2dmkbyqgpqy8p";
|
||||||
cargoSha256 = "04pni9cmz8nhlqznwafz9d81006808kh24aqnb8rjdcr84d11zis";
|
cargoSha256 = "1izwqg87qxhmmkd49m0k09i7r05sfcb18m5jbpvggjzp57ips09r";
|
||||||
in
|
in
|
||||||
import ./parity.nix { inherit version sha256 cargoSha256; }
|
import ./parity.nix { inherit version sha256 cargoSha256; }
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "lollypop";
|
pname = "lollypop";
|
||||||
version = "0.9.909";
|
version = "0.9.914";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
@ -14,10 +14,10 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
url = "https://gitlab.gnome.org/World/lollypop";
|
url = "https://gitlab.gnome.org/World/lollypop";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
sha256 = "19d82dy0wprabg5kzcgs3ydmp9iz3h437n55cnlp20mbpya09k7n";
|
sha256 = "0nkwic6mq4fs467c696m5w0wqrii5rzvf2il6vkw861my1bl9wzj";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3.pkgs; [
|
nativeBuildInputs = [
|
||||||
appstream-glib
|
appstream-glib
|
||||||
desktop-file-utils
|
desktop-file-utils
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
|
@ -1,24 +1,30 @@
|
|||||||
{ stdenv, fetchurl, SDL2, pkgconfig, flac, libsndfile }:
|
{ stdenv, fetchurl, zlib, pkgconfig, mpg123, libogg, libvorbis, portaudio, libsndfile, flac
|
||||||
|
, usePulseAudio ? false, libpulseaudio }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.2.7025-beta20.1";
|
version = "0.4.1";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "openmpt123-${version}";
|
name = "openmpt123-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}.tar.gz";
|
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
|
||||||
sha256 = "0qp2nnz6pnl1d7yv9hcjyim7q6yax5881k1jxm8jfgjqagmz5k6p";
|
sha256 = "1k1m1adjh4s2q9lxgkf836k5243akxrzq1hsdjhrkg4idd3pxzp4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ SDL2 flac libsndfile ];
|
buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ]
|
||||||
makeFlags = [ "NO_PULSEAUDIO=1 NO_LTDL=1 TEST=0 EXAMPLES=0" ]
|
++ stdenv.lib.optional usePulseAudio libpulseaudio;
|
||||||
++ stdenv.lib.optional (stdenv.isDarwin) "SHARED_SONAME=0";
|
|
||||||
installFlags = "PREFIX=\${out}";
|
configureFlags = stdenv.lib.optional (!usePulseAudio) [ "--without-pulseaudio" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A cross-platform command-line based module file player";
|
description = "A cross-platform command-line based module file player";
|
||||||
homepage = https://lib.openmpt.org/libopenmpt/;
|
homepage = https://lib.openmpt.org/libopenmpt/;
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = [ stdenv.lib.maintainers.gnidorah ];
|
maintainers = with maintainers; [ gnidorah ];
|
||||||
platforms = stdenv.lib.platforms.unix;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext
|
{ stdenv, fetchFromGitLab, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext
|
||||||
, gnome3, libnotify, itstool, glib, gtk3, libxml2
|
, gnome3, libnotify, itstool, glib, gtk3, libxml2
|
||||||
, coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook
|
, coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook
|
||||||
, libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror
|
, libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror
|
||||||
@ -6,12 +6,15 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "deja-dup-${version}";
|
pname = "deja-dup";
|
||||||
version = "38.1";
|
version = "38.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitLab {
|
||||||
url = "https://launchpad.net/deja-dup/${stdenv.lib.versions.major version}/${version}/+download/deja-dup-${version}.tar.xz";
|
domain = "gitlab.gnome.org";
|
||||||
sha256 = "0wm7z72qbsljzsysxg8h5sbpg56ignn9mp8v3xynn12dv3gv6rba";
|
owner = "World";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1bnvmdlm67k1b6115x75j3nl92x5yl4psq5pna2w6cg9npxdd3fa";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -23,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas
|
substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -57,9 +60,9 @@ stdenv.mkDerivation rec {
|
|||||||
of backing up the Right Way (encrypted, off-site, and regular) \
|
of backing up the Right Way (encrypted, off-site, and regular) \
|
||||||
and uses duplicity as the backend.
|
and uses duplicity as the backend.
|
||||||
'';
|
'';
|
||||||
homepage = https://launchpad.net/deja-dup;
|
homepage = https://wiki.gnome.org/Apps/DejaDup;
|
||||||
license = with licenses; gpl3;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ jtojnar joncojonathan ];
|
maintainers = with maintainers; [ jtojnar joncojonathan ];
|
||||||
platforms = with platforms; linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "A cross-desktop display manager.";
|
description = "A cross-desktop display manager.";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ ocharles wkennington worldofpeace ];
|
maintainers = with maintainers; [ ocharles worldofpeace ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = https://launchpad.net/lightdm-gtk-greeter;
|
homepage = https://launchpad.net/lightdm-gtk-greeter;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = with maintainers; [ ocharles wkennington ];
|
maintainers = with maintainers; [ ocharles ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -13,14 +13,14 @@ let
|
|||||||
sha256Hash = "0dracganibnkyapn2pk2qqnxpwmii57371ycri4nccaci9v9pcjw";
|
sha256Hash = "0dracganibnkyapn2pk2qqnxpwmii57371ycri4nccaci9v9pcjw";
|
||||||
};
|
};
|
||||||
betaVersion = {
|
betaVersion = {
|
||||||
version = "3.4.0.10"; # "Android Studio 3.4 Beta 1"
|
version = "3.4.0.11"; # "Android Studio 3.4 Beta 2"
|
||||||
build = "183.5217543";
|
build = "183.5240537";
|
||||||
sha256Hash = "0yd9l4py82i3gl1nvfwlhfx12hzf1mih8ylgdl3r85hhlqs7w2dm";
|
sha256Hash = "0mv7ayqjkw97jzdifw1cdvjhnzygzkd2a9rc0h99fclhf2nii5yr";
|
||||||
};
|
};
|
||||||
latestVersion = { # canary & dev
|
latestVersion = { # canary & dev
|
||||||
version = "3.5.0.0"; # "Android Studio 3.5 Canary 1"
|
version = "3.5.0.1"; # "Android Studio 3.5 Canary 2"
|
||||||
build = "183.5215047";
|
build = "183.5240547";
|
||||||
sha256Hash = "1f7lllj85fia02hgy4ksbqh80sdcml16fv1g892jc6lwykjrdw5y";
|
sha256Hash = "0z52ig9v2w9i6bqiqpdvgcr6g6sgl8p5317jamg72d5csm9hgfx3";
|
||||||
};
|
};
|
||||||
in rec {
|
in rec {
|
||||||
# Old alias (TODO @primeos: Remove after 19.03 is branched off):
|
# Old alias (TODO @primeos: Remove after 19.03 is branched off):
|
||||||
|
@ -53,6 +53,13 @@ let
|
|||||||
|
|
||||||
lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ];
|
lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ];
|
||||||
|
|
||||||
|
# nvim --version output retains compilation flags and references to build tools
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace src/nvim/version.c --replace NVIM_VERSION_CFLAGS "";
|
||||||
|
'';
|
||||||
|
# check that the above patching actually works
|
||||||
|
disallowedReferences = [ stdenv.cc ];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DLUA_PRG=${luaPackages.lua}/bin/lua"
|
"-DLUA_PRG=${luaPackages.lua}/bin/lua"
|
||||||
"-DGPERF_PRG=${gperf}/bin/gperf"
|
"-DGPERF_PRG=${gperf}/bin/gperf"
|
||||||
|
@ -84,6 +84,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ the-kenny wkennington ];
|
maintainers = with maintainers; [ the-kenny ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = http://www.imagemagick.org/;
|
homepage = http://www.imagemagick.org/;
|
||||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
maintainers = with maintainers; [ the-kenny wkennington ];
|
maintainers = with maintainers; [ the-kenny ];
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -8,13 +8,21 @@
|
|||||||
, python3
|
, python3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
major = "4.1";
|
||||||
|
minor = "7";
|
||||||
|
patch = "101";
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
name = "krita-${version}";
|
name = "krita-${version}";
|
||||||
version = "4.1.5";
|
version = "${major}.${minor}.${patch}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.kde.org/stable/krita/${version}/${name}.tar.gz";
|
url = "https://download.kde.org/stable/krita/${major}.${minor}/${name}.tar.gz";
|
||||||
sha256 = "1by8p8ifdp03f05bhg8ygdd1j036anfpjjnzbx63l2fbmy9k6q10";
|
sha256 = "0pvghb17vj3y19wa1n1zfg3yl5206ir3y45znrgdgdw076m5pjav";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "sxiv-${version}";
|
pname = "sxiv";
|
||||||
version = "24";
|
version = "25";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "muennich";
|
owner = "muennich";
|
||||||
repo = "sxiv";
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "020n1bdxbzqncprh8a4rnjzc4frp335yxbqh5w6dr970f7n5qm8d";
|
sha256 = "13s1lfar142hq1j7xld0ri616p4bqs57b17yr4d0b9a9w7liz4hp";
|
||||||
};
|
};
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
|
29
pkgs/applications/misc/asciiquarium/default.nix
Normal file
29
pkgs/applications/misc/asciiquarium/default.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ stdenv, fetchurl, makeWrapper, perlPackages }:
|
||||||
|
|
||||||
|
let version = "1.1";
|
||||||
|
in stdenv.mkDerivation {
|
||||||
|
name = "asciiquarium-${version}";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://robobunny.com/projects/asciiquarium/asciiquarium_${version}.tar.gz";
|
||||||
|
sha256 = "0qfkr5b7sxzi973nh0h84blz2crvmf28jkkgaj3mxrr56mhwc20v";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
buildInputs = [ perlPackages.perl ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp asciiquarium $out/bin
|
||||||
|
chmod +x $out/bin/asciiquarium
|
||||||
|
wrapProgram $out/bin/asciiquarium \
|
||||||
|
--set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.TermAnimation ] }
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Enjoy the mysteries of the sea from the safety of your own terminal!";
|
||||||
|
homepage = https://robobunny.com/projects/asciiquarium/html;
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = [ maintainers.utdemir ];
|
||||||
|
};
|
||||||
|
}
|
@ -5,12 +5,12 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "3.37.0";
|
version = "3.38.1";
|
||||||
name = "calibre-${version}";
|
name = "calibre-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
|
||||||
sha256 = "12si7jag5ildy08h0nfs4rfpn417i82valxbk2wjkypp226gqi05";
|
sha256 = "07fvpnabk17sfg81xn0bsnw36k45hawwz0fcz5cmp5qydm85ncv0";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "dbeaver-ce-${version}";
|
name = "dbeaver-ce-${version}";
|
||||||
version = "5.3.0";
|
version = "5.3.2";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "dbeaver";
|
name = "dbeaver";
|
||||||
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
||||||
sha256 = "1gn52bffjn2fw9yhi1rv4iy9dfdn5qxc51gv6qri5g0c8pblvh7m";
|
sha256 = "05ra1bicah588q5n114vd9jqk9qdjix7b0zv5z83cagksb3n52rc";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, python3, python3Packages, zbar }:
|
{ stdenv, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 }:
|
||||||
|
|
||||||
let
|
let
|
||||||
qdarkstyle = python3Packages.buildPythonPackage rec {
|
qdarkstyle = python3Packages.buildPythonPackage rec {
|
||||||
@ -13,15 +13,20 @@ let
|
|||||||
in
|
in
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
name = "electrum-${version}";
|
pname = "electrum";
|
||||||
version = "3.2.4";
|
version = "3.3.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
owner = "spesmilo";
|
||||||
sha256 = "0nwipn1alk3r54zpsv2bdwsqxw4f08bxnfmygnwakfkiaifmmhxg";
|
repo = "electrum";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1jsn02azdydpq4plr2552s7ijyqgw6zqm2zx8skwsalgbwmhx12i";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
aiorpcx
|
||||||
|
aiohttp
|
||||||
|
aiohttp-socks
|
||||||
dnspython
|
dnspython
|
||||||
ecdsa
|
ecdsa
|
||||||
jsonrpclib-pelix
|
jsonrpclib-pelix
|
||||||
@ -36,7 +41,6 @@ python3Packages.buildPythonApplication rec {
|
|||||||
qrcode
|
qrcode
|
||||||
requests
|
requests
|
||||||
tlslite-ng
|
tlslite-ng
|
||||||
typing
|
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
keepkey
|
keepkey
|
||||||
@ -53,6 +57,7 @@ python3Packages.buildPythonApplication rec {
|
|||||||
# Recording the creation timestamps introduces indeterminism to the build
|
# Recording the creation timestamps introduces indeterminism to the build
|
||||||
sed -i '/Created: .*/d' electrum/gui/qt/icons_rc.py
|
sed -i '/Created: .*/d' electrum/gui/qt/icons_rc.py
|
||||||
sed -i "s|name = 'libzbar.*'|name='${zbar}/lib/libzbar.so'|" electrum/qrscanner.py
|
sed -i "s|name = 'libzbar.*'|name='${zbar}/lib/libzbar.so'|" electrum/qrscanner.py
|
||||||
|
substituteInPlace ./electrum/ecc_fast.py --replace libsecp256k1.so.0 ${secp256k1}/lib/libsecp256k1.so.0
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
@ -65,10 +70,10 @@ python3Packages.buildPythonApplication rec {
|
|||||||
--replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
|
--replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doCheck = false;
|
checkInputs = with python3Packages; [ pytest ];
|
||||||
|
|
||||||
doInstallCheck = true;
|
checkPhase = ''
|
||||||
installCheckPhase = ''
|
py.test electrum/tests
|
||||||
$out/bin/electrum help >/dev/null
|
$out/bin/electrum help >/dev/null
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/meson_post_install.py b/meson_post_install.py
|
||||||
|
index 8d00e70..c28d19e 100644
|
||||||
|
--- a/meson_post_install.py
|
||||||
|
+++ b/meson_post_install.py
|
||||||
|
@@ -7,7 +7,7 @@ prefix = environ['MESON_INSTALL_PREFIX']
|
||||||
|
data_dir = path.join(prefix, 'share')
|
||||||
|
schema_dir = path.join(data_dir, 'glib-2.0', 'schemas')
|
||||||
|
|
||||||
|
-if not environ['DESTDIR']:
|
||||||
|
+if not environ.get('DESTDIR'):
|
||||||
|
print('Compiling gsettings schemas...')
|
||||||
|
call(['glib-compile-schemas', schema_dir])
|
||||||
|
print('Updating desktop database...')
|
@ -1,25 +1,27 @@
|
|||||||
{ stdenv, fetchFromGitHub, automake, autoconf, libtool,
|
{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3,
|
||||||
pkgconfig, file, intltool, libxml2, json-glib , sqlite, itstool,
|
pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg,
|
||||||
librsvg, vala, gnome3, wrapGAppsHook, gobject-introspection
|
vala, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "font-manager-${version}";
|
pname = "font-manager";
|
||||||
version = "0.7.3.1";
|
version = "0.7.4.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "FontManager";
|
owner = "FontManager";
|
||||||
repo = "master";
|
repo = "master";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0i65br0bk3r6x8wcl8jhc0v0agl0k6fy5g60ss1bnw4md7ldpgyi";
|
sha256 = "1zy419zzc95h4gxvl88acqjbwlnmwybj23rx3vkc62j3v3w4nlay";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkgconfig
|
pkgconfig
|
||||||
automake autoconf libtool
|
meson
|
||||||
file
|
ninja
|
||||||
intltool
|
gettext
|
||||||
|
python3
|
||||||
itstool
|
itstool
|
||||||
|
desktop-file-utils
|
||||||
vala
|
vala
|
||||||
gnome3.yelp-tools
|
gnome3.yelp-tools
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
@ -33,22 +35,20 @@ stdenv.mkDerivation rec {
|
|||||||
sqlite
|
sqlite
|
||||||
librsvg
|
librsvg
|
||||||
gnome3.gtk
|
gnome3.gtk
|
||||||
gnome3.libgee
|
|
||||||
gnome3.defaultIconTheme
|
gnome3.defaultIconTheme
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
patches = [ ./correct-post-install.patch ];
|
||||||
|
|
||||||
preConfigure = ''
|
mesonFlags = [
|
||||||
NOCONFIGURE=true ./autogen.sh
|
"-Ddisable_pycompile=true"
|
||||||
substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
|
|
||||||
'';
|
|
||||||
|
|
||||||
configureFlags = [
|
|
||||||
"--with-file-roller"
|
|
||||||
"--disable-pycompile"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
chmod +x meson_post_install.py
|
||||||
|
patchShebangs meson_post_install.py
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = https://fontmanager.github.io/;
|
homepage = https://fontmanager.github.io/;
|
||||||
description = "Simple font management for GTK+ desktop environments";
|
description = "Simple font management for GTK+ desktop environments";
|
||||||
|
@ -79,6 +79,15 @@ stdenv.mkDerivation rec {
|
|||||||
for a in $out/opt/google/earth/free/*.so* ; do
|
for a in $out/opt/google/earth/free/*.so* ; do
|
||||||
patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
|
patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Add desktop config file and icons
|
||||||
|
mkdir -p $out/share/{applications,icons/hicolor/{16x16,22x22,24x24,32x32,48x48,64x64,128x128,256x256}/apps,pixmaps}
|
||||||
|
ln -s $out/opt/google/earth/free/google-earth.desktop $out/share/applications/google-earth.desktop
|
||||||
|
sed -i -e "s|Exec=.*|Exec=$out/bin/googleearth|g" $out/opt/google/earth/free/google-earth.desktop
|
||||||
|
for size in 16 22 24 32 48 64 128 256; do
|
||||||
|
ln -s $out/opt/google/earth/free/product_logo_"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/google-earth.png
|
||||||
|
done
|
||||||
|
ln -s $out/opt/google/earth/free/product_logo_256.png $out/share/pixmaps/google-earth.png
|
||||||
'';
|
'';
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
|
@ -14,7 +14,7 @@ buildPythonApplication rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
pytz six tzlocal keyring argparse dateutil
|
pytz six tzlocal keyring dateutil
|
||||||
parsedatetime pycrypto
|
parsedatetime pycrypto
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -34,7 +34,6 @@ in with python.pkgs; buildPythonApplication rec {
|
|||||||
atomicwrites
|
atomicwrites
|
||||||
configobj
|
configobj
|
||||||
vobject
|
vobject
|
||||||
argparse
|
|
||||||
ruamel_yaml
|
ruamel_yaml
|
||||||
ruamel_base
|
ruamel_base
|
||||||
unidecode
|
unidecode
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
, makeWrapper, perlPackages }:
|
, makeWrapper, perlPackages }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.4";
|
version = "1.5";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "qdirstat-${version}";
|
name = "qdirstat-${version}";
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
|
|||||||
owner = "shundhammer";
|
owner = "shundhammer";
|
||||||
repo = "qdirstat";
|
repo = "qdirstat";
|
||||||
rev = "${version}";
|
rev = "${version}";
|
||||||
sha256 = "1ppasbr0mq301q6n3rm0bsmprs7vgkcjmmc0gbgqpgw84nmp9fqh";
|
sha256 = "1v879kd7zahalb2qazq61wzi364k5cy3lgy6c8wj6mclwxjws1vc";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake makeWrapper ];
|
nativeBuildInputs = [ qmake makeWrapper ];
|
||||||
@ -20,18 +20,9 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
substituteInPlace scripts/scripts.pro \
|
substituteInPlace scripts/scripts.pro \
|
||||||
--replace /bin/true ${coreutils}/bin/true \
|
--replace /bin/true ${coreutils}/bin/true
|
||||||
--replace /usr/bin $out/bin
|
|
||||||
substituteInPlace src/src.pro \
|
|
||||||
--replace /usr/bin $out/bin \
|
|
||||||
--replace /usr/share $out/share
|
|
||||||
for i in doc/doc.pro doc/stats/stats.pro
|
|
||||||
do
|
|
||||||
substituteInPlace $i \
|
|
||||||
--replace /usr/share $out/share
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in src/MainWindow.cpp src/FileSizeStatsWindow.cpp
|
for i in src/SysUtil.cpp src/FileSizeStatsWindow.cpp
|
||||||
do
|
do
|
||||||
substituteInPlace $i \
|
substituteInPlace $i \
|
||||||
--replace /usr/bin/xdg-open ${xdg_utils}/bin/xdg-open
|
--replace /usr/bin/xdg-open ${xdg_utils}/bin/xdg-open
|
||||||
@ -45,6 +36,9 @@ in stdenv.mkDerivation rec {
|
|||||||
substituteInPlace src/StdCleanup.cpp \
|
substituteInPlace src/StdCleanup.cpp \
|
||||||
--replace /bin/bash ${bash}/bin/bash
|
--replace /bin/bash ${bash}/bin/bash
|
||||||
'';
|
'';
|
||||||
|
postPatch = ''
|
||||||
|
export qmakeFlags="$qmakeFlags INSTALL_PREFIX=$out"
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram $out/bin/qdirstat-cache-writer \
|
wrapProgram $out/bin/qdirstat-cache-writer \
|
||||||
|
@ -16,6 +16,8 @@ python3Packages.buildPythonApplication rec {
|
|||||||
sha256= "1ws6g8z1m1hfp8bv4msvbaa9f7948p687jmc8h69yib4jkv3qyax";
|
sha256= "1ws6g8z1m1hfp8bv4msvbaa9f7948p687jmc8h69yib4jkv3qyax";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
LC_ALL = "en_US.UTF-8";
|
||||||
|
|
||||||
checkInputs = with python3Packages; [ pytest ];
|
checkInputs = with python3Packages; [ pytest ];
|
||||||
propagatedBuildInputs = [ file ];
|
propagatedBuildInputs = [ file ];
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages,
|
{ stdenv, lib, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages,
|
||||||
boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU,
|
boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU,
|
||||||
glew, eigen, curl, gtest, nlopt, pcre, xorg }:
|
glew, eigen, curl, gtest, nlopt, pcre, xorg, makeDesktopItem }:
|
||||||
let
|
let
|
||||||
AlienWxWidgets = perlPackages.buildPerlPackage rec {
|
AlienWxWidgets = perlPackages.buildPerlPackage rec {
|
||||||
name = "Alien-wxWidgets-0.69";
|
name = "Alien-wxWidgets-0.69";
|
||||||
@ -112,6 +112,12 @@ stdenv.mkDerivation rec {
|
|||||||
mkdir -p $out/bin/var
|
mkdir -p $out/bin/var
|
||||||
cp -r ../resources/icons/* $out/bin/var/
|
cp -r ../resources/icons/* $out/bin/var/
|
||||||
cp -r ../resources $out/bin/
|
cp -r ../resources $out/bin/
|
||||||
|
|
||||||
|
|
||||||
|
mkdir -p "$out/share/pixmaps/"
|
||||||
|
ln -s "$out/bin/var/Slic3r.png" "$out/share/pixmaps/slic3r-prusa.png"
|
||||||
|
mkdir -p "$out/share/applications"
|
||||||
|
cp "$desktopItem"/share/applications/* "$out/share/applications/"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
@ -121,6 +127,16 @@ stdenv.mkDerivation rec {
|
|||||||
rev = "version_${version}";
|
rev = "version_${version}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
desktopItem = makeDesktopItem {
|
||||||
|
name = "slic3r-Prusa-Edition";
|
||||||
|
exec = "slic3r-prusa3d";
|
||||||
|
icon = "slic3r-prusa";
|
||||||
|
comment = "G-code generator for 3D printers";
|
||||||
|
desktopName = "Slic3r Prusa Edition";
|
||||||
|
genericName = "3D printer tool";
|
||||||
|
categories = "Application;Development;";
|
||||||
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "G-code generator for 3D printer";
|
description = "G-code generator for 3D printer";
|
||||||
homepage = https://github.com/prusa3d/Slic3r;
|
homepage = https://github.com/prusa3d/Slic3r;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, xlibsWrapper
|
{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, xlibsWrapper
|
||||||
, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver
|
, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver, cf-private
|
||||||
, libX11, libXi, libXtst, libXrandr, xinput, curl, openssl, unzip }:
|
, libX11, libXi, libXtst, libXrandr, xinput, curl, openssl, unzip }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
cmake curl openssl
|
cmake curl openssl
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
ApplicationServices Carbon Cocoa CoreServices ScreenSaver
|
ApplicationServices Carbon Cocoa CoreServices ScreenSaver cf-private
|
||||||
] ++ lib.optionals stdenv.isLinux [ xlibsWrapper libX11 libXi libXtst libXrandr xinput ];
|
] ++ lib.optionals stdenv.isLinux [ xlibsWrapper libX11 libXi libXtst libXrandr xinput ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus
|
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus
|
||||||
, gsettings-desktop-schemas, desktop-file-utils, gettext, gtkd, libsecret
|
, gsettings-desktop-schemas, desktop-file-utils, gettext, gtkd, libsecret
|
||||||
, perlPackages, wrapGAppsHook, xdg_utils }:
|
, glib, perlPackages, wrapGAppsHook, xdg_utils }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "tilix-${version}";
|
pname = "tilix";
|
||||||
version = "1.8.5";
|
version = "1.8.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gnunn1";
|
owner = "gnunn1";
|
||||||
repo = "tilix";
|
repo = "tilix";
|
||||||
rev = "${version}";
|
rev = version;
|
||||||
sha256 = "1ixhkssz0xn3x75n2iw6gd3hka6bgmgwfgbvblbjhhx8gcpbw3s7";
|
sha256 = "1l1ib3g01mxiywbwjxc2522qgjy3ymjzy8bxl42k0hprpp95rw9d";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -25,22 +25,20 @@ stdenv.mkDerivation rec {
|
|||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = with gnome3; ''
|
postInstall = ''
|
||||||
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
|
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
|
||||||
|
|
||||||
wrapProgram $out/bin/tilix \
|
|
||||||
--prefix LD_LIBRARY_PATH ":" "${libsecret}/lib"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
|
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH ":" "${libsecret}/lib")
|
||||||
|
|
||||||
substituteInPlace $out/share/applications/com.gexperts.Tilix.desktop \
|
substituteInPlace $out/share/applications/com.gexperts.Tilix.desktop \
|
||||||
--replace "Exec=tilix" "Exec=$out/bin/tilix"
|
--replace "Exec=tilix" "Exec=$out/bin/tilix"
|
||||||
sed -i '/^DBusActivatable=/d' $out/share/applications/com.gexperts.Tilix.desktop
|
sed -i '/^DBusActivatable=/d' $out/share/applications/com.gexperts.Tilix.desktop
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Tiling terminal emulator following the Gnome Human Interface Guidelines.";
|
description = "Tiling terminal emulator following the Gnome Human Interface Guidelines";
|
||||||
homepage = https://gnunn1.github.io/tilix-web;
|
homepage = https://gnunn1.github.io/tilix-web;
|
||||||
license = licenses.mpl20;
|
license = licenses.mpl20;
|
||||||
maintainers = with maintainers; [ midchildan ];
|
maintainers = with maintainers; [ midchildan ];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkgconfig
|
{ stdenv, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkgconfig
|
||||||
, cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco
|
, cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco
|
||||||
, qtbase, qtwebkit, qtx11extras, sqlite }:
|
, qtbase, qtwebengine, qtx11extras, sqlite }:
|
||||||
|
|
||||||
let
|
let
|
||||||
name = "toggldesktop-${version}";
|
name = "toggldesktop-${version}";
|
||||||
@ -39,15 +39,15 @@ let
|
|||||||
|
|
||||||
qt-oauth-lib = stdenv.mkDerivation rec {
|
qt-oauth-lib = stdenv.mkDerivation rec {
|
||||||
name = "qt-oauth-lib-${version}";
|
name = "qt-oauth-lib-${version}";
|
||||||
version = "20180521.233208";
|
version = "20190125.190943";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/yegortimoshenko/qt-oauth-lib/archive/${version}.tar.gz";
|
url = "https://github.com/yegortimoshenko/qt-oauth-lib/archive/${version}.tar.gz";
|
||||||
sha256 = "0f46d44slzvzaqx0lksvv14lsc1jp8vd2mragxd61r820hybf5z3";
|
sha256 = "0zmfgvdf6n79mgfvbda7lkdxxlzjmy86436gqi2r5x05vq04sfrj";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake ];
|
nativeBuildInputs = [ qmake ];
|
||||||
buildInputs = [ qtbase qtwebkit ];
|
buildInputs = [ qtbase qtwebengine ];
|
||||||
};
|
};
|
||||||
|
|
||||||
poco-pc = writeText "poco.pc" ''
|
poco-pc = writeText "poco.pc" ''
|
||||||
@ -100,7 +100,7 @@ let
|
|||||||
libtoggl
|
libtoggl
|
||||||
qxtglobalshortcut
|
qxtglobalshortcut
|
||||||
qtbase
|
qtbase
|
||||||
qtwebkit
|
qtwebengine
|
||||||
qt-oauth-lib
|
qt-oauth-lib
|
||||||
qtx11extras
|
qtx11extras
|
||||||
libX11
|
libX11
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "xkbmon-${version}";
|
name = "xkbmon-${version}";
|
||||||
version = "0.2";
|
version = "0.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xkbmon";
|
owner = "xkbmon";
|
||||||
repo = "xkbmon";
|
repo = "xkbmon";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1x2xwak0yp0xkl63jzz3k1pf074mh9yxgppwwm96ms3zaslq44yp";
|
sha256 = "03v8f6fijgwagjphyj8w7lgh5hlc8jk0j2n45n7fm0xwy82cxxx9";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ libX11 ];
|
buildInputs = [ libX11 ];
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "machine-${version}";
|
name = "machine-${version}";
|
||||||
version = "0.14.0";
|
version = "0.16.1";
|
||||||
|
|
||||||
goPackagePath = "github.com/docker/machine";
|
goPackagePath = "github.com/docker/machine";
|
||||||
|
|
||||||
@ -11,16 +11,16 @@ buildGoPackage rec {
|
|||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
owner = "docker";
|
owner = "docker";
|
||||||
repo = "machine";
|
repo = "machine";
|
||||||
sha256 = "0hd5sklmvkhhpfn318hq9w0f7x14165h1l2mdn9iv4447z1iibff";
|
sha256 = "0xxzxi5v7ji9j2k7kxhi0ah91lfa7b9rg3nywgx0lkv8dlgp8kmy";
|
||||||
};
|
};
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $bin/share/bash-completion/completions/
|
mkdir -p \
|
||||||
cp go/src/github.com/docker/machine/contrib/completion/bash/* $bin/share/bash-completion/completions/
|
$bin/share/bash-completion/completions/ \
|
||||||
'';
|
$bin/share/zsh/site-functions/
|
||||||
|
|
||||||
postFixup = ''
|
cp go/src/github.com/docker/machine/contrib/completion/bash/* $bin/share/bash-completion/completions/
|
||||||
mv $bin/bin/cmd $bin/bin/docker-machine
|
cp go/src/github.com/docker/machine/contrib/completion/zsh/* $bin/share/zsh/site-functions/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "kops-${version}";
|
name = "kops-${version}";
|
||||||
version = "1.10.0";
|
version = "1.11.0";
|
||||||
|
|
||||||
goPackagePath = "k8s.io/kops";
|
goPackagePath = "k8s.io/kops";
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ buildGoPackage rec {
|
|||||||
rev = version;
|
rev = version;
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "kops";
|
repo = "kops";
|
||||||
sha256 = "1ga83sbhvhcazran6xfwgv95sg8ygg2w59vql0yjicj8r2q01vqp";
|
sha256 = "1z67jl66g79q6v5kjy9qxx2xp656ybv5hrc10h3wmzy0b0n30s4n";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [go-bindata];
|
buildInputs = [go-bindata];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ lib, buildGoPackage, fetchFromGitHub, ... }:
|
{ lib, buildGoPackage, fetchFromGitHub, ... }:
|
||||||
|
|
||||||
let version = "0.6.0"; in
|
let version = "0.9.1"; in
|
||||||
|
|
||||||
buildGoPackage {
|
buildGoPackage {
|
||||||
name = "kubecfg-${version}";
|
name = "kubecfg-${version}";
|
||||||
@ -9,7 +9,7 @@ buildGoPackage {
|
|||||||
owner = "ksonnet";
|
owner = "ksonnet";
|
||||||
repo = "kubecfg";
|
repo = "kubecfg";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "12kv1p707kdxjx5l8rcikd1gjwp5xjxdmmyvlpnvyagrphgrwpsf";
|
sha256 = "010k33arxa4spaq923iazsisxgsaj8c7w4z250y9yrch8xxd74bi";
|
||||||
};
|
};
|
||||||
|
|
||||||
goPackagePath = "github.com/ksonnet/kubecfg";
|
goPackagePath = "github.com/ksonnet/kubecfg";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ callPackage, stdenv }:
|
{ callPackage, stdenv }:
|
||||||
|
|
||||||
let
|
let
|
||||||
stableVersion = "2.1.11";
|
stableVersion = "2.1.12";
|
||||||
# Currently there is no preview version.
|
# Currently there is no preview version.
|
||||||
previewVersion = stableVersion;
|
previewVersion = stableVersion;
|
||||||
addVersion = args:
|
addVersion = args:
|
||||||
@ -10,8 +10,8 @@ let
|
|||||||
in args // { inherit version branch; };
|
in args // { inherit version branch; };
|
||||||
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
|
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
|
||||||
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
|
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
|
||||||
guiSrcHash = "1skcb47r0wvv7l7z487b2165pwvc397b23abfq24kw79806vknzn";
|
guiSrcHash = "19kk1nc8h6ljczhizkgszw6xma31p0fmh6vkygpmrfwb8975d1s6";
|
||||||
serverSrcHash = "09j2nafxvgc6plk7s3qwv5qc0cc2bi41h4fhg8g7c85ixfx5yz8a";
|
serverSrcHash = "1rs3l33jf33y02xri0b7chy02cjzd8v7l20ccjw2in8mw08mpc99";
|
||||||
in {
|
in {
|
||||||
guiStable = mkGui {
|
guiStable = mkGui {
|
||||||
stable = true;
|
stable = true;
|
||||||
|
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = https://www.bitlbee.org/;
|
homepage = https://www.bitlbee.org/;
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
|
|
||||||
maintainers = with maintainers; [ wkennington pSub ];
|
maintainers = with maintainers; [ pSub ];
|
||||||
platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
|
platforms = platforms.gnu ++ platforms.linux; # arbitrary choice
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,60 +1,44 @@
|
|||||||
{ stdenv, fetchurl, makeDesktopItem, makeWrapper, autoPatchelfHook
|
{ stdenv, fetchurl, makeWrapper, autoPatchelfHook, dpkg
|
||||||
, xorg, atk, glib, pango, gdk_pixbuf, cairo, freetype, fontconfig, gtk2
|
, xorg, atk, glib, pango, gdk_pixbuf, cairo, freetype, fontconfig, gtk3
|
||||||
, gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify, xdg_utils }:
|
, gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify, xdg_utils }:
|
||||||
|
|
||||||
let
|
let
|
||||||
bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
|
version = "5.0.0-beta.19";
|
||||||
else "ia32";
|
|
||||||
|
|
||||||
version = "4.0.4";
|
|
||||||
|
|
||||||
desktopItem = makeDesktopItem rec {
|
|
||||||
name = "Franz";
|
|
||||||
exec = name;
|
|
||||||
icon = "franz";
|
|
||||||
desktopName = name;
|
|
||||||
genericName = "Franz messenger";
|
|
||||||
categories = "Network;";
|
|
||||||
};
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "franz-${version}";
|
name = "franz-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/meetfranz/franz-app/releases/download/${version}/Franz-linux-${bits}-${version}.tgz";
|
url = "https://github.com/meetfranz/franz/releases/download/v${version}/franz_${version}_amd64.deb";
|
||||||
sha256 = if bits == "x64" then
|
sha256 = "1b9b8y19iqx8bnax7hbh9rkjfxk8a9gqb1akrcxwwfi46l816gyy";
|
||||||
"0ssym0jfrig474g6j67g1jfybjkxnyhbqqjvrs8z6ihwlyd3rrk5" else
|
|
||||||
"16l9jma2hiwzl9l41yhrwribcgmxca271rq0cfbbm9701mmmciyy";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# don't remove runtime deps
|
# don't remove runtime deps
|
||||||
dontPatchELF = true;
|
dontPatchELF = true;
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
nativeBuildInputs = [ autoPatchelfHook makeWrapper dpkg ];
|
||||||
buildInputs = (with xorg; [
|
buildInputs = (with xorg; [
|
||||||
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
|
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
|
||||||
libXrender libX11 libXtst libXScrnSaver
|
libXrender libX11 libXtst libXScrnSaver
|
||||||
]) ++ [
|
]) ++ [
|
||||||
gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
|
gtk3 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
|
||||||
gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc
|
gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc
|
||||||
];
|
];
|
||||||
runtimeDependencies = [ udev.lib libnotify ];
|
runtimeDependencies = [ udev.lib libnotify ];
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = "dpkg-deb -x $src .";
|
||||||
tar xzf $src
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/opt/franz
|
mkdir -p $out/bin
|
||||||
cp -r * $out/opt/franz
|
cp -r opt $out
|
||||||
ln -s $out/opt/franz/Franz $out/bin
|
ln -s $out/opt/Franz/franz $out/bin
|
||||||
|
|
||||||
# provide desktop item and icon
|
# provide desktop item and icon
|
||||||
mkdir -p $out/share/applications $out/share/pixmaps
|
cp -r usr/share $out
|
||||||
ln -s ${desktopItem}/share/applications/* $out/share/applications
|
substituteInPlace $out/share/applications/franz.desktop \
|
||||||
ln -s $out/opt/franz/resources/app.asar.unpacked/assets/franz.png $out/share/pixmaps
|
--replace Exec=\"/opt/Franz/franz\" Exec=franz
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
wrapProgram $out/opt/franz/Franz --prefix PATH : ${xdg_utils}/bin
|
wrapProgram $out/opt/Franz/franz --prefix PATH : ${xdg_utils}/bin
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -62,7 +46,7 @@ in stdenv.mkDerivation rec {
|
|||||||
homepage = https://meetfranz.com;
|
homepage = https://meetfranz.com;
|
||||||
license = licenses.free;
|
license = licenses.free;
|
||||||
maintainers = [ maintainers.gnidorah ];
|
maintainers = [ maintainers.gnidorah ];
|
||||||
platforms = ["i686-linux" "x86_64-linux"];
|
platforms = ["x86_64-linux"];
|
||||||
hydraPlatforms = [];
|
hydraPlatforms = [];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchurl, makeWrapper }:
|
{ stdenv, fetchurl, makeWrapper }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.5.0";
|
version = "3.5.1";
|
||||||
arch = if stdenv.is64bit then "amd64" else "x86";
|
arch = if stdenv.is64bit then "amd64" else "x86";
|
||||||
libDir = if stdenv.is64bit then "lib64" else "lib";
|
libDir = if stdenv.is64bit then "lib64" else "lib";
|
||||||
in
|
in
|
||||||
@ -15,8 +15,8 @@ stdenv.mkDerivation {
|
|||||||
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
|
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
|
||||||
];
|
];
|
||||||
sha256 = if stdenv.is64bit
|
sha256 = if stdenv.is64bit
|
||||||
then "0zk7rbi6mvs2nnsjhv4aizl5ydiyr46ng2i3lr8r78gyb88nxmcv"
|
then "0ygb867ff2fvi9n9hgs4hldpg4y012w4i1d9cx4f5mpli1xim6da"
|
||||||
else "0nahsmcnykgchgv50jb22fin74sab1zl8gy6m6s8mjk570qlvzzm";
|
else "0g1cixsldpdbfzg2vain7h3hr5j3xjdngjw66r0aqnzbx743gjzj";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
, xorg, gtk2, gnome2, nss, alsaLib, udev, libnotify }:
|
, xorg, gtk2, gnome2, nss, alsaLib, udev, libnotify }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.9.0";
|
version = "4.0.1";
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "vk-messenger-${version}";
|
name = "vk-messenger-${version}";
|
||||||
src = {
|
src = {
|
||||||
i686-linux = fetchurl {
|
i686-linux = fetchurl {
|
||||||
url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm";
|
url = "https://desktop.userapi.com/rpm/master/vk-${version}.i686.rpm";
|
||||||
sha256 = "150qjj6ccbdp3gxs99jbzp27in1y8qkngn7jgb9za61pm4j70va3";
|
sha256 = "0mgppa9qnhix64zp40dc05yc9klsc7qiwcgw7pwq2wm7m3fz3nm8";
|
||||||
};
|
};
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm";
|
url = "https://desktop.userapi.com/rpm/master/vk-${version}.x86_64.rpm";
|
||||||
sha256 = "04lavv614qhj17zccpdih4k6ghj21nd0s8qxbkxkqb1jb0z8dfz9";
|
sha256 = "0ra0y4dfx4gfa1r3lm6v42j7c9pf7a8vh12kxv3wkg3pvijwgdsm";
|
||||||
};
|
};
|
||||||
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "notmuch-bower-${version}";
|
name = "notmuch-bower-${version}";
|
||||||
version = "0.9";
|
version = "0.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wangp";
|
owner = "wangp";
|
||||||
repo = "bower";
|
repo = "bower";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0f8djiclq4rz9isbx18bpzymbvb2q0spvjp982b149hr1my6klaf";
|
sha256 = "0jpaxlfxz7mj76z3cyj8sq053p0mkp46kaw05nimzwaq5yx923fv";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gawk mercury pandoc ];
|
nativeBuildInputs = [ gawk mercury pandoc ];
|
||||||
|
@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||||
|
|
||||||
configureFlags =
|
configureFlags =
|
||||||
stdenv.lib.optional stdenv.isDarwin [ "--with-macosx-keyring" ];
|
[ "--sysconfdir=/etc" ] ++ stdenv.lib.optional stdenv.isDarwin [ "--with-macosx-keyring" ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
install -d $out/share/doc/${pname}/scripts
|
install -d $out/share/doc/${pname}/scripts
|
||||||
|
@ -63,7 +63,7 @@ let
|
|||||||
description = "Low-latency, high quality voice chat software";
|
description = "Low-latency, high quality voice chat software";
|
||||||
homepage = https://mumble.info;
|
homepage = https://mumble.info;
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ jgeerds wkennington ];
|
maintainers = with maintainers; [ jgeerds ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -4,15 +4,13 @@
|
|||||||
, gobject-introspection, glib-networking, hicolor-icon-theme
|
, gobject-introspection, glib-networking, hicolor-icon-theme
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation rec {
|
||||||
pname = "liferea";
|
pname = "liferea";
|
||||||
version = "1.12.4";
|
version = "1.12.6";
|
||||||
in stdenv.mkDerivation rec {
|
|
||||||
name = "${pname}-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
|
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}b.tar.bz2";
|
||||||
sha256 = "12852qp174nsg770cry7y257vfzl53hpy46h5agaimrfsc41mgln";
|
sha256 = "sha256:03pr1gmiv5y0i92bkhcxr8s311ll91chz19wb96jkixx32xav91d";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapGAppsHook python3Packages.wrapPython intltool pkgconfig ];
|
nativeBuildInputs = [ wrapGAppsHook python3Packages.wrapPython intltool pkgconfig ];
|
||||||
|
@ -44,7 +44,8 @@ stdenv.mkDerivation rec {
|
|||||||
$out/share/applications/nextcloud.desktop
|
$out/share/applications/nextcloud.desktop
|
||||||
|
|
||||||
wrapProgram "$out/bin/nextcloud" \
|
wrapProgram "$out/bin/nextcloud" \
|
||||||
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]}
|
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libsecret ]} \
|
||||||
|
--prefix QT_PLUGIN_PATH : ${qtbase}/${qtbase.qtPluginPrefix}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
homepage = http://www.freerdp.com/;
|
homepage = http://www.freerdp.com/;
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ wkennington peterhoeg ];
|
maintainers = with maintainers; [ peterhoeg ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "teamviewer-${version}";
|
name = "teamviewer-${version}";
|
||||||
version = "13.1.3026";
|
version = "14.1.3399";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dl.tvcdn.de/download/linux/version_13x/teamviewer_${version}_amd64.deb";
|
url = "https://dl.tvcdn.de/download/linux/version_14x/teamviewer_${version}_amd64.deb";
|
||||||
sha256 = "14zaa1xjdfmgbbq40is5mllqcd9zan03sblkzajswd5gps7crsik";
|
sha256 = "166ndijis2i3afz3l6nsnrdhs56v33w5cnjd0m7giqj0fbq43ws5";
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ stdenv, fetchurl, qmake, qtsvg, makeWrapper, xdg_utils }:
|
{ stdenv, fetchurl, qmake, qtsvg, makeWrapper, xdg_utils }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.43.27";
|
version = "1.44.55";
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "mytetra-${version}";
|
name = "mytetra-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/xintrea/mytetra_dev/archive/v.${version}.tar.gz";
|
url = "https://github.com/xintrea/mytetra_dev/archive/v.${version}.tar.gz";
|
||||||
sha256 = "1gzr11jy1bvnp28w2ar3wmh76g55jn9nra5la5qasnal6b5pg28h";
|
sha256 = "13lmfvschm1xwr0ys2ykhs0bb83m2f39rk1jdd7zf8yxlqki4i6l";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake makeWrapper ];
|
nativeBuildInputs = [ qmake makeWrapper ];
|
||||||
@ -15,11 +15,11 @@ in stdenv.mkDerivation rec {
|
|||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
substituteInPlace mytetra.pro \
|
substituteInPlace app/app.pro \
|
||||||
--replace /usr/local/bin $out/bin \
|
--replace /usr/local/bin $out/bin \
|
||||||
--replace /usr/share $out/share
|
--replace /usr/share $out/share
|
||||||
|
|
||||||
substituteInPlace src/views/mainWindow/MainWindow.cpp \
|
substituteInPlace app/src/views/mainWindow/MainWindow.cpp \
|
||||||
--replace ":/resource/pic/logo.svg" "$out/share/icons/hicolor/48x48/apps/mytetra.png"
|
--replace ":/resource/pic/logo.svg" "$out/share/icons/hicolor/48x48/apps/mytetra.png"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ let
|
|||||||
"8.8.0" = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8";
|
"8.8.0" = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8";
|
||||||
"8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk";
|
"8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk";
|
||||||
"8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd";
|
"8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd";
|
||||||
"8.9+beta1" = "1yxv2klqal3mh6symi3gc6gv3xm684zlld2c0b6ijhjmp865cin8";
|
"8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
|
||||||
}."${version}";
|
}."${version}";
|
||||||
coq-version = builtins.substring 0 3 version;
|
coq-version = builtins.substring 0 3 version;
|
||||||
ideFlags = if buildIde then "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
|
ideFlags = if buildIde then "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
|
||||||
|
29
pkgs/applications/science/logic/leo3/binary.nix
Normal file
29
pkgs/applications/science/logic/leo3/binary.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{stdenv, fetchurl, openjdk}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "leo3";
|
||||||
|
version = "1.2";
|
||||||
|
|
||||||
|
jar = fetchurl {
|
||||||
|
url = "https://github.com/leoprover/Leo-III/releases/download/v${version}/leo3.jar";
|
||||||
|
sha256 = "1lgwxbr1rnk72rnvc8raq5i1q71ckhn998pwd9xk6zf27wlzijk7";
|
||||||
|
};
|
||||||
|
|
||||||
|
phases=["installPhase" "fixupPhase"];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p "$out"/{bin,lib/java/leo3}
|
||||||
|
cp "${jar}" "$out/lib/java/leo3/leo3.jar"
|
||||||
|
echo "#!${stdenv.shell}" > "$out/bin/leo3"
|
||||||
|
echo "'${openjdk}/bin/java' -jar '$out/lib/java/leo3/leo3.jar' \"\$@\"" > "$out/bin/leo3"
|
||||||
|
chmod a+x "$out/bin/leo3"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
inherit version;
|
||||||
|
description = "An automated theorem prover for classical higher-order logic with choice";
|
||||||
|
license = stdenv.lib.licenses.bsd3;
|
||||||
|
maintainers = [stdenv.lib.maintainers.raskin];
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
homepage = "https://page.mi.fu-berlin.de/lex/leo3/";
|
||||||
|
};
|
||||||
|
}
|
31
pkgs/applications/science/logic/z3/tptp.nix
Normal file
31
pkgs/applications/science/logic/z3/tptp.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{stdenv, z3, cmake}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "z3-tptp";
|
||||||
|
version = z3.version;
|
||||||
|
|
||||||
|
src = z3.src;
|
||||||
|
|
||||||
|
sourceRoot = "source/examples/tptp";
|
||||||
|
|
||||||
|
nativeBuildInputs = [cmake];
|
||||||
|
buildInputs = [z3];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
echo 'set(Z3_LIBRARIES "-lz3")' >> CMakeLists.new
|
||||||
|
cat CMakeLists.txt | grep -E 'add_executable|project|link_libraries' >> CMakeLists.new
|
||||||
|
mv CMakeLists.new CMakeLists.txt
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p "$out/bin"
|
||||||
|
cp "z3_tptp5" "$out/bin/"
|
||||||
|
ln -s "z3_tptp5" "$out/bin/z3-tptp"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
inherit version;
|
||||||
|
inherit (z3.meta) license homepage platforms;
|
||||||
|
description = ''TPTP wrapper for Z3 prover'';
|
||||||
|
maintainers = [stdenv.lib.maintainers.raskin];
|
||||||
|
};
|
||||||
|
}
|
@ -5,10 +5,10 @@ with lib;
|
|||||||
l10ns = flip map
|
l10ns = flip map
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
version = "11.2.0";
|
version = "11.3.0";
|
||||||
lang = "en";
|
lang = "en";
|
||||||
language = "English";
|
language = "English";
|
||||||
sha256 = "4a1293cc1c404303aa1cab1bd273c7be151d37ac5ed928fbbb18e9c5ab2d8df9";
|
sha256 = "0fcfe208c1eac8448e7be3af0bdb84370b17bd9c5d066c013928c8ee95aed10e";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
version = "11.2.0";
|
version = "11.2.0";
|
||||||
|
@ -7,13 +7,13 @@ with stdenv.lib;
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "gitea-${version}";
|
name = "gitea-${version}";
|
||||||
version = "1.6.4";
|
version = "1.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "go-gitea";
|
owner = "go-gitea";
|
||||||
repo = "gitea";
|
repo = "gitea";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "09h8nbzsxm34rlfnvbsf4cs02igids806927xpxf7g563cdapcnl";
|
sha256 = "1mbr7pnzn8x05wc288855vqaf86qk2f1py5zh8s63l048bn0fld6";
|
||||||
# Required to generate the same checksum on MacOS due to unicode encoding differences
|
# Required to generate the same checksum on MacOS due to unicode encoding differences
|
||||||
# More information: https://github.com/NixOS/nixpkgs/pull/48128
|
# More information: https://github.com/NixOS/nixpkgs/pull/48128
|
||||||
extraPostFetch = ''
|
extraPostFetch = ''
|
||||||
|
@ -12,11 +12,11 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gitkraken-${version}";
|
name = "gitkraken-${version}";
|
||||||
version = "4.1.1";
|
version = "4.2.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb";
|
url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb";
|
||||||
sha256 = "188k6vaafv6szzhslsfabnnn68ispsv54d98rcm3m0bmp8kg5p7f";
|
sha256 = "07f9h3276bs7m22vwpxrxmlwnq7l5inr2l67nmpiaz1569yabwsg";
|
||||||
};
|
};
|
||||||
|
|
||||||
libPath = makeLibraryPath [
|
libPath = makeLibraryPath [
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
python2Packages.buildPythonApplication rec {
|
python2Packages.buildPythonApplication rec {
|
||||||
name = "tortoisehg-${version}";
|
name = "tortoisehg-${version}";
|
||||||
version = "4.8.1";
|
version = "4.8.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
|
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
|
||||||
sha256 = "10s7v7mi438b8lh3rpd6da9lkwgaflpi6a0inkd8bl4b4ya38vc6";
|
sha256 = "02av8k241rn7b68g4kl22s7jqmlq545caah1a5rvbgy41y7zzjvh";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
|
pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
|
||||||
|
25
pkgs/applications/video/bino3d/default.nix
Normal file
25
pkgs/applications/video/bino3d/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ stdenv, lib, fetchurl, pkgconfig, ffmpeg, glew, libass, openal, qtbase }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "bino-${version}";
|
||||||
|
version = "1.6.7";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://bino3d.org/releases/${name}.tar.xz";
|
||||||
|
sha256 = "04yl7ibnhajlli4a5x77az8jxbzw6b2wjay8aa6px551nmiszn9k";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
|
buildInputs = [ ffmpeg glew libass openal qtbase ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Stereoscopic 3D and multi-display video player";
|
||||||
|
homepage = https://bino3d.org/;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ orivej ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -199,13 +199,13 @@ rec {
|
|||||||
# https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
|
# https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
|
||||||
|
|
||||||
docker_18_09 = dockerGen rec {
|
docker_18_09 = dockerGen rec {
|
||||||
version = "18.09.0";
|
version = "18.09.1";
|
||||||
rev = "4d60db472b2bde6931072ca6467f2667c2590dff"; # git commit
|
rev = "4c52b901c6cb019f7552cd93055f9688c6538be4"; # git commit
|
||||||
sha256 = "0py944f5k71c1cf6ci96vnqk43d5979w7r82cngaxk1g6za6k5yj";
|
sha256 = "0q2789afx07pkisgp9iqrbac5k7xca54w1an4mf5mw34xn8yc4xc";
|
||||||
runcRev = "69663f0bd4b60df09991c08812a60108003fa340";
|
runcRev = "96ec2177ae841256168fcf76954f7177af9446eb";
|
||||||
runcSha256 = "1l37r97l3ra4ph069w190d05r0a43s76nn9jvvlkbwrip1cp6gyq";
|
runcSha256 = "1qr9msx6vs37jr0rk3r8x2q51fsk50c78a3999kd0snjy9bxmfhd";
|
||||||
containerdRev = "468a545b9edcd5932818eb9de8e72413e616e86e";
|
containerdRev = "9754871865f7fe2f4e74d43e2fc7ccd237edcbce";
|
||||||
containerdSha256 = "1rp015cm5fw9kfarcmfhfkr1sh0iz7kvqls6f8nfhwrrz5armd5v";
|
containerdSha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya";
|
||||||
tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
|
tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
|
||||||
tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
|
tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
|
||||||
};
|
};
|
||||||
|
@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
|
|||||||
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
|
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Required for USB redirection PolicyKit rules file
|
||||||
|
propagatedUserEnvPkgs = optional spiceSupport spice-gtk;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A viewer for remote virtual machines";
|
description = "A viewer for remote virtual machines";
|
||||||
maintainers = [ maintainers.raskin ];
|
maintainers = [ maintainers.raskin ];
|
||||||
|
@ -3,31 +3,32 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
rev = "3734fba160166006521e513f5734eb76ac6aa48f";
|
rev = "7accfb2aa2f918d1a3ab975b860df1693d20a81a";
|
||||||
name = "i3lock-fancy-unstable-2017-12-14_rev${builtins.substring 0 7 rev}";
|
name = "i3lock-fancy-unstable-2018-11-25_rev${builtins.substring 0 7 rev}";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "meskarune";
|
owner = "meskarune";
|
||||||
repo = "i3lock-fancy";
|
repo = "i3lock-fancy";
|
||||||
inherit rev;
|
inherit rev;
|
||||||
sha256 = "1bg4xds2hmbq8rp6azbdqvgp1aaq5y1bp05cfwqqm6y3sjw7ywzl";
|
sha256 = "00lqsvz1knb8iqy8lnkn3sf4c2c4nzb0smky63qf48m8za5aw9b1";
|
||||||
};
|
};
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
sed -i -e "s|(mktemp)|(${coreutils}/bin/mktemp)|" lock
|
sed -i -e "s|(mktemp)|(${coreutils}/bin/mktemp)|" i3lock-fancy
|
||||||
sed -i -e "s|'rm -f |'${coreutils}/bin/rm -f |" lock
|
sed -i -e "s|'rm -f |'${coreutils}/bin/rm -f |" i3lock-fancy
|
||||||
sed -i -e "s|scrot -z |${scrot}/bin/scrot -z |" lock
|
sed -i -e "s|scrot -z |${scrot}/bin/scrot -z |" i3lock-fancy
|
||||||
sed -i -e "s|convert |${imagemagick.out}/bin/convert |" lock
|
sed -i -e "s|convert |${imagemagick.out}/bin/convert |" i3lock-fancy
|
||||||
sed -i -e "s|awk -F|${gawk}/bin/awk -F|" lock
|
sed -i -e "s|awk -F|${gawk}/bin/awk -F|" i3lock-fancy
|
||||||
sed -i -e "s| awk | ${gawk}/bin/awk |" lock
|
sed -i -e "s| awk | ${gawk}/bin/awk |" i3lock-fancy
|
||||||
sed -i -e "s|i3lock -i |${i3lock-color}/bin/i3lock-color -i |" lock
|
sed -i -e "s|i3lock -i |${i3lock-color}/bin/i3lock-color -i |" i3lock-fancy
|
||||||
sed -i -e 's|icon="$scriptpath/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' lock
|
sed -i -e 's|icon="/usr/share/i3lock-fancy/icons/lockdark.png"|icon="'$out'/share/i3lock-fancy/icons/lockdark.png"|' i3lock-fancy
|
||||||
sed -i -e 's|icon="$scriptpath/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' lock
|
sed -i -e 's|icon="/usr/share/i3lock-fancy/icons/lock.png"|icon="'$out'/share/i3lock-fancy/icons/lock.png"|' i3lock-fancy
|
||||||
sed -i -e "s|getopt |${getopt}/bin/getopt |" lock
|
sed -i -e "s|getopt |${getopt}/bin/getopt |" i3lock-fancy
|
||||||
sed -i -e "s|fc-match |${fontconfig.bin}/bin/fc-match |" lock
|
sed -i -e "s|fc-match |${fontconfig.bin}/bin/fc-match |" i3lock-fancy
|
||||||
sed -i -e "s|shot=(import -window root)|shot=(${scrot}/bin/scrot -z)|" lock
|
sed -i -e "s|shot=(import -window root)|shot=(${scrot}/bin/scrot -z)|" i3lock-fancy
|
||||||
|
rm Makefile
|
||||||
'';
|
'';
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin $out/share/i3lock-fancy/icons
|
mkdir -p $out/bin $out/share/i3lock-fancy/icons
|
||||||
cp lock $out/bin/i3lock-fancy
|
cp i3lock-fancy $out/bin/i3lock-fancy
|
||||||
cp icons/lock*.png $out/share/i3lock-fancy/icons
|
cp icons/lock*.png $out/share/i3lock-fancy/icons
|
||||||
'';
|
'';
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = https://wayland.freedesktop.org/;
|
homepage = https://wayland.freedesktop.org/;
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ wkennington ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||||||
fontforge
|
fontforge
|
||||||
(pythonFull.withPackages (ps: [
|
(pythonFull.withPackages (ps: [
|
||||||
ps.jinja2
|
ps.jinja2
|
||||||
ps."3to2"
|
ps.py3to2
|
||||||
ps.fonttools
|
ps.fonttools
|
||||||
]))
|
]))
|
||||||
];
|
];
|
||||||
|
@ -1,17 +1,14 @@
|
|||||||
{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
|
{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "18.09.19";
|
pname = "numix-icon-theme-circle";
|
||||||
|
version = "19.01.24";
|
||||||
package-name = "numix-icon-theme-circle";
|
|
||||||
|
|
||||||
name = "${package-name}-${version}";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "numixproject";
|
owner = "numixproject";
|
||||||
repo = package-name;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1a1ack4kpngnb3c281pssmp3snn2idcn2c5cv3l38a0dl5g5w8nq";
|
sha256 = "18asihcv41jlysb2ynbvbk6fn0lnj7ckaz1nyx1w25a7nk413dnm";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 numix-icon-theme ];
|
nativeBuildInputs = [ gtk3 numix-icon-theme ];
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
|
{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "${package-name}-${version}";
|
pname = "numix-icon-theme-square";
|
||||||
package-name = "numix-icon-theme-square";
|
version = "19.01.24";
|
||||||
version = "18.09.19";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "numixproject";
|
owner = "numixproject";
|
||||||
repo = package-name;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0q5p901qj3gyzgpy5kk9q5sqb13ka5cfg6wvazlfch1k3kaqksz1";
|
sha256 = "0x3d21snfp4v9ippny1jmf2hw5dcscwrlasxvr5bgxhff1idf81c";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 numix-icon-theme ];
|
nativeBuildInputs = [ gtk3 numix-icon-theme ];
|
||||||
|
@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = https://curl.haxx.se/docs/caextract.html;
|
homepage = https://curl.haxx.se/docs/caextract.html;
|
||||||
description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
|
description = "A bundle of X.509 certificates of public Certificate Authorities (CA)";
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; [ wkennington fpletz ];
|
maintainers = with maintainers; [ fpletz ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -13,5 +13,7 @@ stdenv.mkDerivation {
|
|||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ gtk python gettext ];
|
buildInputs = [ gtk python gettext ];
|
||||||
|
|
||||||
|
NIX_LDFLAGS = "-lgmodule-2.0";
|
||||||
|
|
||||||
propagatedBuildInputs = [ libxml2 ];
|
propagatedBuildInputs = [ libxml2 ];
|
||||||
}
|
}
|
||||||
|
@ -44,14 +44,14 @@ let
|
|||||||
|
|
||||||
in buildPythonApplication rec {
|
in buildPythonApplication rec {
|
||||||
pname = "platformio";
|
pname = "platformio";
|
||||||
version = "3.6.2";
|
version = "3.6.4";
|
||||||
|
|
||||||
# pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
|
# pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "platformio";
|
owner = "platformio";
|
||||||
repo = "platformio-core";
|
repo = "platformio-core";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1558adr73d7mgp0z92q9vzbgarddimadyk4467z8i3yp4g8k5irk";
|
sha256 = "1c1y099xvpdh35n8fln642psa4xsaaqly2i2jgkvhrb9yl77x5aj";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -38,21 +38,15 @@ def generate_sources(release, assets):
|
|||||||
type_map = out.setdefault(asset["os"], {})
|
type_map = out.setdefault(asset["os"], {})
|
||||||
impl_map = type_map.setdefault(asset["binary_type"], {})
|
impl_map = type_map.setdefault(asset["binary_type"], {})
|
||||||
arch_map = impl_map.setdefault(asset["openjdk_impl"], {
|
arch_map = impl_map.setdefault(asset["openjdk_impl"], {
|
||||||
"version": version,
|
|
||||||
"build": build,
|
|
||||||
"packageType": asset["binary_type"],
|
"packageType": asset["binary_type"],
|
||||||
"vmType": asset["openjdk_impl"],
|
"vmType": asset["openjdk_impl"],
|
||||||
})
|
})
|
||||||
|
|
||||||
if arch_map["version"] != version or arch_map["build"] != build:
|
|
||||||
print("error: architectures have different latest versions ({}+{} vs {}+{})".format(
|
|
||||||
arch_map["version"], arch_map["build"], version, build
|
|
||||||
), file=sys.stderr)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
arch_map[arch_to_nixos[asset["architecture"]]] = {
|
arch_map[arch_to_nixos[asset["architecture"]]] = {
|
||||||
"url": asset["binary_link"],
|
"url": asset["binary_link"],
|
||||||
"sha256": get_sha256(asset["checksum_link"]),
|
"sha256": get_sha256(asset["checksum_link"]),
|
||||||
|
"version": version,
|
||||||
|
"build": build,
|
||||||
}
|
}
|
||||||
|
|
||||||
return out
|
return out
|
||||||
|
@ -5,13 +5,14 @@ sourcePerArch:
|
|||||||
, fetchurl
|
, fetchurl
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let result = stdenv.mkDerivation rec {
|
let cpuName = stdenv.hostPlatform.parsed.cpu.name;
|
||||||
|
result = stdenv.mkDerivation rec {
|
||||||
name = if sourcePerArch.packageType == "jdk"
|
name = if sourcePerArch.packageType == "jdk"
|
||||||
then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.version}"
|
then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}"
|
||||||
else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.version}";
|
else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
inherit (sourcePerArch.${stdenv.hostPlatform.parsed.cpu.name}) url sha256;
|
inherit (sourcePerArch.${cpuName}) url sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
# See: https://github.com/NixOS/patchelf/issues/10
|
# See: https://github.com/NixOS/patchelf/issues/10
|
||||||
|
@ -42,15 +42,17 @@ let
|
|||||||
xorg.libXrender
|
xorg.libXrender
|
||||||
stdenv.cc.cc
|
stdenv.cc.cc
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
cpuName = stdenv.hostPlatform.parsed.cpu.name;
|
||||||
in
|
in
|
||||||
|
|
||||||
let result = stdenv.mkDerivation rec {
|
let result = stdenv.mkDerivation rec {
|
||||||
name = if sourcePerArch.packageType == "jdk"
|
name = if sourcePerArch.packageType == "jdk"
|
||||||
then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.version}"
|
then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}"
|
||||||
else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.version}";
|
else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
inherit (sourcePerArch.${stdenv.hostPlatform.parsed.cpu.name}) url sha256;
|
inherit (sourcePerArch.${cpuName}) url sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ file ];
|
nativeBuildInputs = [ file ];
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user