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;
# 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
subtractLists = e: filter (x: !(elem x e));
# Substracts list 'e' from another list
substract = e: filter (x: !(elem x e));
}

View File

@ -78,7 +78,11 @@
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
gal_bolle = "Florent Becker <florent.becker@ens-lyon.org>";
garbas = "Rok Garbas <rok@garbas.si>";
garrison = "Jim Garrison <jim@garrison.cc>";
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>";
gridaphobe = "Eric Seidel <eric@seidel.io>";
guibert = "David Guibert <david.guibert@gmail.com>";
@ -138,6 +142,7 @@
orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
page = "Carles Pagès <page@cubata.homelinux.net>";
paholg = "Paho Lurie-Gregg <paho@paholg.com>";
pakhfn = "Fedor Pakhomov <pakhfn@gmail.com>";
pashev = "Igor Pashev <pashev.igor@gmail.com>";
phausmann = "Philipp Hausmann <nix@314.ch>";
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
the container in <literal>/var/lib/containers</literal>.</para>
</section>
<para>Declarative containers can be started and stopped using the
corresponding systemd service, e.g. <literal>systemctl start
container@database</literal>.</para>
</section>

View File

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

View File

@ -60,6 +60,7 @@
./programs/dconf.nix
./programs/environment.nix
./programs/info.nix
./programs/ibus.nix
./programs/light.nix
./programs/nano.nix
./programs/screen.nix
@ -353,6 +354,7 @@
./services/web-servers/varnish/default.nix
./services/web-servers/winstone.nix
./services/web-servers/zope2.nix
./services/x11/unclutter.nix
./services/x11/desktop-managers/default.nix
./services/x11/display-managers/auto.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;
cfgd = config.services.openssh;
askPassword = "${pkgs.x11_ssh_askpass}/libexec/x11-ssh-askpass";
askPassword = cfg.askPassword;
askPasswordWrapper = pkgs.writeScript "ssh-askpass-wrapper"
''
@ -26,6 +26,12 @@ in
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 {
type = types.bool;
default = false;

View File

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

View File

@ -1,43 +1,61 @@
{ config, lib, pkgs, ... }:
with lib;
let
inherit (lib) mkIf mkOption types concatMapStrings;
cfg = config.security.apparmor;
in
{
options = {
security.apparmor = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the AppArmor Mandatory Access Control system.";
};
#### interface
options = {
profiles = mkOption {
type = types.listOf types.path;
default = [];
description = "List of files containing AppArmor profiles.";
};
};
};
security.apparmor = {
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.apparmor ];
systemd.services.apparmor = {
wantedBy = [ "local-fs.target" ];
path = [ pkgs.apparmor ];
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the AppArmor Mandatory Access Control system.";
};
serviceConfig = {
Type = "oneshot";
RemainAfterExit = "yes";
ExecStart = concatMapStrings (profile:
''${pkgs.apparmor}/sbin/apparmor_parser -rKv -I ${pkgs.apparmor}/etc/apparmor.d/ "${profile}" ; ''
) cfg.profiles;
ExecStop = concatMapStrings (profile:
''${pkgs.apparmor}/sbin/apparmor_parser -Rv -I ${pkgs.apparmor}/etc/apparmor.d/ "${profile}" ; ''
) cfg.profiles;
};
};
};
profiles = mkOption {
type = types.listOf types.path;
default = [];
description = "List of files containing AppArmor profiles.";
};
};
};
#### implementation
config = mkIf cfg.enable {
environment.systemPackages = [
pkgs.apparmor-utils
];
systemd.services.apparmor = {
wantedBy = [ "local-fs.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = "yes";
ExecStart = concatMapStrings (p:
''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv -I ${pkgs.apparmor-profiles}/etc/apparmor.d "${p}" ; ''
) cfg.profiles;
ExecStop = concatMapStrings (p:
''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}" ; ''
) 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;
default = false;
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 = ''
If grsecurity is enabled, you must select either the
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);

View File

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

View File

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

View File

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

View File

@ -18,42 +18,8 @@ with lib;
};
config = mkOption {
type = types.lines;
default =
''
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
'';
type = types.nullOr types.lines;
default = null;
description = ''
Contents of the HAProxy configuration file,
<filename>haproxy.conf</filename>.
@ -66,6 +32,11 @@ with lib;
config = mkIf cfg.enable {
assertions = [{
assertion = cfg.config != null;
message = "You must provide services.haproxy.config.";
}];
systemd.services.haproxy = {
description = "HAProxy";
after = [ "network.target" ];

View File

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

View File

@ -9,28 +9,16 @@ let
homeDir = "/var/lib/transmission";
downloadDir = "${homeDir}/Downloads";
incompleteDir = "${homeDir}/.incomplete";
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).
toOption = x:
if x == true then "true"
else if x == false then "false"
else if isInt x then 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));
else toString ''"${x}"'';
# for users in group "transmission" to have access to torrents
fullSettings = cfg.settings // { umask = 2; };
@ -73,7 +61,7 @@ in
boolean values must not.
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.
# 2) Optionally update/force specific fields into the configuration file.
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.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";

View File

@ -4,7 +4,6 @@ with lib;
let
cfg = config.services.fcgiwrap;
in {
options = {
@ -21,29 +20,53 @@ in {
description = "Number of processes to prefork.";
};
bindSocket = mkOption {
type = types.string;
default = "unix:/run/fcgiwrap.sock";
description = ''
Socket to bind to. Valid socket URLs are:
unix:/path/to/socket for Unix sockets
tcp:dot.ted.qu.ad:port for IPv4 sockets
tcp6:[ipv6_addr]:port for IPv6 sockets
'';
socketType = mkOption {
type = types.addCheck types.str (t: t == "unix" || t == "tcp" || t == "tcp6");
default = "unix";
description = "Socket type: 'unix', 'tcp' or 'tcp6'.";
};
socketAddress = mkOption {
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 {
systemd.services.fcgiwrap = {
after = [ "nss-user-lookup.target" ];
wantedBy = [ "multi-user.target" ];
wantedBy = optional (cfg.socketType != "unix") "multi-user.target";
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 = {
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 =
[
filter isDerivation (builtins.attrValues plasma5)
++ filter isDerivation (builtins.attrValues kf5)
++ [
pkgs.qt4 # qtconfig is the only way to set Qt 4 theme
kdeApps.kde-baseapps
@ -97,13 +99,12 @@ in
kdeApps.konsole
kdeApps.oxygen-icons
kdeApps.kde-runtime
pkgs.hicolor_icon_theme
pkgs.orion # GTK theme, nearly identical to Breeze
]
++ filter isDerivation (builtins.attrValues plasma5)
++ filter isDerivation (builtins.attrValues kf5)
++ phononBackendPackages;
] ++ phononBackendPackages;
environment.pathsToLink = [ "/share" ];
@ -121,6 +122,8 @@ in
fonts.fonts = [ plasma5.oxygen-fonts ];
programs.ssh.askPassword = "${plasma5.ksshaskpass}/bin/ksshaskpass";
# Enable helpful DBus services.
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;

View File

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

View File

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

View File

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

View File

@ -2,9 +2,15 @@
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 = {
@ -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)";
};
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"
Driver "mtrack"
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 ''
Option "ScrollUpButton" "5"
Option "ScrollDownButton" "4"
Option "ScrollLeftButton" "7"
Option "ScrollRightButton" "6"
''}
${cfg.additionalOptions}
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

@ -16,7 +16,7 @@ with lib;
Enable sensitivity and speed configuration for trackpoints.
'';
};
sensitivity = mkOption {
default = 128;
example = 255;
@ -44,7 +44,7 @@ with lib;
Enable scrolling while holding the middle mouse button.
'';
};
};
};
@ -70,7 +70,7 @@ with lib;
''
Section "InputClass"
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*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"

View File

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

View File

@ -8,11 +8,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.8.1";
version = "1.8.2";
src = fetchurl {
url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
sha256 = "0h3jn400dj6qxl1gd4max7wl30cib2wczf9dd3qnbw42wngpdvx2";
sha256 = "17jxsxsrsz3qy2hxdpw78vcbnnd0nq614iy42ypzhw4pdpz0s1l7";
};
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 {
name = "lmms-${version}";
version = "1.1.2";
version = "1.1.3";
src = fetchurl {
url = "https://github.com/LMMS/lmms/archive/v${version}.tar.gz";
sha256 = "0p0lfy3vmxjf9nwajzyhl2jscpmbi26qqqsy1hsa4ljc0plfz60p";
sha256 = "1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr";
};
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;
# 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
ver_branch = "2.0";
version = "2.0.0";

View File

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

View File

@ -246,11 +246,11 @@ in {
description = "Eclipse Classic";
sources = {
"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";
};
"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";
};
};
@ -261,14 +261,29 @@ in {
description = "Eclipse Classic";
sources = {
"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";
};
"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";
};
};
};
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 {
name = "gobby-0.4.94";
name = "gobby-0.5.0";
src = fetchurl {
url = "http://releases.0x539.de/gobby/${name}.tar.gz";
sha256 = "b9798808447cd94178430f0fb273d0e45d0ca30ab04560e3790bac469e03bb00";
sha256 = "165x0r668ma5blziisvbr8qig3jw9hf7i6w8r7wwvz3wsac3bswc";
};
buildInputs = [ pkgconfig gtkmm gsasl gtksourceview libxmlxx libinf intltool ]

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,9 @@
{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, qimageblitz, qca2, eigen,
lcms, jasper, libgphoto2, kdepimlibs, gettext, soprano, libjpeg, libtiff,
liblqr1, lensfun, pkgconfig, qjson, libkdcraw, opencv, libkexiv2, libkipi, boost,
shared_desktop_ontologies, marble, mysql, libpgf }:
{ stdenv, fetchurl, automoc4, boost, shared_desktop_ontologies, cmake
, eigen, lcms, gettext, jasper, kdelibs, kdepimlibs, lensfun
, libgphoto2, libjpeg, libkdcraw, libkexiv2, libkipi, libpgf, libtiff
, libusb1, liblqr1, marble, mysql, opencv, phonon, pkgconfig, qca2
, qimageblitz, qjson, qt4, soprano
}:
stdenv.mkDerivation rec {
name = "digikam-4.6.0";
@ -13,20 +15,26 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake automoc4 pkgconfig ];
buildInputs = [ qt4 kdelibs phonon qimageblitz qca2 eigen lcms libjpeg libtiff
jasper libgphoto2 kdepimlibs gettext soprano liblqr1 lensfun qjson libkdcraw
opencv libkexiv2 libkipi boost shared_desktop_ontologies marble mysql libpgf ];
buildInputs = [
boost eigen gettext jasper kdelibs kdepimlibs lcms lensfun
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
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;
meta = {
description = "Photo Management Program";
license = "GPL";
license = stdenv.lib.licenses.gpl2;
homepage = http://www.digikam.org;
maintainers = with stdenv.lib.maintainers; [ viric urkud ];
maintainers = with stdenv.lib.maintainers; [ goibhniu viric urkud ];
inherit (kdelibs.meta) platforms;
};
}

View File

@ -201,6 +201,7 @@ let
NIX_CFLAGS_COMPILE =
(super.kde-runtime.NIX_CFLAGS_COMPILE or "")
+ " -I${ilmbase}/include/OpenEXR";
meta = { priority = 10; };
};
kde-workspace = with pkgs; super.kde-workspace // {
@ -214,6 +215,7 @@ let
nativeBuildInputs =
super.kde-workspace.nativeBuildInputs
++ [ pkgconfig ];
meta = { priority = 10; };
};
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.)
$(nix-build ../../.. -A autonix.manifest) \
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'
else

View File

@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
license = licenses.lgpl2Plus;
maintainers = [ maintainers.AndersonTorres ];
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_GAMEENGINE=ON"
"-DWITH_OPENCOLORIO=ON"
"-DWITH_PLAYER=ON"
"-DPYTHON_LIBRARY=python${python.majorVersion}m"
"-DPYTHON_LIBPATH=${python}/lib"
"-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m"

View File

@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "calibre-2.20.0";
name = "calibre-2.21.0";
src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz";
sha256 = "13246f4vxz4ps3c549hrnwdkwic5jsf7g1faham38z1ixd094lkd";
sha256 = "1adig2jxwbmsxcs36jaybhc8zdb8mnkc23kabw0c72izrsg4c5gb";
};
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.mkDerivation rec {
name = "doomseeker-0.12.1b";
name = "doomseeker-0.12.2b";
src = fetchurl {
url = "http://doomseeker.drdteam.org/files/${name}_src.tar.bz2";
sha256 = "110yg3w3y1x8p4gqpxb6djxw348caj50q5liq8ssb5mf78v8gk6b";
sha256 = "1bcrxc3g9c6b4d8dbm2rx0ldxkqc5fc91jndkwiaykf8hajm0jnr";
};
cmakeFlags = ''

View File

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

View File

@ -36,7 +36,7 @@
let
# -> http://get.adobe.com/flashplayer/
version = "11.2.202.442";
version = "11.2.202.451";
src =
if stdenv.system == "x86_64-linux" then
@ -47,7 +47,7 @@ let
else rec {
inherit version;
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
if debug then
@ -60,7 +60,7 @@ let
else rec {
inherit version;
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";

View File

@ -1,12 +1,13 @@
{stdenv, fetchurl, libpcap, pcre, libdnet, daq, zlib, flex, bison}:
stdenv.mkDerivation rec {
name = "snort-2.9.7.0";
version = "2.9.7.2";
name = "snort-${version}";
src = fetchurl {
name = "${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 ];

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 {
name = "syncthing-${version}";
version = "0.10.25";
version = "0.10.26";
goPackagePath = "github.com/syncthing/syncthing";
src = fetchgit {
url = "git://github.com/syncthing/syncthing.git";
rev = "refs/tags/v${version}";
sha256 = "fcb6fbcd37bdcf07d2960d143209b7697ee705286754ead4cc5e6bd95cd0acb8";
sha256 = "023vnns8ns2pgvqjisw466mw7323rv61cbl1indpfai412y7xjbk";
};
subPackages = [ "cmd/syncthing" ];

View File

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

View File

@ -100,4 +100,6 @@ rec {
gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
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 }:
let
version = "3.2.4";
version = "3.3.2";
name = "mercurial-${version}";
in
@ -11,7 +11,7 @@ stdenv.mkDerivation {
src = fetchurl {
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

View File

@ -18,7 +18,7 @@ let
mkdir -p $d
sauce="."
[ -d ${namespace} ] && sauce=${namespace}
cp -R $sauce/* $d
cp -R "$sauce/"* $d
'';
};
@ -59,13 +59,13 @@ in
plugin = "genesis";
namespace = "plugin.video.genesis";
version = "2.4.1";
version = "4.0.1";
src = fetchFromGitHub {
owner = "lambda81";
repo = "lambda-addons";
rev = "1eb1632063e18f3f30e9fdbed2a15cf1e9c05315";
sha256 = "1gzx0jq4gyhkpdd21a70lhww9djr5dlgyl93b4l7dhgr3hnzxccl";
rev = "34af083980598177684eeb6e1e73da336b84575a";
sha256 = "1fh3j4ymkrx9flpvnlyjp1q4avfmjv5a6yfwl3cmqnslkkp6kn9n";
};
meta = with stdenv.lib; {
@ -81,17 +81,17 @@ in
plugin = "svtplay";
namespace = "plugin.video.svtplay";
version = "4.0.9";
version = "4.0.14";
src = fetchFromGitHub {
owner = "nilzen";
repo = "xbmc-" + plugin;
rev = "29a754e49584d1ca32f0c07b87304669cf266bb0";
sha256 = "0k7mwaknw4h1jlq7ialbzgxxpb11j8bk29dx2gimp40lvnyw4yhz";
rev = "a6041aa6cf8f8461c0ebb093d901320822539094";
sha256 = "1nxa2855i1if4vsflhb88i9s12flp2yzgan2wzdv2117cmll4pvd";
};
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";
longDescription = ''
With this addon you can stream content from SVT Play

View File

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

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, pkgconfig, freetype, yasm
, aalibSupport ? true, aalib ? null
, fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
, fribidiSupport ? true, fribidi ? null
, x11Support ? true, libX11 ? null, libXext ? null, mesa ? null
@ -103,6 +104,7 @@ stdenv.mkDerivation rec {
buildInputs = with stdenv.lib;
[ pkgconfig freetype ]
++ optional aalibSupport aalib
++ optional fontconfigSupport fontconfig
++ optional fribidiSupport fribidi
++ 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 }:
stdenv.mkDerivation rec {
name = "xine-ui-0.99.7";
name = "xine-ui-0.99.9";
src = fetchurl {
url = "mirror://sourceforge/xine/${name}.tar.xz";
sha256 = "1i3byriqav06b55kwzs4dkzrjw7mmmcv0rc7jzb52hn8qp8xz34x";
sha256 = "18liwmkbj75xs9bipw3vr67a7cwmdfcp04v5lph7nsjlkwhq1lcd";
};
nativeBuildInputs = [ pkgconfig shared_mime_info ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "i3-${version}";
version = "4.9";
version = "4.9.1";
src = fetchurl {
url = "http://i3wm.org/downloads/${name}.tar.bz2";
sha256 = "0n6hfma058iykfxnl1m23mkh8y5sx1x80s3fxfdngbd9wc41kqxy";
sha256 = "0hyw2rdxigiklqvv7fbhcdqdxkgcxvx56vk4r5v55l674zqfy3dp";
};
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
# Map users and groups to the parent namespace
write_file '/proc/self/setgroups', 'deny'
begin
# setgroups is only available since Linux 3.19
write_file '/proc/self/setgroups', 'deny'
rescue
end
write_file '/proc/self/uid_map', "#{uid} #{uid} 1"
write_file '/proc/self/gid_map', "#{gid} #{gid} 1"

View File

@ -22,7 +22,7 @@ in stdenv.mkDerivation {
mkdir -p $out/bin
cat > $out/bin/${name} <<EOF
#! ${stdenv.shell}
exec ${chroot-user}/bin/chroot-user ${env} $out/libexec/run
exec ${chroot-user}/bin/chroot-user ${env} $out/libexec/run "\$@"
EOF
chmod +x $out/bin/${name}
@ -30,7 +30,7 @@ in stdenv.mkDerivation {
cat > $out/libexec/run <<EOF
#! ${stdenv.shell}
source /etc/profile
${runScript}
${runScript} "\$@"
EOF
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" \
${leaveDotGit:+--leave-dotGit} \
${deepClone:+--deepClone} \
${fetchSubmodules:+--fetch-submodules}
stopNest

View File

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

View File

@ -33,7 +33,7 @@ let
grKernel = if cfg.stable
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 ---------------------------------------------

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, unzip }:
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
name = "fira-3.111";
name = "fira-4.002";
src = fetchurl {
url = "http://www.carrois.com/wordpress/downloads/fira_3_1/FiraFonts3111.zip";
sha256 = "3ced3df236b0b0eec1b390885c53ac02f3e3f830e9449414230717334a0b2457";
url = http://www.carrois.com/downloads/fira_4_0/FiraFonts4002.zip;
sha256 = "1vh4hx8ffmh2p7mxxbcp5zbcz8kzpzxaggdqnhj5i4vi329n5hfw";
};
buildInputs = [unzip];
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
'';
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";
longDescription = ''
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
'';
patches = [ ./search_providers_dir.patch ];
patches = [ ./search_providers_dir.patch ./vpn_plugins_path.patch ];
meta = with stdenv.lib; {
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
, gtk, gtksourceview, dbus, dbus_glib }:
{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util
, gtk, gtksourceview, dbus, dbus_glib, makeWrapper }:
stdenv.mkDerivation rec {
p_name = "mousepad";
ver_maj = "0.3";
ver_maj = "0.4";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0v84zwhjv2xynvisn5vmp7dbxfj4l4258m82ks7hn3adk437bwhh";
sha256 = "60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs =
[ pkgconfig intltool libxfce4util libxfcegui4
gtk gtksourceview dbus dbus_glib
[ pkgconfig intltool libxfce4util
gtk gtksourceview dbus dbus_glib makeWrapper
];
# Propagate gtksourceview into $XDG_DATA_DIRS to provide syntax
# highlighting (in fact Mousepad segfaults without it).
propagatedUserEnvPkgs = [ gtksourceview ];
preFixup = ''
wrapProgram "$out/bin/mousepad" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share"
'';
meta = {
homepage = http://www.xfce.org/;
description = "A simple text editor for Xfce";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
p_name = "exo";
ver_maj = "0.10";
ver_min = "2";
ver_min = "3";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1kknxiz703q4snmry65ajm26jwjslbgpzdal6bd090m3z25q51dk";
sha256 = "1g9651ra395v2fmzb943l68b9pg0rfxc19x97a62crchxwa4nw4m";
};
name = "${p_name}-${ver_maj}.${ver_min}";
@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
homepage = "http://www.xfce.org/projects/${p_name}";
description = "Application library for the Xfce desktop environment";
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 {
p_name = "garcon";
ver_maj = "0.2";
ver_min = "1";
ver_maj = "0.4";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1xq14wayk07cil04yhrdkjhacz9dbldcl9i59sbrgrgznaw49dj8";
sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs = [ pkgconfig intltool glib libxfce4util ];
buildInputs = [ pkgconfig intltool glib libxfce4util gtk libxfce4ui ];
meta = {
homepage = http://www.xfce.org/;
description = "Xfce menu support library";
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 {
p_name = "gtk-xfce-engine";
ver_maj = "3.0";
ver_maj = "2.10";
ver_min = "1";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "0vd0ly81540f9133abza56mlqqx1swp0j70ll8kf948sva0wy0zb";
sha256 = "4a92910205881f707f2cc8d3c9b00a95feb58eb9084d932c841f3ed027f7063d";
};
name = "${p_name}-${ver_maj}.${ver_min}";
#TODO: gtk3
buildInputs = [ pkgconfig intltool gtk ] ++ stdenv.lib.optional enableGtk3Support gtk3;
buildInputs = [ pkgconfig intltool gtk ];
meta = {
homepage = http://www.xfce.org/;

View File

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

View File

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

View File

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

View File

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
p_name = "thunar";
ver_maj = "1.6";
ver_min = "3";
ver_min = "6";
src = fetchurl {
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}";

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -6,23 +6,15 @@
stdenv.mkDerivation rec {
p_name = "xfce4-session";
ver_maj = "4.10";
ver_min = "1";
ver_maj = "4.12";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "10zwki7v55a325abr57wczcb5g7ml99cqk1p8ls8qycqqfyzlm01";
sha256 = "01kvbd09c06j20n155hracsgrq06rlmfgdywffjsvlwpn19m9j38";
};
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 =
[ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib
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
--- xfce4-settings-4.10.1/xfsettingsd/xsettings.xml 2013-05-05 18:12:54.000000000 +0200
+++ xfce4-settings-4.10.1-new/xfsettingsd/xsettings.xml 2013-08-15 15:57:48.538586286 +0200
--- a/xfsettingsd/xsettings.xml 2015-02-28 22:32:02.681796319 +0100
+++ b/xfsettingsd/xsettings.xml 2015-02-28 22:32:27.881214735 +0100
@@ -7,7 +7,7 @@
<channel name="xsettings" version="1.0">
<property name="Net" type="empty">
<property name="ThemeName" type="empty"/>
- <property name="IconThemeName" type="empty"/>
+ <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="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
, libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon }:
, libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon, upower }:
#TODO: optional packages
stdenv.mkDerivation rec {
p_name = "xfce4-settings";
ver_maj = "4.10";
ver_min = "1";
ver_maj = "4.12";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1m8k9s7qihwkkbjrrkmk103a6iwahxdfq65aswrsbqshx9cnk2hi";
sha256 = "108za1cmjslwzkdl76x9kwxkq8z734kg9nz8rxk057f10pqwxgh4";
};
name = "${p_name}-${ver_maj}.${ver_min}";
@ -17,10 +17,8 @@ stdenv.mkDerivation rec {
patches = [ ./xfce4-settings-default-icon-theme.patch ];
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
#gtk libxfce4util libxfcegui4 libwnck dbus_glib
#xfconf libglade xorg.iceauth
];
configureFlags = "--enable-pluggable-dialogs --enable-sound-settings";

View File

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

View File

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

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