Merge remote-tracking branch 'upstream/master' into staging

This commit is contained in:
Tuomas Tynkkynen 2018-01-06 17:50:18 +02:00
commit d756dee227
452 changed files with 9366 additions and 5452 deletions

View File

@ -1,4 +1,4 @@
Copyright (c) 2003-2017 Eelco Dolstra and the Nixpkgs/NixOS contributors Copyright (c) 2003-2018 Eelco Dolstra and the Nixpkgs/NixOS contributors
Permission is hereby granted, free of charge, to any person obtaining Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the a copy of this software and associated documentation files (the

View File

@ -130,6 +130,6 @@ rec {
(name: value: (name: value:
"${toPretty args name} = ${toPretty args value};") v) "${toPretty args name} = ${toPretty args value};") v)
+ " }" + " }"
else "toPretty: should never happen (v = ${v})"; else abort "toPretty: should never happen (v = ${v})";
} }

View File

@ -309,6 +309,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
free = false; free = false;
}; };
inria-icesl = {
fullName = "INRIA Non-Commercial License Agreement for IceSL";
url = "http://shapeforge.loria.fr/icesl/EULA_IceSL_binary.pdf";
free = false;
};
ipa = spdx { ipa = spdx {
spdxId = "IPA"; spdxId = "IPA";
fullName = "IPA Font License"; fullName = "IPA Font License";

View File

@ -29,6 +29,7 @@
aherrmann = "Andreas Herrmann <andreash87@gmx.ch>"; aherrmann = "Andreas Herrmann <andreash87@gmx.ch>";
ahmedtd = "Taahir Ahmed <ahmed.taahir@gmail.com>"; ahmedtd = "Taahir Ahmed <ahmed.taahir@gmail.com>";
aij = "Ivan Jager <aij+git@mrph.org>"; aij = "Ivan Jager <aij+git@mrph.org>";
ajgrf = "Alex Griffin <a@ajgrf.com>";
ak = "Alexander Kjeldaas <ak@formalprivacy.com>"; ak = "Alexander Kjeldaas <ak@formalprivacy.com>";
akaWolf = "Artjom Vejsel <akawolf0@gmail.com>"; akaWolf = "Artjom Vejsel <akawolf0@gmail.com>";
akc = "Anders Claesson <akc@akc.is>"; akc = "Anders Claesson <akc@akc.is>";
@ -118,6 +119,7 @@
ChengCat = "Yucheng Zhang <yu@cheng.cat>"; ChengCat = "Yucheng Zhang <yu@cheng.cat>";
choochootrain = "Hurshal Patel <hurshal@imap.cc>"; choochootrain = "Hurshal Patel <hurshal@imap.cc>";
chpatrick = "Patrick Chilton <chpatrick@gmail.com>"; chpatrick = "Patrick Chilton <chpatrick@gmail.com>";
chreekat = "Bryan Richter <b@chreekat.net>";
chris-martin = "Chris Martin <ch.martin@gmail.com>"; chris-martin = "Chris Martin <ch.martin@gmail.com>";
chrisjefferson = "Christopher Jefferson <chris@bubblescope.net>"; chrisjefferson = "Christopher Jefferson <chris@bubblescope.net>";
chrisrosset = "Christopher Rosset <chris@rosset.org.uk>"; chrisrosset = "Christopher Rosset <chris@rosset.org.uk>";
@ -189,6 +191,7 @@
dtzWill = "Will Dietz <nix@wdtz.org>"; dtzWill = "Will Dietz <nix@wdtz.org>";
dupgit = "Olivier Delhomme <olivier.delhomme@free.fr>"; dupgit = "Olivier Delhomme <olivier.delhomme@free.fr>";
dywedir = "Vladyslav M. <dywedir@protonmail.ch>"; dywedir = "Vladyslav M. <dywedir@protonmail.ch>";
dzabraev = "Maksim Dzabraev <dzabraew@gmail.com>";
e-user = "Alexander Kahl <nixos@sodosopa.io>"; e-user = "Alexander Kahl <nixos@sodosopa.io>";
earldouglas = "James Earl Douglas <james@earldouglas.com>"; earldouglas = "James Earl Douglas <james@earldouglas.com>";
ebzzry = "Rommel Martinez <ebzzry@ebzzry.io>"; ebzzry = "Rommel Martinez <ebzzry@ebzzry.io>";
@ -420,6 +423,7 @@
meisternu = "Matt Miemiec <meister@krutt.org>"; meisternu = "Matt Miemiec <meister@krutt.org>";
metabar = "Celine Mercier <softs@metabarcoding.org>"; metabar = "Celine Mercier <softs@metabarcoding.org>";
mgdelacroix = "Miguel de la Cruz <mgdelacroix@gmail.com>"; mgdelacroix = "Miguel de la Cruz <mgdelacroix@gmail.com>";
mgttlinger = "Merlin Göttlinger <megoettlinger@gmail.com";
mguentner = "Maximilian Güntner <code@klandest.in>"; mguentner = "Maximilian Güntner <code@klandest.in>";
mic92 = "Jörg Thalheim <joerg@thalheim.io>"; mic92 = "Jörg Thalheim <joerg@thalheim.io>";
michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>"; michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
@ -582,6 +586,7 @@
ryanartecona = "Ryan Artecona <ryanartecona@gmail.com>"; ryanartecona = "Ryan Artecona <ryanartecona@gmail.com>";
ryansydnor = "Ryan Sydnor <ryan.t.sydnor@gmail.com>"; ryansydnor = "Ryan Sydnor <ryan.t.sydnor@gmail.com>";
ryantm = "Ryan Mulligan <ryan@ryantm.com>"; ryantm = "Ryan Mulligan <ryan@ryantm.com>";
ryantrinkle = "Ryan Trinkle <ryan.trinkle@gmail.com>";
rybern = "Ryan Bernstein <ryan.bernstein@columbia.edu>"; rybern = "Ryan Bernstein <ryan.bernstein@columbia.edu>";
rycee = "Robert Helgesson <robert@rycee.net>"; rycee = "Robert Helgesson <robert@rycee.net>";
ryneeverett = "Ryne Everett <ryneeverett@gmail.com>"; ryneeverett = "Ryne Everett <ryneeverett@gmail.com>";
@ -694,6 +699,7 @@
vbmithr = "Vincent Bernardoff <vb@luminar.eu.org>"; vbmithr = "Vincent Bernardoff <vb@luminar.eu.org>";
vcunat = "Vladimír Čunát <vcunat@gmail.com>"; vcunat = "Vladimír Čunát <vcunat@gmail.com>";
vdemeester = "Vincent Demeester <vincent@sbr.pm>"; vdemeester = "Vincent Demeester <vincent@sbr.pm>";
velovix = "Tyler Compton <xaviosx@gmail.com>";
veprbl = "Dmitry Kalinkin <veprbl@gmail.com>"; veprbl = "Dmitry Kalinkin <veprbl@gmail.com>";
vidbina = "David Asabina <vid@bina.me>"; vidbina = "David Asabina <vid@bina.me>";
vifino = "Adrian Pistol <vifino@tty.sh>"; vifino = "Adrian Pistol <vifino@tty.sh>";

View File

@ -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 #! nix-shell -i perl -p perl perlPackages.NetAmazonS3 perlPackages.FileSlurp 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
@ -59,6 +59,7 @@ my $s3 = Net::Amazon::S3->new(
{ aws_access_key_id => $aws_access_key_id, { aws_access_key_id => $aws_access_key_id,
aws_secret_access_key => $aws_secret_access_key, aws_secret_access_key => $aws_secret_access_key,
retry => 1, retry => 1,
host => "s3-eu-west-1.amazonaws.com",
}); });
my $bucket = $s3->bucket("nixpkgs-tarballs") or die; my $bucket = $s3->bucket("nixpkgs-tarballs") or die;

View File

@ -12,11 +12,10 @@ download page</link>. There are a number of installation options. If
you happen to have an optical drive and a spare CD, burning the you happen to have an optical drive and a spare CD, burning the
image to CD and booting from that is probably the easiest option. image to CD and booting from that is probably the easiest option.
Most people will need to prepare a USB stick to boot from. Most people will need to prepare a USB stick to boot from.
Unetbootin is recommended and the process is described in brief below. <xref linkend="sec-booting-from-usb"/> describes the preferred method
Note that systems which use UEFI require some additional manual steps. to prepare a USB stick.
If you run into difficulty a number of alternative methods are presented A number of alternative methods are presented in the <link
in the <link xlink:href="https://nixos.wiki/wiki/NixOS_Installation_Guide#Making_the_installation_media">NixOS
xlink:href="https://nixos.org/wiki/Installing_NixOS_from_a_USB_stick">NixOS
Wiki</link>.</para> Wiki</link>.</para>
<para>As an alternative to installing NixOS yourself, you can get a <para>As an alternative to installing NixOS yourself, you can get a

View File

@ -131,6 +131,14 @@ following incompatible changes:</para>
Other types dependencies should be unaffected. Other types dependencies should be unaffected.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The <literal>memcached</literal> service no longer accept dynamic socket
paths via <option>services.memcached.socket</option>. Unix sockets can be
still enabled by <option>services.memcached.enableUnixSocket</option> and
will be accessible at <literal>/run/memcached/memcached.sock</literal>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
@ -181,6 +189,51 @@ following incompatible changes:</para>
corrupted blocks. corrupted blocks.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>displayManager.lightdm.greeters.gtk.clock-format.</literal>
has been added, the clock format string (as expected by
strftime, e.g. <literal>%H:%M</literal>) to use with the lightdm
gtk greeter panel.
</para>
<para>
If set to null the default clock format is used.
</para>
</listitem>
<listitem>
<para>
<literal>displayManager.lightdm.greeters.gtk.indicators</literal>
has been added, a list of allowed indicator modules to use with
the lightdm gtk greeter panel.
</para>
<para>
Built-in indicators include <literal>~a11y</literal>,
<literal>~language</literal>, <literal>~session</literal>,
<literal>~power</literal>, <literal>~clock</literal>,
<literal>~host</literal>, <literal>~spacer</literal>. Unity
indicators can be represented by short name
(e.g. <literal>sound</literal>, <literal>power</literal>),
service file name, or absolute path.
</para>
<para>
If set to <literal>null</literal> the default indicators are
used.
</para>
<para>
In order to have the previous default configuration add
<programlisting>
services.xserver.displayManager.lightdm.greeters.gtk.indicators = [
"~host" "~spacer"
"~clock" "~spacer"
"~session"
"~language"
"~a11y"
"~power"
];
</programlisting>
to your <literal>configuration.nix</literal>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -362,8 +362,8 @@ sub mustFail {
sub getUnitInfo { sub getUnitInfo {
my ($self, $unit) = @_; my ($self, $unit, $user) = @_;
my ($status, $lines) = $self->execute("systemctl --no-pager show '$unit'"); my ($status, $lines) = $self->systemctl("--no-pager show \"$unit\"", $user);
return undef if $status != 0; return undef if $status != 0;
my $info = {}; my $info = {};
foreach my $line (split '\n', $lines) { foreach my $line (split '\n', $lines) {
@ -373,6 +373,16 @@ sub getUnitInfo {
return $info; return $info;
} }
sub systemctl {
my ($self, $q, $user) = @_;
if ($user) {
$q =~ s/'/\\'/g;
return $self->execute("su -l $user -c \$'XDG_RUNTIME_DIR=/run/user/`id -u` systemctl --user $q'");
}
return $self->execute("systemctl $q");
}
# Fail if the given systemd unit is not in the "active" state. # Fail if the given systemd unit is not in the "active" state.
sub requireActiveUnit { sub requireActiveUnit {
my ($self, $unit) = @_; my ($self, $unit) = @_;
@ -387,16 +397,16 @@ sub requireActiveUnit {
# Wait for a systemd unit to reach the "active" state. # Wait for a systemd unit to reach the "active" state.
sub waitForUnit { sub waitForUnit {
my ($self, $unit) = @_; my ($self, $unit, $user) = @_;
$self->nest("waiting for unit $unit", sub { $self->nest("waiting for unit $unit", sub {
retry sub { retry sub {
my $info = $self->getUnitInfo($unit); my $info = $self->getUnitInfo($unit, $user);
my $state = $info->{ActiveState}; my $state = $info->{ActiveState};
die "unit $unit reached state $state\n" if $state eq "failed"; die "unit $unit reached state $state\n" if $state eq "failed";
if ($state eq "inactive") { if ($state eq "inactive") {
# If there are no pending jobs, then assume this unit # If there are no pending jobs, then assume this unit
# will never reach active state. # will never reach active state.
my ($status, $jobs) = $self->execute("systemctl list-jobs --full 2>&1"); my ($status, $jobs) = $self->systemctl("list-jobs --full 2>&1", $user);
if ($jobs =~ /No jobs/) { # FIXME: fragile if ($jobs =~ /No jobs/) { # FIXME: fragile
# Handle the case where the unit may have started # Handle the case where the unit may have started
# between the previous getUnitInfo() and # between the previous getUnitInfo() and
@ -430,14 +440,14 @@ sub waitForFile {
} }
sub startJob { sub startJob {
my ($self, $jobName) = @_; my ($self, $jobName, $user) = @_;
$self->execute("systemctl start $jobName"); $self->systemctl("start $jobName", $user);
# FIXME: check result # FIXME: check result
} }
sub stopJob { sub stopJob {
my ($self, $jobName) = @_; my ($self, $jobName, $user) = @_;
$self->execute("systemctl stop $jobName"); $self->systemctl("stop $jobName", $user);
} }

View File

@ -197,10 +197,10 @@
#input = 174; # unused #input = 174; # unused
sddm = 175; sddm = 175;
tss = 176; tss = 176;
memcached = 177; #memcached = 177; removed 2018-01-03
ntp = 179; ntp = 179;
zabbix = 180; zabbix = 180;
redis = 181; #redis = 181; removed 2018-01-03
unifi = 183; unifi = 183;
uptimed = 184; uptimed = 184;
zope2 = 185; zope2 = 185;
@ -475,10 +475,10 @@
input = 174; input = 174;
sddm = 175; sddm = 175;
tss = 176; tss = 176;
#memcached = 177; # unused #memcached = 177; # unused, removed 2018-01-03
#ntp = 179; # unused #ntp = 179; # unused
#zabbix = 180; # unused #zabbix = 180; # unused
#redis = 181; # unused #redis = 181; # unused, removed 2018-01-03
#unifi = 183; # unused #unifi = 183; # unused
#uptimed = 184; # unused #uptimed = 184; # unused
#zope2 = 185; # unused #zope2 = 185; # unused

View File

@ -260,6 +260,8 @@
./services/logging/rsyslogd.nix ./services/logging/rsyslogd.nix
./services/logging/syslog-ng.nix ./services/logging/syslog-ng.nix
./services/logging/syslogd.nix ./services/logging/syslogd.nix
./services/mail/clamsmtp.nix
./services/mail/dkimproxy-out.nix
./services/mail/dovecot.nix ./services/mail/dovecot.nix
./services/mail/dspam.nix ./services/mail/dspam.nix
./services/mail/exim.nix ./services/mail/exim.nix
@ -679,6 +681,7 @@
./system/activation/top-level.nix ./system/activation/top-level.nix
./system/boot/coredump.nix ./system/boot/coredump.nix
./system/boot/emergency-mode.nix ./system/boot/emergency-mode.nix
./system/boot/grow-partition.nix
./system/boot/initrd-network.nix ./system/boot/initrd-network.nix
./system/boot/initrd-ssh.nix ./system/boot/initrd-ssh.nix
./system/boot/kernel.nix ./system/boot/kernel.nix
@ -745,6 +748,7 @@
./virtualisation/lxcfs.nix ./virtualisation/lxcfs.nix
./virtualisation/lxd.nix ./virtualisation/lxd.nix
./virtualisation/amazon-options.nix ./virtualisation/amazon-options.nix
./virtualisation/hyperv-guest.nix
./virtualisation/openvswitch.nix ./virtualisation/openvswitch.nix
./virtualisation/parallels-guest.nix ./virtualisation/parallels-guest.nix
./virtualisation/rkt.nix ./virtualisation/rkt.nix

View File

@ -186,6 +186,9 @@ with lib;
(mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "config" "fonts" "fontconfig" "forceAutohint" ]) (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "config" "fonts" "fontconfig" "forceAutohint" ])
(mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "config" "fonts" "fontconfig" "renderMonoTTFAsBitmap" ]) (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "config" "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
# Profile splitting
(mkRenamedOptionModule [ "virtualization" "growPartition" ] [ "boot" "growPartition" ])
# Options that are obsolete and have no replacement. # Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "") (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
(mkRemovedOptionModule [ "programs" "bash" "enable" ] "") (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")

View File

@ -223,6 +223,17 @@ let
''; '';
}; };
enableGnomeKeyring = mkOption {
default = false;
type = types.bool;
description = ''
If enabled, pam_gnome_keyring will attempt to automatically unlock the
user's default Gnome keyring upon login. If the user login password does
not match their keyring password, Gnome Keyring will prompt separately
after login.
'';
};
text = mkOption { text = mkOption {
type = types.nullOr types.lines; type = types.nullOr types.lines;
description = "Contents of the PAM service file."; description = "Contents of the PAM service file.";
@ -273,7 +284,7 @@ let
# prompts the user for password so we run it once with 'required' at an # prompts the user for password so we run it once with 'required' at an
# earlier point and it will run again with 'sufficient' further down. # earlier point and it will run again with 'sufficient' further down.
# We use try_first_pass the second time to avoid prompting password twice # We use try_first_pass the second time to avoid prompting password twice
(optionalString (cfg.unixAuth && (config.security.pam.enableEcryptfs || cfg.pamMount || cfg.enableKwallet)) '' (optionalString (cfg.unixAuth && (config.security.pam.enableEcryptfs || cfg.pamMount || cfg.enableKwallet || cfg.enableGnomeKeyring)) ''
auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth
${optionalString config.security.pam.enableEcryptfs ${optionalString config.security.pam.enableEcryptfs
"auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"} "auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
@ -282,6 +293,8 @@ let
${optionalString cfg.enableKwallet ${optionalString cfg.enableKwallet
("auth optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" + ("auth optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" +
" kwalletd=${pkgs.libsForQt5.kwallet.bin}/bin/kwalletd5")} " kwalletd=${pkgs.libsForQt5.kwallet.bin}/bin/kwalletd5")}
${optionalString cfg.enableGnomeKeyring
("auth optional ${pkgs.gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so")}
'') + '' '') + ''
${optionalString cfg.unixAuth ${optionalString cfg.unixAuth
"auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth try_first_pass"} "auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth try_first_pass"}
@ -351,6 +364,8 @@ let
${optionalString (cfg.enableKwallet) ${optionalString (cfg.enableKwallet)
("session optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" + ("session optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" +
" kwalletd=${pkgs.libsForQt5.kwallet.bin}/bin/kwalletd5")} " kwalletd=${pkgs.libsForQt5.kwallet.bin}/bin/kwalletd5")}
${optionalString (cfg.enableGnomeKeyring)
"session optional ${pkgs.gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so auto_start"}
${optionalString (config.virtualisation.lxc.lxcfs.enable) ${optionalString (config.virtualisation.lxc.lxcfs.enable)
"session optional ${pkgs.lxcfs}/lib/security/pam_cgfs.so -c freezer,memory,name=systemd,unified,cpuset"} "session optional ${pkgs.lxcfs}/lib/security/pam_cgfs.so -c freezer,memory,name=systemd,unified,cpuset"}
''); '');

View File

@ -124,7 +124,7 @@ in
name="${cfg.name}" name="${cfg.name}"
meta-data="${cfg.meta-data}" meta-data="${cfg.meta-data}"
build-path="${cfg.dataDir}/builds" build-path="${cfg.dataDir}/builds"
hooks-path="${cfg.hooks-path}" hooks-path="${cfg.hooksPath}"
bootstrap-script="${pkgs.buildkite-agent}/share/bootstrap.sh" bootstrap-script="${pkgs.buildkite-agent}/share/bootstrap.sh"
EOF EOF
''; '';

View File

@ -40,11 +40,7 @@ in
description = "The port to bind to"; description = "The port to bind to";
}; };
socket = mkOption { enableUnixSocket = mkEnableOption "unix socket at /run/memcached/memcached.sock";
default = "";
description = "Unix socket path to listen on. Setting this will disable network support";
example = "/var/run/memcached";
};
maxMemory = mkOption { maxMemory = mkOption {
default = 64; default = 64;
@ -68,31 +64,40 @@ in
config = mkIf config.services.memcached.enable { config = mkIf config.services.memcached.enable {
users.extraUsers.memcached = users.extraUsers = optional (cfg.user == "memcached") {
{ name = cfg.user; name = "memcached";
uid = config.ids.uids.memcached; description = "Memcached server user";
description = "Memcached server user"; };
};
environment.systemPackages = [ memcached ]; environment.systemPackages = [ memcached ];
systemd.services.memcached = systemd.services.memcached = {
{ description = "Memcached server"; description = "Memcached server";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
serviceConfig = { serviceConfig = {
ExecStart = PermissionsStartOnly = true;
let ExecStartPre = optionals cfg.enableUnixSocket [
networking = if cfg.socket != "" "${pkgs.coreutils}/bin/install -d -o ${cfg.user} /run/memcached/"
then "-s ${cfg.socket}" "${pkgs.coreutils}/bin/chown -R ${cfg.user} /run/memcached/"
else "-l ${cfg.listen} -p ${toString cfg.port}"; ];
in "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${concatStringsSep " " cfg.extraOptions}"; ExecStart =
let
networking = if cfg.enableUnixSocket
then "-s /run/memcached/memcached.sock"
else "-l ${cfg.listen} -p ${toString cfg.port}";
in "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${concatStringsSep " " cfg.extraOptions}";
User = cfg.user; User = cfg.user;
};
}; };
};
}; };
imports = [
(mkRemovedOptionModule ["services" "memcached" "socket"] ''
This option was replaced by a fixed unix socket path at /run/memcached/memcached.sock enabled using services.memached.enableUnixSocket.
'')
];
} }

View File

@ -219,7 +219,6 @@ in
users.extraUsers.redis = users.extraUsers.redis =
{ name = cfg.user; { name = cfg.user;
uid = config.ids.uids.redis;
description = "Redis database user"; description = "Redis database user";
}; };

View File

@ -0,0 +1,179 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.clamsmtp;
clamdSocket = "/run/clamav/clamd.ctl"; # See services/security/clamav.nix
in
{
##### interface
options = {
services.clamsmtp = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable clamsmtp.";
};
instances = mkOption {
description = "Instances of clamsmtp to run.";
type = types.listOf (types.submodule { options = {
action = mkOption {
type = types.enum [ "bounce" "drop" "pass" ];
default = "drop";
description =
''
Action to take when a virus is detected.
Note that viruses often spoof sender addresses, so bouncing is
in most cases not a good idea.
'';
};
header = mkOption {
type = types.str;
default = "";
example = "X-Virus-Scanned: ClamAV using ClamSMTP";
description =
''
A header to add to scanned messages. See clamsmtpd.conf(5) for
more details. Empty means no header.
'';
};
keepAlives = mkOption {
type = types.int;
default = 0;
description =
''
Number of seconds to wait between each NOOP sent to the sending
server. 0 to disable.
This is meant for slow servers where the sending MTA times out
waiting for clamd to scan the file.
'';
};
listen = mkOption {
type = types.str;
example = "127.0.0.1:10025";
description =
''
Address to wait for incoming SMTP connections on. See
clamsmtpd.conf(5) for more details.
'';
};
quarantine = mkOption {
type = types.bool;
default = false;
description =
''
Whether to quarantine files that contain viruses by leaving them
in the temporary directory.
'';
};
maxConnections = mkOption {
type = types.int;
default = 64;
description = "Maximum number of connections to accept at once.";
};
outAddress = mkOption {
type = types.str;
description =
''
Address of the SMTP server to send email to once it has been
scanned.
'';
};
tempDirectory = mkOption {
type = types.str;
default = "/tmp";
description =
''
Temporary directory that needs to be accessible to both clamd
and clamsmtpd.
'';
};
timeout = mkOption {
type = types.int;
default = 180;
description = "Time-out for network connections.";
};
transparentProxy = mkOption {
type = types.bool;
default = false;
description = "Enable clamsmtp's transparent proxy support.";
};
virusAction = mkOption {
type = with types; nullOr path;
default = null;
description =
''
Command to run when a virus is found. Please see VIRUS ACTION in
clamsmtpd(8) for a discussion of this option and its safe use.
'';
};
xClient = mkOption {
type = types.bool;
default = false;
description =
''
Send the XCLIENT command to the receiving server, for forwarding
client addresses and connection information if the receiving
server supports this feature.
'';
};
};});
};
};
};
##### implementation
config = let
configfile = conf: pkgs.writeText "clamsmtpd.conf"
''
Action: ${conf.action}
ClamAddress: ${clamdSocket}
Header: ${conf.header}
KeepAlives: ${toString conf.keepAlives}
Listen: ${conf.listen}
Quarantine: ${if conf.quarantine then "on" else "off"}
MaxConnections: ${toString conf.maxConnections}
OutAddress: ${conf.outAddress}
TempDirectory: ${conf.tempDirectory}
TimeOut: ${toString conf.timeout}
TransparentProxy: ${if conf.transparentProxy then "on" else "off"}
User: clamav
${optionalString (conf.virusAction != null) "VirusAction: ${conf.virusAction}"}
XClient: ${if conf.xClient then "on" else "off"}
'';
in
mkIf cfg.enable {
assertions = [
{ assertion = config.services.clamav.daemon.enable;
message = "clamsmtp requires clamav to be enabled";
}
];
systemd.services = listToAttrs (imap1 (i: conf:
nameValuePair "clamsmtp-${toString i}" {
description = "ClamSMTP instance ${toString i}";
wantedBy = [ "multi-user.target" ];
script = "exec ${pkgs.clamsmtp}/bin/clamsmtpd -f ${configfile conf}";
after = [ "clamav-daemon.service" ];
requires = [ "clamav-daemon.service" ];
serviceConfig.Type = "forking";
serviceConfig.PrivateTmp = "yes";
unitConfig.JoinsNamespaceOf = "clamav-daemon.service";
}
) cfg.instances);
};
}

View File

@ -0,0 +1,118 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.dkimproxy-out;
keydir = "/var/lib/dkimproxy-out";
privkey = "${keydir}/private.key";
pubkey = "${keydir}/public.key";
in
{
##### interface
options = {
services.dkimproxy-out = {
enable = mkOption {
type = types.bool;
default = false;
description =
''
Whether to enable dkimproxy_out.
Note that a key will be auto-generated, and can be found in
${keydir}.
'';
};
listen = mkOption {
type = types.str;
example = "127.0.0.1:10027";
description = "Address:port DKIMproxy should listen on.";
};
relay = mkOption {
type = types.str;
example = "127.0.0.1:10028";
description = "Address:port DKIMproxy should forward mail to.";
};
domains = mkOption {
type = with types; listOf str;
example = [ "example.org" "example.com" ];
description = "List of domains DKIMproxy can sign for.";
};
selector = mkOption {
type = types.str;
example = "selector1";
description =
''
The selector to use for DKIM key identification.
For example, if 'selector1' is used here, then for each domain
'example.org' given in `domain`, 'selector1._domainkey.example.org'
should contain the TXT record indicating the public key is the one
in ${pubkey}: "v=DKIM1; t=s; p=[THE PUBLIC KEY]".
'';
};
keySize = mkOption {
type = types.int;
default = 2048;
description =
''
Size of the RSA key to use to sign outgoing emails. Note that the
maximum mandatorily verified as per RFC6376 is 2048.
'';
};
# TODO: allow signature for other schemes than dkim(c=relaxed/relaxed)?
# This being the scheme used by gmail, maybe nothing more is needed for
# reasonable use.
};
};
##### implementation
config = let
configfile = pkgs.writeText "dkimproxy_out.conf"
''
listen ${cfg.listen}
relay ${cfg.relay}
domain ${concatStringsSep "," cfg.domains}
selector ${cfg.selector}
signature dkim(c=relaxed/relaxed)
keyfile ${privkey}
'';
in
mkIf cfg.enable {
users.groups.dkimproxy-out = {};
users.users.dkimproxy-out = {
description = "DKIMproxy_out daemon";
group = "dkimproxy-out";
isSystemUser = true;
};
systemd.services.dkimproxy-out = {
description = "DKIMproxy_out";
wantedBy = [ "multi-user.target" ];
preStart = ''
if [ ! -d "${keydir}" ]; then
mkdir -p "${keydir}"
chmod 0700 "${keydir}"
${pkgs.openssl}/bin/openssl genrsa -out "${privkey}" ${toString cfg.keySize}
${pkgs.openssl}/bin/openssl rsa -in "${privkey}" -pubout -out "${pubkey}"
chown -R dkimproxy-out:dkimproxy-out "${keydir}"
fi
'';
script = ''
exec ${pkgs.dkimproxy}/bin/dkimproxy.out --conf_file=${configfile}
'';
serviceConfig = {
User = "dkimproxy-out";
PermissionsStartOnly = true;
};
};
};
}

View File

@ -70,7 +70,7 @@ let
secret_key_base: ${cfg.secrets.secret} secret_key_base: ${cfg.secrets.secret}
otp_key_base: ${cfg.secrets.otp} otp_key_base: ${cfg.secrets.otp}
db_key_base: ${cfg.secrets.db} db_key_base: ${cfg.secrets.db}
jws_private_key: ${builtins.toJSON cfg.secrets.jws} openid_connect_signing_key: ${builtins.toJSON cfg.secrets.jws}
''; '';
gitlabConfig = { gitlabConfig = {

View File

@ -24,6 +24,7 @@ in
description = "lldpd user"; description = "lldpd user";
group = "_lldpd"; group = "_lldpd";
home = "/var/run/lldpd"; home = "/var/run/lldpd";
isSystemUser = true;
}; };
users.extraGroups._lldpd = {}; users.extraGroups._lldpd = {};

View File

@ -19,6 +19,8 @@ let
iptables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true iptables -w -t nat -D POSTROUTING -j nixos-nat-post 2>/dev/null || true
iptables -w -t nat -F nixos-nat-post 2>/dev/null || true iptables -w -t nat -F nixos-nat-post 2>/dev/null || true
iptables -w -t nat -X nixos-nat-post 2>/dev/null || true iptables -w -t nat -X nixos-nat-post 2>/dev/null || true
${cfg.extraStopCommands}
''; '';
setupNat = '' setupNat = ''
@ -59,6 +61,8 @@ let
--to-destination ${cfg.dmzHost} --to-destination ${cfg.dmzHost}
''} ''}
${cfg.extraCommands}
# Append our chains to the nat tables # Append our chains to the nat tables
iptables -w -t nat -A PREROUTING -j nixos-nat-pre iptables -w -t nat -A PREROUTING -j nixos-nat-pre
iptables -w -t nat -A POSTROUTING -j nixos-nat-post iptables -w -t nat -A POSTROUTING -j nixos-nat-post
@ -170,6 +174,28 @@ in
''; '';
}; };
networking.nat.extraCommands = mkOption {
type = types.lines;
default = "";
example = "iptables -A INPUT -p icmp -j ACCEPT";
description =
''
Additional shell commands executed as part of the nat
initialisation script.
'';
};
networking.nat.extraStopCommands = mkOption {
type = types.lines;
default = "";
example = "iptables -D INPUT -p icmp -j ACCEPT || true";
description =
''
Additional shell commands executed as part of the nat
teardown script.
'';
};
}; };

View File

@ -90,16 +90,24 @@ in
[ (allowdeny "allow" (cfg.allow)) [ (allowdeny "allow" (cfg.allow))
(allowdeny "deny" cfg.deny) (allowdeny "deny" cfg.deny)
# see man 5 fcron.conf # see man 5 fcron.conf
{ source = pkgs.writeText "fcron.conf" '' { source =
fcrontabs = /var/spool/fcron let
pidfile = /var/run/fcron.pid isSendmailWrapped =
fifofile = /var/run/fcron.fifo lib.hasAttr "sendmail" config.security.wrappers;
fcronallow = /etc/fcron.allow sendmailPath =
fcrondeny = /etc/fcron.deny if isSendmailWrapped then "/run/wrappers/bin/sendmail"
shell = /bin/sh else "${config.system.path}/bin/sendmail";
sendmail = /run/wrappers/bin/sendmail in
editor = ${pkgs.vim}/bin/vim pkgs.writeText "fcron.conf" ''
''; fcrontabs = /var/spool/fcron
pidfile = /var/run/fcron.pid
fifofile = /var/run/fcron.fifo
fcronallow = /etc/fcron.allow
fcrondeny = /etc/fcron.deny
shell = /bin/sh
sendmail = ${sendmailPath}
editor = ${pkgs.vim}/bin/vim
'';
target = "fcron.conf"; target = "fcron.conf";
gid = config.ids.gids.fcron; gid = config.ids.gids.fcron;
mode = "0644"; mode = "0644";

View File

@ -99,8 +99,8 @@ let
user = mkOption { user = mkOption {
type = types.str; type = types.str;
default = "nginx"; default = "tt_rss";
example = "nginx"; example = "tt_rss";
description = '' description = ''
User account under which both the update daemon and the web-application run. User account under which both the update daemon and the web-application run.
''; '';
@ -466,26 +466,28 @@ let
''; '';
}; };
services.nginx.virtualHosts = mkIf (cfg.virtualHost != null) { services.nginx = {
"${cfg.virtualHost}" = { enable = true;
root = "${cfg.root}"; # NOTE: No configuration is done if not using virtual host
virtualHosts = mkIf (cfg.virtualHost != null) {
"${cfg.virtualHost}" = {
root = "${cfg.root}";
locations."/" = { locations."/" = {
index = "index.php"; index = "index.php";
}; };
locations."~ \.php$" = { locations."~ \.php$" = {
extraConfig = '' extraConfig = ''
fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${phpfpmSocketName}; fastcgi_pass unix:${phpfpmSocketName};
fastcgi_index index.php; fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME ${cfg.root}/$fastcgi_script_name; '';
''; };
}; };
}; };
}; };
systemd.services.tt-rss = let systemd.services.tt-rss = let
dbService = if cfg.database.type == "pgsql" then "postgresql.service" else "mysql.service"; dbService = if cfg.database.type == "pgsql" then "postgresql.service" else "mysql.service";
in { in {
@ -496,7 +498,7 @@ let
callSql = e: callSql = e:
if cfg.database.type == "pgsql" then '' if cfg.database.type == "pgsql" then ''
${optionalString (cfg.database.password != null) "PGPASSWORD=${cfg.database.password}"} \ ${optionalString (cfg.database.password != null) "PGPASSWORD=${cfg.database.password}"} \
${pkgs.postgresql95}/bin/psql \ ${pkgs.sudo}/bin/sudo -u ${cfg.user} ${config.services.postgresql.package}/bin/psql \
-U ${cfg.database.user} \ -U ${cfg.database.user} \
${optionalString (cfg.database.host != null) "-h ${cfg.database.host} --port ${toString dbPort}"} \ ${optionalString (cfg.database.host != null) "-h ${cfg.database.host} --port ${toString dbPort}"} \
-c '${e}' \ -c '${e}' \
@ -521,6 +523,14 @@ let
'' ''
+ (optionalString (cfg.database.type == "pgsql") '' + (optionalString (cfg.database.type == "pgsql") ''
${optionalString (cfg.database.host == null && cfg.database.password == null) ''
if ! [ -e ${cfg.root}/.db-created ]; then
${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createuser ${cfg.database.user}
${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createdb -O ${cfg.database.user} ${cfg.database.name}
touch ${cfg.root}/.db-created
fi
''}
exists=$(${callSql "select count(*) > 0 from pg_tables where tableowner = user"} \ exists=$(${callSql "select count(*) > 0 from pg_tables where tableowner = user"} \
| tail -n+3 | head -n-2 | sed -e 's/[ \n\t]*//') | tail -n+3 | head -n-2 | sed -e 's/[ \n\t]*//')
@ -554,5 +564,28 @@ let
requires = ["${dbService}"]; requires = ["${dbService}"];
after = ["network.target" "${dbService}"]; after = ["network.target" "${dbService}"];
}; };
services.mysql = optionalAttrs (cfg.database.type == "mysql") {
enable = true;
package = mkDefault pkgs.mysql;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [
{
name = cfg.user;
ensurePermissions = {
"${cfg.database.name}.*" = "ALL PRIVILEGES";
};
}
];
};
services.postgresql = optionalAttrs (cfg.database.type == "pgsql") {
enable = mkDefault true;
};
users = optionalAttrs (cfg.user == "tt_rss") {
extraUsers.tt_rss.group = "tt_rss";
extraGroups.tt_rss = {};
};
}; };
} }

View File

@ -45,6 +45,8 @@ let
theme-name = ${cfg.theme.name} theme-name = ${cfg.theme.name}
icon-theme-name = ${cfg.iconTheme.name} icon-theme-name = ${cfg.iconTheme.name}
background = ${ldmcfg.background} background = ${ldmcfg.background}
${optionalString (cfg.clock-format != null) "clock-format = ${cfg.clock-format}"}
${optionalString (cfg.indicators != null) "indicators = ${concatStringsSep ";" cfg.indicators}"}
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
@ -104,6 +106,35 @@ in
}; };
clock-format = mkOption {
type = types.nullOr types.str;
default = null;
example = "%F";
description = ''
Clock format string (as expected by strftime, e.g. "%H:%M")
to use with the lightdm gtk greeter panel.
If set to null the default clock format is used.
'';
};
indicators = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
example = [ "~host" "~spacer" "~clock" "~spacer" "~session" "~language" "~a11y" "~power" ];
description = ''
List of allowed indicator modules to use for the lightdm gtk
greeter panel.
Built-in indicators include "~a11y", "~language", "~session",
"~power", "~clock", "~host", "~spacer". Unity indicators can be
represented by short name (e.g. "sound", "power"), service file name,
or absolute path.
If set to null the default indicators are used.
'';
};
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";

View File

@ -6,7 +6,11 @@ let
cfg = config.services.xserver.windowManager.awesome; cfg = config.services.xserver.windowManager.awesome;
awesome = cfg.package; awesome = cfg.package;
inherit (pkgs.luaPackages) getLuaPath getLuaCPath; getLuaPath = lib : dir : "${lib}/${dir}/lua/${pkgs.luaPackages.lua.luaversion}";
makeSearchPath = lib.concatMapStrings (path:
" --search " + (getLuaPath path "share") +
" --search " + (getLuaPath path "lib")
);
in in
{ {
@ -46,10 +50,7 @@ in
{ name = "awesome"; { name = "awesome";
start = start =
'' ''
export LUA_CPATH="${lib.concatStringsSep ";" (map getLuaCPath cfg.luaModules)}" ${awesome}/bin/awesome ${makeSearchPath cfg.luaModules} &
export LUA_PATH="${lib.concatStringsSep ";" (map getLuaPath cfg.luaModules)}"
${awesome}/bin/awesome &
waitPID=$! waitPID=$!
''; '';
}; };

View File

@ -0,0 +1,43 @@
# This module automatically grows the root partition.
# This allows an instance to be created with a bigger root filesystem
# than provided by the machine image.
{ config, lib, pkgs, ... }:
with lib;
{
options = {
boot.growPartition = mkEnableOption "grow the root partition on boot";
};
config = mkIf config.boot.growPartition {
boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
copy_bin_and_libs ${pkgs.gnused}/bin/sed
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
copy_bin_and_libs ${pkgs.utillinux}/sbin/lsblk
substitute "${pkgs.cloud-utils}/bin/.growpart-wrapped" "$out/bin/growpart" \
--replace "${pkgs.bash}/bin/sh" "/bin/sh" \
--replace "awk" "gawk" \
--replace "sed" "gnused"
ln -s sed $out/bin/gnused
'';
boot.initrd.postDeviceCommands = ''
rootDevice="${config.fileSystems."/".device}"
if [ -e "$rootDevice" ]; then
rootDevice="$(readlink -f "$rootDevice")"
parentDevice="$(lsblk -npo PKNAME "$rootDevice")"
TMPDIR=/run sh $(type -P growpart) "$parentDevice" "''${rootDevice#$parentDevice}"
udevadm settle
fi
'';
};
}

View File

@ -11,7 +11,7 @@ with lib;
let cfg = config.ec2; in let cfg = config.ec2; in
{ {
imports = [ ../profiles/headless.nix ./ec2-data.nix ./grow-partition.nix ./amazon-init.nix ]; imports = [ ../profiles/headless.nix ./ec2-data.nix ./amazon-init.nix ];
config = { config = {
@ -21,7 +21,7 @@ let cfg = config.ec2; in
} }
]; ];
virtualisation.growPartition = cfg.hvm; boot.growPartition = cfg.hvm;
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-label/nixos"; device = "/dev/disk/by-label/nixos";

View File

@ -6,7 +6,7 @@ let
gce = pkgs.google-compute-engine; gce = pkgs.google-compute-engine;
in in
{ {
imports = [ ../profiles/headless.nix ../profiles/qemu-guest.nix ./grow-partition.nix ]; imports = [ ../profiles/headless.nix ../profiles/qemu-guest.nix ];
system.build.googleComputeImage = import ../../lib/make-disk-image.nix { system.build.googleComputeImage = import ../../lib/make-disk-image.nix {
name = "google-compute-image"; name = "google-compute-image";
@ -29,6 +29,7 @@ in
autoResize = true; autoResize = true;
}; };
boot.growPartition = true;
boot.kernelParams = [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ]; boot.kernelParams = [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
boot.initrd.kernelModules = [ "virtio_scsi" ]; boot.initrd.kernelModules = [ "virtio_scsi" ];
boot.kernelModules = [ "virtio_pci" "virtio_net" ]; boot.kernelModules = [ "virtio_pci" "virtio_net" ];

View File

@ -1,48 +1,3 @@
# This module automatically grows the root partition on virtual machines. # This profile is deprecated, use boot.growPartition directly.
# This allows an instance to be created with a bigger root filesystem builtins.trace "the profile <nixos/modules/virtualisation/grow-partition.nix> is deprecated, use boot.growPartition instead"
# than provided by the machine image. { }
{ config, lib, pkgs, ... }:
with lib;
{
options = {
virtualisation.growPartition = mkOption {
type = types.bool;
default = true;
};
};
config = mkIf config.virtualisation.growPartition {
boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
copy_bin_and_libs ${pkgs.gnused}/bin/sed
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
copy_bin_and_libs ${pkgs.utillinux}/sbin/lsblk
substitute "${pkgs.cloud-utils}/bin/.growpart-wrapped" "$out/bin/growpart" \
--replace "${pkgs.bash}/bin/sh" "/bin/sh" \
--replace "awk" "gawk" \
--replace "sed" "gnused"
ln -s sed $out/bin/gnused
'';
boot.initrd.postDeviceCommands = ''
rootDevice="${config.fileSystems."/".device}"
if [ -e "$rootDevice" ]; then
rootDevice="$(readlink -f "$rootDevice")"
parentDevice="$(lsblk -npo PKNAME "$rootDevice")"
TMPDIR=/run sh $(type -P growpart) "$parentDevice" "''${rootDevice#$parentDevice}"
udevadm settle
fi
'';
};
}

View File

@ -0,0 +1,37 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.virtualisation.hypervGuest;
in {
options = {
virtualisation.hypervGuest = {
enable = mkEnableOption "Hyper-V Guest Support";
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ config.boot.kernelPackages.hyperv-daemons.bin ];
security.rngd.enable = false;
# enable hotadding memory
services.udev.packages = lib.singleton (pkgs.writeTextFile {
name = "hyperv-memory-hotadd-udev-rules";
destination = "/etc/udev/rules.d/99-hyperv-memory-hotadd.rules";
text = ''
ACTION="add", SUBSYSTEM=="memory", ATTR{state}="online"
'';
});
systemd = {
packages = [ config.boot.kernelPackages.hyperv-daemons.lib ];
targets.hyperv-daemons = {
wantedBy = [ "multi-user.target" ];
};
};
};
}

View File

@ -6,7 +6,6 @@ with lib;
imports = [ imports = [
../profiles/qemu-guest.nix ../profiles/qemu-guest.nix
../profiles/headless.nix ../profiles/headless.nix
./grow-partition.nix
]; ];
config = { config = {
@ -15,8 +14,7 @@ with lib;
autoResize = true; autoResize = true;
}; };
virtualisation.growPartition = true; boot.growPartition = true;
boot.kernelParams = [ "console=ttyS0" ]; boot.kernelParams = [ "console=ttyS0" ];
boot.loader.grub.device = "/dev/vda"; boot.loader.grub.device = "/dev/vda";
boot.loader.timeout = 0; boot.loader.timeout = 0;

View File

@ -8,8 +8,6 @@ let
in { in {
imports = [ ./grow-partition.nix ];
options = { options = {
virtualbox = { virtualbox = {
baseImageSize = mkOption { baseImageSize = mkOption {
@ -23,7 +21,6 @@ in {
}; };
config = { config = {
system.build.virtualBoxOVA = import ../../lib/make-disk-image.nix { system.build.virtualBoxOVA = import ../../lib/make-disk-image.nix {
name = "nixos-ova-${config.system.nixosLabel}-${pkgs.stdenv.system}"; name = "nixos-ova-${config.system.nixosLabel}-${pkgs.stdenv.system}";
@ -71,6 +68,7 @@ in {
autoResize = true; autoResize = true;
}; };
boot.growPartition = true;
boot.loader.grub.device = "/dev/sda"; boot.loader.grub.device = "/dev/sda";
virtualisation.virtualbox.guest.enable = true; virtualisation.virtualbox.guest.enable = true;

View File

@ -2,20 +2,19 @@
, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent , zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent
, withGui }: , withGui }:
let libsnark = callPackage ./libsnark { inherit boost openssl; }; let librustzcash = callPackage ./librustzcash {};
librustzcash = callPackage ./librustzcash {};
in in
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "zcash" + (toString (optional (!withGui) "d")) + "-" + version; name = "zcash" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.0.12"; version = "1.0.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zcash"; owner = "zcash";
repo = "zcash"; repo = "zcash";
rev = "v${version}"; rev = "v${version}";
sha256 = "19bxhdnkvgncgl9x6nbaf5nwgrdfw99icvdbi9adfh646pd5z64s"; sha256 = "05y7wxs66anxr5akbf05r36mmjfzqpwawn6vyh3jhpva51hzzzyz";
}; };
# Dependencies are underspecified: "make -C src gtest/zcash_gtest-test_merkletree.o" # Dependencies are underspecified: "make -C src gtest/zcash_gtest-test_merkletree.o"
@ -23,17 +22,15 @@ stdenv.mkDerivation rec {
enableParallelBuilding = false; enableParallelBuilding = false;
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ gtest gmock gmp libsnark openssl wget db62 boost zlib buildInputs = [ gtest gmock gmp openssl wget db62 boost zlib
protobuf libevent libsodium librustzcash ] protobuf libevent libsodium librustzcash ]
++ optionals stdenv.isLinux [ utillinux ] ++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qt4 qrencode ]; ++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "LIBSNARK_INCDIR=${libsnark}/include/libsnark" configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
"--with-boost-libdir=${boost.out}/lib"
] ++ optionals withGui [ "--with-gui=qt4" ]; ] ++ optionals withGui [ "--with-gui=qt4" ];
patchPhase = '' patchPhase = ''
sed -i"" '/^\[LIBSNARK_INCDIR/d' configure.ac
sed -i"" 's,-lboost_system-mt,-lboost_system,' configure.ac sed -i"" 's,-lboost_system-mt,-lboost_system,' configure.ac
sed -i"" 's,-fvisibility=hidden,,g' src/Makefile.am sed -i"" 's,-fvisibility=hidden,,g' src/Makefile.am
''; '';

View File

@ -1,29 +0,0 @@
{ stdenv, xbyak, gmp, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "ate-pairing-unstable-${version}";
version = "2016-05-03";
src = fetchFromGitHub {
owner = "herumi";
repo = "ate-pairing";
rev = "dcb9da999b1113f90b115bccb6f4b57ddf3a8452";
sha256 = "0jr6r1cma414k8mhsyp7n8hqaqxi7zklsp6820a095sbb3zajckh";
};
buildInputs = [ gmp xbyak ];
installPhase = ''
mkdir -p $out
cp -r lib $out
cp -r include $out
'';
meta = with stdenv.lib; {
description = "Optimal Ate Pairing over Barreto-Naehrig Curves";
homepage = https://github.com/herumi/ate-pairing;
maintainers = with maintainers; [ rht ];
license = licenses.bsd3;
platforms = platforms.unix;
};
}

View File

@ -1,45 +0,0 @@
{ stdenv, libsodium, callPackage, boost, zlib, openssl, gmp, procps, fetchFromGitHub }:
let atePairing = callPackage ./ate-pairing.nix { inherit xbyak; };
mie = callPackage ./mie.nix { };
xbyak = callPackage ./xbyak.nix {};
in
stdenv.mkDerivation rec{
name = "libsnark-unstable-${version}";
version = "2017-02-09";
src = fetchFromGitHub {
owner = "zcash";
repo = "libsnark";
rev = "9ada3f84ab484c57b2247c2f41091fd6a0916573";
sha256 = "0vhslcb9rwqab9szavyn856z4h9w1syiamfcixqmj0s908zzlaaq";
};
buildInputs = [ libsodium atePairing mie xbyak zlib openssl boost gmp ];
makeFlags = [
"PREFIX=$(out)"
"CURVE=ALT_BN128"
"NO_SUPERCOP=1"
"STATIC=1"
];
buildPhase = ''
CXXFLAGS="-fPIC -DBINARY_OUTPUT -DNO_PT_COMPRESSION=1" \
make lib \
CURVE=ALT_BN128 \
MULTICORE=1 \
STATIC=1 \
NO_PROCPS=1 \
NO_GTEST=1 \
FEATUREFLAGS=-DMONTGOMERY_OUTPUT \
'';
meta = with stdenv.lib; {
description = "a C++ library for zkSNARK proofs";
homepage = https://github.com/zcash/libsnark;
maintainers = with maintainers; [ rht ];
license = licenses.mit;
platforms = platforms.unix;
};
}

View File

@ -1,27 +0,0 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "mie-unstable-${version}";
version = "2016-05-10";
src = fetchFromGitHub {
owner = "herumi";
repo = "mie";
rev = "704b625b7770a8e1eab26ac65d1fed14c2fcf090";
sha256 = "144bpmgfs2m4qqv7a2mccgi1aq5jmlr25gnk78ryq09z8cyv88y2";
};
phases = ["unpackPhase" "installPhase"];
installPhase = ''
mkdir -p $out
cp -r include $out
'';
meta = with stdenv.lib; {
homepage = https://github.com/herumi/mie;
maintainers = with maintainers; [ rht ];
license = licenses.bsd3;
platforms = platforms.unix;
};
}

View File

@ -1,28 +0,0 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "xbyak-unstable-${version}";
version = "2016-05-03";
src = fetchFromGitHub {
owner = "herumi";
repo = "xbyak";
rev = "b6133a02dd6b7116bea31d0e6b7142bf97f071aa";
sha256 = "1rc2nx8kj2lj13whxb9chhh79f4hmjjj4j1hpqsd0lbdb60jikrn";
};
dontBuild = true;
installPhase = ''
mkdir -p $out/include
cp -r xbyak $out/include
'';
meta = with stdenv.lib; {
description = "JIT assembler for x86, x64";
homepage = https://github.com/herumi/xbyak;
maintainers = with maintainers; [ rht ];
license = licenses.bsd3;
platforms = platforms.unix;
};
}

View File

@ -1,35 +1,35 @@
{ stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, ffmpeg, freetype, gdk_pixbuf { stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, freetype, gdk_pixbuf
, glib, gtk2, harfbuzz, jdk, lib, libX11, libXau, libXcursor, libXdmcp , glib, gtk2, harfbuzz, jdk, lib, xorg
, libXext, libXfixes, libXrender, libbsd, libjack2, libpng, libxcb , libbsd, libjack2, libpng
, libxkbcommon, libxkbfile, makeWrapper, pixman, xcbutil, xcbutilwm , libxkbcommon
, makeWrapper, pixman
, xdg_utils, zenity, zlib }: , xdg_utils, zenity, zlib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "bitwig-studio-${version}"; name = "bitwig-studio-${version}";
version = "2.2.2"; version = "1.3.16";
src = fetchurl { src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"; url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
sha256 = "1x4wka32xlygmhdh9rb15s37zh5qjrgap2qk35y34c52lf5aak22"; sha256 = "0n0fxh9gnmilwskjcayvjsjfcs3fz9hn00wh7b3gg0cv3qqhich8";
}; };
nativeBuildInputs = [ dpkg makeWrapper ]; nativeBuildInputs = [ dpkg makeWrapper ];
unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root"; unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root";
dontBuild = true; dontBuild = true;
dontPatchELF = true; dontPatchELF = true;
dontStrip = true; dontStrip = true;
libPath = lib.makeLibraryPath [ libPath = with xorg; lib.makeLibraryPath [
alsaLib bzip2.out cairo freetype gdk_pixbuf glib gtk2 harfbuzz alsaLib bzip2.out cairo freetype gdk_pixbuf glib gtk2 harfbuzz libX11 libXau
libX11 libXau libXcursor libXdmcp libXext libXfixes libXrender libXcursor libXdmcp libXext libXfixes libXrender libbsd libjack2 libpng libxcb
libbsd libjack2 libpng libxcb libxkbfile pixman xcbutil xcbutilwm libxkbfile pixman xcbutil xcbutilwm zlib
zlib
]; ];
binPath = lib.makeBinPath [ binPath = lib.makeBinPath [
ffmpeg xdg_utils zenity xdg_utils zenity
]; ];
installPhase = '' installPhase = ''
@ -95,6 +95,6 @@ stdenv.mkDerivation rec {
homepage = http://www.bitwig.com/; homepage = http://www.bitwig.com/;
license = licenses.unfree; license = licenses.unfree;
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ michalrus ]; maintainers = with maintainers; [ michalrus mrVanDalo ];
}; };
} }

View File

@ -0,0 +1,18 @@
{ stdenv, fetchurl, bitwig-studio1,
xdg_utils, zenity, ffmpeg }:
bitwig-studio1.overrideAttrs (oldAttrs: rec {
name = "bitwig-studio-${version}";
version = "2.2.2";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
sha256 = "1x4wka32xlygmhdh9rb15s37zh5qjrgap2qk35y34c52lf5aak22";
};
buildInputs = bitwig-studio1.buildInputs ++ [ ffmpeg ];
binPath = stdenv.lib.makeBinPath [
ffmpeg xdg_utils zenity
];
})

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jack_capture-${version}"; name = "jack_capture-${version}";
version = "0.9.69"; version = "0.9.73";
src = fetchurl { src = fetchurl {
url = "http://archive.notam02.no/arkiv/src/${name}.tar.gz"; url = "http://archive.notam02.no/arkiv/src/${name}.tar.gz";
sha256 = "0sk7b92my1v1g7rhkpl1c608rb0rdb28m9zqfll95kflxajd16zv"; sha256 = "1pji0zdwm3kxjrkbzj7fnxhr8ncrc8pyqnwyrh47fhypgqjv1br1";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
name = "jackmeter-0.4"; name = "jackmeter-0.4";
src = fetchurl { src = fetchurl {
url = "http://www.aelius.com/njh/jackmeter/${name}.tar.gz"; url = "https://www.aelius.com/njh/jackmeter/${name}.tar.gz";
sha256 = "1cnvgx3jv0yvxlqy0l9k285zgvazmh5k8m4l7lxckjfm5bn6hm1r"; sha256 = "1cnvgx3jv0yvxlqy0l9k285zgvazmh5k8m4l7lxckjfm5bn6hm1r";
}; };
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Console jack loudness meter"; description = "Console jack loudness meter";
homepage = http://www.aelius.com/njh/jackmeter/; homepage = https://www.aelius.com/njh/jackmeter/;
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.marcweber ]; maintainers = [ stdenv.lib.maintainers.marcweber ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;

View File

@ -33,7 +33,7 @@ pythonPackages.buildPythonApplication rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.mopidy.com/; homepage = https://www.mopidy.com/;
description = '' description = ''
An extensible music server that plays music from local disk, Spotify, An extensible music server that plays music from local disk, Spotify,
SoundCloud, Google Play Music, and more SoundCloud, Google Play Music, and more

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A minimalist command line interface to MPD"; description = "A minimalist command line interface to MPD";
homepage = http://www.musicpd.org/clients/mpc/; homepage = https://www.musicpd.org/clients/mpc/;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ algorith ]; maintainers = with maintainers; [ algorith ];
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;

View File

@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Music notation and composition software"; description = "Music notation and composition software";
homepage = http://musescore.org/; homepage = https://musescore.org/;
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.vandenoever ]; maintainers = [ maintainers.vandenoever ];

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Curses-based interface for MPD (music player daemon)"; description = "Curses-based interface for MPD (music player daemon)";
homepage = http://www.musicpd.org/clients/ncmpc/; homepage = https://www.musicpd.org/clients/ncmpc/;
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ fpletz ]; maintainers = with maintainers; [ fpletz ];

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }: { stdenv, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.4.5"; version = "0.5.0";
name = "qjackctl-${version}"; name = "qjackctl-${version}";
# some dependencies such as killall have to be installed additionally # some dependencies such as killall have to be installed additionally
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qjackctl/${name}.tar.gz"; url = "mirror://sourceforge/qjackctl/${name}.tar.gz";
sha256 = "1dsavjfzz5bpzc80mvfs940w9f9f47cf4r9cqxnaqrl4xilsa3f5"; sha256 = "0lx81dfwanc10vrny1vzi0wx73ph82dlz99ffjzsigj3cqzz6x4s";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, qt5, alsaLib, libjack2 }: { stdenv, fetchurl, pkgconfig, qt5, alsaLib, libjack2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.4.3"; version = "0.5.0";
name = "qmidinet-${version}"; name = "qmidinet-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qmidinet/${name}.tar.gz"; url = "mirror://sourceforge/qmidinet/${name}.tar.gz";
sha256 = "1qhxhlvi6bj2a06i48pw81zf5vd36idxbq04g30794yhqcimh6vw"; sha256 = "0nxbvjgx11ljy1nxqknyq7pla55ky2ybi1jbisvq2cqxa34jsxf6";
}; };
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "setbfree-${version}"; name = "setbfree-${version}";
version = "0.8.0"; version = "0.8.5";
src = fetchurl { src = fetchurl {
url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz"; url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz";
sha256 = "1lfylai4gyk512dknj16w2aq9ka8hvqca46nmq5b4rfjmi6dkxf6"; sha256 = "0qfccny0hh9lq54272mzmxvfz2jmzcgigjkjwn6v9h6n00gi5bw4";
}; };
patchPhase = '' patchPhase = ''

View File

@ -6,11 +6,11 @@ assert stdenv ? glibc;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "yoshimi-${version}"; name = "yoshimi-${version}";
version = "1.5.5"; version = "1.5.6";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/yoshimi/${name}.tar.bz2"; url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
sha256 = "0h71x9742bswifwll7bma1fz648fd5xd0yfp7byvsczy6zhjz5pf"; sha256 = "0bjfhfslpa2hjrc9h38m7dlr62953w9n4cvkgvfy495cbym12dak";
}; };
buildInputs = [ buildInputs = [

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://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 wkennington ];

View File

@ -135,10 +135,10 @@
arbitools = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: arbitools = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "arbitools"; pname = "arbitools";
version = "0.91"; version = "0.93";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/arbitools-0.91.el"; url = "https://elpa.gnu.org/packages/arbitools-0.93.el";
sha256 = "0r0nbpwjxal40ydvx7hmjq56x12jcfqgld7yc4fjfz93wn8m40qf"; sha256 = "0z3lqp8dqfkams5h4sw569p48d2rvpd3d8lb4xaw0z8l49y2mvg8";
}; };
packageRequires = [ cl-lib ]; packageRequires = [ cl-lib ];
meta = { meta = {
@ -768,10 +768,10 @@
el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }: el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
elpaBuild { elpaBuild {
pname = "el-search"; pname = "el-search";
version = "1.4.0.11"; version = "1.4.0.12";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/el-search-1.4.0.11.tar"; url = "https://elpa.gnu.org/packages/el-search-1.4.0.12.tar";
sha256 = "12m468fxwfrwjkm0wcraafb7n9shh9fmw43nggc216ch3syxmfaw"; sha256 = "140p1ian8dwip6305spg4rvm3rqxhznlq0w5msixw6ykwm735a8z";
}; };
packageRequires = [ emacs stream ]; packageRequires = [ emacs stream ];
meta = { meta = {
@ -2254,10 +2254,10 @@
}) {}; }) {};
vlf = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { vlf = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "vlf"; pname = "vlf";
version = "1.7"; version = "1.7.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/vlf-1.7.tar"; url = "https://elpa.gnu.org/packages/vlf-1.7.1.tar";
sha256 = "007zdr5szimr6nwwrqz9s338s0qq82r006pdwgcm8nc41jsmsx7r"; sha256 = "0cnwxk20573iqkwk0c0h7pyjk0rkr8l2qd0xmyqj8mvdxjb8nnkz";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {

View File

@ -2,11 +2,11 @@
melpaBuild { melpaBuild {
pname = "font-lock-plus"; pname = "font-lock-plus";
version = "20170222.1755"; version = "20180101.25";
src = fetchurl { src = fetchurl {
url = "https://www.emacswiki.org/emacs/download/font-lock+.el"; url = "https://www.emacswiki.org/emacs/download/font-lock%2b.el?revision=25";
sha256 = "0iajkgh0n3pbrwwxx9rmrrwz8dw2m7jsp4mggnhq7zsb20ighs30"; sha256 = "0197yzn4hbjmw5h3m08264b7zymw63pdafph5f3yzfm50q8p7kp4";
name = "font-lock+.el"; name = "font-lock+.el";
}; };

File diff suppressed because it is too large Load Diff

View File

@ -4256,12 +4256,12 @@
cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }: cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }:
melpaBuild { melpaBuild {
pname = "cider"; pname = "cider";
version = "0.15.1"; version = "0.16.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "clojure-emacs"; owner = "clojure-emacs";
repo = "cider"; repo = "cider";
rev = "8a9eab32646abcaaf31fe83b2d897c01971b98f1"; rev = "74f7901b416efbd032bb4f8b5c25f57fdf731115";
sha256 = "0ddkm87l9ann05a6j57r0x59qqgfavwrvlzhkc5xhak1nmk5556h"; sha256 = "0n2b6q8r2gzr3ghyvg5sawir47rk7jmsslvxx6by27bn77h4nzil";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider"; url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider";
@ -7190,6 +7190,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
dimmer = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "dimmer";
version = "0.2.1";
src = fetchFromGitHub {
owner = "gonewest818";
repo = "dimmer.el";
rev = "b0faaa6919e633229ced07ff8bd8b5c68b90243a";
sha256 = "04k7m5kg2a32ldgxfc2jkdwbmxzyc3yv66871ywv9152db2g7iml";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/8ae80e9202d69ed3214325dd15c4b2f114263954/recipes/dimmer";
sha256 = "0w8n5svckk1jp8856pg2gkws9798prqjjkdqf8ili2hjcqnd1a3r";
name = "dimmer";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://melpa.org/#/dimmer";
license = lib.licenses.free;
};
}) {};
dionysos = callPackage ({ alert, cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, libmpdee, melpaBuild, pkg-info, s }: dionysos = callPackage ({ alert, cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, libmpdee, melpaBuild, pkg-info, s }:
melpaBuild { melpaBuild {
pname = "dionysos"; pname = "dionysos";
@ -7809,12 +7830,12 @@
doom-themes = callPackage ({ all-the-icons, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: doom-themes = callPackage ({ all-the-icons, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "doom-themes"; pname = "doom-themes";
version = "2.0.9"; version = "2.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hlissner"; owner = "hlissner";
repo = "emacs-doom-themes"; repo = "emacs-doom-themes";
rev = "8ff86e456b22ab4c28605c44e544b3ef0b4b4637"; rev = "bc747b3b65baf737f99dc4ccf68558581958bbba";
sha256 = "0zfr6487hvn08dc9hhwf2snhd3ds4kfaglribxddx38dhd87hk73"; sha256 = "0j5aywwh8cw0bb55frrpmyfmbzg6d6jv29ys61p1xf49gvki870m";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes"; url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes";
@ -8270,12 +8291,12 @@
easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "easy-hugo"; pname = "easy-hugo";
version = "2.7.19"; version = "2.8.20";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "masasam"; owner = "masasam";
repo = "emacs-easy-hugo"; repo = "emacs-easy-hugo";
rev = "1a8c4286ac1d92114dbda9042ed831cc83175db9"; rev = "253d91cda8722fa69b8ee67b1802137863bc3d9a";
sha256 = "11vwzgy1dn4sj1yhnvvim6p9w3dl896azh3wlrmg8g6y6qfzblc7"; sha256 = "1i5hdm9xwajid7kzx6gq8lhx5w2aihvb0ka5h2s88zb1xnnxss46";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo"; url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@ -8291,12 +8312,12 @@
easy-jekyll = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: easy-jekyll = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "easy-jekyll"; pname = "easy-jekyll";
version = "1.4.10"; version = "1.5.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "masasam"; owner = "masasam";
repo = "emacs-easy-jekyll"; repo = "emacs-easy-jekyll";
rev = "d5226405c035d0dd675cacfd514388c348a4559a"; rev = "4eac3993d9bbec9ddfe38b128fd3ed6670f526e2";
sha256 = "1pmaa0ry1yd8d2pbn4srv5bf1hqss046zjl2p3ag1ag0qb35fh39"; sha256 = "0ffspw6xavfbk0klqjp8va7ybvsdcxlw1qmqhi6paqam90m6vazz";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c3f281145bad12c27bdbef32ccc07b6a5f13b577/recipes/easy-jekyll"; url = "https://raw.githubusercontent.com/milkypostman/melpa/c3f281145bad12c27bdbef32ccc07b6a5f13b577/recipes/easy-jekyll";
@ -12988,12 +13009,12 @@
flycheck-objc-clang = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: flycheck-objc-clang = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "flycheck-objc-clang"; pname = "flycheck-objc-clang";
version = "2.0.0"; version = "2.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GyazSquare"; owner = "GyazSquare";
repo = "flycheck-objc-clang"; repo = "flycheck-objc-clang";
rev = "29a9eb320d62400564360986f7ad400b74070d8e"; rev = "07f17d1dbe878fdcabac791a8916ddf643571a68";
sha256 = "0b4vwbxzhds9vb4nknfdywvfpr1gkk86vsbbq6f5ds0pfk75x022"; sha256 = "03624xn6g1ybcjw634c7nd5s2yllwfffk2gzn5hm70vfz06q7wb9";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang"; url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang";
@ -13219,12 +13240,12 @@
flycheck-swift3 = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: flycheck-swift3 = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "flycheck-swift3"; pname = "flycheck-swift3";
version = "2.0.0"; version = "2.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "GyazSquare"; owner = "GyazSquare";
repo = "flycheck-swift3"; repo = "flycheck-swift3";
rev = "756833425f51baa9eb0a2fa7493df6e68612c88d"; rev = "34973cd28ca5e63f8f6328a17fd7b78cc913b93d";
sha256 = "1hvrg717q0nlz4r8wby82gs3vdx8fdhf38rg4j77j3fqfmxdd3fi"; sha256 = "1iy6j05dzpi7pi87y6rpjzmlnl2s9izqpbzknis2kx9072qddm3q";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3"; url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3";
@ -14038,12 +14059,12 @@
fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "fountain-mode"; pname = "fountain-mode";
version = "2.3.1"; version = "2.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rnkn"; owner = "rnkn";
repo = "fountain-mode"; repo = "fountain-mode";
rev = "5c63d2f199e96bdf8fd60d375b2b6e305a5f9017"; rev = "3f953ae30ad55bbbbb80aa0350992e79f4b00f56";
sha256 = "0vxizl4pr0668b1d94wrl42li2709srvnn5likn8lskv2mv0bnvn"; sha256 = "1zksjvpvhbr79fg281yhx8k419q9kd4jpi47i9943cs0m088ykyn";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode";
@ -15765,6 +15786,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
go-tag = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }:
melpaBuild {
pname = "go-tag";
version = "1.0.0";
src = fetchFromGitHub {
owner = "brantou";
repo = "emacs-go-tag";
rev = "51b032465405a62f84d9181168a570610ba04085";
sha256 = "0158c3yjw21skwa03qmh3xpg9wg7rnk6xbxqx5vxi24205zsz0kd";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/fc4cd3fd8fb0707912e205b9d71789ea8126c442/recipes/go-tag";
sha256 = "18ff41i0gr708fl4gzzspf9cc09nv4wy21wsn609yhwlh7w0vs1f";
name = "go-tag";
};
packageRequires = [ emacs go-mode ];
meta = {
homepage = "https://melpa.org/#/go-tag";
license = lib.licenses.free;
};
}) {};
godoctor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: godoctor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "godoctor"; pname = "godoctor";
@ -15936,12 +15978,12 @@
goto-chg = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: goto-chg = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "goto-chg"; pname = "goto-chg";
version = "1.7"; version = "1.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "emacs-evil"; owner = "emacs-evil";
repo = "goto-chg"; repo = "goto-chg";
rev = "171b1331022caf12d8c3593e9b5075f87ee958d4"; rev = "6cb244922b733358fd6985b36c4b87ef2e177293";
sha256 = "1jcnrin4j1x8p63fd9r37dq1vr5a7a1nvzk6kp0bdsgn9vbjmapc"; sha256 = "0miscmk5gg7mqqwjb5mlrkbpsx4pny2w3rpr90f7yiv30rf83b5j";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/cf1fc176430fe3ab55ce537a0efc59780bb812be/recipes/goto-chg"; url = "https://raw.githubusercontent.com/milkypostman/melpa/cf1fc176430fe3ab55ce537a0efc59780bb812be/recipes/goto-chg";
@ -16104,12 +16146,12 @@
grails-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: grails-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "grails-mode"; pname = "grails-mode";
version = "1.0.2"; version = "2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Groovy-Emacs-Modes"; owner = "Groovy-Emacs-Modes";
repo = "groovy-emacs-modes"; repo = "groovy-emacs-modes";
rev = "f8e9628916d4d41e1816b53d02f0b5a00c499555"; rev = "d7b362e6186d263ec3eefc141dbb5b27a8773f24";
sha256 = "1myb15n207yl2cgacmn105r1xbjq076paq6anvw53smy3fhw9sh9"; sha256 = "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/grails-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/grails-mode";
@ -16383,22 +16425,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
groovy-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: groovy-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
melpaBuild { melpaBuild {
pname = "groovy-mode"; pname = "groovy-mode";
version = "1.0.2"; version = "2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Groovy-Emacs-Modes"; owner = "Groovy-Emacs-Modes";
repo = "groovy-emacs-modes"; repo = "groovy-emacs-modes";
rev = "f8e9628916d4d41e1816b53d02f0b5a00c499555"; rev = "d7b362e6186d263ec3eefc141dbb5b27a8773f24";
sha256 = "1myb15n207yl2cgacmn105r1xbjq076paq6anvw53smy3fhw9sh9"; sha256 = "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/groovy-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/groovy-mode";
sha256 = "1pxw7rdn56klmr6kw21lhzh7zhp338gyf54ypsml64ibzr1x9kal"; sha256 = "1pxw7rdn56klmr6kw21lhzh7zhp338gyf54ypsml64ibzr1x9kal";
name = "groovy-mode"; name = "groovy-mode";
}; };
packageRequires = []; packageRequires = [ emacs s ];
meta = { meta = {
homepage = "https://melpa.org/#/groovy-mode"; homepage = "https://melpa.org/#/groovy-mode";
license = lib.licenses.free; license = lib.licenses.free;
@ -16533,12 +16575,12 @@
guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }: guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
melpaBuild { melpaBuild {
pname = "guix"; pname = "guix";
version = "0.3.3"; version = "0.3.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alezost"; owner = "alezost";
repo = "guix.el"; repo = "guix.el";
rev = "54bd174b514c5de11e82c4263ac2723addb0fe87"; rev = "a43828f6e5d6dc4e623a4b78e0dfdddbf5b20185";
sha256 = "1i5kwzwlb6lx65rgixm8mbdi6x03n0hb4hbc7j76lar4j58ypwz2"; sha256 = "0c19njb5cg6g3fav9322hkbl4h9zwcbymhc5wr0k9yqi7pv8gz0v";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix"; url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix";
@ -21002,12 +21044,12 @@
js-auto-format-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: js-auto-format-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "js-auto-format-mode"; pname = "js-auto-format-mode";
version = "1.0.4"; version = "1.0.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ybiquitous"; owner = "ybiquitous";
repo = "js-auto-format-mode"; repo = "js-auto-format-mode";
rev = "cad63f1760e765298cc91e3503ac46c8771da4be"; rev = "7872e6f1d8280830c70cae8f1e3edb8049aba295";
sha256 = "1pg4ghfi0fzmnwrw3y4z3gy031psxvzjydwm4jbdrm33ais7919g"; sha256 = "0a9rbs0pjx953rbblmia9jznxykz5qa9q5wzkj341z6vfq9rq3rf";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/2d3be16771b5b5fde639da3ee97890620354ee7a/recipes/js-auto-format-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/2d3be16771b5b5fde639da3ee97890620354ee7a/recipes/js-auto-format-mode";
@ -23647,12 +23689,12 @@
meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }: meghanada = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }:
melpaBuild { melpaBuild {
pname = "meghanada"; pname = "meghanada";
version = "0.8.4"; version = "0.9.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mopemope"; owner = "mopemope";
repo = "meghanada-emacs"; repo = "meghanada-emacs";
rev = "555b8b9ea8ef56dda645ea605b38501cb4222b12"; rev = "98ad6a5361c725319a355522d2d1ba0e0fbb7cde";
sha256 = "1z3vvasah4gq6byq4ibkihy5mbch5zzxnn0gy86jldapwi1z74sq"; sha256 = "06iryz4dbldc9vxy67g977hih8r1bfvjld53lvwnjsc7r3x9i07q";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada"; url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada";
@ -25364,11 +25406,11 @@
}) {}; }) {};
notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
pname = "notmuch"; pname = "notmuch";
version = "0.25.3"; version = "0.26pre1";
src = fetchgit { src = fetchgit {
url = "git://git.notmuchmail.org/git/notmuch"; url = "git://git.notmuchmail.org/git/notmuch";
rev = "ae55a86639f86ad1b547e961f71b1bde2180752d"; rev = "1ed211d042d5f413731f812b5af7e82819a6e8ae";
sha256 = "0kq2j23381qr50zkvx68yciq1xag20fzidgy5jd69bd7z6gziq90"; sha256 = "140c3bhh24dy2cfsvgf9y7h02sjp6cjv8qam6kd8wjlrd3y9zd80";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch"; url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@ -25633,6 +25675,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
ob-coffeescript = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "ob-coffeescript";
version = "1.0.0";
src = fetchFromGitHub {
owner = "brantou";
repo = "ob-coffeescript";
rev = "b70f3d822c707cb02333fcb739ba4874614cad2a";
sha256 = "0284v3km41427q7dr0wmvf3zhbsgzj0j2r9zny0g3n85qvyk0rgd";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ba1a808c77653bac1948d6c44bd1db09301ffeff/recipes/ob-coffeescript";
sha256 = "05q1wnabw52kd3fpcpinpxs9z6xmi4n1p19jbcz0bgjpnw05s27p";
name = "ob-coffeescript";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/ob-coffeescript";
license = lib.licenses.free;
};
}) {};
ob-http = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: ob-http = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
melpaBuild { melpaBuild {
pname = "ob-http"; pname = "ob-http";
@ -25654,6 +25717,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
ob-hy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "ob-hy";
version = "1.0.0";
src = fetchFromGitHub {
owner = "brantou";
repo = "ob-hy";
rev = "a3512f274709dc4ab6c18d7955d361f8715505f0";
sha256 = "1i796041svy7njjl3aqaxzjydmm24q688vpxvqd0pj5hyajqdgqw";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/12a7a7dba169010a3a047f961010236a203c16c2/recipes/ob-hy";
sha256 = "18a8fpda0f28wxmjprhd9dmz7bpk1j3iayl20lqffrcal6m4f1h7";
name = "ob-hy";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://melpa.org/#/ob-hy";
license = lib.licenses.free;
};
}) {};
ob-prolog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: ob-prolog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "ob-prolog"; pname = "ob-prolog";
@ -32959,12 +33043,12 @@
shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "shx"; pname = "shx";
version = "0.0.12"; version = "0.0.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "riscy"; owner = "riscy";
repo = "shx-for-emacs"; repo = "shx-for-emacs";
rev = "aa45e7b586b1215ca1af05c14984ce872571b5f7"; rev = "33383bd359d795df2d7ef725b5349c953f5a6aa8";
sha256 = "0ya7vbp71vmvli35rwcwspbclss5ngr1ck9074i2gg1dzrqyxijn"; sha256 = "1arwsb6as8jpah0bs3b92a3kdnbfkhnsm1jglspfh4lqpafmx5vf";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx"; url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@ -33817,6 +33901,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
solidity-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "solidity-mode";
version = "0.1.8";
src = fetchFromGitHub {
owner = "ethereum";
repo = "emacs-solidity";
rev = "b5d95ef678305ca70b17e94fc2ee4289a8328048";
sha256 = "04l3hvfpgqiaxdxh8s2cg2rx4cy50i7a411q81g8661fx60c6h6p";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/bb9df5ec0692352b6494d435d11166f4ea26c99e/recipes/solidity-mode";
sha256 = "1qdzdivrf5yaa80p61b9r1gryw112v5l2m2jkvkc7glhkhrcvwsx";
name = "solidity-mode";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/solidity-mode";
license = lib.licenses.free;
};
}) {};
sos = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }: sos = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
melpaBuild { melpaBuild {
pname = "sos"; pname = "sos";
@ -34743,12 +34848,12 @@
swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }: swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
melpaBuild { melpaBuild {
pname = "swift-mode"; pname = "swift-mode";
version = "4.0.0"; version = "4.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "chrisbarrett"; owner = "chrisbarrett";
repo = "swift-mode"; repo = "swift-mode";
rev = "18c3dc47dfece59640ad501266f2e47b918f2a14"; rev = "8c45f69a078c41619a7a3db6d54a732c3fad8e3f";
sha256 = "0qk962xzxm8si1h5p7vdnqw7xcaxdjxsaz1yad11pvn9l2b2zpzq"; sha256 = "1isy71vkws3ywm4iwa85dk12810az3h85n6bimd36dfqbhfwdrli";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode";
@ -38675,8 +38780,8 @@
version = "1.80"; version = "1.80";
src = fetchhg { src = fetchhg {
url = "https://www.yatex.org/hgrepos/yatex/"; url = "https://www.yatex.org/hgrepos/yatex/";
rev = "16763e5b7481"; rev = "feef2aa1f50f";
sha256 = "1mrcc9amz0kflm570bd2cprhin0z8lr668k2s56mj6shixb61dwh"; sha256 = "0453y7a9lq28bmbrrcbsnsrwnhjphq4s4vcr9ncb5252m6fnwdyl";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e28710244a1bef8f56156fe1c271520896a9c694/recipes/yatex"; url = "https://raw.githubusercontent.com/milkypostman/melpa/e28710244a1bef8f56156fe1c271520896a9c694/recipes/yatex";

View File

@ -1,10 +1,10 @@
{ callPackage }: { { callPackage }: {
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org"; pname = "org";
version = "20171225"; version = "20180102";
src = fetchurl { src = fetchurl {
url = "http://orgmode.org/elpa/org-20171225.tar"; url = "https://orgmode.org/elpa/org-20180102.tar";
sha256 = "1wp1mbp0b8vygrlx0bb79d9zb91kca13nlhrxh59h9w496jj30dy"; sha256 = "1jz92wv637x1kp726kgcc29s4s4rscfhb7rhhnr69ny83r1hlczi";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -14,10 +14,10 @@
}) {}; }) {};
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org-plus-contrib"; pname = "org-plus-contrib";
version = "20171225"; version = "20180102";
src = fetchurl { src = fetchurl {
url = "http://orgmode.org/elpa/org-plus-contrib-20171225.tar"; url = "https://orgmode.org/elpa/org-plus-contrib-20180102.tar";
sha256 = "10d44sqm9sh8gjy7xlnpqhyq35yxdijjm2322khc5bylvq60ianc"; sha256 = "02ajqc8k44w2gskjazkglmn2v0jsxfns0wq3pgslhb7ychs3yrlv";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "focuswriter-${version}"; name = "focuswriter-${version}";
version = "1.6.7"; version = "1.6.8";
src = fetchurl { src = fetchurl {
url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2"; url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
sha256 = "10rqzinr6yd6ca06rklg34kdc08a3xgygfzmprsfg7gdsybfay5z"; sha256 = "1d2q99xa7dhdpqkipapzi1r1mvynf70s7sgdczd59kn0d8sr3map";
}; };
nativeBuildInputs = [ pkgconfig qmake qttools ]; nativeBuildInputs = [ pkgconfig qmake qttools ];

View File

@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
- Simple project management - Simple project management
- Plugin interface - Plugin interface
''; '';
homepage = http://www.geany.org/; homepage = https://www.geany.org/;
license = "GPL"; license = "GPL";
maintainers = []; maintainers = [];
platforms = platforms.all; platforms = platforms.all;

View File

@ -299,12 +299,12 @@ in
phpstorm = buildPhpStorm rec { phpstorm = buildPhpStorm rec {
name = "phpstorm-${version}"; name = "phpstorm-${version}";
version = "2017.3"; /* updated by script */ version = "2017.3.2";
description = "Professional IDE for Web and PHP developers"; description = "Professional IDE for Web and PHP developers";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
sha256 = "1byhlm5bnp6ic4n2xg17v4g34ipygy50i9xj4292b0xw7srxh910"; /* updated by script */ sha256 = "1grkqvj4j33d8hmy11ipkcci20sw7jpnc5zl28a9g85f2pzvsvs0";
}; };
wmClass = "jetbrains-phpstorm"; wmClass = "jetbrains-phpstorm";
update-channel = "PS2017.3"; update-channel = "PS2017.3";

View File

@ -20,15 +20,13 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "nano-${version}"; name = "nano-${version}";
version = "2.9.1"; version = "2.9.2";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/nano/${name}.tar.xz"; url = "mirror://gnu/nano/${name}.tar.xz";
sha256 = "0z5sxji8jh8sh0g3inbzndhsrbm4qyqlvjrxl5wkxbr61lnxa5k3"; sha256 = "0m9xm085pi0fhmmshgppipjimr1jkxksbyg8pa5cwaap3d2vgk2f";
}; };
patches = [ ./nano-2.9.1-darwin.patch ];
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];

View File

@ -1,9 +0,0 @@
--- a/lib/stat.c
+++ b/lib/stat.c
@@ -48,4 +48,6 @@ orig_stat (const char *filename, struct stat *buf)
#include "sys/stat.h"
+#include "stat-time.h"
+
#include <errno.h>
#include <limits.h>

View File

@ -124,7 +124,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; meta = with stdenv.lib;
{ description = "Set of integrated tools for the R language"; { description = "Set of integrated tools for the R language";
homepage = http://www.rstudio.com/; homepage = https://www.rstudio.com/;
license = licenses.agpl3; license = licenses.agpl3;
maintainers = with maintainers; [ ehmry changlinli ciil ]; maintainers = with maintainers; [ ehmry changlinli ciil ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];
src = fetchurl { src = fetchurl {
url = "http://www.cjmweb.net/vbindiff/${name}.tar.gz"; url = "https://www.cjmweb.net/vbindiff/${name}.tar.gz";
sha256 = "0gcqy4ggp60qc6blq1q1gc90xmhip1m6yvvli4hdqlz9zn3mlpbx"; sha256 = "0gcqy4ggp60qc6blq1q1gc90xmhip1m6yvvli4hdqlz9zn3mlpbx";
}; };
meta = { meta = {
description = "A terminal visual binary diff viewer"; description = "A terminal visual binary diff viewer";
homepage = http://www.cjmweb.net/vbindiff/; homepage = https://www.cjmweb.net/vbindiff/;
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
}; };

View File

@ -2,15 +2,15 @@
libharu, opencv, vigra, postgresql }: libharu, opencv, vigra, postgresql }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "saga-5.0.0"; name = "saga-6.2.0";
buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ]; buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ];
enableParallelBuilding = true; enableParallelBuilding = true;
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/saga-gis/SAGA%20-%205/SAGA%20-%205.0.0/saga-5.0.0.tar.gz"; url = "mirror://sourceforge/project/saga-gis/SAGA%20-%206/SAGA%20-%206.2.0/saga-6.2.0.tar.gz";
sha256 = "9be997209737e80262d9f13fd9b9797194a9f2facb10e5b9bd756d8cda675089"; sha256 = "91b030892c894ba02eb4292ebfc9ccbf4acf3062118f2a89a9a11208773fa280";
}; };
meta = { meta = {

View File

@ -14,8 +14,8 @@ let
else throw "ImageMagick is not supported on this platform."; else throw "ImageMagick is not supported on this platform.";
cfg = { cfg = {
version = "7.0.7-14"; version = "7.0.7-19";
sha256 = "04hpc9i6fp09iy0xkidlfhfqr7zg45izqqj5fx93n3dxalq65xqw"; sha256 = "1naib6hspmq7d4gfpsksx78gc1lq3p2v3i9pxkkdvr9p9j15c4az";
patches = []; patches = [];
}; };
in in

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool { lib, stdenv, fetchFromGitHub, fetchpatch, pkgconfig, libtool
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
, ApplicationServices , ApplicationServices
@ -14,8 +14,8 @@ let
else throw "ImageMagick is not supported on this platform."; else throw "ImageMagick is not supported on this platform.";
cfg = { cfg = {
version = "6.9.9-26"; version = "6.9.9-28";
sha256 = "10rcq7b9hhz50m4yqnm4g3iai7lr9jkglb7sm49ycw59arrkmwnw"; sha256 = "132kdl7jlkghfg3smdab14c29cpvrx65ibipxkmwg1nc88ycqivh";
patches = []; patches = [];
} }
# Freeze version on mingw so we don't need to port the patch too often. # Freeze version on mingw so we don't need to port the patch too often.
@ -36,13 +36,10 @@ stdenv.mkDerivation rec {
name = "imagemagick-${version}"; name = "imagemagick-${version}";
inherit (cfg) version; inherit (cfg) version;
src = fetchurl { src = fetchFromGitHub {
urls = [ owner = "ImageMagick";
"mirror://imagemagick/releases/ImageMagick-${version}.tar.xz" repo = "ImageMagick";
# the original source above removes tarballs quickly rev = cfg.version;
"http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
"https://bintray.com/homebrew/mirror/download_file?file_path=imagemagick-${version}.tar.xz"
];
inherit (cfg) sha256; inherit (cfg) sha256;
}; };

View File

@ -49,7 +49,7 @@ buildPythonPackage {
meta = { meta = {
description = "Display Calibration and Characterization powered by Argyll CMS"; description = "Display Calibration and Characterization powered by Argyll CMS";
homepage = http://displaycal.net/; homepage = https://displaycal.net/;
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3;
maintainers = [stdenv.lib.maintainers.marcweber]; maintainers = [stdenv.lib.maintainers.marcweber];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "A minimal image viewer using raw XLib"; description = "A minimal image viewer using raw XLib";
homepage = http://www.johnhawthorn.com/meh/; homepage = https://www.johnhawthorn.com/meh/;
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };

View File

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
version = "1.5.1"; version = "1.5.1";
src = fetchurl { src = fetchurl {
url = "http://photoqt.org/pkgs/photoqt-${version}.tar.gz"; url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz";
sha256 = "17kkpzkmzfnigs26jjyd75iy58qffjsclif81cmviq73lzmqy0b1"; sha256 = "17kkpzkmzfnigs26jjyd75iy58qffjsclif81cmviq73lzmqy0b1";
}; };
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
meta = { meta = {
homepage = http://photoqt.org/; homepage = https://photoqt.org/;
description = "Simple, yet powerful and good looking image viewer"; description = "Simple, yet powerful and good looking image viewer";
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;

View File

@ -26,7 +26,7 @@ in
lib.optionals stdenv.isLinux [ "-DINSTALL_UDEV_RULES=ON" ]; lib.optionals stdenv.isLinux [ "-DINSTALL_UDEV_RULES=ON" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://github.com/airspy/airspyone_host; homepage = https://github.com/airspy/airspyone_host;
description = "Host tools and driver library for the AirSpy SDR"; description = "Host tools and driver library for the AirSpy SDR";
license = licenses.free; license = licenses.free;
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;

View File

@ -5,12 +5,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.12.0"; version = "3.14.0";
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 = "0l7r5ny9a36yg22fqzz3as6wh1xqpa3hrlx2gy25yp649sbkd9vq"; sha256 = "1367jh82mhjjlvyd30mfz3qwscg60l0gimakvzpbkrah918kfk51";
}; };
patches = [ patches = [

View File

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
name = "hugo-${version}"; name = "hugo-${version}";
version = "0.30.2"; version = "0.32.2";
goPackagePath = "github.com/gohugoio/hugo"; goPackagePath = "github.com/gohugoio/hugo";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "gohugoio"; owner = "gohugoio";
repo = "hugo"; repo = "hugo";
rev = "v${version}"; rev = "v${version}";
sha256 = "12dii2d0pirkj264857d5y83bdllk1knk5sjf31v0m9c25fapci0"; sha256 = "0k62sg9rvr4aqzh1r60m456cw8mj6kxjpri2nnj4c2dxmvll8qhr";
}; };
goDeps = ./deps.nix; goDeps = ./deps.nix;

View File

@ -0,0 +1,39 @@
{ stdenv, lib, fetchzip, patchelf, freeglut, libXmu, libXi, libX11, libICE, mesa, libSM, libXext, dialog, makeWrapper }:
let
lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE mesa libSM libXext ];
in
stdenv.mkDerivation rec {
name = "iceSL-${version}";
version = "2.1.10";
src = if stdenv.system == "x86_64-linux" then fetchzip {
url = "https://gforge.inria.fr/frs/download.php/file/37268/icesl${version}-amd64.zip";
sha256 = "0dv3mq6wy46xk9blzzmgbdxpsjdaxid3zadfrysxlhmgl7zb2cn2";
} else if stdenv.system == "i686-linux" then fetchzip {
url = "https://gforge.inria.fr/frs/download.php/file/37267/icesl${version}-i386.zip";
sha256 = "0sl54fsb2gz6dy0bwdscpdq1ab6ph5b7zald3bwzgkqsvna7p1jr";
} else throw "Unsupported architecture";
buildInputs = [ makeWrapper ];
installPhase = ''
cp -r ./ $out
mkdir $out/oldbin
mv $out/bin/IceSL-slicer $out/oldbin/IceSL-slicer
runHook postInstall
'';
postInstall = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lpath}" \
$out/oldbin/IceSL-slicer
makeWrapper $out/oldbin/IceSL-slicer $out/bin/icesl --prefix PATH : ${dialog}/bin
'';
meta = with lib; {
description = "IceSL is a GPU-accelerated procedural modeler and slicer for 3D printing.";
homepage = http://shapeforge.loria.fr/icesl/index.html;
license = licenses.inria-icesl;
platforms = [ "i686-linux" "x86_64-linux" ];
maintainers = with maintainers; [ mgttlinger ];
};
}

View File

@ -11,7 +11,7 @@ bundlerEnv rec {
meta = with lib; { meta = with lib; {
description = "Simple, blog aware, static site generator"; description = "Simple, blog aware, static site generator";
homepage = http://jekyllrb.com/; homepage = https://jekyllrb.com/;
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ pesterhazy ]; maintainers = with maintainers; [ pesterhazy ];
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -0,0 +1,48 @@
{ stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk2, vte
, libxslt, docbook_xml_dtd_412, docbook_xml_xslt, libxml2, findXMLCatalogs
}:
let version = "0.3.1"; in
stdenv.mkDerivation rec {
name = "lxterminal-${version}";
src = fetchurl {
url = "https://github.com/lxde/lxterminal/archive/${version}.tar.gz";
sha256 = "e91f15c8a726d5c13227263476583137a2639d4799c021ca0726c9805021b54c";
};
configureFlags = [
"--enable-man"
];
nativeBuildInputs = [
automake autoconf intltool pkgconfig
libxslt docbook_xml_dtd_412 docbook_xml_xslt libxml2 findXMLCatalogs
];
buildInputs = [ gtk2 vte ];
patches = [
./respect-xml-catalog-files-var.patch
];
preConfigure = ''
./autogen.sh
'';
doCheck = true;
meta = {
description = "The standard terminal emulator of LXDE";
longDescription = ''
LXTerminal is the standard terminal emulator of LXDE. The terminal is a
desktop-independent VTE-based terminal emulator for LXDE without any
unnecessary dependencies.
'';
homepage = https://wiki.lxde.org/en/LXTerminal;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.velovix ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,15 @@
diff --git a/acinclude.m4 b/acinclude.m4
index be626c5..b449b1b 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
- if $jh_found_xmlcatalog && \
- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+ # empty argument forces libxml to use XML_CATALOG_FILES variable
+ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl

View File

@ -101,7 +101,7 @@ in pythonPackages.buildPythonApplication rec {
checkPhase = "nosetests"; checkPhase = "nosetests";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://octoprint.org/; homepage = https://octoprint.org/;
description = "The snappy web interface for your 3D printer"; description = "The snappy web interface for your 3D printer";
license = licenses.agpl3; license = licenses.agpl3;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];

View File

@ -0,0 +1,67 @@
{ stdenv, lib, pkgconfig, fetchurl, buildPythonApplication
, autoreconfHook, wrapGAppsHook
, intltool, yelp_tools, itstool, libxmlxx3
, python, pygobject3, gtk3, gnome3, substituteAll
, at_spi2_atk, at_spi2_core, pyatspi, dbus, dbus-python, pyxdg
, xkbcomp, gsettings_desktop_schemas, liblouis
, speechd, brltty, setproctitle, gst_all_1, gst-python
}:
with lib;
let
version = "3.26.0";
majorVersion = builtins.concatStringsSep "." (take 2 (splitString "." version));
in buildPythonApplication rec {
name = "orca-${version}";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/orca/${majorVersion}/${name}.tar.xz";
sha256 = "0xk5k9cbswymma60nrfj00dl97wypx59c107fb1hwi75gm0i07a7";
};
patches = [
(substituteAll {
src = ./fix-paths.patch;
xkbcomp = "${xkbcomp}/bin/xkbcomp";
})
];
nativeBuildInputs = [
autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
intltool yelp_tools itstool
];
propagatedBuildInputs = [
pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle
];
buildInputs = [
python gtk3 at_spi2_atk at_spi2_core dbus gsettings_desktop_schemas
gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
];
# Run intltoolize to create po/Makefile.in.in
preConfigure = ''
intltoolize
'';
meta = {
homepage = https://wiki.gnome.org/Projects/Orca;
description = "Screen reader";
longDescription = ''
A free, open source, flexible and extensible screen reader that provides
access to the graphical desktop via speech and refreshable braille.
It works with applications and toolkits that support the Assistive
Technology Service Provider Interface (AT-SPI). That includes the GNOME
Gtk+ toolkit, the Java platform's Swing toolkit, LibreOffice, Gecko, and
WebKitGtk. AT-SPI support for the KDE Qt toolkit is being pursued.
Needs `services.gnome3.at-spi2-core.enable = true;` in `configuration.nix`.
'';
maintainers = with maintainers; [ berce ] ++ gnome3.maintainers;
license = licenses.lgpl21;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,29 @@
--- a/src/orca/orca.py
+++ b/src/orca/orca.py
@@ -239,7 +239,7 @@
def _setXmodmap(xkbmap):
"""Set the keyboard map using xkbcomp."""
- p = subprocess.Popen(['xkbcomp', '-w0', '-', os.environ['DISPLAY']],
+ p = subprocess.Popen(['@xkbcomp@', '-w0', '-', os.environ['DISPLAY']],
stdin=subprocess.PIPE, stdout=None, stderr=None)
p.communicate(xkbmap)
@@ -297,7 +297,7 @@
"""
global _originalXmodmap
- _originalXmodmap = subprocess.check_output(['xkbcomp', os.environ['DISPLAY'], '-'])
+ _originalXmodmap = subprocess.check_output(['@xkbcomp@', os.environ['DISPLAY'], '-'])
def _restoreXmodmap(keyList=[]):
"""Restore the original xmodmap values for the keys in keyList.
@@ -309,7 +309,7 @@
global _capsLockCleared
_capsLockCleared = False
- p = subprocess.Popen(['xkbcomp', '-w0', '-', os.environ['DISPLAY']],
+ p = subprocess.Popen(['@xkbcomp@', '-w0', '-', os.environ['DISPLAY']],
stdin=subprocess.PIPE, stdout=None, stderr=None)
p.communicate(_originalXmodmap)

View File

@ -2,32 +2,29 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qtpass-${version}"; name = "qtpass-${version}";
version = "1.1.6"; version = "1.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "IJHack"; owner = "IJHack";
repo = "QtPass"; repo = "QtPass";
rev = "v${version}"; rev = "v${version}";
sha256 = "0jq5a1cvqvsjwld0nldl6kmcz9g59hiccmbg98xwji04n8174y7j"; sha256 = "0pp38b3fifkfwqcb6vi194ccgb8j3zc8j8jq8ww5ib0wvhldzsg8";
}; };
patches = [ ./hidpi.patch ];
buildInputs = [ git gnupg pass qtbase qtsvg qttools ]; buildInputs = [ git gnupg pass qtbase qtsvg qttools ];
nativeBuildInputs = [ makeWrapper qmake ]; nativeBuildInputs = [ makeWrapper qmake ];
preConfigure = '' postPatch = ''
qmakeFlags="$qmakeFlags DESTDIR=$out" substituteInPlace qtpass.pro --replace "SUBDIRS += src tests main" "SUBDIRS += src main"
''; substituteInPlace qtpass.pro --replace "main.depends = tests" "main.depends = src"
installPhase = ''
mkdir $out/bin
mv $out/qtpass $out/bin
install -D {,$out/share/applications/}qtpass.desktop
install -D artwork/icon.svg $out/share/icons/hicolor/scalable/apps/qtpass-icon.svg
runHook postInstall
''; '';
postInstall = '' postInstall = ''
install -D qtpass.desktop $out/share/applications/qtpass.desktop
install -D artwork/icon.svg $out/share/icons/hicolor/scalable/apps/qtpass-icon.svg
wrapProgram $out/bin/qtpass \ wrapProgram $out/bin/qtpass \
--suffix PATH : ${git}/bin \ --suffix PATH : ${git}/bin \
--suffix PATH : ${gnupg}/bin \ --suffix PATH : ${gnupg}/bin \

View File

@ -0,0 +1,13 @@
diff --git a/main/main.cpp b/main/main.cpp
index 8a18409c..1cddd911 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -35,7 +35,7 @@
* @return
*/
int main(int argc, char *argv[]) {
- qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1");
+ QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QString text = "";
for (int i = 1; i < argc; ++i) {
if (i > 1)

View File

@ -76,7 +76,7 @@ EOF
meta = with lib; { meta = with lib; {
description = "Cross-platform open source Redis DB management tool"; description = "Cross-platform open source Redis DB management tool";
homepage = http://redisdesktop.com/; homepage = https://redisdesktop.com/;
license = licenses.lgpl21; license = licenses.lgpl21;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ cstrahan ]; maintainers = with maintainers; [ cstrahan ];

View File

@ -11,33 +11,26 @@ let
url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb"; url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
sha256 = "0b56iglg8g45biddwsdn1hmx9gsz4kxr64civwyy7f69f022ppab"; sha256 = "0b56iglg8g45biddwsdn1hmx9gsz4kxr64civwyy7f69f022ppab";
}; };
in stdenv.mkDerivation {
in
stdenv.mkDerivation {
# https://www.rescuetime.com/updates/linux_release_notes.html # https://www.rescuetime.com/updates/linux_release_notes.html
name = "rescuetime-2.10.0.1322"; name = "rescuetime-2.10.0.1322";
inherit src; inherit src;
buildInputs = [ dpkg makeWrapper ]; buildInputs = [ dpkg makeWrapper ];
# avoid https://github.com/NixOS/patchelf/issues/99
dontStrip = true;
unpackPhase = '' unpackPhase = ''
mkdir pkg mkdir pkg
dpkg-deb -x $src pkg dpkg-deb -x $src pkg
sourceRoot=pkg sourceRoot=pkg
''; '';
installPhase = let installPhase = ''
lib = p: stdenv.lib.makeLibraryPath [ p ];
in ''
mkdir -p $out/bin mkdir -p $out/bin
cp usr/bin/rescuetime $out/bin cp usr/bin/rescuetime $out/bin
${patchelf}/bin/patchelf \ ${patchelf}/bin/patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lib.makeLibraryPath [ qt4 libXtst libXext libX11 libXScrnSaver ]}" \
$out/bin/rescuetime $out/bin/rescuetime
wrapProgram $out/bin/rescuetime \
--prefix LD_PRELOAD : ${lib qt4}/libQtGui.so.4:${lib qt4}/libQtCore.so.4:${lib libXtst}/libXtst.so.6:${lib libXext}/libXext.so.6:${lib libX11}/libX11.so.6:${lib libXScrnSaver}/libXss.so.1
''; '';
meta = with lib; { meta = with lib; {
description = "Helps you understand your daily habits so you can focus and be more productive"; description = "Helps you understand your daily habits so you can focus and be more productive";

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, makeWrapper, pkgconfig, qmake { stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, makeWrapper, pkgconfig, qmake
, curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib , curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib
, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit , qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite
}: }:
let let
@ -32,24 +32,25 @@ let
googlemaps = stdenv.mkDerivation rec { googlemaps = stdenv.mkDerivation rec {
name = "googlemaps-${version}"; name = "googlemaps-${version}";
version = "2017-09-17"; version = "2017-12-18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vladest"; owner = "vladest";
repo = "googlemaps"; repo = "googlemaps";
rev = "1b857c02504dd52b1aa442418b8dcea78ced3f35"; rev = "79f3511d60dc9640de02a5f24656094c8982b26d";
sha256 = "14icmc925g4abwwdrldjc387aiyvcp3ia5z7mfh9qa09bv829a84"; sha256 = "11334w0bnfb97sv23vvj2b5hcwvr0171hxldn91jms9y12l5j15d";
}; };
nativeBuildInputs = [ qmake ]; nativeBuildInputs = [ qmake ];
buildInputs = [ qtbase qtlocation ]; buildInputs = [ qtbase qtlocation libXcomposite ];
pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins"; pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins";
installPhase = '' installPhase = ''
mkdir $out $(dirname ${pluginsSubdir}) mkdir -p $out $(dirname ${pluginsSubdir})
mv plugins ${pluginsSubdir} mkdir -p ${pluginsSubdir}
mv *.so ${pluginsSubdir}
mv lib $out/ mv lib $out/
''; '';

View File

@ -32,7 +32,7 @@ pythonPackages.buildPythonApplication rec {
quadkonsole, etc. in that the main focus is arranging terminals in grids quadkonsole, etc. in that the main focus is arranging terminals in grids
(tabs is the most common default method, which Terminator also supports). (tabs is the most common default method, which Terminator also supports).
''; '';
homepage = http://gnometerminator.blogspot.no/p/introduction.html; homepage = https://gnometerminator.blogspot.no/p/introduction.html;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ bjornfor globin ]; maintainers = with maintainers; [ bjornfor globin ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A command-line time tracker"; description = "A command-line time tracker";
homepage = http://tasktools.org/projects/timewarrior.html; homepage = https://tasktools.org/projects/timewarrior.html;
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ matthiasbeyer ]; maintainers = with maintainers; [ matthiasbeyer ];
platforms = platforms.linux; platforms = platforms.linux;

View File

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, pythonPackages }: { stdenv, fetchFromGitHub, python3Packages }:
pythonPackages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
version = "0.15.0"; version = "0.16.2";
name = "toot-${version}"; name = "toot-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ihabunek"; owner = "ihabunek";
repo = "toot"; repo = "toot";
rev = "${version}"; rev = "${version}";
sha256 = "08k913gw0ip2q686z9k63bcn1n5s4w6b7jj6jmmamm427xmibkph"; sha256 = "19n6rmm44y24zvkpk56vd2xmx49sn6wc5qayi1jm83jlnlbbwfh7";
}; };
checkInputs = with pythonPackages; [ pytest ]; checkInputs = with python3Packages; [ pytest ];
propagatedBuildInputs = with pythonPackages; propagatedBuildInputs = with python3Packages;
[ requests beautifulsoup4 future ]; [ requests beautifulsoup4 future ];
checkPhase = '' checkPhase = ''

View File

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Extract URLs from text"; description = "Extract URLs from text";
homepage = http://packages.qa.debian.org/u/urlview.html; homepage = https://packages.qa.debian.org/u/urlview.html;
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
platforms = with stdenv.lib.platforms; linux ++ darwin; platforms = with stdenv.lib.platforms; linux ++ darwin;
}; };

View File

@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ raskin garbas ]; maintainers = with maintainers; [ raskin garbas ];
platforms = platforms.linux; platforms = platforms.linux;
license = licenses.gpl2; license = licenses.gpl2;
downloadPage = "http://vifm.info/downloads.shtml"; downloadPage = "https://vifm.info/downloads.shtml";
homepage = http://vifm.info/; homepage = https://vifm.info/;
inherit version; inherit version;
updateWalker = true; updateWalker = true;
}; };

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Prints or set the window manager name property of the root window"; description = "Prints or set the window manager name property of the root window";
homepage = http://tools.suckless.org/wmname; homepage = https://tools.suckless.org/wmname;
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
}; };

View File

@ -1,5 +1,5 @@
# This program used to come with xorg releases, but now I could only find it # This program used to come with xorg releases, but now I could only find it
# at http://www.x.org/releases/individual/. # at https://www.x.org/releases/individual/.
# That is why this expression is not inside pkgs.xorg # That is why this expression is not inside pkgs.xorg
{stdenv, fetchurl, makeWrapper, libX11, pkgconfig, libXaw}: {stdenv, fetchurl, makeWrapper, libX11, pkgconfig, libXaw}:
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
''; '';
meta = { meta = {
homepage = http://www.x.org/; homepage = https://www.x.org/;
description = "Allows testing the fonts available in an X server"; description = "Allows testing the fonts available in an X server";
license = stdenv.lib.licenses.free; license = stdenv.lib.licenses.free;
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with stdenv.lib.maintainers; [viric];

View File

@ -0,0 +1,25 @@
{ stdenv, fetchFromGitHub, libX11 }:
stdenv.mkDerivation rec {
name = "xkbmon-${version}";
version = "0.1";
src = fetchFromGitHub {
owner = "xkbmon";
repo = "xkbmon";
rev = version;
sha256 = "1smyqsd9cpbzqaplm221a8mq0nham6rg6hjsm9g5gph94xmk6d67";
};
buildInputs = [ libX11 ];
installPhase = "install -D -t $out/bin xkbmon";
meta = with stdenv.lib; {
homepage = https://github.com/xkbmon/xkbmon;
description = "Command-line keyboard layout monitor for X11";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.romildo ];
};
}

View File

@ -3,11 +3,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xterm-330"; name = "xterm-331";
src = fetchurl { src = fetchurl {
url = "http://invisible-mirror.net/archives/xterm/${name}.tgz"; urls = [
sha256 = "1psnfmqd23v9gxj8a98nzrgvymrk0p1whwqi92gy15bbkzrgkvks"; "ftp://ftp.invisible-island.net/xterm/${name}.tgz"
"https://invisible-mirror.net/archives/xterm/${name}.tgz"
];
sha256 = "047gk58hvj64974sg259ss5gixj7pac6halmjfz4cc6r1yimds4s";
}; };
buildInputs = buildInputs =
@ -56,7 +59,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
homepage = http://invisible-island.net/xterm; homepage = http://invisible-island.net/xterm;
license = "BSD"; license = with stdenv.lib.licenses; [ mit ];
maintainers = with stdenv.lib.maintainers; [viric vrthra]; maintainers = with stdenv.lib.maintainers; [viric vrthra];
platforms = with stdenv.lib.platforms; linux ++ darwin; platforms = with stdenv.lib.platforms; linux ++ darwin;
}; };

View File

@ -16,7 +16,7 @@ in symlinkJoin {
''; '';
meta = with lib; { meta = with lib; {
homepage = http://pwmt.org/projects/zathura/; homepage = https://pwmt.org/projects/zathura/;
description = "A highly customizable and functional PDF viewer"; description = "A highly customizable and functional PDF viewer";
longDescription = '' longDescription = ''
Zathura is a highly customizable and functional PDF viewer based on the Zathura is a highly customizable and functional PDF viewer based on the

View File

@ -6,10 +6,10 @@ rec {
firefox = common rec { firefox = common rec {
pname = "firefox"; pname = "firefox";
version = "57.0.3"; version = "57.0.4";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "1f887ab6bb16ef69bce56b689e761b3e09fc106b4bee7842be2c8e7eac05981f9922e9c3a8bd22b4935545cbbc10bf0a0c79df7800cd3c80fd4137070c9bfd09"; sha512 = "58846037aebbf14b85e6b3a46dbe617c780c6916e437ea4ee32a2502a6b55e3689921a0be28b920dedf2f966195df04ac8e45411caeb2601a168ec08b4827cf0";
}; };
patches = patches =

View File

@ -12,7 +12,10 @@ stdenv.mkDerivation rec {
version = "2.8.9dev.16"; version = "2.8.9dev.16";
src = fetchurl { src = fetchurl {
url = "http://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2"; urls = [
"ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2"
"https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2"
];
sha256 = "1j0vx871ghkm7fgrafnvd2ml3ywcl8d3gyhq02fhfb851c88lc84"; sha256 = "1j0vx871ghkm7fgrafnvd2ml3ywcl8d3gyhq02fhfb851c88lc84";
}; };

View File

@ -1,37 +1,36 @@
{ stdenv, lib, fetchurl, unzip, buildPythonApplication, makeWrapper, wrapGAppsHook { stdenv, lib, fetchurl, fetchzip, python3Packages
, qtbase, pyqt5, jinja2, pygments, pyyaml, pypeg2, pyopengl, cssutils, glib_networking , makeWrapper, wrapGAppsHook, qtbase, glib_networking
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2
, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav , libxslt, gst_all_1 ? null
, qtwebkit-plugins ? null , withPdfReader ? true
, attrs , withMediaPlayback ? true
, withWebEngineDefault ? true , withWebEngineDefault ? true
}: }:
assert (! withWebEngineDefault) -> qtwebkit-plugins != null; assert withMediaPlayback -> gst_all_1 != null;
let let
pdfjs = stdenv.mkDerivation rec { pdfjs = stdenv.mkDerivation rec {
name = "pdfjs-${version}"; name = "pdfjs-${version}";
version = "1.7.225"; version = "1.7.225";
src = fetchurl { src = fetchzip {
url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip"; url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
sha256 = "1n8ylmv60r0qbw2vilp640a87l4lgnrsi15z3iihcs6dj1n1yy67"; sha256 = "0bsmbz7bbh0zpd70dlhss4fjdw7zq356091wld9s7kxnb2rixqd8";
stripRoot = false;
}; };
nativeBuildInputs = [ unzip ];
buildCommand = '' buildCommand = ''
mkdir $out mkdir $out
unzip -d $out $src cp -r $src $out
''; '';
}; };
in buildPythonApplication rec { in python3Packages.buildPythonApplication rec {
name = "qutebrowser-${version}${fix_postfix}"; name = "qutebrowser-${version}${versionPostfix}";
fix_postfix = "";
version = "1.0.4";
namePrefix = ""; namePrefix = "";
version = "1.0.4";
versionPostfix = "";
src = fetchurl { src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz"; url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
@ -43,21 +42,25 @@ in buildPythonApplication rec {
buildInputs = [ buildInputs = [
qtbase qtbase
gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
glib_networking glib_networking
] ] ++ lib.optionals withMediaPlayback (with gst_all_1; [
++ lib.optional (! withWebEngineDefault) qtwebkit-plugins; gst-plugins-base gst-plugins-good
gst-plugins-bad gst-plugins-ugly gst-libav
]) ++ lib.optional (!withWebEngineDefault) python3Packages.qtwebkit-plugins;
nativeBuildInputs = [ nativeBuildInputs = [
makeWrapper wrapGAppsHook asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt makeWrapper wrapGAppsHook asciidoc
docbook_xml_dtd_45 docbook_xsl libxml2 libxslt
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = with python3Packages; [
pyyaml pyqt5 jinja2 pygments pypeg2 cssutils pyopengl attrs pyyaml pyqt5 jinja2 pygments
pypeg2 cssutils pyopengl attrs
]; ];
postPatch = '' postPatch = ''
sed -i "s,/usr/share/qutebrowser,$out/share/qutebrowser,g" qutebrowser/utils/standarddir.py sed -i "s,/usr/share/qutebrowser,$out/share/qutebrowser,g" qutebrowser/utils/standarddir.py
'' + lib.optionalString withPdfReader ''
sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py
''; '';

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
editor and also easily configurable during runtime. Vimb is mostly editor and also easily configurable during runtime. Vimb is mostly
keyboard driven and does not detract you from your daily work. keyboard driven and does not detract you from your daily work.
''; '';
homepage = http://fanglingsu.github.io/vimb/; homepage = https://fanglingsu.github.io/vimb/;
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.rickynils ]; maintainers = [ stdenv.lib.maintainers.rickynils ];
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; linux;

View File

@ -0,0 +1,37 @@
{ stdenv, fetchurl, stfl, sqlite, curl, gettext, pkgconfig, libxml2, json_c, ncurses
, asciidoc, docbook_xml_dtd_45, libxslt, docbook_xml_xslt, makeWrapper }:
stdenv.mkDerivation rec {
name = "newsboat-${version}";
version = "2.10.2";
src = fetchurl {
url = "https://newsboat.org/releases/${version}/${name}.tar.xz";
sha256 = "1x4nxx1kvmrcm8jy73dvg56h4z15y3sach2vr13cw8rsbi7v99px";
};
prePatch = ''
substituteInPlace Makefile --replace "|| true" ""
'';
nativeBuildInputs = [ pkgconfig asciidoc docbook_xml_dtd_45 libxslt docbook_xml_xslt ]
++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
buildInputs = [ stfl sqlite curl gettext libxml2 json_c ncurses ];
installFlags = [ "DESTDIR=$(out)" "prefix=" ];
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
for prog in $out/bin/*; do
wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${stfl}/lib"
done
'';
meta = with stdenv.lib; {
homepage = https://newsboat.org/;
description = "A fork of Newsbeuter, an RSS/Atom feed reader for the text console.";
maintainers = with maintainers; [ dotlambda ];
license = licenses.mit;
platforms = platforms.unix;
};
}

Some files were not shown because too many files have changed in this diff Show More