Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2015-03-17 12:44:58 +01:00
commit e924f05cc3
215 changed files with 5985 additions and 1555 deletions

View File

@ -234,8 +234,8 @@ rec {
in [x] ++ remove x xs; in [x] ++ remove x xs;
# Intersects list 'e' and another list # Intersects list 'e' and another list
intersectLists = e: filter (x: elem x e); intersect = e: filter (x: elem x e);
# Subtracts list 'e' from another list # Substracts list 'e' from another list
subtractLists = e: filter (x: !(elem x e)); substract = e: filter (x: !(elem x e));
} }

View File

@ -78,7 +78,11 @@
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>"; fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
gal_bolle = "Florent Becker <florent.becker@ens-lyon.org>"; gal_bolle = "Florent Becker <florent.becker@ens-lyon.org>";
garbas = "Rok Garbas <rok@garbas.si>"; garbas = "Rok Garbas <rok@garbas.si>";
garrison = "Jim Garrison <jim@garrison.cc>";
gavin = "Gavin Rogers <gavin@praxeology.co.uk>"; gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
gebner = "Gabriel Ebner <gebner@gebner.org>";
giogadi = "Luis G. Torres <lgtorres42@gmail.com>";
globin = "Robin Gloster <robin@glob.in>";
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>"; goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
gridaphobe = "Eric Seidel <eric@seidel.io>"; gridaphobe = "Eric Seidel <eric@seidel.io>";
guibert = "David Guibert <david.guibert@gmail.com>"; guibert = "David Guibert <david.guibert@gmail.com>";
@ -138,6 +142,7 @@
orbitz = "Malcolm Matalka <mmatalka@gmail.com>"; orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
page = "Carles Pagès <page@cubata.homelinux.net>"; page = "Carles Pagès <page@cubata.homelinux.net>";
paholg = "Paho Lurie-Gregg <paho@paholg.com>"; paholg = "Paho Lurie-Gregg <paho@paholg.com>";
pakhfn = "Fedor Pakhomov <pakhfn@gmail.com>";
pashev = "Igor Pashev <pashev.igor@gmail.com>"; pashev = "Igor Pashev <pashev.igor@gmail.com>";
phausmann = "Philipp Hausmann <nix@314.ch>"; phausmann = "Philipp Hausmann <nix@314.ch>";
phreedom = "Evgeny Egorochkin <phreedom@yandex.ru>"; phreedom = "Evgeny Egorochkin <phreedom@yandex.ru>";

View File

@ -49,4 +49,8 @@ on container networking.)</para>
switch</literal>. Note that this will not delete the root directory of switch</literal>. Note that this will not delete the root directory of
the container in <literal>/var/lib/containers</literal>.</para> the container in <literal>/var/lib/containers</literal>.</para>
<para>Declarative containers can be started and stopped using the
corresponding systemd service, e.g. <literal>systemctl start
container@database</literal>.</para>
</section> </section>

View File

@ -27,28 +27,38 @@
ids.uids = { ids.uids = {
root = 0; root = 0;
nscd = 1; #wheel = 1; # unused
sshd = 2; #kmem = 2; # unused
ntp = 3; #tty = 3; # unused
messagebus = 4; # D-Bus messagebus = 4; # D-Bus
haldaemon = 5; haldaemon = 5;
nagios = 6; #disk = 6; # unused
vsftpd = 7; vsftpd = 7;
ftp = 8; ftp = 8;
bitlbee = 9; bitlbee = 9;
avahi = 10; avahi = 10;
nagios = 11;
atd = 12; atd = 12;
zabbix = 13; postfix = 13;
postfix = 14; #postdrop = 14; # unused
dovecot = 15; dovecot = 15;
tomcat = 16; tomcat = 16;
#audio = 17; # unused
#floppy = 18; # unused
#uucp = 19; # unused
#lp = 20; # unused
pulseaudio = 22; # must match `pulseaudio' GID pulseaudio = 22; # must match `pulseaudio' GID
gpsd = 23; gpsd = 23;
#cdrom = 24; # unused
#tape = 25; # unused
#video = 26; # unused
#dialout = 27; # unused
polkituser = 28; polkituser = 28;
uptimed = 29; #utmp = 29; # unused
ddclient = 30; ddclient = 30;
davfs2 = 31; davfs2 = 31;
privoxy = 32; privoxy = 32;
#disnix = 33; # unused
osgi = 34; osgi = 34;
tor = 35; tor = 35;
cups = 36; cups = 36;
@ -70,18 +80,25 @@
fprot = 52; fprot = 52;
bind = 53; bind = 53;
wwwrun = 54; wwwrun = 54;
#adm = 55; # unused
spamd = 56; spamd = 56;
#networkmanager = 57; # unused
nslcd = 58; nslcd = 58;
#scanner = 59; # unused
nginx = 60; nginx = 60;
chrony = 61; chrony = 61;
#systemd-journal = 62; # unused
smtpd = 63; smtpd = 63;
smtpq = 64; smtpq = 64;
supybot = 65; supybot = 65;
iodined = 66; iodined = 66;
#libvirtd = 67; # unused
graphite = 68; graphite = 68;
statsd = 69; statsd = 69;
transmission = 70; transmission = 70;
postgres = 71; postgres = 71;
#vboxusers = 72; # unused
#vboxsf = 73; # unused
smbguest = 74; # unused smbguest = 74; # unused
varnish = 75; varnish = 75;
datadog = 76; datadog = 76;
@ -102,13 +119,13 @@
minidlna = 91; minidlna = 91;
elasticsearch = 92; elasticsearch = 92;
tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice. tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
zope2 = 94; #connman = 94; # unused
firebird = 95; firebird = 95;
redis = 96; #keys = 96; # unused
haproxy = 97; haproxy = 97;
mongodb = 98; mongodb = 98;
openldap = 99; openldap = 99;
memcached = 100; #users = 100; # unused
cgminer = 101; cgminer = 101;
munin = 102; munin = 102;
logcheck = 103; logcheck = 103;
@ -129,6 +146,7 @@
foundationdb = 118; foundationdb = 118;
newrelic = 119; newrelic = 119;
starbound = 120; starbound = 120;
#grsecurity = 121; # unused
hydra = 122; hydra = 122;
spiped = 123; spiped = 123;
teamspeak = 124; teamspeak = 124;
@ -138,7 +156,7 @@
znc = 128; znc = 128;
polipo = 129; polipo = 129;
mopidy = 130; mopidy = 130;
unifi = 131; #docker = 131; # unused
gdm = 132; gdm = 132;
dhcpd = 133; dhcpd = 133;
siproxd = 134; siproxd = 134;
@ -180,7 +198,19 @@
panamax = 170; panamax = 170;
marathon = 171; marathon = 171;
exim = 172; exim = 172;
#fleet = 173; # unused
#input = 174; # unused
sddm = 175; sddm = 175;
tss = 176;
memcached = 177;
nscd = 178;
ntp = 179;
zabbix = 180;
redis = 181;
sshd = 182;
unifi = 183;
uptimed = 184;
zope2 = 185;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -200,15 +230,16 @@
ftp = 8; ftp = 8;
bitlbee = 9; bitlbee = 9;
avahi = 10; avahi = 10;
#nagios = 11; # unused
atd = 12; atd = 12;
postfix = 13; postfix = 13;
postdrop = 14; postdrop = 14;
dovecot = 15; dovecot = 15;
tomcat = 16;
audio = 17; audio = 17;
floppy = 18; floppy = 18;
uucp = 19; uucp = 19;
lp = 20; lp = 20;
tomcat = 21;
pulseaudio = 22; # must match `pulseaudio' UID pulseaudio = 22; # must match `pulseaudio' UID
gpsd = 23; gpsd = 23;
cdrom = 24; cdrom = 24;
@ -217,21 +248,30 @@
dialout = 27; dialout = 27;
#polkituser = 28; # currently unused, polkitd doesn't need a group #polkituser = 28; # currently unused, polkitd doesn't need a group
utmp = 29; utmp = 29;
#ddclient = 30; # unused
davfs2 = 31; davfs2 = 31;
privoxy = 32; privoxy = 32;
disnix = 33; disnix = 33;
osgi = 34; osgi = 34;
tor = 35; tor = 35;
ghostOne = 40; #cups = 36; # unused
#foldingathome = 37; # unused
#sabnzd = 38; # unused
#kdm = 39; # unused
ghostone = 40;
git = 41; git = 41;
fourstore = 42; fourstore = 42;
fourstorehttpd = 43; fourstorehttp = 43;
virtuoso = 44; virtuoso = 44;
#rtkit = 45; # unused
dovecot2 = 46; dovecot2 = 46;
#dovenull = 47; # unused
#unbound = 48; # unused
prayer = 49; prayer = 49;
mpd = 50; mpd = 50;
clamav = 51; clamav = 51;
fprot = 52; fprot = 52;
#bind = 53; # unused
wwwrun = 54; wwwrun = 54;
adm = 55; adm = 55;
spamd = 56; spamd = 56;
@ -239,6 +279,7 @@
nslcd = 58; nslcd = 58;
scanner = 59; scanner = 59;
nginx = 60; nginx = 60;
#chrony = 61; # unused
systemd-journal = 62; systemd-journal = 62;
smtpd = 63; smtpd = 63;
smtpq = 64; smtpq = 64;
@ -246,6 +287,7 @@
iodined = 66; iodined = 66;
libvirtd = 67; libvirtd = 67;
graphite = 68; graphite = 68;
#statsd = 69; # unused
transmission = 70; transmission = 70;
postgres = 71; postgres = 71;
vboxusers = 72; vboxusers = 72;
@ -268,11 +310,17 @@
quassel = 89; quassel = 89;
amule = 90; amule = 90;
minidlna = 91; minidlna = 91;
haproxy = 92; #elasticsearch = 92; # unused
openldap = 93; #tcpcryptd = 93; # unused
connman = 94; connman = 94;
munin = 95; firebird = 95;
keys = 96; keys = 96;
haproxy = 97;
#mongodb = 98; # unused
openldap = 99;
munin = 102;
#logcheck = 103; # unused
#nix-ssh = 104; # unused
dictd = 105; dictd = 105;
couchdb = 106; couchdb = 106;
searx = 107; searx = 107;
@ -280,8 +328,12 @@
jenkins = 109; jenkins = 109;
systemd-journal-gateway = 110; systemd-journal-gateway = 110;
notbit = 111; notbit = 111;
#ngircd = 112; # unused
btsync = 113; btsync = 113;
#minecraft = 114; # unused
monetdb = 115; monetdb = 115;
#ripped = 116; # unused
#murmur = 117; # unused
foundationdb = 118; foundationdb = 118;
newrelic = 119; newrelic = 119;
starbound = 120; starbound = 120;
@ -291,39 +343,62 @@
teamspeak = 124; teamspeak = 124;
influxdb = 125; influxdb = 125;
nsd = 126; nsd = 126;
firebird = 127; #gitolite = 127; # unused
znc = 128; znc = 128;
polipo = 129; polipo = 129;
mopidy = 130; mopidy = 130;
docker = 131; docker = 131;
gdm = 132; gdm = 132;
tss = 133; #dhcpcd = 133; # unused
siproxd = 134; siproxd = 134;
mlmmj = 135; mlmmj = 135;
#neo4j = 136; # unused
riemann = 137; riemann = 137;
riemanndash = 138; riemanndash = 138;
#radvd = 139; # unused
#zookeeper = 140; # unused
#dnsmasq = 141; # unused
uhub = 142; uhub = 142;
#yandexdisk = 143; # unused
#collectd = 144; # unused
#consul = 145; # unused
mailpile = 146; mailpile = 146;
redmine = 147; redmine = 147;
seeks = 148; seeks = 148;
prosody = 149; prosody = 149;
i2pd = 150; i2pd = 150;
#dnscrypt-proxy = 151; # unused
systemd-network = 152; systemd-network = 152;
systemd-resolve = 153; systemd-resolve = 153;
systemd-timesync = 154; systemd-timesync = 154;
liquidsoap = 155; liquidsoap = 155;
#etcd = 156; # unused
#docker-registry = 157; # unused
hbase = 158; hbase = 158;
opentsdb = 159; opentsdb = 159;
scollector = 160; scollector = 160;
bosun = 161; bosun = 161;
kubernetes = 162; kubernetes = 162;
#peerflix = 163; # unused
#chronos = 164; # unused
gitlab = 165; gitlab = 165;
nylon = 168; nylon = 168;
panamax = 170; panamax = 170;
#marathon = 171; # unused
exim = 172; exim = 172;
fleet = 173; fleet = 173;
input = 174; input = 174;
sddm = 175; sddm = 175;
tss = 176;
#memcached = 177; # unused
#nscd = 178; # unused
#ntp = 179; # unused
#zabbix = 180; # unused
#redis = 181; # unused
#sshd = 182; # unused
#unifi = 183; # unused
#uptimed = 184; # unused
#zope2 = 185; # unused
# When adding a gid, make sure it doesn't match an existing # When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal # uid. Users and groups with the same name should have equal

View File

@ -60,6 +60,7 @@
./programs/dconf.nix ./programs/dconf.nix
./programs/environment.nix ./programs/environment.nix
./programs/info.nix ./programs/info.nix
./programs/ibus.nix
./programs/light.nix ./programs/light.nix
./programs/nano.nix ./programs/nano.nix
./programs/screen.nix ./programs/screen.nix
@ -353,6 +354,7 @@
./services/web-servers/varnish/default.nix ./services/web-servers/varnish/default.nix
./services/web-servers/winstone.nix ./services/web-servers/winstone.nix
./services/web-servers/zope2.nix ./services/web-servers/zope2.nix
./services/x11/unclutter.nix
./services/x11/desktop-managers/default.nix ./services/x11/desktop-managers/default.nix
./services/x11/display-managers/auto.nix ./services/x11/display-managers/auto.nix
./services/x11/display-managers/default.nix ./services/x11/display-managers/default.nix

View File

@ -0,0 +1,51 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.programs.ibus;
in
{
options = {
programs.ibus = {
enable = mkOption {
type = types.bool;
default = false;
example = true;
description = "Enable IBus input method";
};
plugins = mkOption {
type = lib.types.listOf lib.types.path;
default = [];
description = ''
IBus plugin packages
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.ibus ];
gtkPlugins = [ pkgs.ibus ];
qtPlugins = [ pkgs.ibus-qt ];
environment.variables =
let
env = pkgs.buildEnv {
name = "ibus-env";
paths = [ pkgs.ibus ] ++ cfg.plugins;
};
in {
GTK_IM_MODULE = "ibus";
QT_IM_MODULE = "ibus";
XMODIFIERS = "@im=ibus";
IBUS_COMPONENT_PATH = "${env}/share/ibus/component";
};
services.xserver.displayManager.sessionCommands = "${pkgs.ibus}/bin/ibus-daemon --daemonize --xim --cache=none";
};
}

View File

@ -9,7 +9,7 @@ let
cfg = config.programs.ssh; cfg = config.programs.ssh;
cfgd = config.services.openssh; cfgd = config.services.openssh;
askPassword = "${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass"; askPassword = cfg.askPassword;
askPasswordWrapper = pkgs.writeScript "ssh-askpass-wrapper" askPasswordWrapper = pkgs.writeScript "ssh-askpass-wrapper"
'' ''
@ -26,6 +26,12 @@ in
programs.ssh = { programs.ssh = {
askPassword = mkOption {
type = types.string;
default = "${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass";
description = ''Program used by SSH to ask for passwords.'';
};
forwardX11 = mkOption { forwardX11 = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;

View File

@ -112,6 +112,9 @@ in zipModules ([]
# VirtualBox # VirtualBox
++ obsolete [ "services" "virtualbox" "enable" ] [ "services" "virtualboxGuest" "enable" ] ++ obsolete [ "services" "virtualbox" "enable" ] [ "services" "virtualboxGuest" "enable" ]
# Tarsnap
++ obsolete [ "services" "tarsnap" "config" ] [ "services" "tarsnap" "archives" ]
# proxy # proxy
++ obsolete [ "nix" "proxy" ] [ "networking" "proxy" "default" ] ++ obsolete [ "nix" "proxy" ] [ "networking" "proxy" "default" ]

View File

@ -1,13 +1,16 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
inherit (lib) mkIf mkOption types concatMapStrings;
cfg = config.security.apparmor; cfg = config.security.apparmor;
in in
{ {
#### interface
options = { options = {
security.apparmor = { security.apparmor = {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -19,25 +22,40 @@ in
default = []; default = [];
description = "List of files containing AppArmor profiles."; description = "List of files containing AppArmor profiles.";
}; };
};
}; };
};
#### implementation
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.apparmor ];
environment.systemPackages = [
pkgs.apparmor-utils
];
systemd.services.apparmor = { systemd.services.apparmor = {
wantedBy = [ "local-fs.target" ]; wantedBy = [ "local-fs.target" ];
path = [ pkgs.apparmor ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = "yes"; RemainAfterExit = "yes";
ExecStart = concatMapStrings (profile: ExecStart = concatMapStrings (p:
''${pkgs.apparmor}/sbin/apparmor_parser -rKv -I ${pkgs.apparmor}/etc/apparmor.d/ "${profile}" ; '' ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv -I ${pkgs.apparmor-profiles}/etc/apparmor.d "${p}" ; ''
) cfg.profiles; ) cfg.profiles;
ExecStop = concatMapStrings (profile: ExecStop = concatMapStrings (p:
''${pkgs.apparmor}/sbin/apparmor_parser -Rv -I ${pkgs.apparmor}/etc/apparmor.d/ "${profile}" ; '' ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}" ; ''
) cfg.profiles; ) cfg.profiles;
}; };
}; };
security.pam.services.apparmor.text = ''
## The AppArmor service changes hats according to order: first try
## user, then group, and finally fall back to a hat called "DEFAULT"
##
## For now, enable debugging as this is an experimental feature.
session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug
'';
}; };
} }

View File

@ -38,7 +38,7 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Enable the testing grsecurity patch, based on Linux 3.18. Enable the testing grsecurity patch, based on Linux 3.19.
''; '';
}; };
@ -245,7 +245,7 @@ in
message = '' message = ''
If grsecurity is enabled, you must select either the If grsecurity is enabled, you must select either the
stable patch (with kernel 3.14), or the testing patch (with stable patch (with kernel 3.14), or the testing patch (with
kernel 3.18) to continue. kernel 3.19) to continue.
''; '';
} }
{ assertion = (cfg.stable -> !cfg.testing) || (cfg.testing -> !cfg.stable); { assertion = (cfg.stable -> !cfg.testing) || (cfg.testing -> !cfg.stable);

View File

@ -17,10 +17,10 @@ let
log_file "syslog" log_file "syslog"
user "${cfg.user}" user "${cfg.user}"
group "${cfg.group}" group "${cfg.group}"
${if cfg.network.host != "any" then
"bind_to_address ${cfg.network.host}" else ""} ${optionalString (cfg.network.host != "any") ''bind_to_address "${cfg.network.host}"''}
${if cfg.network.port != 6600 then ${optionalString (cfg.network.port != 6600) ''port "${toString cfg.network.port}"''}
"port ${toString cfg.network.port}" else ""}
${cfg.extraConfig} ${cfg.extraConfig}
''; '';

View File

@ -12,6 +12,7 @@ let
keyfile ${config.services.tarsnap.keyfile} keyfile ${config.services.tarsnap.keyfile}
${optionalString cfg.nodump "nodump"} ${optionalString cfg.nodump "nodump"}
${optionalString cfg.printStats "print-stats"} ${optionalString cfg.printStats "print-stats"}
${optionalString cfg.printStats "humanize-numbers"}
${optionalNullStr cfg.checkpointBytes "checkpoint-bytes "+cfg.checkpointBytes} ${optionalNullStr cfg.checkpointBytes "checkpoint-bytes "+cfg.checkpointBytes}
${optionalString cfg.aggressiveNetworking "aggressive-networking"} ${optionalString cfg.aggressiveNetworking "aggressive-networking"}
${concatStringsSep "\n" (map (v: "exclude "+v) cfg.excludes)} ${concatStringsSep "\n" (map (v: "exclude "+v) cfg.excludes)}
@ -27,46 +28,39 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
If enabled, NixOS will periodically create backups of the Enable periodic tarsnap backups.
specified directories using the <literal>tarsnap</literal>
backup service. This installs a <literal>systemd</literal>
service called <literal>tarsnap-backup</literal> which is
periodically run by cron, or you may run it on-demand.
See the Tarsnap <link
xlink:href='http://www.tarsnap.com/gettingstarted.html'>Getting
Started</link> page.
''; '';
}; };
keyfile = mkOption { keyfile = mkOption {
type = types.path; type = types.str;
default = "/root/tarsnap.key"; default = "/root/tarsnap.key";
description = '' description = ''
Path to the keyfile which identifies the machine The keyfile which associates this machine with your tarsnap
associated with your Tarsnap account. This file can account.
be created using the Create the keyfile with <command>tarsnap-keygen</command>.
<literal>tarsnap-keygen</literal> utility, and
providing your Tarsnap login credentials. The keyfile name should be given as a string and not a path, to
avoid the key being copied into the Nix store.
''; '';
}; };
cachedir = mkOption { cachedir = mkOption {
type = types.path; type = types.nullOr types.path;
default = "/var/cache/tarsnap"; default = "/var/cache/tarsnap";
description = '' description = ''
Tarsnap operations use a "cache directory" which The cache allows tarsnap to identify previously stored data
allows Tarsnap to identify which blocks of data have blocks, reducing archival time and bandwidth usage.
been previously stored; this directory is specified
via the <literal>cachedir</literal> option. If the Should the cache become desynchronized or corrupted, tarsnap
cache directory is lost or out of date, tarsnap will refuse to run until you manually rebuild the cache with
creation/deletion operations will exit with an error <command>tarsnap --fsck</command>.
message instructing you to run <literal>tarsnap
--fsck</literal> to regenerate the cache directory. Set to <literal>null</literal> to disable caching.
''; '';
}; };
config = mkOption { archives = mkOption {
type = types.attrsOf (types.submodule ( type = types.attrsOf (types.submodule (
{ {
options = { options = {
@ -74,41 +68,44 @@ in
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = ''
If set to <literal>true</literal>, then don't Exclude files with the <literal>nodump</literal> flag.
archive files which have the
<literal>nodump</literal> flag set.
''; '';
}; };
printStats = mkOption { printStats = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Print statistics when creating archives."; description = ''
Print global archive statistics upon completion.
The output is available via
<command>systemctl status tarsnap@archive-name</command>.
'';
}; };
checkpointBytes = mkOption { checkpointBytes = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = "1G"; default = "1GB";
description = '' description = ''
Create a checkpoint per a particular amount of Create a checkpoint every <literal>checkpointBytes</literal>
uploaded data. By default, Tarsnap will create of uploaded data (optionally specified using an SI prefix).
checkpoints once per GB of data uploaded. At
minimum, <literal>checkpointBytes</literal> must be
1GB.
Can also be set to <literal>null</literal> to 1GB is the minimum value. A higher value is recommended,
disable checkpointing. as checkpointing is expensive.
Set to <literal>null</literal> to disable checkpointing.
''; '';
}; };
period = mkOption { period = mkOption {
type = types.str; type = types.str;
default = "15 01 * * *"; default = "01:15";
example = "hourly";
description = '' description = ''
This option defines (in the format used by cron) Create archive at this interval.
when tarsnap is run for backups. The default is to
backup the specified paths at 01:15 at night every The format is described in
day. <citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
''; '';
}; };
@ -116,11 +113,11 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Aggressive network behaviour: Use multiple TCP Upload data over multiple TCP connections, potentially
connections when writing archives. Use of this increasing tarsnap's bandwidth utilisation at the cost
option is recommended only in cases where TCP of slowing down all other network traffic. Not
congestion control is known to be the limiting recommended unless TCP congestion is the dominant
factor in upload performance. limiting factor.
''; '';
}; };
@ -134,8 +131,7 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = '' description = ''
Exclude files and directories matching the specified Exclude files and directories matching these patterns.
patterns.
''; '';
}; };
@ -143,12 +139,10 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = '' description = ''
Include only files and directories matching the Include only files and directories matching these
specified patterns. patterns (the empty list includes everything).
Note that exclusions specified via Exclusions have precedence over inclusions.
<literal>excludes</literal> take precedence over
inclusions.
''; '';
}; };
@ -156,10 +150,10 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Attempt to reduce tarsnap memory consumption. This Reduce memory consumption by not caching small files.
option will slow down the process of creating Possibly beneficial if the average file size is smaller
archives, but may help on systems where the average than 1 MB and the number of files is lower than the
size of files being backed up is less than 1 MB. total amount of RAM in KB.
''; '';
}; };
@ -167,11 +161,9 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Try even harder to reduce tarsnap memory Reduce memory consumption by a factor of 2 beyond what
consumption. This can significantly slow down <literal>lowmem</literal> does, at the cost of significantly
tarsnap, but reduces its memory usage by an slowing down the archiving process.
additional factor of 2 beyond what the
<literal>lowmem</literal> option does.
''; '';
}; };
}; };
@ -188,25 +180,22 @@ in
gamedata = gamedata =
{ directories = [ "/var/lib/minecraft "]; { directories = [ "/var/lib/minecraft "];
period = "*/30 * * * *"; period = "*:30";
}; };
} }
''; '';
description = '' description = ''
Configuration of a Tarsnap archive. In the example, your Tarsnap archive configurations. Each attribute names an archive
machine will have two tarsnap archives: to be created at a given time interval, according to the options
<literal>gamedata</literal> (backed up every 30 minutes) and associated with it. When uploading to the tarsnap server,
<literal>nixos</literal> (backed up at 1:15 AM every night by archive names are suffixed by a 1 second resolution timestamp.
default). You can control individual archive backups using
<literal>systemctl</literal>, using the For each member of the set is created a timer which triggers the
<literal>tarsnap@nixos</literal> or instanced <literal>tarsnap@</literal> service unit. You may use
<literal>tarsnap@gamedata</literal> units. For example, <command>systemctl start tarsnap@archive-name</command> to
<literal>systemctl start tarsnap@nixos</literal> will manually trigger creation of <literal>archive-name</literal> at
immediately create a new NixOS archive. By default, archives any time.
are suffixed with the timestamp of when they were started,
down to second resolution. This means you can use GNU
<literal>sort</literal> to sort output easily.
''; '';
}; };
}; };
@ -216,38 +205,45 @@ in
assertions = assertions =
(mapAttrsToList (name: cfg: (mapAttrsToList (name: cfg:
{ assertion = cfg.directories != []; { assertion = cfg.directories != [];
message = "Must specify directories for Tarsnap to back up"; message = "Must specify paths for tarsnap to back up";
}) cfg.config) ++ }) cfg.archives) ++
(mapAttrsToList (name: cfg: (mapAttrsToList (name: cfg:
{ assertion = cfg.lowmem -> !cfg.verylowmem && (cfg.verylowmem -> !cfg.lowmem); { assertion = !(cfg.lowmem && cfg.verylowmem);
message = "You cannot set both lowmem and verylowmem"; message = "You cannot set both lowmem and verylowmem";
}) cfg.config); }) cfg.archives);
systemd.services."tarsnap@" = { systemd.services."tarsnap@" = {
description = "Tarsnap Backup of '%i'"; description = "Tarsnap archive '%i'";
requires = [ "network.target" ]; requires = [ "network.target" ];
path = [ pkgs.tarsnap pkgs.coreutils ]; path = [ pkgs.tarsnap pkgs.coreutils ];
scriptArgs = "%i"; scriptArgs = "%i";
script = '' script = ''
mkdir -p -m 0755 $(dirname ${cfg.cachedir}) mkdir -p -m 0755 ${dirOf cfg.cachedir}
mkdir -p -m 0600 ${cfg.cachedir} mkdir -p -m 0700 ${cfg.cachedir}
DIRS=`cat /etc/tarsnap/$1.dirs` DIRS=`cat /etc/tarsnap/$1.dirs`
exec tarsnap --configfile /etc/tarsnap/$1.conf -c -f $1-$(date +"%Y%m%d%H%M%S") $DIRS exec tarsnap --configfile /etc/tarsnap/$1.conf -c -f $1-$(date +"%Y%m%d%H%M%S") $DIRS
''; '';
serviceConfig = {
IOSchedulingClass = "idle";
NoNewPrivileges = "true";
CapabilityBoundingSet = "CAP_DAC_READ_SEARCH";
};
}; };
services.cron.systemCronJobs = mapAttrsToList (name: cfg: systemd.timers = mapAttrs' (name: cfg: nameValuePair "tarsnap@${name}"
"${cfg.period} root ${config.systemd.package}/bin/systemctl start tarsnap@${name}" { timerConfig.OnCalendar = cfg.period;
) cfg.config; wantedBy = [ "timers.target" ];
}) cfg.archives;
environment.etc = environment.etc =
(mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.conf" (mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.conf"
{ text = configFile cfg; { text = configFile cfg;
}) cfg.config) // }) cfg.archives) //
(mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.dirs" (mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.dirs"
{ text = concatStringsSep " " cfg.directories; { text = concatStringsSep " " cfg.directories;
}) cfg.config); }) cfg.archives);
environment.systemPackages = [ pkgs.tarsnap ]; environment.systemPackages = [ pkgs.tarsnap ];
}; };

View File

@ -128,12 +128,12 @@ in
users.extraUsers = optionalAttrs (cfg.user == "tss") (singleton users.extraUsers = optionalAttrs (cfg.user == "tss") (singleton
{ name = "tss"; { name = "tss";
group = "tss"; group = "tss";
uid = config.ids.uids.nginx; uid = config.ids.uids.tss;
}); });
users.extraGroups = optionalAttrs (cfg.group == "tss") (singleton users.extraGroups = optionalAttrs (cfg.group == "tss") (singleton
{ name = "tss"; { name = "tss";
gid = config.ids.gids.nginx; gid = config.ids.gids.tss;
}); });
}; };
} }

View File

@ -18,42 +18,8 @@ with lib;
}; };
config = mkOption { config = mkOption {
type = types.lines; type = types.nullOr types.lines;
default = default = null;
''
global
log 127.0.0.1 local6
maxconn 24000
daemon
nbproc 1
defaults
mode http
option httpclose
# Remove requests from the queue if people press stop button
option abortonclose
# Try to connect this many times on failure
retries 3
# If a client is bound to a particular backend but it goes down,
# send them to a different one
option redispatch
monitor-uri /haproxy-ping
timeout connect 7s
timeout queue 300s
timeout client 300s
timeout server 300s
# Enable status page at this URL, on the port HAProxy is bound to
stats enable
stats uri /haproxy-status
stats refresh 5s
stats realm Haproxy statistics
'';
description = '' description = ''
Contents of the HAProxy configuration file, Contents of the HAProxy configuration file,
<filename>haproxy.conf</filename>. <filename>haproxy.conf</filename>.
@ -66,6 +32,11 @@ with lib;
config = mkIf cfg.enable { config = mkIf cfg.enable {
assertions = [{
assertion = cfg.config != null;
message = "You must provide services.haproxy.config.";
}];
systemd.services.haproxy = { systemd.services.haproxy = {
description = "HAProxy"; description = "HAProxy";
after = [ "network.target" ]; after = [ "network.target" ];

View File

@ -183,7 +183,7 @@ in
# gets loaded, and then cups cannot access the printers. # gets loaded, and then cups cannot access the printers.
boot.blacklistedKernelModules = [ "usblp" ]; boot.blacklistedKernelModules = [ "usblp" ];
systemd.services.cupsd = systemd.services.cups =
{ description = "CUPS Printing Daemon"; { description = "CUPS Printing Daemon";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];

View File

@ -9,28 +9,16 @@ let
homeDir = "/var/lib/transmission"; homeDir = "/var/lib/transmission";
downloadDir = "${homeDir}/Downloads"; downloadDir = "${homeDir}/Downloads";
incompleteDir = "${homeDir}/.incomplete"; incompleteDir = "${homeDir}/.incomplete";
settingsDir = "${homeDir}/.config/transmission-daemon"; settingsDir = "${homeDir}/.config/transmission-daemon";
settingsFile = "${settingsDir}/settings.json"; settingsFile = pkgs.writeText "settings.json" (builtins.toJSON fullSettings);
# Strings must be quoted, ints and bools must not (for settings.json). # Strings must be quoted, ints and bools must not (for settings.json).
toOption = x: toOption = x:
if x == true then "true" if x == true then "true"
else if x == false then "false" else if x == false then "false"
else if isInt x then toString x else if isInt x then toString x
else toString ''\"${x}\"''; else toString ''"${x}"'';
# All lines in settings.json end with a ',' (comma), except for the last
# line. This is standard JSON. But a comma can also appear *inside* some
# fields, notably the "rpc-whitelist" field. This is difficult to handle in
# sed so we simply ignore it and say that if you want to change the option at
# the last line of settings.json, you have to do it manually. At this time of
# writing, the last option is "utp-enable":true.
attrsToSedArgs = as:
concatStrings (concatLists (mapAttrsToList (name: value:
#map (x: '' -e 's=\(\"${name}\":\)[^,]*\(.*\)=\1 ${toOption x}\2=' '') # breaks if comma inside value field
map (x: '' -e 's=\(\"${name}\":\).*=\1 ${toOption x},=' '') # always append ',' (breaks last line in settings.json)
(if isList value then value else [value]))
as));
# for users in group "transmission" to have access to torrents # for users in group "transmission" to have access to torrents
fullSettings = cfg.settings // { umask = 2; }; fullSettings = cfg.settings // { umask = 2; };
@ -73,7 +61,7 @@ in
boolean values must not. boolean values must not.
See https://trac.transmissionbt.com/wiki/EditConfigFiles for See https://trac.transmissionbt.com/wiki/EditConfigFiles for
documentation and/or look at ${settingsFile}. documentation.
''; '';
}; };
@ -95,7 +83,7 @@ in
# 1) Only the "transmission" user and group have access to torrents. # 1) Only the "transmission" user and group have access to torrents.
# 2) Optionally update/force specific fields into the configuration file. # 2) Optionally update/force specific fields into the configuration file.
serviceConfig.ExecStartPre = '' serviceConfig.ExecStartPre = ''
${pkgs.stdenv.shell} -c "chmod 770 ${homeDir} && mkdir -p ${settingsDir} ${downloadDir} ${incompleteDir} && ${pkgs.transmission}/bin/transmission-daemon -d |& sed ${attrsToSedArgs fullSettings} > ${settingsFile}.tmp && mv ${settingsFile}.tmp ${settingsFile}" ${pkgs.stdenv.shell} -c "chmod 770 ${homeDir} && mkdir -p ${settingsDir} ${downloadDir} ${incompleteDir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json"
''; '';
serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}"; serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}";
serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";

View File

@ -4,7 +4,6 @@ with lib;
let let
cfg = config.services.fcgiwrap; cfg = config.services.fcgiwrap;
in { in {
options = { options = {
@ -21,29 +20,53 @@ in {
description = "Number of processes to prefork."; description = "Number of processes to prefork.";
}; };
bindSocket = mkOption { socketType = mkOption {
type = types.string; type = types.addCheck types.str (t: t == "unix" || t == "tcp" || t == "tcp6");
default = "unix:/run/fcgiwrap.sock"; default = "unix";
description = '' description = "Socket type: 'unix', 'tcp' or 'tcp6'.";
Socket to bind to. Valid socket URLs are: };
unix:/path/to/socket for Unix sockets
tcp:dot.ted.qu.ad:port for IPv4 sockets socketAddress = mkOption {
tcp6:[ipv6_addr]:port for IPv6 sockets type = types.str;
''; default = "/run/fcgiwrap.sock";
example = "1.2.3.4:5678";
description = "Socket address. In case of a UNIX socket, this should be its filesystem path.";
};
user = mkOption {
type = types.nullOr types.str;
default = null;
description = "User permissions for the socket.";
};
group = mkOption {
type = types.nullOr types.str;
default = null;
description = "Group permissions for the socket.";
}; };
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.services.fcgiwrap = { systemd.services.fcgiwrap = {
after = [ "nss-user-lookup.target" ]; after = [ "nss-user-lookup.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = optional (cfg.socketType != "unix") "multi-user.target";
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} -s ${cfg.bindSocket}"; ExecStart = "${pkgs.fcgiwrap}/sbin/fcgiwrap -c ${builtins.toString cfg.preforkProcesses} ${
}; if (cfg.socketType != "unix") then "-s ${cfg.socketType}:${cfg.socketAddress}" else ""
}";
} // (if cfg.user != null && cfg.group != null then {
User = cfg.user;
Group = cfg.group;
} else { } );
}; };
systemd.sockets = if (cfg.socketType == "unix") then {
fcgiwrap = {
wantedBy = [ "sockets.target" ];
socketConfig.ListenStream = cfg.socketAddress;
};
} else { };
}; };
} }

View File

@ -102,6 +102,9 @@ in
''; '';
serviceConfig = { serviceConfig = {
ExecStart = "${nginx}/bin/nginx -c ${configFile} -p ${cfg.stateDir}"; ExecStart = "${nginx}/bin/nginx -c ${configFile} -p ${cfg.stateDir}";
Restart = "on-failure";
RestartSec = "10s";
StartLimitInterval = "1min";
}; };
}; };

View File

@ -88,7 +88,9 @@ in
}; };
environment.systemPackages = environment.systemPackages =
[ filter isDerivation (builtins.attrValues plasma5)
++ filter isDerivation (builtins.attrValues kf5)
++ [
pkgs.qt4 # qtconfig is the only way to set Qt 4 theme pkgs.qt4 # qtconfig is the only way to set Qt 4 theme
kdeApps.kde-baseapps kdeApps.kde-baseapps
@ -97,13 +99,12 @@ in
kdeApps.konsole kdeApps.konsole
kdeApps.oxygen-icons kdeApps.oxygen-icons
kdeApps.kde-runtime
pkgs.hicolor_icon_theme pkgs.hicolor_icon_theme
pkgs.orion # GTK theme, nearly identical to Breeze pkgs.orion # GTK theme, nearly identical to Breeze
] ] ++ phononBackendPackages;
++ filter isDerivation (builtins.attrValues plasma5)
++ filter isDerivation (builtins.attrValues kf5)
++ phononBackendPackages;
environment.pathsToLink = [ "/share" ]; environment.pathsToLink = [ "/share" ];
@ -121,6 +122,8 @@ in
fonts.fonts = [ plasma5.oxygen-fonts ]; fonts.fonts = [ plasma5.oxygen-fonts ];
programs.ssh.askPassword = "${plasma5.ksshaskpass}/bin/ksshaskpass";
# Enable helpful DBus services. # Enable helpful DBus services.
services.udisks2.enable = true; services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable; services.upower.enable = config.powerManagement.enable;

View File

@ -46,7 +46,6 @@ in
pkgs.which # Needed by the xfce's xinitrc script. pkgs.which # Needed by the xfce's xinitrc script.
pkgs.xfce.exo pkgs.xfce.exo
pkgs.xfce.gtk_xfce_engine pkgs.xfce.gtk_xfce_engine
pkgs.xfce.libxfcegui4 # For the icons.
pkgs.xfce.mousepad pkgs.xfce.mousepad
pkgs.xfce.ristretto pkgs.xfce.ristretto
pkgs.xfce.terminal pkgs.xfce.terminal

View File

@ -18,6 +18,9 @@ let
exec ${dmcfg.xserverBin} ${dmcfg.xserverArgs} exec ${dmcfg.xserverBin} ${dmcfg.xserverArgs}
''; '';
theme = pkgs.gnome3.gnome_themes_standard;
icons = pkgs.gnome3.gnome_icon_theme;
# The default greeter provided with this expression is the GTK greeter. # The default greeter provided with this expression is the GTK greeter.
# Again, we need a few things in the environment for the greeter to run with # Again, we need a few things in the environment for the greeter to run with
# fonts/icons. # fonts/icons.
@ -26,19 +29,16 @@ let
buildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.makeWrapper ];
buildCommand = '' buildCommand = ''
mkdir -p $out/gtk-3.0/ # This wrapper ensures that we actually get themes
# This wrapper ensures that we actually get ?? (fonts should be OK now)
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \ makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
$out/greeter \ $out/greeter \
--set XDG_DATA_DIRS ${pkgs.gnome2.gnome_icon_theme}/share \ --prefix PATH : "${pkgs.glibc}/bin" \
--set XDG_CONFIG_HOME $out/ --set GDK_PIXBUF_MODULE_FILE "$(find ${theme} -name loaders.cache)" \
--set GTK_PATH "${theme}:${pkgs.gtk3}" \
# We need this to ensure that it actually tries to find icons from gnome-icon-theme --set GTK_EXE_PREFIX "${theme}" \
cat - > $out/gtk-3.0/settings.ini << EOF --set GTK_DATA_PREFIX "${theme}" \
[Settings] --set XDG_DATA_DIRS "${theme}/share:${icons}/share" \
gtk-icon-theme-name=gnome --set XDG_CONFIG_HOME "${theme}/share"
EOF
cat - > $out/lightdm-gtk-greeter.desktop << EOF cat - > $out/lightdm-gtk-greeter.desktop << EOF
[Desktop Entry] [Desktop Entry]
@ -50,13 +50,11 @@ let
''; '';
}; };
hiddenUsers = config.services.xserver.displayManager.hiddenUsers;
usersConf = writeText "users.conf" usersConf = writeText "users.conf"
'' ''
[UserList] [UserList]
minimum-uid=500 minimum-uid=500
hidden-users=${concatStringsSep " " hiddenUsers} hidden-users=${concatStringsSep " " dmcfg.hiddenUsers}
hidden-shells=/run/current-system/sw/sbin/nologin hidden-shells=/run/current-system/sw/sbin/nologin
''; '';
@ -73,10 +71,19 @@ let
greeter-session = ${cfg.greeter.name} greeter-session = ${cfg.greeter.name}
''; '';
gtkGreeterConf = writeText "lightdm-gtk-greeter.conf"
''
[greeter]
theme-name = Adwaita
icon-theme-name = Adwaita
background = ${cfg.background}
'';
in in
{ {
options = { options = {
services.xserver.displayManager.lightdm = { services.xserver.displayManager.lightdm = {
enable = mkOption { enable = mkOption {
default = false; default = false;
description = '' description = ''
@ -95,6 +102,13 @@ in
}; };
}; };
background = mkOption {
default = "${pkgs.nixos-artwork}/gnome/Gnome_Dark.png";
description = ''
The background image or color to use.
'';
};
}; };
}; };
@ -112,6 +126,7 @@ in
''; '';
}; };
environment.etc."lightdm/lightdm-gtk-greeter.conf".source = gtkGreeterConf;
environment.etc."lightdm/lightdm.conf".source = lightdmConf; environment.etc."lightdm/lightdm.conf".source = lightdmConf;
environment.etc."lightdm/users.conf".source = usersConf; environment.etc."lightdm/users.conf".source = usersConf;
@ -123,7 +138,7 @@ in
users.extraUsers.lightdm = { users.extraUsers.lightdm = {
createHome = true; createHome = true;
home = "/var/lib/lightdm"; home = "/var/lib/lightdm-data";
group = "lightdm"; group = "lightdm";
uid = config.ids.uids.lightdm; uid = config.ids.uids.lightdm;
}; };

View File

@ -25,6 +25,8 @@ let
[Users] [Users]
MaximumUid=${toString config.ids.uids.nixbld} MaximumUid=${toString config.ids.uids.nixbld}
HideUsers=${concatStringsSep "," dmcfg.hiddenUsers}
HideShells=/run/current-system/sw/sbin/nologin
[XDisplay] [XDisplay]
MinimumVT=${toString xcfg.tty} MinimumVT=${toString xcfg.tty}

View File

@ -2,9 +2,15 @@
with lib; with lib;
let cfg = config.services.xserver.multitouch; in let cfg = config.services.xserver.multitouch;
disabledTapConfig = ''
{ Option "MaxTapTime" "0"
Option "MaxTapMove" "0"
Option "TapButton1" "0"
Option "TapButton2" "0"
Option "TapButton3" "0"
'';
in {
options = { options = {
@ -30,6 +36,33 @@ let cfg = config.services.xserver.multitouch; in
description = "Whether to ignore touches detected as being the palm (i.e when typing)"; description = "Whether to ignore touches detected as being the palm (i.e when typing)";
}; };
tapButtons = mkOption {
type = types.bool;
default = true;
example = false;
description = "Whether to enable tap buttons.";
};
buttonsMap = mkOption {
type = types.listOf types.int;
default = [3 2 0];
example = [1 3 2];
description = "Remap touchpad buttons.";
apply = map toString;
};
additionalOptions = mkOption {
type = types.str;
default = "";
example = ''
Option "ScaleDistance" "50"
Option "RotateDistance" "60"
'';
description = ''
Additional options for mtrack touchpad driver.
'';
};
}; };
}; };
@ -46,12 +79,17 @@ let cfg = config.services.xserver.multitouch; in
Identifier "Touchpads" Identifier "Touchpads"
Driver "mtrack" Driver "mtrack"
Option "IgnorePalm" "${if cfg.ignorePalm then "true" else "false"}" Option "IgnorePalm" "${if cfg.ignorePalm then "true" else "false"}"
Option "ClickFinger1" "${builtins.elemAt cfg.buttonsMap 0}"
Option "ClickFinger2" "${builtins.elemAt cfg.buttonsMap 1}"
Option "ClickFinger3" "${builtins.elemAt cfg.buttonsMap 2}"
${optionalString (!cfg.tapButtons) disabledTapConfig}
${optionalString cfg.invertScroll '' ${optionalString cfg.invertScroll ''
Option "ScrollUpButton" "5" Option "ScrollUpButton" "5"
Option "ScrollDownButton" "4" Option "ScrollDownButton" "4"
Option "ScrollLeftButton" "7" Option "ScrollLeftButton" "7"
Option "ScrollRightButton" "6" Option "ScrollRightButton" "6"
''} ''}
${cfg.additionalOptions}
EndSection EndSection
''; '';

View File

@ -0,0 +1,33 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.services.unclutter;
in {
options = {
services.unclutter.enable = mkOption {
type = types.bool;
default = false;
example = true;
description = "Enable unclutter to hide your mouse cursor when inactive";
};
services.unclutter.arguments = mkOption {
description = "Arguments to pass to unclutter command";
default = "-idle 1";
type = types.uniq types.string;
};
};
config = mkIf cfg.enable {
systemd.services.unclutter = {
description = "unclutter";
requires = [ "display-manager.service" ];
after = [ "display-manager.service" ];
wantedBy = [ "graphical.target" ];
serviceConfig.ExecStart = ''
${pkgs.unclutter}/bin/unclutter ${cfg.arguments}
'';
environment = { DISPLAY = ":0"; };
serviceConfig.Restart = "always";
};
};
}

View File

@ -70,7 +70,7 @@ with lib;
'' ''
Section "InputClass" Section "InputClass"
Identifier "Trackpoint Wheel Emulation" Identifier "Trackpoint Wheel Emulation"
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint" MatchProduct "Elantech PS/2 TrackPoint|TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device|Composite TouchPad / TrackPoint"
MatchDevicePath "/dev/input/event*" MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true" Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2" Option "EmulateWheelButton" "2"

View File

@ -82,7 +82,7 @@ in
systemd.services.prlshprint = { systemd.services.prlshprint = {
description = "Parallels Shared Printer Tool"; description = "Parallels Shared Printer Tool";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
bindsTo = [ "cupsd.service" ]; bindsTo = [ "cups.service" ];
serviceConfig = { serviceConfig = {
Type = "forking"; Type = "forking";
ExecStart = "${prl-tools}/bin/prlshprint"; ExecStart = "${prl-tools}/bin/prlshprint";

View File

@ -8,11 +8,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version; name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.8.1"; version = "1.8.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz"; url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
sha256 = "0h3jn400dj6qxl1gd4max7wl30cib2wczf9dd3qnbw42wngpdvx2"; sha256 = "17jxsxsrsz3qy2hxdpw78vcbnnd0nq614iy42ypzhw4pdpz0s1l7";
}; };
buildInputs = [ autoreconfHook pkgconfig openssl buildInputs = [ autoreconfHook pkgconfig openssl

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, pkgconfig, gettext, gtk2, expat, intltool, libgcrypt,
libunique, gnutls, libxml2, curl, mpd_clientlib, dbus_glib, libnotify,
libsoup, avahi, taglib
}:
stdenv.mkDerivation rec {
version = "1.5.1";
name = "ario-${version}";
src = fetchurl {
url = "mirror://sourceforge/ario-player/${name}.tar.gz";
sha256 = "07n97618jv1ilxnm5c6qj9zjz0imw3p304mn4hjbjkk3p0d2hc88";
};
patches = [ ./glib-single-include.patch ];
buildInputs = [
pkgconfig gettext gtk2 expat intltool libgcrypt libunique gnutls
libxml2 curl mpd_clientlib dbus_glib libnotify libsoup avahi taglib
];
meta = {
description = "GTK2 client for MPD (Music player daemon)";
homepage = "http://ario-player.sourceforge.net/";
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.garrison ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,40 @@
From: Michael Biebl <biebl@debian.org>
Origin: vendor
Bug-Debian: http://bugs.debian.org/665506
Subject: Including individual glib headers no longer supported
--- a/src/ario-profiles.h
+++ b/src/ario-profiles.h
@@ -20,7 +20,7 @@
#ifndef __ARIO_PROFILES_H
#define __ARIO_PROFILES_H
-#include <glib/gslist.h>
+#include <glib.h>
#include "servers/ario-server.h"
G_BEGIN_DECLS
--- a/src/plugins/ario-plugin-info.c
+++ b/src/plugins/ario-plugin-info.c
@@ -27,7 +27,7 @@
#include <string.h>
#include <glib/gi18n.h>
-#include <glib/gkeyfile.h>
+#include <glib.h>
#include "plugins/ario-plugin-info-priv.h"
#include "ario-debug.h"
--- a/src/ario-util.h
+++ b/src/ario-util.h
@@ -18,8 +18,8 @@
*/
#include "servers/ario-server.h"
-#include "glib/gslist.h"
-#include "gdk/gdkpixbuf.h"
+#include <glib.h>
+#include <gdk/gdkpixbuf.h>
/* Number of covers used to generate the drag & drop image */
#define MAX_COVERS_IN_DRAG 3

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lmms-${version}"; name = "lmms-${version}";
version = "1.1.2"; version = "1.1.3";
src = fetchurl { src = fetchurl {
url = "https://github.com/LMMS/lmms/archive/v${version}.tar.gz"; url = "https://github.com/LMMS/lmms/archive/v${version}.tar.gz";
sha256 = "0p0lfy3vmxjf9nwajzyhl2jscpmbi26qqqsy1hsa4ljc0plfz60p"; sha256 = "1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr";
}; };
buildInputs = [ buildInputs = [

View File

@ -0,0 +1,37 @@
{ stdenv, fetchurl, puredata }:
stdenv.mkDerivation rec {
name = "cyclone-${version}";
version = "0.1-alpha55";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/pure-data/libraries/cyclone/${name}.tar.gz";
sha256 = "1yys9xrlz09xgnqk2gqdl8vw6xj6l9d7km2lkihidgjql0jx5b5i";
};
buildInputs = [ puredata ];
patchPhase = ''
for file in `grep -r -l g_canvas.h`
do
sed -i 's|#include "g_canvas.h"|#include "${puredata}/include/pd/g_canvas.h"|g' $file
done
for file in `grep -r -l m_imp.h`
do
sed -i 's|#include "m_imp.h"|#include "${puredata}/include/pd/m_imp.h"|g' $file
done
'';
installPhase = ''
mkdir -p $out/cyclone
cp -r bin/* $out/cyclone
'';
meta = {
description = "A library of PureData classes, bringing some level of compatibility between Max/MSP and Pd environments";
homepage = http://puredata.info/downloads/cyclone;
license = stdenv.lib.licenses.tcltk;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,42 @@
{ stdenv, fetchurl, unzip, puredata }:
stdenv.mkDerivation rec {
name = "helmholtz";
src = fetchurl {
url = "http://www.katjaas.nl/helmholtz/helmholtz~.zip";
name = "helmholtz.zip";
sha256 = "0h1fj7lmvq9j6rmw33rb8k0byxb898bi2xhcwkqalb84avhywgvs";
};
buildInputs = [ unzip puredata ];
unpackPhase = ''
unzip $src
mv helmholtz~/src/helmholtz\~.cpp .
mv helmholtz~/src/Helmholtz.cpp .
mv helmholtz~/src/include/ .
mv helmholtz~/src/Makefile .
rm -rf helmholtz~/src/
rm helmholtz~/helmholtz~.pd_darwin
rm helmholtz~/helmholtz~.dll
rm -rf __MACOSX
'';
patchPhase = ''
sed -i "s@current: pd_darwin@current: pd_linux@g" Makefile
sed -i "s@-Wl@@g" Makefile
'';
installPhase = ''
cp -r helmholtz~/ $out/
'';
meta = {
description = "Time domain pitch tracker for Pure Data";
homepage = http://www.katjaas.nl/helmholtz/helmholtz.html;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,33 @@
{ stdenv, fetchurl, puredata }:
stdenv.mkDerivation rec {
name = "maxlib-${version}";
version = "1.5.5";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/pure-data/libraries/maxlib/${name}.tar.gz";
sha256 = "0vxl9s815dnay5r0067rxsfh8f6jbk61f0nxrydzjydfycza7p1w";
};
buildInputs = [ puredata ];
patchPhase = ''
for i in ${puredata}/include/pd/*; do
ln -s $i .
done
sed -i "s@/usr@$out@g" Makefile
'';
postInstall = ''
mv $out/local/lib/pd-externals/maxlib/ $out
rm -rf $out/local/
'';
meta = {
description = "A library of non-tilde externals for puredata, by Miller Puckette";
homepage = http://puredata.info/downloads/maxlib;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,60 @@
{ stdenv, fetchurl, puredata }:
stdenv.mkDerivation rec {
name = "mrpeach-${version}";
version = "1.1";
# this was to only usable url I could find:
# - The main url changes hash: http://pure-data.cvs.sourceforge.net/viewvc/pure-data/externals/mrpeach/?view=tar
# - There are lot's of places where this SW is available as part of a big pkg: pd-extended, pd-l2ork
# - It's just 211K
src = fetchurl {
url = "http://slackonly.com/pub/korgie/sources/pd_mrpeach-2011.10.21.tar.gz";
sha256 = "12jqba3jsdrk20ib9wc2wiivki88ypcd4mkzgsri9siywbbz9w8x";
};
buildInputs = [puredata ];
patchPhase = ''
for D in net osc
do
sed -i "s@prefix = /usr/local@prefix = $out@g" $D/Makefile
for i in ${puredata}/include/pd/*; do
ln -s $i $D/
done
done
'';
buildPhase = ''
for D in net osc
do
cd $D
make
cd ..
done
'';
installPhase = ''
for D in net osc
do
cd $D
make install
cd ..
done
'';
fixupPhase = ''
mv $out/lib/pd-externals/net $out
mv $out/lib/pd-externals/osc $out
rm -rf $out/lib
'';
meta = {
description = "A collection of Pd objectclasses for OSC-messages";
homepage = http://puredata.info/downloads/osc;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,30 @@
{ stdenv, fetchurl, unzip, puredata }:
stdenv.mkDerivation rec {
name = "puremapping";
src = fetchurl {
url = "http://www.chnry.net/ch/IMG/zip/puremapping-libdir-generic.zip";
name = "puremapping";
sha256 = "1ygzxsfj3rnzjkpmgi4wch810q8s5vm1gdam6a938hbbvamafgvc";
};
buildInputs = [ unzip puredata ];
unpackPhase = ''
unzip $src
'';
installPhase = ''
mkdir -p $out/puremapping
mv puremapping/ $out
'';
meta = {
description = "Set of externals to facilitate the use of sensors within Pure Data and to create complex relations between input and output of a dynamic system";
homepage = http://www.chnry.net/ch/?090-Pure-Mapping&lang=en;
license = stdenv.lib.licenses.gpl1;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,35 @@
{ stdenv, fetchurl, unzip, puredata }:
stdenv.mkDerivation rec {
version = "0.6.0";
name = "timbreid-${version}";
src = fetchurl {
url = "http://williambrent.conflations.com/pd/timbreID-${version}-src.zip";
sha256 = "02rnkb0vpjxrr60c3hryv7zhyjpci2mi9dk27kjxpj5zp26gjk0p";
};
buildInputs = [ unzip puredata ];
unpackPhase = ''
unzip $src
mv timbreID-0.6.0-src/tID/* .
rm -rf timbreID-0.6.0-src/tID/
rm -rf timbreID-0.6.0-src/INSTALL.txt
'';
installPhase = ''
mkdir -p $out/
cp -r *.pd $out/
cp -r *.pd_linux $out/
cp -r *.wav $out/
'';
meta = {
description = "A collection of audio feature analysis externals for puredata";
homepage = http://williambrent.conflations.com/pages/research.html;
license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, fetchurl, autoconf, automake, puredata }:
stdenv.mkDerivation rec {
name = "zexy-${version}";
version = "2.2.4";
src = fetchurl {
url = "http://puredata.info/downloads/zexy/releases/${version}/${name}.tar.gz";
sha256 = "1xpgl82c2lc6zfswjsa7z10yhv5jb7a4znzh3nc7ffrzm1z8vylp";
};
buildInputs = [ autoconf automake puredata ];
patchPhase = ''
cd src/
for i in ${puredata}/include/pd/*; do
ln -s $i .
done
patchShebangs
./bootstrap.sh
./configure --enable-lpt=no --prefix=$out
'';
postInstall = ''
mv $out/lib/pd/extra/zexy $out
rm -rf $out/lib
'';
meta = {
description = "The swiss army knife for puredata";
homepage = http://puredata.info/downloads/zexy;
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, buildEnv, puredata, makeWrapper, plugins }:
let
puredataFlags = map (x: "-path ${x}/") plugins;
drv = buildEnv {
name = "puredata-with-plugins-" + (builtins.parseDrvName puredata.name).version;
paths = [ puredata ] ++ plugins;
postBuild = ''
# TODO: This could be avoided if buildEnv could be forced to create all directories
if [ -L $out/bin ]; then
rm $out/bin
mkdir $out/bin
for i in ${puredata}/bin/*; do
ln -s $i $out/bin
done
fi
wrapProgram $out/bin/pd \
--add-flags "${toString puredataFlags}"
'';
};
in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })

View File

@ -6,8 +6,6 @@
#ToDo: bad icons with gtk2; #ToDo: bad icons with gtk2;
# avatar icon is missing in standard hicolor theme, I don't know where gtk3 takes it from # avatar icon is missing in standard hicolor theme, I don't know where gtk3 takes it from
#ToDo: Failed to open sessions directory: Error opening directory '${lightdm}/share/lightdm/remote-sessions': No such file or directory
let let
ver_branch = "2.0"; ver_branch = "2.0";
version = "2.0.0"; version = "2.0.0";

View File

@ -16,11 +16,11 @@ let
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "atom-${version}"; name = "atom-${version}";
version = "0.171.0"; version = "0.187.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "0syl3rljk2k8j6fy8xq59qhf13b8a4awpi5cvn1kka56y0vmhxs5"; sha256 = "0s6173dg5m52zc8kqwlgjn113d84cskrv9v29fb0nrvwvkv2xzmw";
name = "${name}.deb"; name = "${name}.deb";
}; };
@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/share/atom/atom $out/share/atom/atom
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
$out/share/atom/resources/app/apm/node_modules/atom-package-manager/bin/node $out/share/atom/resources/app/apm/bin/node
wrapProgram $out/bin/atom \ wrapProgram $out/bin/atom \
--prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64" --prefix "LD_LIBRARY_PATH" : "${atomEnv}/lib:${atomEnv}/lib64"
wrapProgram $out/bin/apm \ wrapProgram $out/bin/apm \

View File

@ -246,11 +246,11 @@ in {
description = "Eclipse Classic"; description = "Eclipse Classic";
sources = { sources = {
"x86_64-linux" = fetchurl { "x86_64-linux" = fetchurl {
url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk-x86_64.tar.gz; url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk-x86_64.tar.gz;
sha256 = "0ncm56ylwxw9z8rk8ccgva68c2yr9yrf1kcr1zkgw6p87xh1yczd"; sha256 = "0ncm56ylwxw9z8rk8ccgva68c2yr9yrf1kcr1zkgw6p87xh1yczd";
}; };
"i686-linux" = fetchurl { "i686-linux" = fetchurl {
url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk.tar.gz; url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk.tar.gz;
sha256 = "1zxsh838khny7mvl01h28xna6xdh01yi4mvls28zj22v0340lgsg"; sha256 = "1zxsh838khny7mvl01h28xna6xdh01yi4mvls28zj22v0340lgsg";
}; };
}; };
@ -261,14 +261,29 @@ in {
description = "Eclipse Classic"; description = "Eclipse Classic";
sources = { sources = {
"x86_64-linux" = fetchurl { "x86_64-linux" = fetchurl {
url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk-x86_64.tar.gz; url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk-x86_64.tar.gz;
sha256 = "14hdkijsjq0hhzi9ijpwjjkhz7wm0pry86l3dniy5snlh3l5bsb2"; sha256 = "14hdkijsjq0hhzi9ijpwjjkhz7wm0pry86l3dniy5snlh3l5bsb2";
}; };
"i686-linux" = fetchurl { "i686-linux" = fetchurl {
url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk.tar.gz; url = http://archive.eclipse.org/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk.tar.gz;
sha256 = "0hjc4zrsmik6vff851p0a4ydnx99840j2xrx8348kk6h0af8vx6z"; sha256 = "0hjc4zrsmik6vff851p0a4ydnx99840j2xrx8348kk6h0af8vx6z";
}; };
}; };
}; };
eclipse_sdk_442 = buildEclipse {
name = "eclipse-sdk-4.4.2";
description = "Eclipse Classic";
sources = {
"x86_64-linux" = fetchurl {
url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4.2-201502041700/eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz;
sha256 = "0g00alsixfaakmn4khr0m9fxvkrbhbg6qqfa27xr6a9np6gzg98l";
};
"i686-linux" = fetchurl {
url = http://download.eclipse.org/eclipse/downloads/drops4/R-4.4.2-201502041700/eclipse-SDK-4.4.2-linux-gtk.tar.gz;
sha256 = "9f4238ce9f887a1a57bbc6c6898e43357d14a6d74f59385327813c5e82aa735d";
};
};
};
} }

View File

@ -9,10 +9,10 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "gobby-0.4.94"; name = "gobby-0.5.0";
src = fetchurl { src = fetchurl {
url = "http://releases.0x539.de/gobby/${name}.tar.gz"; url = "http://releases.0x539.de/gobby/${name}.tar.gz";
sha256 = "b9798808447cd94178430f0fb273d0e45d0ca30ab04560e3790bac469e03bb00"; sha256 = "165x0r668ma5blziisvbr8qig3jw9hf7i6w8r7wwvz3wsac3bswc";
}; };
buildInputs = [ pkgconfig gtkmm gsasl gtksourceview libxmlxx libinf intltool ] buildInputs = [ pkgconfig gtkmm gsasl gtksourceview libxmlxx libinf intltool ]

View File

@ -254,37 +254,37 @@ in
pycharm-community = buildPycharm rec { pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}"; name = "pycharm-community-${version}";
version = "4.0.1"; version = "4.0.5";
build = "139.574"; build = "139.1547";
description = "PyCharm 4.0 Community Edition"; description = "PyCharm 4.0 Community Edition";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz"; url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "0jh0sxi5dpgpw7ga018fby7zvb4i9k49vwl8422lfcrgckdz9nv2"; sha256 = "16na04sp9q7z10kjx8wpf9k9bv9vgv7rmd9jnrn72nhwd7bp0n1i";
}; };
}; };
pycharm-professional = buildPycharm rec { pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}"; name = "pycharm-professional-${version}";
version = "4.0.1"; version = "4.0.5";
build = "139.574"; build = "139.1547";
description = "PyCharm 4.0 Professional Edition"; description = "PyCharm 4.0 Professional Edition";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz"; url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "04yjhg6vi2kz00sy8zg4wkz26ai90vbp0cnd850ynsab0jsy24w4"; sha256 = "17cxznv7q47isym6l7kbp3jdzdgj02jayygy42x4bwjmg579v1gg";
}; };
}; };
phpstorm = buildPhpStorm rec { phpstorm = buildPhpStorm rec {
name = "phpstorm-${version}"; name = "phpstorm-${version}";
version = "8.0.2"; version = "8.0.3";
build = "PS-139.732"; build = "PS-139.1348";
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 = "01b8vx6swi71sd0rc7i1jnicilqp11ch3zrm8gwb6xh1pmmpdirf"; sha256 = "1x67nfr3nap93cx7yhdrp02xvp1v6g74zy7hdmhx41sal7hzy49b";
}; };
}; };

View File

@ -1,6 +1,6 @@
--- a/build.xml 2013-07-28 18:03:55.000000000 +0100 --- a/build.xml 2015-02-04 08:47:37.000000000 +0100
+++ b/build.xml 2014-11-12 21:54:48.443482074 +0000 +++ b/build.xml 2015-02-17 14:06:42.455283148 +0100
@@ -42,16 +42,6 @@ @@ -43,16 +43,6 @@
<property name="textAreaPackage" <property name="textAreaPackage"
location="../textarea"/> location="../textarea"/>
@ -17,7 +17,7 @@
<!-- Miscellaneous --> <!-- Miscellaneous -->
<property name="jar.filename" <property name="jar.filename"
value="${ant.project.name}.jar"/> value="${ant.project.name}.jar"/>
@@ -89,51 +79,8 @@ @@ -90,51 +80,8 @@
value="true"/> value="true"/>
</target> </target>
@ -39,7 +39,7 @@
- -
- <target name="init-ivy" - <target name="init-ivy"
- depends="init,download-ivy" - depends="init,download-ivy"
- unless="${ivy.done}"> - unless="ivy.done">
- <property name="ivy.retrieve.pattern" - <property name="ivy.retrieve.pattern"
- value="${lib.dir}/[conf]/[artifact](-[classifier]).[ext]"/> - value="${lib.dir}/[conf]/[artifact](-[classifier]).[ext]"/>
- <taskdef resource="org/apache/ivy/ant/antlib.xml" - <taskdef resource="org/apache/ivy/ant/antlib.xml"
@ -52,7 +52,7 @@
- <target name="retrieve" - <target name="retrieve"
- description="retrieve the dependencies" - description="retrieve the dependencies"
- depends="init,init-ivy" - depends="init,init-ivy"
- unless="${ivy.done}"> - unless="ivy.done">
- <ivy:retrieve sync="true"/> - <ivy:retrieve sync="true"/>
- <ivy:retrieve pattern="${lib.dir}/ivy/[artifact]-[revision].[ext]" - <ivy:retrieve pattern="${lib.dir}/ivy/[artifact]-[revision].[ext]"
- organisation="org.apache.ivy" - organisation="org.apache.ivy"
@ -70,7 +70,7 @@
<taskdef resource="net/sf/antcontrib/antlib.xml" <taskdef resource="net/sf/antcontrib/antlib.xml"
uri="antlib:net.sf.antcontrib"> uri="antlib:net.sf.antcontrib">
<classpath> <classpath>
@@ -238,37 +185,6 @@ @@ -239,37 +186,6 @@
</javac> </javac>
</target> </target>
@ -108,13 +108,14 @@
<target name="prepare-textArea" <target name="prepare-textArea"
depends="init"> depends="init">
<delete includeemptydirs="true" <delete includeemptydirs="true"
@@ -425,32 +341,8 @@ @@ -423,33 +339,8 @@
</javac> </javac>
</target> </target>
- <target name="test" - <target name="test"
- depends="init,retrieve,compile,compile-test" - depends="init,retrieve,compile,compile-test"
- description="run unit tests"> - description="run unit tests"
- unless="skip.tests">
- <delete dir="${build.dir}/test/raw-reports"/> - <delete dir="${build.dir}/test/raw-reports"/>
- <mkdir dir="${build.dir}/test/raw-reports"/> - <mkdir dir="${build.dir}/test/raw-reports"/>
- <junit printsummary="true" - <junit printsummary="true"
@ -142,7 +143,11 @@
description="build the jEdit JAR-file with full debug-information"> description="build the jEdit JAR-file with full debug-information">
<mkdir dir="${jar.location}"/> <mkdir dir="${jar.location}"/>
<jar destfile="${jar.location}/${jar.filename}" <jar destfile="${jar.location}/${jar.filename}"
@@ -508,7 +400,7 @@ @@ -504,11 +395,10 @@
</copy>
</contrib:then>
</contrib:if>
- <antcall target="test" />
</target> </target>
<target name="build-exe-launcher" <target name="build-exe-launcher"
@ -151,7 +156,7 @@
description="build the EXE launcher"> description="build the EXE launcher">
<contrib:if> <contrib:if>
<os family="windows"/> <os family="windows"/>
@@ -611,7 +503,7 @@ @@ -622,7 +512,7 @@
</target> </target>
<target name="unpack-docbook-xsl" <target name="unpack-docbook-xsl"
@ -160,7 +165,7 @@
<unzip src="${lib.dir}/docbook/docbook-xsl-resources.zip" <unzip src="${lib.dir}/docbook/docbook-xsl-resources.zip"
dest="${build.dir}/docbook-xsl/"/> dest="${build.dir}/docbook-xsl/"/>
</target> </target>
@@ -655,7 +547,7 @@ @@ -668,7 +558,7 @@
</presetdef> </presetdef>
<target name="generate-doc-faq" <target name="generate-doc-faq"
@ -169,7 +174,7 @@
<dependset.html> <dependset.html>
<srcfileset dir="doc/FAQ"/> <srcfileset dir="doc/FAQ"/>
<targetfileset dir="${jar.location}/doc/FAQ"/> <targetfileset dir="${jar.location}/doc/FAQ"/>
@@ -679,7 +571,7 @@ @@ -692,7 +582,7 @@
</target> </target>
<target name="generate-doc-news" <target name="generate-doc-news"
@ -178,7 +183,7 @@
<dependset.html> <dependset.html>
<srcfileset dir="doc/whatsnew"/> <srcfileset dir="doc/whatsnew"/>
<targetfileset dir="${jar.location}/doc/whatsnew"/> <targetfileset dir="${jar.location}/doc/whatsnew"/>
@@ -703,7 +595,7 @@ @@ -716,7 +606,7 @@
</target> </target>
<target name="generate-doc-users-guide" <target name="generate-doc-users-guide"
@ -187,7 +192,7 @@
<dependset.html> <dependset.html>
<srcfileset dir="doc/users-guide"/> <srcfileset dir="doc/users-guide"/>
<targetfileset dir="${jar.location}/doc/users-guide"/> <targetfileset dir="${jar.location}/doc/users-guide"/>
@@ -838,7 +730,7 @@ @@ -851,7 +741,7 @@
</target> </target>
<target name="generate-pdf-users-guide" <target name="generate-pdf-users-guide"
@ -196,7 +201,7 @@
<fail message="Please set the property &quot;paper.type&quot;" <fail message="Please set the property &quot;paper.type&quot;"
unless="paper.type"/> unless="paper.type"/>
<contrib:switch value="${paper.type}"> <contrib:switch value="${paper.type}">
@@ -1143,7 +1035,7 @@ @@ -1154,7 +1044,7 @@
</target> </target>
<target name="compile-jarbundler" <target name="compile-jarbundler"
@ -205,7 +210,7 @@
<mkdir dir="${classes.dir}/jarbundler"/> <mkdir dir="${classes.dir}/jarbundler"/>
<depend srcDir="${basedir}" <depend srcDir="${basedir}"
destDir="${classes.dir}/jarbundler" destDir="${classes.dir}/jarbundler"
@@ -1173,7 +1065,7 @@ @@ -1180,7 +1070,7 @@
</target> </target>
<target name="dist-mac-finish" <target name="dist-mac-finish"
@ -214,7 +219,7 @@
description="finish building the Mac OS X disk image (DMG-file) on Mac OS X"> description="finish building the Mac OS X disk image (DMG-file) on Mac OS X">
<fail message="The disk image (DMG-file) for easy distribution on Mac OS X can only be built on Mac OS X currently"> <fail message="The disk image (DMG-file) for easy distribution on Mac OS X can only be built on Mac OS X currently">
<condition> <condition>
@@ -1271,7 +1163,7 @@ @@ -1295,7 +1185,7 @@
</target> </target>
<target name="dist-mac" <target name="dist-mac"
@ -223,7 +228,7 @@
description="build the Mac OS X disk image (DMG-file)"> description="build the Mac OS X disk image (DMG-file)">
<antcall target="compile-jarbundler"> <antcall target="compile-jarbundler">
<param name="config.build.debuglevel" <param name="config.build.debuglevel"
@@ -1386,7 +1278,7 @@ @@ -1411,7 +1301,7 @@
</target> </target>
<target name="prepare-dist-files" <target name="prepare-dist-files"
@ -232,7 +237,7 @@
<antcall target="build"> <antcall target="build">
<param name="config.build.debuglevel" <param name="config.build.debuglevel"
value="lines,source"/> value="lines,source"/>
@@ -1567,7 +1459,7 @@ @@ -1592,7 +1482,7 @@
</target> </target>
<target name="dist-deb" <target name="dist-deb"
@ -241,7 +246,7 @@
description="build the DEB Package"> description="build the DEB Package">
<antcall target="compile-ar"> <antcall target="compile-ar">
<param name="config.build.debuglevel" <param name="config.build.debuglevel"
@@ -1813,7 +1705,7 @@ @@ -1838,7 +1728,7 @@
</target> </target>
<target name="dist-sign-deb-Release" <target name="dist-sign-deb-Release"

View File

@ -1,7 +1,7 @@
{stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging}: { stdenv, fetchurl, ant, jdk, commonsBsf, commonsLogging }:
let let
version = "5.1.0"; version = "5.2.0";
bsh = fetchurl { bsh = fetchurl {
url = http://www.beanshell.org/bsh-2.0b4.jar; url = http://www.beanshell.org/bsh-2.0b4.jar;
sha256 = "1di7hj2yms1m3wa8k70jpw0wzfnrgibpqnvdk33ahfaqi03mqfci"; sha256 = "1di7hj2yms1m3wa8k70jpw0wzfnrgibpqnvdk33ahfaqi03mqfci";
@ -20,7 +20,7 @@ stdenv.mkDerivation {
name = "jedit-${version}"; name = "jedit-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2"; url = "mirror://sourceforge/jedit/jedit${version}source.tar.bz2";
sha256 = "015rn4339mp4wrd901x56nr42wfcy429pg54n835c6n34b2jjdc6"; sha256 = "03wmbh90rl5lsc35d7jwcp9j5qyyzq1nccxf4fal8bmnx8n4si0x";
}; };
buildInputs = [ ant jdk commonsBsf commonsLogging ]; buildInputs = [ ant jdk commonsBsf commonsLogging ];
@ -63,7 +63,7 @@ stdenv.mkDerivation {
description = "Mature programmer's text editor (Java based)"; description = "Mature programmer's text editor (Java based)";
homepage = http://www.jedit.org; homepage = http://www.jedit.org;
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.unix;
maintainers = [ maintainers.vbgl ]; maintainers = [ maintainers.vbgl ];
}; };
} }

View File

@ -14,21 +14,21 @@ in
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "LightTable-${version}"; name = "lighttable-${version}";
version = "0.6.7"; version = "0.7.2";
src = src =
if stdenv.system == "i686-linux" then if stdenv.system == "i686-linux" then
fetchurl { fetchurl {
name = "LightTableLinux.tar.gz"; name = "LightTableLinux.tar.gz";
url = https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/0.6.7/LightTableLinux.tar.gz; url = "https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/${version}/LightTableLinux.tar.gz";
sha256 = "3b09f9665ed1b4abb7c1ca16286ac7222caf6dc124059be6db4cb9f5fd041e73"; sha256 = "1q5m50r319xn9drfv3cyfja87b7dfhni9d9gmz9733idq3l5fl9i";
} }
else else
fetchurl { fetchurl {
name = "LightTableLinux64.tar.gz"; name = "LightTableLinux64.tar.gz";
url = https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/0.6.7/LightTableLinux64.tar.gz; url = "https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/${version}/LightTableLinux64.tar.gz";
sha256 = "710d670ccc30aadba521ccb723388679ee6404aac662297a005432c811d59e82"; sha256 = "1jnn103v5qrplkb5ik9p8whfqclcq2r1qv666hp3jaiwb46vhf3c";
}; };
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
--set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \ --set-rpath ${libPath}:${stdenv.cc.cc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
$out/LightTable/ltbin $out/LightTable/ltbin
ln -s ${udev}/lib/libudev.so.1 $out/LightTable/libudev.so.0 ln -sf ${udev}/lib/libudev.so.1 $out/LightTable/libudev.so.0
makeWrapper $out/LightTable/ltbin $out/bin/lighttable \ makeWrapper $out/LightTable/ltbin $out/bin/lighttable \
--prefix "LD_LIBRARY_PATH" : $out/LightTable --prefix "LD_LIBRARY_PATH" : $out/LightTable

View File

@ -1,10 +1,10 @@
{ stdenv, fetchurl, swt, jdk, makeWrapper, alsaLib }: { stdenv, fetchurl, swt, jdk, makeWrapper, alsaLib }:
let metadata = if stdenv.system == "i686-linux" let metadata = assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
then { arch = "x86"; sha256 = "1qmb51k0538pn7gv4nsvhfv33xik4l4af0qmpllkzrikmj8wvzlb"; } if stdenv.system == "i686-linux" then
else if stdenv.system == "x86_64-linux" { arch = "x86"; sha256 = "1qmb51k0538pn7gv4nsvhfv33xik4l4af0qmpllkzrikmj8wvzlb"; }
then { arch = "x86_64"; sha256 = "12af47jhlrh9aq5b3d13l7cdhlndgnfpy61gz002hajbq7i00ixh"; } else
else { }; { arch = "x86_64"; sha256 = "12af47jhlrh9aq5b3d13l7cdhlndgnfpy61gz002hajbq7i00ixh"; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "1.2"; version = "1.2";
name = "tuxguitar-${version}"; name = "tuxguitar-${version}";

View File

@ -1,7 +1,9 @@
{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, qimageblitz, qca2, eigen, { stdenv, fetchurl, automoc4, boost, shared_desktop_ontologies, cmake
lcms, jasper, libgphoto2, kdepimlibs, gettext, soprano, libjpeg, libtiff, , eigen, lcms, gettext, jasper, kdelibs, kdepimlibs, lensfun
liblqr1, lensfun, pkgconfig, qjson, libkdcraw, opencv, libkexiv2, libkipi, boost, , libgphoto2, libjpeg, libkdcraw, libkexiv2, libkipi, libpgf, libtiff
shared_desktop_ontologies, marble, mysql, libpgf }: , libusb1, liblqr1, marble, mysql, opencv, phonon, pkgconfig, qca2
, qimageblitz, qjson, qt4, soprano
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "digikam-4.6.0"; name = "digikam-4.6.0";
@ -13,20 +15,26 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake automoc4 pkgconfig ]; nativeBuildInputs = [ cmake automoc4 pkgconfig ];
buildInputs = [ qt4 kdelibs phonon qimageblitz qca2 eigen lcms libjpeg libtiff buildInputs = [
jasper libgphoto2 kdepimlibs gettext soprano liblqr1 lensfun qjson libkdcraw boost eigen gettext jasper kdelibs kdepimlibs lcms lensfun
opencv libkexiv2 libkipi boost shared_desktop_ontologies marble mysql libpgf ]; libgphoto2 libjpeg libkdcraw libkexiv2 libkipi liblqr1 libpgf
libtiff marble mysql opencv phonon qca2 qimageblitz qjson qt4
shared_desktop_ontologies soprano
];
# Make digikam find some FindXXXX.cmake # Make digikam find some FindXXXX.cmake
KDEDIRS="${marble}:${qjson}"; KDEDIRS="${marble}:${qjson}";
# Help digiKam find libusb, otherwise gphoto2 support is disabled
cmakeFlags = "-DLIBUSB_LIBRARIES=${libusb1}/lib -DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0";
enableParallelBuilding = true; enableParallelBuilding = true;
meta = { meta = {
description = "Photo Management Program"; description = "Photo Management Program";
license = "GPL"; license = stdenv.lib.licenses.gpl2;
homepage = http://www.digikam.org; homepage = http://www.digikam.org;
maintainers = with stdenv.lib.maintainers; [ viric urkud ]; maintainers = with stdenv.lib.maintainers; [ goibhniu viric urkud ];
inherit (kdelibs.meta) platforms; inherit (kdelibs.meta) platforms;
}; };
} }

View File

@ -201,6 +201,7 @@ let
NIX_CFLAGS_COMPILE = NIX_CFLAGS_COMPILE =
(super.kde-runtime.NIX_CFLAGS_COMPILE or "") (super.kde-runtime.NIX_CFLAGS_COMPILE or "")
+ " -I${ilmbase}/include/OpenEXR"; + " -I${ilmbase}/include/OpenEXR";
meta = { priority = 10; };
}; };
kde-workspace = with pkgs; super.kde-workspace // { kde-workspace = with pkgs; super.kde-workspace // {
@ -214,6 +215,7 @@ let
nativeBuildInputs = nativeBuildInputs =
super.kde-workspace.nativeBuildInputs super.kde-workspace.nativeBuildInputs
++ [ pkgconfig ]; ++ [ pkgconfig ];
meta = { priority = 10; };
}; };
kdelibs = with pkgs; super.kdelibs // { kdelibs = with pkgs; super.kdelibs // {

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,8 @@ if [ $# -eq 0 ]; then
# from recursing over the whole server! (No, it's not a bug.) # from recursing over the whole server! (No, it's not a bug.)
$(nix-build ../../.. -A autonix.manifest) \ $(nix-build ../../.. -A autonix.manifest) \
http://download.kde.org/stable/applications/14.12.1/ \ http://download.kde.org/stable/applications/14.12.1/ \
http://download.kde.org/stable/applications/14.12.2/ \
http://download.kde.org/stable/applications/14.12.3/ \
-A '*.tar.xz' -A '*.tar.xz'
else else

View File

@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
license = licenses.lgpl2Plus; license = licenses.lgpl2Plus;
maintainers = [ maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux; platforms = platforms.linux;
broken = true; # see https://github.com/NixOS/nixpkgs/pull/4031#issuecomment-56283520
}; };
} }

View File

@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
"-DWITH_SDL=ON" "-DWITH_SDL=ON"
"-DWITH_GAMEENGINE=ON" "-DWITH_GAMEENGINE=ON"
"-DWITH_OPENCOLORIO=ON" "-DWITH_OPENCOLORIO=ON"
"-DWITH_PLAYER=ON"
"-DPYTHON_LIBRARY=python${python.majorVersion}m" "-DPYTHON_LIBRARY=python${python.majorVersion}m"
"-DPYTHON_LIBPATH=${python}/lib" "-DPYTHON_LIBPATH=${python}/lib"
"-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m" "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m"

View File

@ -5,11 +5,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "calibre-2.20.0"; name = "calibre-2.21.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz"; url = "mirror://sourceforge/calibre/${name}.tar.xz";
sha256 = "13246f4vxz4ps3c549hrnwdkwic5jsf7g1faham38z1ixd094lkd"; sha256 = "1adig2jxwbmsxcs36jaybhc8zdb8mnkc23kabw0c72izrsg4c5gb";
}; };
inherit python; inherit python;

View File

@ -0,0 +1,24 @@
{ stdenv, fetchurl, gtk, libnotify, unzip, glib, pkgconfig }:
stdenv.mkDerivation rec {
name = "cbatticon-${version}";
version = "1.4.2";
src = fetchurl {
url = "https://github.com/valr/cbatticon/archive/${version}.zip";
sha256 = "1jkaar987ayydgghl8s8f1yy41mcmhqvgw897jv4y8yliskn0604";
};
makeFlags = "PREFIX=$(out)";
buildInputs = [ gtk libnotify unzip glib pkgconfig ];
meta = with stdenv.lib; {
description = "A lightweight and fast battery icon that sits in your system tray";
homepage = https://github.com/valr/cbatticon;
license = licenses.gpl2;
maintainers = [ maintainers.iElectric ];
platforms = platforms.linux;
};
}

View File

@ -1,10 +1,10 @@
{ stdenv, cmake, fetchurl, pkgconfig, qt4, zlib, bzip2 }: { stdenv, cmake, fetchurl, pkgconfig, qt4, zlib, bzip2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "doomseeker-0.12.1b"; name = "doomseeker-0.12.2b";
src = fetchurl { src = fetchurl {
url = "http://doomseeker.drdteam.org/files/${name}_src.tar.bz2"; url = "http://doomseeker.drdteam.org/files/${name}_src.tar.bz2";
sha256 = "110yg3w3y1x8p4gqpxb6djxw348caj50q5liq8ssb5mf78v8gk6b"; sha256 = "1bcrxc3g9c6b4d8dbm2rx0ldxkqc5fc91jndkwiaykf8hajm0jnr";
}; };
cmakeFlags = '' cmakeFlags = ''

View File

@ -1,21 +1,21 @@
# This file is autogenerated from update.sh in the parent directory. # This file is autogenerated from update.sh in the parent directory.
{ {
dev = { dev = {
version = "42.0.2305.3"; version = "43.0.2327.5";
sha256 = "00338x1x78wcvaxcnnq5cng30450gsyqnlwplgyq7zjsrpqpprvn"; sha256 = "0k9jpzm1n7d3zv6f77vz33jcvmnbxnl6plabvlrf8w83kbzhi76n";
sha256bin32 = "1xxmyfmdksqpwwf3wxhxrxvqnvjxlwkhkrdzkmra7d74hz7mqjz7"; sha256bin32 = "1dm4xp0x02kqj82giw45qd2z12wf22h2bs0d3hnlz050innxgcb6";
sha256bin64 = "0q4hvvkjzy46x9hfhchywakzrd0jfwhxxsv96cz3yfcqwasf42x7"; sha256bin64 = "1b13g44y704llsnw68840zmaahj1hwzram50v8fqmff44w1b0bxb";
}; };
beta = { beta = {
version = "41.0.2272.64"; version = "42.0.2311.39";
sha256 = "0jq864636527fpnrkdaalp73hjcd581imdk13bxfi6g4ic0sizkg"; sha256 = "0qiyg8bg9f1daf8v2jlrv54lis7156h44ak42jdx96xanvj2rvj0";
sha256bin32 = "12sisp6bk6qvgikzxi616d8cnrrgs2593kyq7sv3276wjz34a07m"; sha256bin32 = "0v4dr2a3n51dais2mg0dml0rmqfmalfj0zgp20a4kkarbpih1x0v";
sha256bin64 = "1vz89r43byd0shjvr6bvmwlsh97fx281hlzfv49q9k49piyfylgp"; sha256bin64 = "19638ik9qgfmxpzdry0qwkwpzvhlbs2h2nn1kwsjja5j49817ksx";
}; };
stable = { stable = {
version = "40.0.2214.115"; version = "41.0.2272.89";
sha256 = "19d6zd71w3zvqwb0ncdapfwkckjgqmb1jfg228jvaispp9nvjq92"; sha256 = "1saxcyqp8pz496qwdgl4dqxll6l9icbljm56w1rrkxgwrrvl4iwk";
sha256bin32 = "1sv8sj0xp14q5693jcwwipinx539d5rgvhqcxm6b030024jjh8sr"; sha256bin32 = "19srg0isp1k4fwixwjxm1j88bnqx9sb349n992i038c3h8raa1v4";
sha256bin64 = "1zgb9g6fr29i7f9s1s1dcih1qjiz62ir90k0fsam9df99gzmmyc0"; sha256bin64 = "1fb8ffgbsjsij7bd1qawa03z9pybasfig1cmdzwybmlwg2fdlvfv";
}; };
} }

View File

@ -36,7 +36,7 @@
let let
# -> http://get.adobe.com/flashplayer/ # -> http://get.adobe.com/flashplayer/
version = "11.2.202.442"; version = "11.2.202.451";
src = src =
if stdenv.system == "x86_64-linux" then if stdenv.system == "x86_64-linux" then
@ -47,7 +47,7 @@ let
else rec { else rec {
inherit version; inherit version;
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
sha256 = "08ni1mllp98d7wawz35lx8ydymya8nspb90mq29ivbyrkx5aal28"; sha256 = "0jlk3bgpv998ajm5wlxngxy82h3mcd847wm8mkvmyfmjn4x9dv7z";
} }
else if stdenv.system == "i686-linux" then else if stdenv.system == "i686-linux" then
if debug then if debug then
@ -60,7 +60,7 @@ let
else rec { else rec {
inherit version; inherit version;
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
sha256 = "00728q8jp40llpsfw2n5q9w29isyy3a64xlisjizyh3chb6bkkdm"; sha256 = "1lpvx6dz3hdf3jhs3xdf09jyh1563msq0icr832432d4a1jgqkds";
} }
else throw "Flash Player is not supported on this platform"; else throw "Flash Player is not supported on this platform";

View File

@ -1,12 +1,13 @@
{stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}: {stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "snort-2.9.7.0"; version = "2.9.7.2";
name = "snort-${version}";
src = fetchurl { src = fetchurl {
name = "${name}.tar.gz"; name = "${name}.tar.gz";
url = "http://www.snort.org/downloads/snort/${name}.tar.gz"; url = "http://www.snort.org/downloads/snort/${name}.tar.gz";
sha256 = "16z4mi7bri7ygvc0j4hhl2pgcw6xwxah1h3wk5vpy2yj8pmayf4p"; sha256 = "1gmlrh9ygpd5h6nnrr4090wk5n2yq2yrvwi7q6xbm6lxj4rcamyv";
}; };
buildInputs = [ libpcap pcre libdnet daq zlib flex bison ]; buildInputs = [ libpcap pcre libdnet daq zlib flex bison ];

View File

@ -0,0 +1,26 @@
{ stdenv, fetchurl, cmake, qt4, perl, gettext, libXScrnSaver
, kdelibs, kdepimlibs, automoc4, pkgconfig, phonon, qca2, qjson, qoauth }:
let
pn = "choqok";
v = "1.5";
in
stdenv.mkDerivation rec {
name = "${pn}-${v}";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/choqok/Choqok/choqok-1.5.tar.xz";
sha256 = "5cb97ac4cdf9db4699bb7445a9411393073d213fea649ab0713f659f1308efe4";
};
buildInputs = [ cmake qt4 perl gettext libXScrnSaver kdelibs kdepimlibs
automoc4 pkgconfig phonon qca2 qjson qoauth ];
meta = with stdenv.lib; {
description = "A KDE microblogging client";
repositories.git = git://anongit.kde.org/choqok;
license = "GPL";
inherit (kdelibs.meta) maintainers platforms;
};
}

View File

@ -4,12 +4,12 @@ with goPackages;
buildGoPackage rec { buildGoPackage rec {
name = "syncthing-${version}"; name = "syncthing-${version}";
version = "0.10.25"; version = "0.10.26";
goPackagePath = "github.com/syncthing/syncthing"; goPackagePath = "github.com/syncthing/syncthing";
src = fetchgit { src = fetchgit {
url = "git://github.com/syncthing/syncthing.git"; url = "git://github.com/syncthing/syncthing.git";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
sha256 = "fcb6fbcd37bdcf07d2960d143209b7697ee705286754ead4cc5e6bd95cd0acb8"; sha256 = "023vnns8ns2pgvqjisw466mw7323rv61cbl1indpfai412y7xjbk";
}; };
subPackages = [ "cmd/syncthing" ]; subPackages = [ "cmd/syncthing" ];

View File

@ -1,10 +1,10 @@
{stdenv, fetchurl, qt4, cmake, sqlite}: { stdenv, fetchurl, qt4, cmake, sqlite }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "tagainijisho-1.0.2"; name = "tagainijisho-1.0.3";
src = fetchurl { src = fetchurl {
url = https://github.com/Gnurou/tagainijisho/releases/download/1.0.2/tagainijisho-1.0.2.tar.gz; url = https://github.com/Gnurou/tagainijisho/releases/download/1.0.3/tagainijisho-1.0.3.tar.gz;
sha256 = "0gvwsphy2a1b2npxkzvaf91rbzb00zhi2anxd5102h6ld5m52jhl"; sha256 = "0kmg1940yiqfm4vpifyj680283ids4nsij9s750nrshwxiwwbqvg";
}; };
buildInputs = [ qt4 cmake sqlite ]; buildInputs = [ qt4 cmake sqlite ];

View File

@ -100,4 +100,6 @@ rec {
gitRemoteGcrypt = callPackage ./git-remote-gcrypt { }; gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
git-extras = callPackage ./git-extras { }; git-extras = callPackage ./git-extras { };
git-cola = callPackage ./git-cola { };
} }

View File

@ -0,0 +1,36 @@
{ stdenv, fetchurl, python, pythonPackages, makeWrapper, gettext }:
pythonPackages.buildPythonPackage rec {
name = "git-cola-${version}";
version = "2.1.1";
src = fetchurl {
url = "https://github.com/git-cola/git-cola/archive/v${version}.tar.gz";
sha256 = "0fpi5nvhyqkx67ak5pfcpgxbc3m19dqlvdh2c9igv2j0vp5rzkj1";
};
buildInputs = [ makeWrapper gettext ];
propagatedBuildInputs = with pythonPackages; [ pyqt4 sip pyinotify ];
# HACK: wrapPythonPrograms adds 'import sys; sys.argv[0] = "git-cola"', but
# "import __future__" must be placed above that. This removes the argv[0] line.
postFixup = ''
wrapPythonPrograms
sed -i "$out/bin/.git-dag-wrapped" -e '{
/import sys; sys.argv/d
}'
sed -i "$out/bin/.git-cola-wrapped" -e '{
/import sys; sys.argv/d
}'
'';
meta = with stdenv.lib; {
homepage = https://github.com/git-cola/git-cola;
description = "A sleek and powerful Git GUI";
license = licenses.gpl2;
platforms = platforms.all;
maintainers = [ maintainers.bobvanderlinden ];
};
}

View File

@ -2,7 +2,7 @@
, guiSupport ? false, tk ? null, curses }: , guiSupport ? false, tk ? null, curses }:
let let
version = "3.2.4"; version = "3.3.2";
name = "mercurial-${version}"; name = "mercurial-${version}";
in in
@ -11,7 +11,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://mercurial.selenic.com/release/${name}.tar.gz"; url = "http://mercurial.selenic.com/release/${name}.tar.gz";
sha256 = "1g7nfvapxj5k44dyp0p08v37s0zmrj2vl0rjgfd8297x0afidm08"; sha256 = "1yi72lv05p6hr8ngplz56rncs9wv6c16z8ki6f96yw5c833igik7";
}; };
inherit python; # pass it so that the same version can be used in hg2git inherit python; # pass it so that the same version can be used in hg2git

View File

@ -18,7 +18,7 @@ let
mkdir -p $d mkdir -p $d
sauce="." sauce="."
[ -d ${namespace} ] && sauce=${namespace} [ -d ${namespace} ] && sauce=${namespace}
cp -R $sauce/* $d cp -R "$sauce/"* $d
''; '';
}; };
@ -59,13 +59,13 @@ in
plugin = "genesis"; plugin = "genesis";
namespace = "plugin.video.genesis"; namespace = "plugin.video.genesis";
version = "2.4.1"; version = "4.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lambda81"; owner = "lambda81";
repo = "lambda-addons"; repo = "lambda-addons";
rev = "1eb1632063e18f3f30e9fdbed2a15cf1e9c05315"; rev = "34af083980598177684eeb6e1e73da336b84575a";
sha256 = "1gzx0jq4gyhkpdd21a70lhww9djr5dlgyl93b4l7dhgr3hnzxccl"; sha256 = "1fh3j4ymkrx9flpvnlyjp1q4avfmjv5a6yfwl3cmqnslkkp6kn9n";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -81,17 +81,17 @@ in
plugin = "svtplay"; plugin = "svtplay";
namespace = "plugin.video.svtplay"; namespace = "plugin.video.svtplay";
version = "4.0.9"; version = "4.0.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nilzen"; owner = "nilzen";
repo = "xbmc-" + plugin; repo = "xbmc-" + plugin;
rev = "29a754e49584d1ca32f0c07b87304669cf266bb0"; rev = "a6041aa6cf8f8461c0ebb093d901320822539094";
sha256 = "0k7mwaknw4h1jlq7ialbzgxxpb11j8bk29dx2gimp40lvnyw4yhz"; sha256 = "1nxa2855i1if4vsflhb88i9s12flp2yzgan2wzdv2117cmll4pvd";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "http://forum.kodi.org/showthread.php?tid=67110"; homepage = "http://forum.kodi.tv/showthread.php?tid=67110";
description = "Watch content from SVT Play"; description = "Watch content from SVT Play";
longDescription = '' longDescription = ''
With this addon you can stream content from SVT Play With this addon you can stream content from SVT Play

View File

@ -18,12 +18,12 @@
assert withGUI -> wxGTK != null; assert withGUI -> wxGTK != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "7.6.0"; version = "7.7.0";
name = "mkvtoolnix-${version}"; name = "mkvtoolnix-${version}";
src = fetchurl { src = fetchurl {
url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz"; url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.xz";
sha256 = "1n6waln6r9jx26al3k2nh6wi8p1q6lv2fs48nbc1lj9s2fc35pkl"; sha256 = "0a602d5jvq0ap4pa64p80al8nmyp37a380bi5i4sqdpvp298h78r";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, pkgconfig, freetype, yasm { stdenv, fetchurl, pkgconfig, freetype, yasm
, aalibSupport ? true, aalib ? null
, fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
, fribidiSupport ? true, fribidi ? null , fribidiSupport ? true, fribidi ? null
, x11Support ? true, libX11 ? null, libXext ? null, mesa ? null , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null
@ -103,6 +104,7 @@ stdenv.mkDerivation rec {
buildInputs = with stdenv.lib; buildInputs = with stdenv.lib;
[ pkgconfig freetype ] [ pkgconfig freetype ]
++ optional aalibSupport aalib
++ optional fontconfigSupport fontconfig ++ optional fontconfigSupport fontconfig
++ optional fribidiSupport fribidi ++ optional fribidiSupport fribidi
++ optionals x11Support [ libX11 libXext mesa ] ++ optionals x11Support [ libX11 libXext mesa ]

View File

@ -0,0 +1,37 @@
{ stdenv, fetchbzr, python, pyqt4, sip, rtmpdump, makeWrapper }:
stdenv.mkDerivation {
name = "qarte-2.2.0";
src = fetchbzr {
url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/trunk;
rev = "146";
sha256 = "0vqhxrzb3d7id81sr02h78hn0m7k2x0yxk9cl36pr5vx3vjnsyi9";
};
buildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
mv qarte $out/bin/
substituteInPlace $out/bin/qarte \
--replace '/usr/bin/python' "${python.interpreter}" \
--replace '/usr/share' "$out/share"
wrapProgram $out/bin/qarte \
--prefix PYTHONPATH : "${pyqt4}/lib/${python.libPrefix}/site-packages:${sip}/lib/${python.libPrefix}/site-packages" \
--prefix PATH : "${rtmpdump}/bin"
mkdir -p $out/share/man/man1/
mv qarte.1 $out/share/man/man1/
mkdir -p $out/share/qarte
mv * $out/share/qarte/
'';
meta = {
homepage = https://launchpad.net/qarte;
description = "A recorder for Arte TV Guide and Arte Concert";
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ vbgl ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -2,11 +2,11 @@
, lirc, shared_mime_info, libjpeg }: , lirc, shared_mime_info, libjpeg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xine-ui-0.99.7"; name = "xine-ui-0.99.9";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/xine/${name}.tar.xz"; url = "mirror://sourceforge/xine/${name}.tar.xz";
sha256 = "1i3byriqav06b55kwzs4dkzrjw7mmmcv0rc7jzb52hn8qp8xz34x"; sha256 = "18liwmkbj75xs9bipw3vr67a7cwmdfcp04v5lph7nsjlkwhq1lcd";
}; };
nativeBuildInputs = [ pkgconfig shared_mime_info ]; nativeBuildInputs = [ pkgconfig shared_mime_info ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "i3-${version}"; name = "i3-${version}";
version = "4.9"; version = "4.9.1";
src = fetchurl { src = fetchurl {
url = "http://i3wm.org/downloads/${name}.tar.bz2"; url = "http://i3wm.org/downloads/${name}.tar.bz2";
sha256 = "0n6hfma058iykfxnl1m23mkh8y5sx1x80s3fxfdngbd9wc41kqxy"; sha256 = "0hyw2rdxigiklqvv7fbhcdqdxkgcxvx56vk4r5v55l674zqfy3dp";
}; };
buildInputs = [ buildInputs = [

View File

@ -0,0 +1,26 @@
{ stdenv, fetchgit, pkgconfig, libX11, libXpm, libXext, alsaLib }:
stdenv.mkDerivation {
name = "alsamixer.app-0.2.1";
src = fetchgit {
url = git://repo.or.cz/dockapps.git;
rev = "38c74350b02f35824554ce0c4f0f251d71762040";
sha256 = "0g9cwhlqg065fbhav4g4n16a4cqkk9jykl3y0zwbn5whhacfqyhl";
};
buildInputs = [ pkgconfig libX11 libXpm libXext alsaLib ];
postUnpack = "sourceRoot=\${sourceRoot}/AlsaMixer.app";
installPhase = ''
mkdir -pv $out/bin;
cp AlsaMixer.app $out/bin/AlsaMixer;
'';
meta = {
description = "Alsa mixer application for Windowmaker";
homepage = "http://windowmaker.org/dockapps/?name=AlsaMixer.app";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.bstrik ];
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
stdenv.mkDerivation {
name = "wmsm.app-0.2.1";
src = fetchurl {
url = http://linux-bsd-unix.strefa.pl/wmsm.app-0.2.1.tar.bz2;
sha256 = "369a8f2e5673c6b7ab0cf85166f38fbf553dd966c3c1cfeec0e32837defd32c7";
};
buildInputs = [ pkgconfig libX11 libXpm libXext ];
postUnpack = "sourceRoot=\${sourceRoot}/wmsm";
installPhase = ''
substituteInPlace Makefile --replace "PREFIX = /usr/X11R6/bin" "" --replace "/usr/bin/install" "install"
mkdir -pv $out/bin;
make PREFIX=$out/bin install;
'';
meta = {
description = "System monitor for Windowmaker";
homepage = "http://linux-bsd-unix.strefa.pl";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.bstrik ];
};
}

View File

@ -79,7 +79,11 @@ if $cpid == 0
$unshare.call CLONE_NEWNS | CLONE_NEWUSER $unshare.call CLONE_NEWNS | CLONE_NEWUSER
# Map users and groups to the parent namespace # Map users and groups to the parent namespace
begin
# setgroups is only available since Linux 3.19
write_file '/proc/self/setgroups', 'deny' write_file '/proc/self/setgroups', 'deny'
rescue
end
write_file '/proc/self/uid_map', "#{uid} #{uid} 1" write_file '/proc/self/uid_map', "#{uid} #{uid} 1"
write_file '/proc/self/gid_map', "#{gid} #{gid} 1" write_file '/proc/self/gid_map', "#{gid} #{gid} 1"

View File

@ -22,7 +22,7 @@ in stdenv.mkDerivation {
mkdir -p $out/bin mkdir -p $out/bin
cat > $out/bin/${name} <<EOF cat > $out/bin/${name} <<EOF
#! ${stdenv.shell} #! ${stdenv.shell}
exec ${chroot-user}/bin/chroot-user ${env} $out/libexec/run exec ${chroot-user}/bin/chroot-user ${env} $out/libexec/run "\$@"
EOF EOF
chmod +x $out/bin/${name} chmod +x $out/bin/${name}
@ -30,7 +30,7 @@ in stdenv.mkDerivation {
cat > $out/libexec/run <<EOF cat > $out/libexec/run <<EOF
#! ${stdenv.shell} #! ${stdenv.shell}
source /etc/profile source /etc/profile
${runScript} ${runScript} "\$@"
EOF EOF
chmod +x $out/libexec/run chmod +x $out/libexec/run
''; '';

View File

@ -8,6 +8,7 @@ header "exporting $url (rev $rev) into $out"
$fetcher --builder --url "$url" --out "$out" --rev "$rev" \ $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
${leaveDotGit:+--leave-dotGit} \ ${leaveDotGit:+--leave-dotGit} \
${deepClone:+--deepClone} \
${fetchSubmodules:+--fetch-submodules} ${fetchSubmodules:+--fetch-submodules}
stopNest stopNest

View File

@ -11,8 +11,8 @@
else ""; else "";
in "${if matched == null then base else builtins.head matched}${appendShort}"; in "${if matched == null then base else builtins.head matched}${appendShort}";
in in
{ url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? false { url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? deepClone
, fetchSubmodules ? true , fetchSubmodules ? true, deepClone ? false
, name ? urlToName url rev , name ? urlToName url rev
}: }:
@ -39,6 +39,7 @@ in
*/ */
assert md5 != "" || sha256 != ""; assert md5 != "" || sha256 != "";
assert deepClone -> leaveDotGit;
stdenv.mkDerivation { stdenv.mkDerivation {
inherit name; inherit name;
@ -50,7 +51,7 @@ stdenv.mkDerivation {
outputHashMode = "recursive"; outputHashMode = "recursive";
outputHash = if sha256 == "" then md5 else sha256; outputHash = if sha256 == "" then md5 else sha256;
inherit url rev leaveDotGit fetchSubmodules; inherit url rev leaveDotGit fetchSubmodules deepClone;
GIT_SSL_CAINFO = "${cacert}/etc/ca-bundle.crt"; GIT_SSL_CAINFO = "${cacert}/etc/ca-bundle.crt";
@ -64,4 +65,3 @@ stdenv.mkDerivation {
preferLocalBuild = true; preferLocalBuild = true;
} }

View File

@ -33,7 +33,7 @@ let
grKernel = if cfg.stable grKernel = if cfg.stable
then mkKernel pkgs.linux_3_14 stable-patch then mkKernel pkgs.linux_3_14 stable-patch
else mkKernel pkgs.linux_3_18 test-patch; else mkKernel pkgs.linux_3_19 test-patch;
## -- grsecurity configuration --------------------------------------------- ## -- grsecurity configuration ---------------------------------------------

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, unzip }: { stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "fira-3.111"; name = "fira-4.002";
src = fetchurl { src = fetchurl {
url = "http://www.carrois.com/wordpress/downloads/fira_3_1/FiraFonts3111.zip"; url = http://www.carrois.com/downloads/fira_4_0/FiraFonts4002.zip;
sha256 = "3ced3df236b0b0eec1b390885c53ac02f3e3f830e9449414230717334a0b2457"; sha256 = "1vh4hx8ffmh2p7mxxbcp5zbcz8kzpzxaggdqnhj5i4vi329n5hfw";
}; };
buildInputs = [unzip]; buildInputs = [unzip];
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.carrois.com/fira-3-1/; homepage = http://www.carrois.com/fira-4-0/;
description = "Sans-serif and monospace font for Firefox OS"; description = "Sans-serif and monospace font for Firefox OS";
longDescription = '' longDescription = ''
Fira Sans is a sans-serif font designed by Erik Spiekermann, Fira Sans is a sans-serif font designed by Erik Spiekermann,

View File

@ -0,0 +1,36 @@
{ stdenv
, fetchurl
, perl
, perlPackages
, libxml2
, pciutils
, pkgconfig
, gtk
}:
let version = "20061014"; in
let verName = "${version}"; in
stdenv.mkDerivation {
name = "ddccontrol-db-${verName}";
src = fetchurl {
url = "mirror://sourceforge/ddccontrol/ddccontrol-db/${verName}/ddccontrol-db-${verName}.tar.bz2";
sha1 = "9d06570fdbb4d25e397202a518265cc1173a5de3";
};
buildInputs =
[
perl
perlPackages.libxml_perl
libxml2
pciutils
pkgconfig
gtk
];
meta = with stdenv.lib; {
description = "Monitor database for DDCcontrol";
homepage = "http://ddccontrol.sourceforge.net/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.pakhfn ];
};
}

View File

@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
done done
''; '';
patches = [ ./search_providers_dir.patch ]; patches = [ ./search_providers_dir.patch ./vpn_plugins_path.patch ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Single sign-on framework for GNOME"; description = "Single sign-on framework for GNOME";

View File

@ -0,0 +1,19 @@
diff --git a/panels/network/connection-editor/vpn-helpers.c b/panels/network/connection-editor/vpn-helpers.c
index 7dc23c2..fcb1384 100644
--- a/panels/network/connection-editor/vpn-helpers.c
+++ b/panels/network/connection-editor/vpn-helpers.c
@@ -95,14 +95,6 @@ vpn_get_plugins (GError **error)
if (!so_path)
goto next;
- /* Remove any path and extension components, then reconstruct path
- * to the SO in LIBDIR
- */
- so_name = g_path_get_basename (so_path);
- g_free (so_path);
- so_path = g_build_filename (NM_VPN_MODULE_DIR, so_name, NULL);
- g_free (so_name);
-
module = g_module_open (so_path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);
if (!module) {
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Cannot load the VPN plugin which provides the "

View File

@ -1,29 +1,31 @@
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util
, gtk, gtksourceview, dbus, dbus_glib }: , gtk, gtksourceview, dbus, dbus_glib, makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "mousepad"; p_name = "mousepad";
ver_maj = "0.3"; ver_maj = "0.4";
ver_min = "0"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0v84zwhjv2xynvisn5vmp7dbxfj4l4258m82ks7hn3adk437bwhh"; sha256 = "60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs = buildInputs =
[ pkgconfig intltool libxfce4util libxfcegui4 [ pkgconfig intltool libxfce4util
gtk gtksourceview dbus dbus_glib gtk gtksourceview dbus dbus_glib makeWrapper
]; ];
# Propagate gtksourceview into $XDG_DATA_DIRS to provide syntax preFixup = ''
# highlighting (in fact Mousepad segfaults without it). wrapProgram "$out/bin/mousepad" \
propagatedUserEnvPkgs = [ gtksourceview ]; --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share"
'';
meta = { meta = {
homepage = http://www.xfce.org/; homepage = http://www.xfce.org/;
description = "A simple text editor for Xfce"; description = "A simple text editor for Xfce";
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "exo"; p_name = "exo";
ver_maj = "0.10"; ver_maj = "0.10";
ver_min = "2"; ver_min = "3";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1kknxiz703q4snmry65ajm26jwjslbgpzdal6bd090m3z25q51dk"; sha256 = "1g9651ra395v2fmzb943l68b9pg0rfxc19x97a62crchxwa4nw4m";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
homepage = "http://www.xfce.org/projects/${p_name}"; homepage = "http://www.xfce.org/projects/${p_name}";
description = "Application library for the Xfce desktop environment"; description = "Application library for the Xfce desktop environment";
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -1,21 +1,22 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util }: { stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, libxfce4ui, gtk }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "garcon"; p_name = "garcon";
ver_maj = "0.2"; ver_maj = "0.4";
ver_min = "1"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1xq14wayk07cil04yhrdkjhacz9dbldcl9i59sbrgrgznaw49dj8"; sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs = [ pkgconfig intltool glib libxfce4util ]; buildInputs = [ pkgconfig intltool glib libxfce4util gtk libxfce4ui ];
meta = { meta = {
homepage = http://www.xfce.org/; homepage = http://www.xfce.org/;
description = "Xfce menu support library"; description = "Xfce menu support library";
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -1,18 +1,17 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk, enableGtk3Support ? false, gtk3 }: { stdenv, fetchurl, pkgconfig, intltool, gtk }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "gtk-xfce-engine"; p_name = "gtk-xfce-engine";
ver_maj = "3.0"; ver_maj = "2.10";
ver_min = "1"; ver_min = "1";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0vd0ly81540f9133abza56mlqqx1swp0j70ll8kf948sva0wy0zb"; sha256 = "4a92910205881f707f2cc8d3c9b00a95feb58eb9084d932c841f3ed027f7063d";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
#TODO: gtk3 buildInputs = [ pkgconfig intltool gtk ];
buildInputs = [ pkgconfig intltool gtk ] ++ stdenv.lib.optional enableGtk3Support gtk3;
meta = { meta = {
homepage = http://www.xfce.org/; homepage = http://www.xfce.org/;

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "libxfce4ui"; p_name = "libxfce4ui";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "0"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"; sha256 = "11rrhqxnfwx5jls3nlg9s2x8saag9f2zqk9cdm6hr3bs6cr9a781";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
homepage = http://www.xfce.org/; homepage = http://www.xfce.org/;
description = "Basic GUI library for Xfce"; description = "Basic GUI library for Xfce";
license = stdenv.lib.licenses.lgpl2Plus; license = stdenv.lib.licenses.lgpl2Plus;
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "libxfce4util"; p_name = "libxfce4util";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "1"; ver_min = "1";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1fygyq9dywa989z1vb3d8hj4fg5ai75lcrngnf2s60jwf6nx2b78"; sha256 = "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
homepage = http://www.xfce.org/; homepage = http://www.xfce.org/;
description = "Basic utility non-GUI functions for Xfce"; description = "Basic utility non-GUI functions for Xfce";
license = "bsd"; license = "bsd";
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -4,13 +4,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "thunar-volman"; p_name = "thunar-volman";
ver_maj = "0.8"; ver_maj = "0.8";
ver_min = "0"; ver_min = "1";
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z"; sha256 = "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s";
}; };
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs = buildInputs =
[ pkgconfig intltool exo gtk udev libxfce4ui libxfce4util [ pkgconfig intltool exo gtk udev libxfce4ui libxfce4util

View File

@ -6,11 +6,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "thunar"; p_name = "thunar";
ver_maj = "1.6"; ver_maj = "1.6";
ver_min = "3"; ver_min = "6";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2";
sha256 = "17api7nc3h93k2mzrfmw6ygc0fqmg78ja0qbkzd9rhhsi3v0c9ws"; sha256 = "1cl9v3rdzipyyxml3pyrzspxfmmssz5h5snpj18irq4an42539dr";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -4,11 +4,11 @@ libgsf, poppler, bzip2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "tumbler"; p_name = "tumbler";
ver_maj = "0.1"; ver_maj = "0.1";
ver_min = "30"; ver_min = "31";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "013kacqyy1vya7kp6jgc1almp3cbbvq96a3r7f5myiihr1whvhp7"; sha256 = "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfce4-appfinder"; p_name = "xfce4-appfinder";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "1"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0xzbi1vvy724s7vljf4153h7s7zqqwg51bn9wirx4d33lzzp9vk5"; sha256 = "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfce4-dev-tools"; p_name = "xfce4-dev-tools";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "0"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1y1byfjciqhxqfxbjfp22bn5lxk3a01ng7zfjha8h5mzzfxlk5pp"; sha256 = "1jxmyp80pwbfgmqmwpjxs7z5dmm6pyf3qj62z20xy44izraadqz2";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -4,12 +4,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfce4-panel"; p_name = "xfce4-panel";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "1"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1mkmhhmy70izja6d6di65hay9ybqi8615pwjbx0lgqk53gnm4c2p"; sha256 = "1c4p3ckghvsad1sj5v8wmar5mh9cbhail9mmhad2f9pwwb10z4ih";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfce4-power-manager"; p_name = "xfce4-power-manager";
ver_maj = "1.3"; ver_maj = "1.4";
ver_min = "2"; ver_min = "3";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0lv29ycws185qr89xn01vcddkvpddk7q6hni0s6d0nqvjavycg0j"; sha256 = "04909sfc2nrj2wg9cw6y9y2r9yrp3l3vc201sy1gaiap67fi33h1";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

View File

@ -6,23 +6,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfce4-session"; p_name = "xfce4-session";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "1"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "10zwki7v55a325abr57wczcb5g7ml99cqk1p8ls8qycqqfyzlm01"; sha256 = "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
patches = [(fetchpatch {
name = "suspend+hibernate-via-logind.patch";
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/"
+ "xfce4-session-4.10.1-logind-support-for-suspend-hibernate.patch"
+ "?h=packages/xfce4-session&id=f84637fa2b";
sha256 = "1pnm1w9invyxjdbfm7p0brf9krl9jy8ab2ilwvizymp5i0vnj0xc";
})];
buildInputs = buildInputs =
[ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib
xfconf xfce4panel libglade xorg.iceauth xfconf xfce4panel libglade xorg.iceauth

View File

@ -1,12 +1,11 @@
diff -ru -x '*~' xfce4-settings-4.10.1/xfsettingsd/xsettings.xml xfce4-settings-4.10.1-new/xfsettingsd/xsettings.xml --- a/xfsettingsd/xsettings.xml 2015-02-28 22:32:02.681796319 +0100
--- xfce4-settings-4.10.1/xfsettingsd/xsettings.xml 2013-05-05 18:12:54.000000000 +0200 +++ b/xfsettingsd/xsettings.xml 2015-02-28 22:32:27.881214735 +0100
+++ xfce4-settings-4.10.1-new/xfsettingsd/xsettings.xml 2013-08-15 15:57:48.538586286 +0200
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
<channel name="xsettings" version="1.0"> <channel name="xsettings" version="1.0">
<property name="Net" type="empty"> <property name="Net" type="empty">
<property name="ThemeName" type="empty"/> <property name="ThemeName" type="empty"/>
- <property name="IconThemeName" type="empty"/> - <property name="IconThemeName" type="empty"/>
+ <property name="IconThemeName" type="string" value="Rodent"/> + <property name="IconThemeName" type="string" value="Rodent"/>
<property name="DoubleClickTime" type="int" value="250"/> <property name="DoubleClickTime" type="int" value="400"/>
<property name="DoubleClickDistance" type="int" value="5"/> <property name="DoubleClickDistance" type="int" value="5"/>
<property name="DndDragThreshold" type="int" value="8"/> <property name="DndDragThreshold" type="int" value="8"/>

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui { stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
, libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon }: , libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon, upower }:
#TODO: optional packages #TODO: optional packages
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfce4-settings"; p_name = "xfce4-settings";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "1"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1m8k9s7qihwkkbjrrkmk103a6iwahxdfq65aswrsbqshx9cnk2hi"; sha256 = "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
@ -17,10 +17,8 @@ stdenv.mkDerivation rec {
patches = [ ./xfce4-settings-default-icon-theme.patch ]; patches = [ ./xfce4-settings-default-icon-theme.patch ];
buildInputs = buildInputs =
[ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade [ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade upower
xfconf xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon xfconf xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon
#gtk libxfce4util libxfcegui4 libwnck dbus_glib
#xfconf libglade xorg.iceauth
]; ];
configureFlags = "--enable-pluggable-dialogs --enable-sound-settings"; configureFlags = "--enable-pluggable-dialogs --enable-sound-settings";

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfconf"; p_name = "xfconf";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "0"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"; sha256 = "0mmi0g30aln3x98y5p507g17pipq0dj0bwypshan8cq5hkmfl44r";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
homepage = http://docs.xfce.org/xfce/xfconf/start; homepage = http://docs.xfce.org/xfce/xfconf/start;
description = "Simple client-server configuration storage and query system for Xfce"; description = "Simple client-server configuration storage and query system for Xfce";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "xfdesktop"; p_name = "xfdesktop";
ver_maj = "4.10"; ver_maj = "4.12";
ver_min = "3"; ver_min = "0";
src = fetchurl { src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1kkj6axcbj82v3n2hkzsdranpqrxaarnyjxkpfs29dyqajjjpjh9"; sha256 = "1ivzgg4792nid6wcgd1nq5vc3z0y5ip6ymq7ci5j2qkp663qnykf";
}; };
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";

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