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
a copy of this software and associated documentation files (the

View File

@ -130,6 +130,6 @@ rec {
(name: value:
"${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;
};
inria-icesl = {
fullName = "INRIA Non-Commercial License Agreement for IceSL";
url = "http://shapeforge.loria.fr/icesl/EULA_IceSL_binary.pdf";
free = false;
};
ipa = spdx {
spdxId = "IPA";
fullName = "IPA Font License";

View File

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

View File

@ -1,5 +1,5 @@
#! /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
# 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_secret_access_key => $aws_secret_access_key,
retry => 1,
host => "s3-eu-west-1.amazonaws.com",
});
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
image to CD and booting from that is probably the easiest option.
Most people will need to prepare a USB stick to boot from.
Unetbootin is recommended and the process is described in brief below.
Note that systems which use UEFI require some additional manual steps.
If you run into difficulty a number of alternative methods are presented
in the <link
xlink:href="https://nixos.org/wiki/Installing_NixOS_from_a_USB_stick">NixOS
<xref linkend="sec-booting-from-usb"/> describes the preferred method
to prepare a USB stick.
A number of alternative methods are presented in the <link
xlink:href="https://nixos.wiki/wiki/NixOS_Installation_Guide#Making_the_installation_media">NixOS
Wiki</link>.</para>
<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.
</para>
</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>
</section>
@ -181,6 +189,51 @@ following incompatible changes:</para>
corrupted blocks.
</para>
</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>
</section>

View File

@ -362,8 +362,8 @@ sub mustFail {
sub getUnitInfo {
my ($self, $unit) = @_;
my ($status, $lines) = $self->execute("systemctl --no-pager show '$unit'");
my ($self, $unit, $user) = @_;
my ($status, $lines) = $self->systemctl("--no-pager show \"$unit\"", $user);
return undef if $status != 0;
my $info = {};
foreach my $line (split '\n', $lines) {
@ -373,6 +373,16 @@ sub getUnitInfo {
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.
sub requireActiveUnit {
my ($self, $unit) = @_;
@ -387,16 +397,16 @@ sub requireActiveUnit {
# Wait for a systemd unit to reach the "active" state.
sub waitForUnit {
my ($self, $unit) = @_;
my ($self, $unit, $user) = @_;
$self->nest("waiting for unit $unit", sub {
retry sub {
my $info = $self->getUnitInfo($unit);
my $info = $self->getUnitInfo($unit, $user);
my $state = $info->{ActiveState};
die "unit $unit reached state $state\n" if $state eq "failed";
if ($state eq "inactive") {
# If there are no pending jobs, then assume this unit
# 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
# Handle the case where the unit may have started
# between the previous getUnitInfo() and
@ -430,14 +440,14 @@ sub waitForFile {
}
sub startJob {
my ($self, $jobName) = @_;
$self->execute("systemctl start $jobName");
my ($self, $jobName, $user) = @_;
$self->systemctl("start $jobName", $user);
# FIXME: check result
}
sub stopJob {
my ($self, $jobName) = @_;
$self->execute("systemctl stop $jobName");
my ($self, $jobName, $user) = @_;
$self->systemctl("stop $jobName", $user);
}

View File

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

View File

@ -260,6 +260,8 @@
./services/logging/rsyslogd.nix
./services/logging/syslog-ng.nix
./services/logging/syslogd.nix
./services/mail/clamsmtp.nix
./services/mail/dkimproxy-out.nix
./services/mail/dovecot.nix
./services/mail/dspam.nix
./services/mail/exim.nix
@ -679,6 +681,7 @@
./system/activation/top-level.nix
./system/boot/coredump.nix
./system/boot/emergency-mode.nix
./system/boot/grow-partition.nix
./system/boot/initrd-network.nix
./system/boot/initrd-ssh.nix
./system/boot/kernel.nix
@ -745,6 +748,7 @@
./virtualisation/lxcfs.nix
./virtualisation/lxd.nix
./virtualisation/amazon-options.nix
./virtualisation/hyperv-guest.nix
./virtualisation/openvswitch.nix
./virtualisation/parallels-guest.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" "renderMonoTTFAsBitmap" ] [ "config" "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
# Profile splitting
(mkRenamedOptionModule [ "virtualization" "growPartition" ] [ "boot" "growPartition" ])
# Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "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 {
type = types.nullOr types.lines;
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
# earlier point and it will run again with 'sufficient' further down.
# 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
${optionalString config.security.pam.enableEcryptfs
"auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
@ -282,6 +293,8 @@ let
${optionalString cfg.enableKwallet
("auth optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" +
" 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
"auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth try_first_pass"}
@ -351,6 +364,8 @@ let
${optionalString (cfg.enableKwallet)
("session optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" +
" 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)
"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}"
meta-data="${cfg.meta-data}"
build-path="${cfg.dataDir}/builds"
hooks-path="${cfg.hooks-path}"
hooks-path="${cfg.hooksPath}"
bootstrap-script="${pkgs.buildkite-agent}/share/bootstrap.sh"
EOF
'';

View File

@ -40,11 +40,7 @@ in
description = "The port to bind to";
};
socket = mkOption {
default = "";
description = "Unix socket path to listen on. Setting this will disable network support";
example = "/var/run/memcached";
};
enableUnixSocket = mkEnableOption "unix socket at /run/memcached/memcached.sock";
maxMemory = mkOption {
default = 64;
@ -68,31 +64,40 @@ in
config = mkIf config.services.memcached.enable {
users.extraUsers.memcached =
{ name = cfg.user;
uid = config.ids.uids.memcached;
description = "Memcached server user";
};
users.extraUsers = optional (cfg.user == "memcached") {
name = "memcached";
description = "Memcached server user";
};
environment.systemPackages = [ memcached ];
systemd.services.memcached =
{ description = "Memcached server";
systemd.services.memcached = {
description = "Memcached server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecStart =
let
networking = if cfg.socket != ""
then "-s ${cfg.socket}"
else "-l ${cfg.listen} -p ${toString cfg.port}";
in "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${concatStringsSep " " cfg.extraOptions}";
serviceConfig = {
PermissionsStartOnly = true;
ExecStartPre = optionals cfg.enableUnixSocket [
"${pkgs.coreutils}/bin/install -d -o ${cfg.user} /run/memcached/"
"${pkgs.coreutils}/bin/chown -R ${cfg.user} /run/memcached/"
];
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 =
{ name = cfg.user;
uid = config.ids.uids.redis;
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}
otp_key_base: ${cfg.secrets.otp}
db_key_base: ${cfg.secrets.db}
jws_private_key: ${builtins.toJSON cfg.secrets.jws}
openid_connect_signing_key: ${builtins.toJSON cfg.secrets.jws}
'';
gitlabConfig = {

View File

@ -24,6 +24,7 @@ in
description = "lldpd user";
group = "_lldpd";
home = "/var/run/lldpd";
isSystemUser = true;
};
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 -F nixos-nat-post 2>/dev/null || true
iptables -w -t nat -X nixos-nat-post 2>/dev/null || true
${cfg.extraStopCommands}
'';
setupNat = ''
@ -59,6 +61,8 @@ let
--to-destination ${cfg.dmzHost}
''}
${cfg.extraCommands}
# Append our chains to the nat tables
iptables -w -t nat -A PREROUTING -j nixos-nat-pre
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 "deny" cfg.deny)
# see man 5 fcron.conf
{ source = 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 = /run/wrappers/bin/sendmail
editor = ${pkgs.vim}/bin/vim
'';
{ source =
let
isSendmailWrapped =
lib.hasAttr "sendmail" config.security.wrappers;
sendmailPath =
if isSendmailWrapped then "/run/wrappers/bin/sendmail"
else "${config.system.path}/bin/sendmail";
in
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";
gid = config.ids.gids.fcron;
mode = "0644";

View File

@ -99,8 +99,8 @@ let
user = mkOption {
type = types.str;
default = "nginx";
example = "nginx";
default = "tt_rss";
example = "tt_rss";
description = ''
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) {
"${cfg.virtualHost}" = {
root = "${cfg.root}";
services.nginx = {
enable = true;
# NOTE: No configuration is done if not using virtual host
virtualHosts = mkIf (cfg.virtualHost != null) {
"${cfg.virtualHost}" = {
root = "${cfg.root}";
locations."/" = {
index = "index.php";
};
locations."/" = {
index = "index.php";
};
locations."~ \.php$" = {
extraConfig = ''
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${phpfpmSocketName};
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME ${cfg.root}/$fastcgi_script_name;
'';
locations."~ \.php$" = {
extraConfig = ''
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${phpfpmSocketName};
fastcgi_index index.php;
'';
};
};
};
};
systemd.services.tt-rss = let
dbService = if cfg.database.type == "pgsql" then "postgresql.service" else "mysql.service";
in {
@ -496,7 +498,7 @@ let
callSql = e:
if cfg.database.type == "pgsql" then ''
${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} \
${optionalString (cfg.database.host != null) "-h ${cfg.database.host} --port ${toString dbPort}"} \
-c '${e}' \
@ -521,6 +523,14 @@ let
''
+ (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"} \
| tail -n+3 | head -n-2 | sed -e 's/[ \n\t]*//')
@ -554,5 +564,28 @@ let
requires = ["${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}
icon-theme-name = ${cfg.iconTheme.name}
background = ${ldmcfg.background}
${optionalString (cfg.clock-format != null) "clock-format = ${cfg.clock-format}"}
${optionalString (cfg.indicators != null) "indicators = ${concatStringsSep ";" cfg.indicators}"}
${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 {
type = types.lines;
default = "";

View File

@ -6,7 +6,11 @@ let
cfg = config.services.xserver.windowManager.awesome;
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
{
@ -46,10 +50,7 @@ in
{ name = "awesome";
start =
''
export LUA_CPATH="${lib.concatStringsSep ";" (map getLuaCPath cfg.luaModules)}"
export LUA_PATH="${lib.concatStringsSep ";" (map getLuaPath cfg.luaModules)}"
${awesome}/bin/awesome &
${awesome}/bin/awesome ${makeSearchPath cfg.luaModules} &
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
{
imports = [ ../profiles/headless.nix ./ec2-data.nix ./grow-partition.nix ./amazon-init.nix ];
imports = [ ../profiles/headless.nix ./ec2-data.nix ./amazon-init.nix ];
config = {
@ -21,7 +21,7 @@ let cfg = config.ec2; in
}
];
virtualisation.growPartition = cfg.hvm;
boot.growPartition = cfg.hvm;
fileSystems."/" = {
device = "/dev/disk/by-label/nixos";

View File

@ -6,7 +6,7 @@ let
gce = pkgs.google-compute-engine;
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 {
name = "google-compute-image";
@ -29,6 +29,7 @@ in
autoResize = true;
};
boot.growPartition = true;
boot.kernelParams = [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
boot.initrd.kernelModules = [ "virtio_scsi" ];
boot.kernelModules = [ "virtio_pci" "virtio_net" ];

View File

@ -1,48 +1,3 @@
# This module automatically grows the root partition on virtual machines.
# This allows an instance to be created with a bigger root filesystem
# 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
'';
};
}
# This profile is deprecated, use boot.growPartition directly.
builtins.trace "the profile <nixos/modules/virtualisation/grow-partition.nix> is deprecated, use boot.growPartition instead"
{ }

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

View File

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

View File

@ -2,20 +2,19 @@
, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent
, withGui }:
let libsnark = callPackage ./libsnark { inherit boost openssl; };
librustzcash = callPackage ./librustzcash {};
let librustzcash = callPackage ./librustzcash {};
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "zcash" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.0.12";
version = "1.0.13";
src = fetchFromGitHub {
owner = "zcash";
repo = "zcash";
rev = "v${version}";
sha256 = "19bxhdnkvgncgl9x6nbaf5nwgrdfw99icvdbi9adfh646pd5z64s";
sha256 = "05y7wxs66anxr5akbf05r36mmjfzqpwawn6vyh3jhpva51hzzzyz";
};
# Dependencies are underspecified: "make -C src gtest/zcash_gtest-test_merkletree.o"
@ -23,17 +22,15 @@ stdenv.mkDerivation rec {
enableParallelBuilding = false;
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 ]
++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "LIBSNARK_INCDIR=${libsnark}/include/libsnark"
"--with-boost-libdir=${boost.out}/lib"
configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
] ++ optionals withGui [ "--with-gui=qt4" ];
patchPhase = ''
sed -i"" '/^\[LIBSNARK_INCDIR/d' configure.ac
sed -i"" 's,-lboost_system-mt,-lboost_system,' configure.ac
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
, glib, gtk2, harfbuzz, jdk, lib, libX11, libXau, libXcursor, libXdmcp
, libXext, libXfixes, libXrender, libbsd, libjack2, libpng, libxcb
, libxkbcommon, libxkbfile, makeWrapper, pixman, xcbutil, xcbutilwm
{ stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, freetype, gdk_pixbuf
, glib, gtk2, harfbuzz, jdk, lib, xorg
, libbsd, libjack2, libpng
, libxkbcommon
, makeWrapper, pixman
, xdg_utils, zenity, zlib }:
stdenv.mkDerivation rec {
name = "bitwig-studio-${version}";
version = "2.2.2";
version = "1.3.16";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
sha256 = "1x4wka32xlygmhdh9rb15s37zh5qjrgap2qk35y34c52lf5aak22";
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
sha256 = "0n0fxh9gnmilwskjcayvjsjfcs3fz9hn00wh7b3gg0cv3qqhich8";
};
nativeBuildInputs = [ dpkg makeWrapper ];
unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root";
dontBuild = true;
dontBuild = true;
dontPatchELF = true;
dontStrip = true;
dontStrip = true;
libPath = lib.makeLibraryPath [
alsaLib bzip2.out cairo freetype gdk_pixbuf glib gtk2 harfbuzz
libX11 libXau libXcursor libXdmcp libXext libXfixes libXrender
libbsd libjack2 libpng libxcb libxkbfile pixman xcbutil xcbutilwm
zlib
libPath = with xorg; lib.makeLibraryPath [
alsaLib bzip2.out cairo freetype gdk_pixbuf glib gtk2 harfbuzz libX11 libXau
libXcursor libXdmcp libXext libXfixes libXrender libbsd libjack2 libpng libxcb
libxkbfile pixman xcbutil xcbutilwm zlib
];
binPath = lib.makeBinPath [
ffmpeg xdg_utils zenity
xdg_utils zenity
];
installPhase = ''
@ -95,6 +95,6 @@ stdenv.mkDerivation rec {
homepage = http://www.bitwig.com/;
license = licenses.unfree;
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 {
name = "jack_capture-${version}";
version = "0.9.69";
version = "0.9.73";
src = fetchurl {
url = "http://archive.notam02.no/arkiv/src/${name}.tar.gz";
sha256 = "0sk7b92my1v1g7rhkpl1c608rb0rdb28m9zqfll95kflxajd16zv";
sha256 = "1pji0zdwm3kxjrkbzj7fnxhr8ncrc8pyqnwyrh47fhypgqjv1br1";
};
nativeBuildInputs = [ pkgconfig ];

View File

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

View File

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

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
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;
maintainers = with maintainers; [ algorith ];
platforms = with platforms; linux ++ darwin;

View File

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

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
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;
platforms = platforms.all;
maintainers = with maintainers; [ fpletz ];

View File

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

View File

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

View File

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

View File

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

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
homepage = http://launchpad.net/lightdm-gtk-greeter;
homepage = https://launchpad.net/lightdm-gtk-greeter;
platforms = platforms.linux;
license = licenses.gpl3;
maintainers = with maintainers; [ ocharles wkennington ];

View File

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

View File

@ -2,11 +2,11 @@
melpaBuild {
pname = "font-lock-plus";
version = "20170222.1755";
version = "20180101.25";
src = fetchurl {
url = "https://www.emacswiki.org/emacs/download/font-lock+.el";
sha256 = "0iajkgh0n3pbrwwxx9rmrrwz8dw2m7jsp4mggnhq7zsb20ighs30";
url = "https://www.emacswiki.org/emacs/download/font-lock%2b.el?revision=25";
sha256 = "0197yzn4hbjmw5h3m08264b7zymw63pdafph5f3yzfm50q8p7kp4";
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 }:
melpaBuild {
pname = "cider";
version = "0.15.1";
version = "0.16.0";
src = fetchFromGitHub {
owner = "clojure-emacs";
repo = "cider";
rev = "8a9eab32646abcaaf31fe83b2d897c01971b98f1";
sha256 = "0ddkm87l9ann05a6j57r0x59qqgfavwrvlzhkc5xhak1nmk5556h";
rev = "74f7901b416efbd032bb4f8b5c25f57fdf731115";
sha256 = "0n2b6q8r2gzr3ghyvg5sawir47rk7jmsslvxx6by27bn77h4nzil";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider";
@ -7190,6 +7190,27 @@
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 }:
melpaBuild {
pname = "dionysos";
@ -7809,12 +7830,12 @@
doom-themes = callPackage ({ all-the-icons, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "doom-themes";
version = "2.0.9";
version = "2.1.0";
src = fetchFromGitHub {
owner = "hlissner";
repo = "emacs-doom-themes";
rev = "8ff86e456b22ab4c28605c44e544b3ef0b4b4637";
sha256 = "0zfr6487hvn08dc9hhwf2snhd3ds4kfaglribxddx38dhd87hk73";
rev = "bc747b3b65baf737f99dc4ccf68558581958bbba";
sha256 = "0j5aywwh8cw0bb55frrpmyfmbzg6d6jv29ys61p1xf49gvki870m";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes";
@ -8270,12 +8291,12 @@
easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "easy-hugo";
version = "2.7.19";
version = "2.8.20";
src = fetchFromGitHub {
owner = "masasam";
repo = "emacs-easy-hugo";
rev = "1a8c4286ac1d92114dbda9042ed831cc83175db9";
sha256 = "11vwzgy1dn4sj1yhnvvim6p9w3dl896azh3wlrmg8g6y6qfzblc7";
rev = "253d91cda8722fa69b8ee67b1802137863bc3d9a";
sha256 = "1i5hdm9xwajid7kzx6gq8lhx5w2aihvb0ka5h2s88zb1xnnxss46";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@ -8291,12 +8312,12 @@
easy-jekyll = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "easy-jekyll";
version = "1.4.10";
version = "1.5.11";
src = fetchFromGitHub {
owner = "masasam";
repo = "emacs-easy-jekyll";
rev = "d5226405c035d0dd675cacfd514388c348a4559a";
sha256 = "1pmaa0ry1yd8d2pbn4srv5bf1hqss046zjl2p3ag1ag0qb35fh39";
rev = "4eac3993d9bbec9ddfe38b128fd3ed6670f526e2";
sha256 = "0ffspw6xavfbk0klqjp8va7ybvsdcxlw1qmqhi6paqam90m6vazz";
};
recipeFile = fetchurl {
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 }:
melpaBuild {
pname = "flycheck-objc-clang";
version = "2.0.0";
version = "2.0.1";
src = fetchFromGitHub {
owner = "GyazSquare";
repo = "flycheck-objc-clang";
rev = "29a9eb320d62400564360986f7ad400b74070d8e";
sha256 = "0b4vwbxzhds9vb4nknfdywvfpr1gkk86vsbbq6f5ds0pfk75x022";
rev = "07f17d1dbe878fdcabac791a8916ddf643571a68";
sha256 = "03624xn6g1ybcjw634c7nd5s2yllwfffk2gzn5hm70vfz06q7wb9";
};
recipeFile = fetchurl {
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 }:
melpaBuild {
pname = "flycheck-swift3";
version = "2.0.0";
version = "2.0.1";
src = fetchFromGitHub {
owner = "GyazSquare";
repo = "flycheck-swift3";
rev = "756833425f51baa9eb0a2fa7493df6e68612c88d";
sha256 = "1hvrg717q0nlz4r8wby82gs3vdx8fdhf38rg4j77j3fqfmxdd3fi";
rev = "34973cd28ca5e63f8f6328a17fd7b78cc913b93d";
sha256 = "1iy6j05dzpi7pi87y6rpjzmlnl2s9izqpbzknis2kx9072qddm3q";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3";
@ -14038,12 +14059,12 @@
fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "fountain-mode";
version = "2.3.1";
version = "2.4.0";
src = fetchFromGitHub {
owner = "rnkn";
repo = "fountain-mode";
rev = "5c63d2f199e96bdf8fd60d375b2b6e305a5f9017";
sha256 = "0vxizl4pr0668b1d94wrl42li2709srvnn5likn8lskv2mv0bnvn";
rev = "3f953ae30ad55bbbbb80aa0350992e79f4b00f56";
sha256 = "1zksjvpvhbr79fg281yhx8k419q9kd4jpi47i9943cs0m088ykyn";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode";
@ -15765,6 +15786,27 @@
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 }:
melpaBuild {
pname = "godoctor";
@ -15936,12 +15978,12 @@
goto-chg = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "goto-chg";
version = "1.7";
version = "1.7.1";
src = fetchFromGitHub {
owner = "emacs-evil";
repo = "goto-chg";
rev = "171b1331022caf12d8c3593e9b5075f87ee958d4";
sha256 = "1jcnrin4j1x8p63fd9r37dq1vr5a7a1nvzk6kp0bdsgn9vbjmapc";
rev = "6cb244922b733358fd6985b36c4b87ef2e177293";
sha256 = "0miscmk5gg7mqqwjb5mlrkbpsx4pny2w3rpr90f7yiv30rf83b5j";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/cf1fc176430fe3ab55ce537a0efc59780bb812be/recipes/goto-chg";
@ -16104,12 +16146,12 @@
grails-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "grails-mode";
version = "1.0.2";
version = "2.0";
src = fetchFromGitHub {
owner = "Groovy-Emacs-Modes";
repo = "groovy-emacs-modes";
rev = "f8e9628916d4d41e1816b53d02f0b5a00c499555";
sha256 = "1myb15n207yl2cgacmn105r1xbjq076paq6anvw53smy3fhw9sh9";
rev = "d7b362e6186d263ec3eefc141dbb5b27a8773f24";
sha256 = "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/grails-mode";
@ -16383,22 +16425,22 @@
license = lib.licenses.free;
};
}) {};
groovy-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
groovy-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
melpaBuild {
pname = "groovy-mode";
version = "1.0.2";
version = "2.0";
src = fetchFromGitHub {
owner = "Groovy-Emacs-Modes";
repo = "groovy-emacs-modes";
rev = "f8e9628916d4d41e1816b53d02f0b5a00c499555";
sha256 = "1myb15n207yl2cgacmn105r1xbjq076paq6anvw53smy3fhw9sh9";
rev = "d7b362e6186d263ec3eefc141dbb5b27a8773f24";
sha256 = "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/groovy-mode";
sha256 = "1pxw7rdn56klmr6kw21lhzh7zhp338gyf54ypsml64ibzr1x9kal";
name = "groovy-mode";
};
packageRequires = [];
packageRequires = [ emacs s ];
meta = {
homepage = "https://melpa.org/#/groovy-mode";
license = lib.licenses.free;
@ -16533,12 +16575,12 @@
guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
melpaBuild {
pname = "guix";
version = "0.3.3";
version = "0.3.4";
src = fetchFromGitHub {
owner = "alezost";
repo = "guix.el";
rev = "54bd174b514c5de11e82c4263ac2723addb0fe87";
sha256 = "1i5kwzwlb6lx65rgixm8mbdi6x03n0hb4hbc7j76lar4j58ypwz2";
rev = "a43828f6e5d6dc4e623a4b78e0dfdddbf5b20185";
sha256 = "0c19njb5cg6g3fav9322hkbl4h9zwcbymhc5wr0k9yqi7pv8gz0v";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix";
@ -21002,12 +21044,12 @@
js-auto-format-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "js-auto-format-mode";
version = "1.0.4";
version = "1.0.5";
src = fetchFromGitHub {
owner = "ybiquitous";
repo = "js-auto-format-mode";
rev = "cad63f1760e765298cc91e3503ac46c8771da4be";
sha256 = "1pg4ghfi0fzmnwrw3y4z3gy031psxvzjydwm4jbdrm33ais7919g";
rev = "7872e6f1d8280830c70cae8f1e3edb8049aba295";
sha256 = "0a9rbs0pjx953rbblmia9jznxykz5qa9q5wzkj341z6vfq9rq3rf";
};
recipeFile = fetchurl {
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 }:
melpaBuild {
pname = "meghanada";
version = "0.8.4";
version = "0.9.0";
src = fetchFromGitHub {
owner = "mopemope";
repo = "meghanada-emacs";
rev = "555b8b9ea8ef56dda645ea605b38501cb4222b12";
sha256 = "1z3vvasah4gq6byq4ibkihy5mbch5zzxnn0gy86jldapwi1z74sq";
rev = "98ad6a5361c725319a355522d2d1ba0e0fbb7cde";
sha256 = "06iryz4dbldc9vxy67g977hih8r1bfvjld53lvwnjsc7r3x9i07q";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada";
@ -25364,11 +25406,11 @@
}) {};
notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
pname = "notmuch";
version = "0.25.3";
version = "0.26pre1";
src = fetchgit {
url = "git://git.notmuchmail.org/git/notmuch";
rev = "ae55a86639f86ad1b547e961f71b1bde2180752d";
sha256 = "0kq2j23381qr50zkvx68yciq1xag20fzidgy5jd69bd7z6gziq90";
rev = "1ed211d042d5f413731f812b5af7e82819a6e8ae";
sha256 = "140c3bhh24dy2cfsvgf9y7h02sjp6cjv8qam6kd8wjlrd3y9zd80";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@ -25633,6 +25675,27 @@
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 }:
melpaBuild {
pname = "ob-http";
@ -25654,6 +25717,27 @@
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 }:
melpaBuild {
pname = "ob-prolog";
@ -32959,12 +33043,12 @@
shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "shx";
version = "0.0.12";
version = "0.0.13";
src = fetchFromGitHub {
owner = "riscy";
repo = "shx-for-emacs";
rev = "aa45e7b586b1215ca1af05c14984ce872571b5f7";
sha256 = "0ya7vbp71vmvli35rwcwspbclss5ngr1ck9074i2gg1dzrqyxijn";
rev = "33383bd359d795df2d7ef725b5349c953f5a6aa8";
sha256 = "1arwsb6as8jpah0bs3b92a3kdnbfkhnsm1jglspfh4lqpafmx5vf";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@ -33817,6 +33901,27 @@
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 }:
melpaBuild {
pname = "sos";
@ -34743,12 +34848,12 @@
swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
melpaBuild {
pname = "swift-mode";
version = "4.0.0";
version = "4.0.1";
src = fetchFromGitHub {
owner = "chrisbarrett";
repo = "swift-mode";
rev = "18c3dc47dfece59640ad501266f2e47b918f2a14";
sha256 = "0qk962xzxm8si1h5p7vdnqw7xcaxdjxsaz1yad11pvn9l2b2zpzq";
rev = "8c45f69a078c41619a7a3db6d54a732c3fad8e3f";
sha256 = "1isy71vkws3ywm4iwa85dk12810az3h85n6bimd36dfqbhfwdrli";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode";
@ -38675,8 +38780,8 @@
version = "1.80";
src = fetchhg {
url = "https://www.yatex.org/hgrepos/yatex/";
rev = "16763e5b7481";
sha256 = "1mrcc9amz0kflm570bd2cprhin0z8lr668k2s56mj6shixb61dwh";
rev = "feef2aa1f50f";
sha256 = "0453y7a9lq28bmbrrcbsnsrwnhjphq4s4vcr9ncb5252m6fnwdyl";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e28710244a1bef8f56156fe1c271520896a9c694/recipes/yatex";

View File

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

View File

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

View File

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

View File

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

View File

@ -20,15 +20,13 @@ let
in stdenv.mkDerivation rec {
name = "nano-${version}";
version = "2.9.1";
version = "2.9.2";
src = fetchurl {
url = "mirror://gnu/nano/${name}.tar.xz";
sha256 = "0z5sxji8jh8sh0g3inbzndhsrbm4qyqlvjrxl5wkxbr61lnxa5k3";
sha256 = "0m9xm085pi0fhmmshgppipjimr1jkxksbyg8pa5cwaap3d2vgk2f";
};
patches = [ ./nano-2.9.1-darwin.patch ];
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
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;
{ description = "Set of integrated tools for the R language";
homepage = http://www.rstudio.com/;
homepage = https://www.rstudio.com/;
license = licenses.agpl3;
maintainers = with maintainers; [ ehmry changlinli ciil ];
platforms = platforms.linux;

View File

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

View File

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

View File

@ -14,8 +14,8 @@ let
else throw "ImageMagick is not supported on this platform.";
cfg = {
version = "7.0.7-14";
sha256 = "04hpc9i6fp09iy0xkidlfhfqr7zg45izqqj5fx93n3dxalq65xqw";
version = "7.0.7-19";
sha256 = "1naib6hspmq7d4gfpsksx78gc1lq3p2v3i9pxkkdvr9p9j15c4az";
patches = [];
};
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
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
, ApplicationServices
@ -14,8 +14,8 @@ let
else throw "ImageMagick is not supported on this platform.";
cfg = {
version = "6.9.9-26";
sha256 = "10rcq7b9hhz50m4yqnm4g3iai7lr9jkglb7sm49ycw59arrkmwnw";
version = "6.9.9-28";
sha256 = "132kdl7jlkghfg3smdab14c29cpvrx65ibipxkmwg1nc88ycqivh";
patches = [];
}
# 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}";
inherit (cfg) version;
src = fetchurl {
urls = [
"mirror://imagemagick/releases/ImageMagick-${version}.tar.xz"
# the original source above removes tarballs quickly
"http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
"https://bintray.com/homebrew/mirror/download_file?file_path=imagemagick-${version}.tar.xz"
];
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = cfg.version;
inherit (cfg) sha256;
};

View File

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

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = {
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;
platforms = stdenv.lib.platforms.linux;
};

View File

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

View File

@ -26,7 +26,7 @@ in
lib.optionals stdenv.isLinux [ "-DINSTALL_UDEV_RULES=ON" ];
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";
license = licenses.free;
platforms = with platforms; linux ++ darwin;

View File

@ -5,12 +5,12 @@
}:
stdenv.mkDerivation rec {
version = "3.12.0";
version = "3.14.0";
name = "calibre-${version}";
src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
sha256 = "0l7r5ny9a36yg22fqzz3as6wh1xqpa3hrlx2gy25yp649sbkd9vq";
sha256 = "1367jh82mhjjlvyd30mfz3qwscg60l0gimakvzpbkrah918kfk51";
};
patches = [

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "hugo-${version}";
version = "0.30.2";
version = "0.32.2";
goPackagePath = "github.com/gohugoio/hugo";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "gohugoio";
repo = "hugo";
rev = "v${version}";
sha256 = "12dii2d0pirkj264857d5y83bdllk1knk5sjf31v0m9c25fapci0";
sha256 = "0k62sg9rvr4aqzh1r60m456cw8mj6kxjpri2nnj4c2dxmvll8qhr";
};
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; {
description = "Simple, blog aware, static site generator";
homepage = http://jekyllrb.com/;
homepage = https://jekyllrb.com/;
license = licenses.mit;
maintainers = with maintainers; [ pesterhazy ];
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";
meta = with stdenv.lib; {
homepage = http://octoprint.org/;
homepage = https://octoprint.org/;
description = "The snappy web interface for your 3D printer";
license = licenses.agpl3;
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 {
name = "qtpass-${version}";
version = "1.1.6";
version = "1.2.1";
src = fetchFromGitHub {
owner = "IJHack";
repo = "QtPass";
rev = "v${version}";
sha256 = "0jq5a1cvqvsjwld0nldl6kmcz9g59hiccmbg98xwji04n8174y7j";
sha256 = "0pp38b3fifkfwqcb6vi194ccgb8j3zc8j8jq8ww5ib0wvhldzsg8";
};
patches = [ ./hidpi.patch ];
buildInputs = [ git gnupg pass qtbase qtsvg qttools ];
nativeBuildInputs = [ makeWrapper qmake ];
preConfigure = ''
qmakeFlags="$qmakeFlags DESTDIR=$out"
'';
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
postPatch = ''
substituteInPlace qtpass.pro --replace "SUBDIRS += src tests main" "SUBDIRS += src main"
substituteInPlace qtpass.pro --replace "main.depends = tests" "main.depends = src"
'';
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 \
--suffix PATH : ${git}/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; {
description = "Cross-platform open source Redis DB management tool";
homepage = http://redisdesktop.com/;
homepage = https://redisdesktop.com/;
license = licenses.lgpl21;
platforms = platforms.linux;
maintainers = with maintainers; [ cstrahan ];

View File

@ -11,33 +11,26 @@ let
url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
sha256 = "0b56iglg8g45biddwsdn1hmx9gsz4kxr64civwyy7f69f022ppab";
};
in
stdenv.mkDerivation {
in stdenv.mkDerivation {
# https://www.rescuetime.com/updates/linux_release_notes.html
name = "rescuetime-2.10.0.1322";
inherit src;
buildInputs = [ dpkg makeWrapper ];
# avoid https://github.com/NixOS/patchelf/issues/99
dontStrip = true;
unpackPhase = ''
mkdir pkg
dpkg-deb -x $src pkg
sourceRoot=pkg
'';
installPhase = let
lib = p: stdenv.lib.makeLibraryPath [ p ];
in ''
installPhase = ''
mkdir -p $out/bin
cp usr/bin/rescuetime $out/bin
${patchelf}/bin/patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${lib.makeLibraryPath [ qt4 libXtst libXext libX11 libXScrnSaver ]}" \
$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; {
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
, curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib
, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit
, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite
}:
let
@ -32,24 +32,25 @@ let
googlemaps = stdenv.mkDerivation rec {
name = "googlemaps-${version}";
version = "2017-09-17";
version = "2017-12-18";
src = fetchFromGitHub {
owner = "vladest";
repo = "googlemaps";
rev = "1b857c02504dd52b1aa442418b8dcea78ced3f35";
sha256 = "14icmc925g4abwwdrldjc387aiyvcp3ia5z7mfh9qa09bv829a84";
rev = "79f3511d60dc9640de02a5f24656094c8982b26d";
sha256 = "11334w0bnfb97sv23vvj2b5hcwvr0171hxldn91jms9y12l5j15d";
};
nativeBuildInputs = [ qmake ];
buildInputs = [ qtbase qtlocation ];
buildInputs = [ qtbase qtlocation libXcomposite ];
pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins";
installPhase = ''
mkdir $out $(dirname ${pluginsSubdir})
mv plugins ${pluginsSubdir}
mkdir -p $out $(dirname ${pluginsSubdir})
mkdir -p ${pluginsSubdir}
mv *.so ${pluginsSubdir}
mv lib $out/
'';

View File

@ -32,7 +32,7 @@ pythonPackages.buildPythonApplication rec {
quadkonsole, etc. in that the main focus is arranging terminals in grids
(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;
maintainers = with maintainers; [ bjornfor globin ];
platforms = platforms.linux;

View File

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

View File

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

View File

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
meta = {
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;
platforms = with stdenv.lib.platforms; linux ++ darwin;
};

View File

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

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
meta = {
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;
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
# at http://www.x.org/releases/individual/.
# at https://www.x.org/releases/individual/.
# That is why this expression is not inside pkgs.xorg
{stdenv, fetchurl, makeWrapper, libX11, pkgconfig, libXaw}:
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
'';
meta = {
homepage = http://www.x.org/;
homepage = https://www.x.org/;
description = "Allows testing the fonts available in an X server";
license = stdenv.lib.licenses.free;
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 {
name = "xterm-330";
name = "xterm-331";
src = fetchurl {
url = "http://invisible-mirror.net/archives/xterm/${name}.tgz";
sha256 = "1psnfmqd23v9gxj8a98nzrgvymrk0p1whwqi92gy15bbkzrgkvks";
urls = [
"ftp://ftp.invisible-island.net/xterm/${name}.tgz"
"https://invisible-mirror.net/archives/xterm/${name}.tgz"
];
sha256 = "047gk58hvj64974sg259ss5gixj7pac6halmjfz4cc6r1yimds4s";
};
buildInputs =
@ -56,7 +59,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://invisible-island.net/xterm;
license = "BSD";
license = with stdenv.lib.licenses; [ mit ];
maintainers = with stdenv.lib.maintainers; [viric vrthra];
platforms = with stdenv.lib.platforms; linux ++ darwin;
};

View File

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

View File

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

View File

@ -12,7 +12,10 @@ stdenv.mkDerivation rec {
version = "2.8.9dev.16";
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";
};

View File

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

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
editor and also easily configurable during runtime. Vimb is mostly
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;
maintainers = [ stdenv.lib.maintainers.rickynils ];
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