Merge branch 'master' of github.com:aycanirican/nixpkgs

This commit is contained in:
Aycan iRiCAN 2014-07-15 00:42:07 +03:00
commit 7ef7e9ce73
231 changed files with 1910 additions and 714 deletions

View File

@ -21,18 +21,18 @@ all: NEWS.html NEWS.txt manual.html manual.pdf
NEWS.html: release-notes.xml
$(XSLTPROC) --nonet --xinclude --output $@ $(NEWS_OPTS) \
$(docbookxsl)/html/docbook.xsl release-notes.xml
$(docbookxsl)/xhtml/docbook.xsl release-notes.xml
NEWS.txt: release-notes.xml
$(XSLTPROC) --nonet --xinclude quote-literals.xsl release-notes.xml | \
$(XSLTPROC) --nonet --output $@.tmp.html $(NEWS_OPTS) \
$(docbookxsl)/html/docbook.xsl -
$(docbookxsl)/xhtml/docbook.xsl -
LANG=en_US w3m -dump $@.tmp.html > $@
rm $@.tmp.html
manual.html: *.xml
$(XSLTPROC) --nonet --xinclude --output manual.html \
$(docbookxsl)/html/docbook.xsl manual.xml
$(docbookxsl)/xhtml/docbook.xsl manual.xml
manual.pdf: *.xml
$(dblatex) \

View File

@ -38,6 +38,7 @@
emery = "Emery Hemingway <emery@vfemail.net>";
ertes = "Ertugrul Söylemez <ertesx@gmx.de>";
falsifian = "James Cook <james.cook@utoronto.ca>";
flosse = "Markus Kohlhase <mail@markus-kohlhase.de>";
fuuzetsu = "Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>";
garbas = "Rok Garbas <rok@garbas.si>";
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
@ -47,6 +48,7 @@
iElectric = "Domen Kozar <domen@dev.si>";
iyzsong = "Song Wenwu <iyzsong@gmail.com>";
jcumming = "Jack Cummings <jack@mudshark.org>";
jgeerds = "Jascha Geerds <jg@ekby.de>";
joamaki = "Jussi Maki <joamaki@gmail.com>";
joelteon = "Joel Taylor <me@joelt.io>";
jwiegley = "John Wiegley <johnw@newartisans.com>";

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let

View File

@ -14,7 +14,7 @@ in
options = {
networking.extraHosts = pkgs.lib.mkOption {
networking.extraHosts = lib.mkOption {
type = types.lines;
default = "";
example = "192.168.0.1 lanlocalhost";
@ -23,7 +23,7 @@ in
'';
};
networking.dnsSingleRequest = pkgs.lib.mkOption {
networking.dnsSingleRequest = lib.mkOption {
type = types.bool;
default = false;
description = ''

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, utils, ... }:
with lib;
with utils;
with lib;
{

View File

@ -27,7 +27,7 @@ with lib;
environment.etc."odbcinst.ini".text =
let inis = config.environment.unixODBCDrivers;
in pkgs.lib.concatStringsSep "\n" inis;
in lib.concatStringsSep "\n" inis;
};

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
@ -6,9 +6,9 @@
options = {
networking.enableIntel2100BGFirmware = pkgs.lib.mkOption {
networking.enableIntel2100BGFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Turn on this option if you want firmware for the Intel
PRO/Wireless 2100BG to be loaded automatically. This is
@ -21,7 +21,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableIntel2100BGFirmware {
config = lib.mkIf config.networking.enableIntel2100BGFirmware {
hardware.enableAllFirmware = true;

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
@ -6,9 +6,9 @@
options = {
networking.enableIntel2200BGFirmware = pkgs.lib.mkOption {
networking.enableIntel2200BGFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Turn on this option if you want firmware for the Intel
PRO/Wireless 2200BG to be loaded automatically. This is
@ -21,7 +21,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableIntel2200BGFirmware {
config = lib.mkIf config.networking.enableIntel2200BGFirmware {
hardware.enableAllFirmware = true;

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
@ -6,9 +6,9 @@
options = {
networking.enableIntel3945ABGFirmware = pkgs.lib.mkOption {
networking.enableIntel3945ABGFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
This option enables automatic loading of the firmware for the Intel
PRO/Wireless 3945ABG.
@ -20,7 +20,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableIntel3945ABGFirmware {
config = lib.mkIf config.networking.enableIntel3945ABGFirmware {
hardware.enableAllFirmware = true;

View File

@ -1,4 +1,4 @@
{pkgs, config, ...}:
{pkgs, config, lib, ...}:
{
@ -6,9 +6,9 @@
options = {
networking.enableRalinkFirmware = pkgs.lib.mkOption {
networking.enableRalinkFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Turn on this option if you want firmware for the RT73 NIC.
'';
@ -19,7 +19,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableRalinkFirmware {
config = lib.mkIf config.networking.enableRalinkFirmware {
hardware.enableAllFirmware = true;
};

View File

@ -1,4 +1,4 @@
{pkgs, config, ...}:
{pkgs, config, lib, ...}:
{
@ -6,9 +6,9 @@
options = {
networking.enableRTL8192cFirmware = pkgs.lib.mkOption {
networking.enableRTL8192cFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Turn on this option if you want firmware for the RTL8192c (and related) NICs.
'';
@ -19,7 +19,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableRTL8192cFirmware {
config = lib.mkIf config.networking.enableRTL8192cFirmware {
hardware.enableAllFirmware = true;
};

View File

@ -1,9 +1,9 @@
{pkgs, config, ...}:
{lib, config, ...}:
{
hardware = {
pcmcia = {
firmware = [ (pkgs.lib.cleanSource ./firmware) ];
firmware = [ (lib.cleanSource ./firmware) ];
};
};
}

View File

@ -84,7 +84,7 @@ in
config = mkIf cfg.enable {
assertions = pkgs.lib.singleton {
assertions = lib.singleton {
assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
message = "Option driSupport32Bit only makes sense on a 64-bit system.";
};

View File

@ -152,7 +152,7 @@ in
# default root password is empty.
services.openssh.enable = true;
jobs.openssh.startOn = pkgs.lib.mkOverride 50 "";
jobs.openssh.startOn = lib.mkOverride 50 "";
boot.loader.grub.enable = false;
boot.loader.generationsDir.enable = false;

View File

@ -109,7 +109,7 @@ in
# not be started by default on the installation CD because the
# default root password is empty.
services.openssh.enable = true;
jobs.openssh.startOn = pkgs.lib.mkOverride 50 "";
jobs.openssh.startOn = lib.mkOverride 50 "";
# To be able to use the systemTarball to catch troubles.
boot.crashDump = {

View File

@ -165,7 +165,7 @@ in
# not be started by default on the installation CD because the
# default root password is empty.
services.openssh.enable = true;
jobs.openssh.startOn = pkgs.lib.mkOverride 50 "";
jobs.openssh.startOn = lib.mkOverride 50 "";
# cpufrequtils fails to build on non-pc
powerManagement.enable = false;

View File

@ -1,7 +1,7 @@
# This module generates nixos-install, nixos-rebuild,
# nixos-generate-config, etc.
{ config, pkgs, modulesPath, ... }:
{ config, pkgs, modulesPath, lib, ... }:
let
@ -65,7 +65,7 @@ let
test -e "$out/chrome/content/jquery-1.5.2.js" ||
cp -f "$jquery" "$out/chrome/content/jquery-1.5.2.js"
'';
gui = pkgs.lib.cleanSource "${modulesPath}/../gui";
gui = lib.cleanSource "${modulesPath}/../gui";
jquery = pkgs.fetchurl {
url = http://code.jquery.com/jquery-1.5.2.min.js;
sha256 = "8f0a19ee8c606b35a10904951e0a27da1896eafe33c6e88cb7bcbe455f05a24a";

View File

@ -1,19 +1,19 @@
# This module defines the global list of uids and gids. We keep a
# central list to prevent id collisions.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
options = {
ids.uids = pkgs.lib.mkOption {
ids.uids = lib.mkOption {
internal = true;
description = ''
The user IDs used in NixOS.
'';
};
ids.gids = pkgs.lib.mkOption {
ids.gids = lib.mkOption {
internal = true;
description = ''
The group IDs used in NixOS.
@ -135,6 +135,7 @@
influxdb = 125;
nsd = 126;
gitolite = 127;
znc = 128;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -243,6 +244,7 @@
teamspeak = 124;
influxdb = 125;
nsd = 126;
znc = 128;
# When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!

View File

@ -1,11 +1,11 @@
{ config, pkgs, ... }:
{ config, lib, ... }:
{
options = {
lib = pkgs.lib.mkOption {
lib = lib.mkOption {
default = {};
type = pkgs.lib.types.attrsOf pkgs.lib.types.attrs;
type = lib.types.attrsOf lib.types.attrs;
description = ''
This option allows modules to define helper functions, constants, etc.

View File

@ -1,11 +1,11 @@
# This module allows you to export something from configuration
# Use case: export kernel source expression for ease of configuring
{ config, pkgs, ... }:
{ config, lib, ... }:
{
options = {
passthru = pkgs.lib.mkOption {
passthru = lib.mkOption {
visible = false;
description = ''
This attribute set will be exported as a system attribute.

View File

@ -237,6 +237,7 @@
./services/networking/wicd.nix
./services/networking/wpa_supplicant.nix
./services/networking/xinetd.nix
./services/networking/znc.nix
./services/printing/cupsd.nix
./services/scheduling/atd.nix
./services/scheduling/cron.nix

View File

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{ config, lib, ... }:
let
inherit (pkgs.lib) mkOption mkIf;
inherit (lib) mkOption mkIf;
cfg = config.environment.blcr;
blcrPkg = config.boot.kernelPackages.blcr;
in

View File

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{ config, lib, ... }:
let
inherit (pkgs.lib) mkOption mkIf types;
inherit (lib) mkOption mkIf types;
cfg = config.programs.screen;
in

View File

@ -40,7 +40,7 @@ in
options = {
users.defaultUserShell = pkgs.lib.mkOption {
users.defaultUserShell = lib.mkOption {
description = ''
This option defines the default shell assigned to user
accounts. This must not be a store path, since the path is
@ -60,7 +60,7 @@ in
config = {
environment.systemPackages =
pkgs.lib.optional config.users.mutableUsers pkgs.shadow;
lib.optional config.users.mutableUsers pkgs.shadow;
environment.etc =
[ { # /etc/login.defs: global configuration for pwdutils. You

View File

@ -14,6 +14,7 @@ let virtualbox = config.boot.kernelPackages.virtualbox; in
services.udev.extraRules =
''
KERNEL=="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd"
KERNEL=="vboxdrvu", OWNER="root", GROUP="root", MODE="0666", TAG+="systemd"
KERNEL=="vboxnetctl", OWNER="root", GROUP="root", MODE="0600", TAG+="systemd"
SUBSYSTEM=="usb_device", ACTION=="add", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let

View File

@ -73,7 +73,7 @@ in
touch ${stateDir}/sitecopy.secrets
chown root ${stateDir}/sitecopy.secrets
${pkgs.lib.concatStrings (map ( b: ''
${lib.concatStrings (map ( b: ''
unset secrets
unset secret
secrets=`grep '^${b.server}' ${stateDir}/sitecopy.secrets | head -1`

View File

@ -85,7 +85,7 @@ in
Defines how users authenticate themselves to the server. By
default, "trust" access to local users will always be granted
along with any other custom options. If you do not want this,
set this option using "pkgs.lib.mkForce" to override this
set this option using "lib.mkForce" to override this
behaviour.
'';
};

View File

@ -1,8 +1,8 @@
# GNOME Documents daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# GNOME Keyring daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# GNOME Online Accounts daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# GNOME Online Miners daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# GNOME User Share daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# gvfs backends
{ config, pkgs, ... }:
{ config, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# Seahorse daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# Tracker daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -16,7 +16,7 @@ let
echo "event=${event.event}" > $fn
echo "action=${pkgs.writeScript "${event.name}.sh" event.action}" >> $fn
'';
in pkgs.lib.concatMapStrings f events
in lib.concatMapStrings f events
}
'';

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
@ -6,9 +6,9 @@
options = {
hardware.amdHybridGraphics.disable = pkgs.lib.mkOption {
hardware.amdHybridGraphics.disable = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Completely disable the AMD graphics card and use the
integrated graphics processor instead.
@ -20,7 +20,7 @@
###### implementation
config = pkgs.lib.mkIf config.hardware.amdHybridGraphics.disable {
config = lib.mkIf config.hardware.amdHybridGraphics.disable {
systemd.services."amd-hybrid-graphics" = {
path = [ pkgs.bash ];
description = "Disable AMD Card";

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let kernel = config.boot.kernelPackages; in
@ -8,9 +8,9 @@ let kernel = config.boot.kernelPackages; in
options = {
hardware.nvidiaOptimus.disable = pkgs.lib.mkOption {
hardware.nvidiaOptimus.disable = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Completely disable the NVIDIA graphics card and use the
integrated graphics processor instead.
@ -22,7 +22,7 @@ let kernel = config.boot.kernelPackages; in
###### implementation
config = pkgs.lib.mkIf config.hardware.nvidiaOptimus.disable {
config = lib.mkIf config.hardware.nvidiaOptimus.disable {
boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb"];
boot.kernelModules = [ "bbswitch" ];
boot.extraModulePackages = [ kernel.bbswitch ];

View File

@ -1,9 +1,9 @@
# Monit system watcher
# http://mmonit.org/monit/
{config, pkgs, ...}:
{config, pkgs, lib, ...}:
let inherit (pkgs.lib) mkOption mkIf;
let inherit (lib) mkOption mkIf;
in
{

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
inherit (pkgs.lib) mkOption mkEnableOption mkIf mkMerge types optionalAttrs optional;
inherit (lib) mkOption mkEnableOption mkIf mkMerge types optionalAttrs optional;
cfg = config.services.uptime;

View File

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
inherit (pkgs.lib) mkOption mkIf;
inherit (lib) mkOption mkIf;
cfg = config.services.openafsClient;

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
@ -136,4 +136,4 @@ in
networking.firewall.allowedTCPPorts = [ cfg.port ];
};
}
}

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let
cfg = config.networking.connman;

View File

@ -1,8 +1,8 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
inherit (pkgs.lib) mkOption mkIf singleton;
inherit (lib) mkOption mkIf singleton;
inherit (pkgs) ddclient;

View File

@ -18,7 +18,7 @@ let
${cfg.extraConfig}
${pkgs.lib.concatMapStrings
${lib.concatMapStrings
(machine: ''
host ${machine.hostName} {
hardware ethernet ${machine.ethernetAddress};

View File

@ -1,9 +1,9 @@
# GNU Virtual Private Ethernet
{config, pkgs, ...}:
{config, pkgs, lib, ...}:
let
inherit (pkgs.lib) mkOption mkIf;
inherit (lib) mkOption mkIf;
cfg = config.services.gvpe;

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let
cfg = config.networking.networkmanager;
@ -151,7 +151,7 @@ in {
{ source = "${networkmanager_pptp}/etc/NetworkManager/VPN/nm-pptp-service.name";
target = "NetworkManager/VPN/nm-pptp-service.name";
}
] ++ pkgs.lib.optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
{ source = overrideNameserversScript;
target = "NetworkManager/dispatcher.d/02overridedns";
};

View File

@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }:
with pkgs.lib;
with lib;
let
cfg = config.services.notbit;
varDir = "/var/lib/notbit";

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
cfg = config.services.nsd;

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
with pkgs.lib;
with lib;
let
ts3 = pkgs.teamspeak_server;

View File

@ -0,0 +1,294 @@
{ config, lib, pkgs, ...}:
with lib;
let
cfg = config.services.znc;
defaultUser = "znc"; # Default user to own process.
# Default user and pass:
# un=znc
# pw=nixospass
defaultUserName = "znc";
defaultPassBlock = "
<Pass password>
Method = sha256
Hash = e2ce303c7ea75c571d80d8540a8699b46535be6a085be3414947d638e48d9e93
Salt = l5Xryew4g*!oa(ECfX2o
</Pass>
";
confOptions = { ... }: {
options = {
modules = mkOption {
type = types.listOf types.string;
default = [ "partyline" "webadmin" "adminlog" "log" ];
example = [ "partyline" "webadmin" "adminlog" "log" ];
description = ''
A list of modules to include in the `znc.conf` file.
'';
};
userName = mkOption {
default = defaultUserName;
example = "johntron";
type = types.string;
description = ''
The user name to use when generating the `znc.conf` file.
This is the user name used by the user logging into the ZNC web admin.
'';
};
nick = mkOption {
default = "znc-user";
example = "john";
type = types.string;
description = ''
The IRC nick to use when generating the `znc.conf` file.
'';
};
passBlock = mkOption {
default = defaultPassBlock;
example = "Must be the block generated by the `znc --makepass` command.";
type = types.string;
description = ''
The pass block to use when generating the `znc.conf` file.
This is the password used by the user logging into the ZNC web admin.
This is the block generated by the `znc --makepass` command.
!!! If not specified, please change this after starting the service. !!!
'';
};
port = mkOption {
default = "5000";
example = "5000";
type = types.string;
description = ''
Specifies the port on which to listen.
'';
};
useSSL = mkOption {
default = true;
example = true;
type = types.bool;
description = ''
Indicates whether the ZNC server should use SSL when listening on the specified port.
'';
};
};
};
# Keep znc.conf in nix store, then symlink or copy into `dataDir`, depending on `mutable`.
mkZncConf = confOpts: ''
// Also check http://en.znc.in/wiki/Configuration
AnonIPLimit = 10
ConnectDelay = 5
# Add `LoadModule = x` for each module...
${concatMapStrings (n: "LoadModule = ${n}\n") confOpts.modules}
MaxBufferSize = 500
ProtectWebSessions = true
SSLCertFile = ${cfg.dataDir}/znc.pem
ServerThrottle = 30
Skin = dark-clouds
StatusPrefix = *
Version = 1.2
<Listener listener0>
AllowIRC = true
AllowWeb = true
IPv4 = true
IPv6 = false
Port = ${if confOpts.useSSL then "+" else ""}${confOpts.port}
SSL = ${if confOpts.useSSL then "true" else "false"}
</Listener>
<User ${confOpts.userName}>
Admin = true
Allow = *
AltNick = ${confOpts.nick}_
AppendTimestamp = false
AutoClearChanBuffer = false
Buffer = 150
ChanModes = +stn
DenyLoadMod = false
DenySetBindHost = false
Ident = ident
JoinTries = 10
MaxJoins = 0
MaxNetworks = 1
MultiClients = true
Nick = ${confOpts.nick}
PrependTimestamp = true
QuitMsg = Quit
RealName = ${confOpts.nick}
TimestampFormat = [%H:%M:%S]
${confOpts.passBlock}
</User>
'';
zncConfFile = pkgs.writeTextFile {
name = "znc.conf";
text = if cfg.zncConf != ""
then cfg.zncConf
else mkZncConf cfg.confOptions;
};
in
{
###### Interface
options = {
services.znc = {
enable = mkOption {
default = false;
example = true;
type = types.bool;
description = ''
Enable a ZNC service for a user.
'';
};
user = mkOption {
default = "znc";
example = "john";
type = types.string;
description = ''
The name of an existing user account to use to own the ZNC server process.
If not specified, a default user will be created to own the process.
'';
};
dataDir = mkOption {
default = "/home/${cfg.user}/.znc";
example = "/home/john/.znc";
type = types.string;
description = ''
The data directory. Used for configuration files and modules.
'';
};
zncConf = mkOption {
default = "";
example = "See: http://wiki.znc.in/Configuration";
type = types.string;
description = ''
The contents of the `znc.conf` file to use when creating it.
If specified, `confOptions` will be ignored, and this value, as-is, will be used.
If left empty, a conf file with default values will be used.
Recommended to generate with `znc --makeconf` command.
'';
};
confOptions = mkOption {
default = {};
example = {
modules = [ "log" ];
userName = "john";
nick = "johntron";
};
type = types.optionSet;
description = ''
Values to use when creating a `znc.conf` file.
'';
options = confOptions;
};
mutable = mkOption {
default = false;
example = true;
type = types.bool;
description = ''
Indicates whether to allow the contents of the `dataDir` directory to be changed
by the user at run-time.
If true, modifications to the ZNC configuration after its initial creation are not
overwritten by a NixOS system rebuild.
If false, the ZNC configuration is rebuilt by every system rebuild.
If the user wants to manage the ZNC service using the web admin interface, this value
should be set to true.
'';
};
extraFlags = mkOption {
default = "";
example = "--debug";
type = types.string;
description = ''
Extra flags to use when executing znc command.
'';
};
};
};
###### Implementation
config = mkIf cfg.enable {
systemd.services."znc-${cfg.user}" = {
description = "ZNC Server of ${cfg.user}.";
wantedBy = [ "multi-user.target" ];
after = [ "network.service" ];
path = [ pkgs.znc ];
serviceConfig = {
User = "${cfg.user}";
Restart = "always";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID";
};
preStart = ''
${pkgs.coreutils}/bin/mkdir -p ${cfg.dataDir}
${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir} -R
${pkgs.coreutils}/bin/mkdir -p ${cfg.dataDir}/configs
# If mutable, regenerate conf file every time.
${optionalString (!cfg.mutable) ''
${pkgs.coreutils}/echo "znc-${cfg.user} is set to be system-managed. Now deleting old znc.conf file to be regenerated."
${pkgs.coreutils}/rm -f ${cfg.dataDir}/configs/znc.conf
''}
# Ensure essential files exist.
if [[ ! -f ${cfg.dataDir}/configs/znc.conf ]]; then
${pkgs.coreutils}/bin/echo "No znc.conf file found in ${cfg.dataDir}. Creating one now."
${if (!cfg.mutable)
then "${pkgs.coreutils}/bin/ln --force -s ${zncConfFile} ${cfg.dataDir}/configs/znc.conf"
else ''
${pkgs.coreutils}/bin/cp --no-clobber ${zncConfFile} ${cfg.dataDir}/configs/znc.conf
${pkgs.coreutils}/bin/chmod u+rw ${cfg.dataDir}/configs/znc.conf
${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf
''}
fi
if [[ ! -f ${cfg.dataDir}/znc.pem ]]; then
${pkgs.coreutils}/bin/echo "No znc.pem file found in ${cfg.dataDir}. Creating one now."
${pkgs.znc}/bin/znc --makepem
fi
'';
script = "${pkgs.znc}/bin/znc --foreground --datadir ${cfg.dataDir} ${cfg.extraFlags}";
};
users.extraUsers = optional (cfg.user == defaultUser)
{ name = defaultUser;
description = "ZNC server daemon owner";
group = defaultUser;
uid = config.ids.uids.znc;
createHome = true;
createUser = true;
};
users.extraGroups = optional (cfg.user == defaultUser)
{ name = defaultUser;
gid = config.ids.gids.znc;
members = [ defaultUser ];
};
};
}

View File

@ -15,7 +15,7 @@ let
MAILTO="${config.services.cron.mailto}"
''}
NIX_CONF_DIR=/etc/nix
${pkgs.lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
${lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
'';
# Vixie cron requires build-time configuration for the sendmail path.

View File

@ -17,7 +17,7 @@ let
MAILTO="${config.services.cron.mailto}"
''}
NIX_CONF_DIR=/etc/nix
${pkgs.lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
${lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
'';
allowdeny = target: users:

View File

@ -1,4 +1,4 @@
{pkgs, config, ...}:
{lib, config, ...}:
let kernel = config.boot.kernelPackages;
in
@ -9,9 +9,9 @@ in
options = {
services.frandom.enable = pkgs.lib.mkOption {
services.frandom.enable = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
enable the /dev/frandom device (a very fast random number generator)
'';
@ -22,7 +22,7 @@ in
###### implementation
config = pkgs.lib.mkIf config.services.frandom.enable {
config = lib.mkIf config.services.frandom.enable {
boot.kernelModules = [ "frandom" ];
boot.extraModulePackages = [ kernel.frandom ];
services.udev.packages = [ kernel.frandom ];

View File

@ -1,8 +1,8 @@
{pkgs, config, ...}:
{pkgs, config, lib, ...}:
let
inherit (pkgs.lib) mkOption mkIf singleton;
inherit (lib) mkOption mkIf singleton;
inherit (pkgs) heimdal;
@ -36,7 +36,7 @@ in
environment.systemPackages = [ heimdal ];
services.xinetd.enable = true;
services.xinetd.services = pkgs.lib.singleton
services.xinetd.services = lib.singleton
{ name = "kerberos-adm";
flags = "REUSE NAMEINARGS";
protocol = "tcp";

View File

@ -7,7 +7,7 @@ let
nssModulesPath = config.system.nssModules.path;
cfg = config.services.nscd;
inherit (pkgs.lib) singleton;
inherit (lib) singleton;
cfgFile = pkgs.writeText "nscd.conf" cfg.config;

View File

@ -1,8 +1,8 @@
{pkgs, config, ...}:
{pkgs, config, lib, ...}:
let
inherit (pkgs.lib) mkOption mkIf singleton;
inherit (lib) mkOption mkIf singleton;
inherit (pkgs) uptimed;

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
inherit (pkgs.lib) mkOption types mkIf optionalString;
inherit (lib) mkOption types mkIf optionalString;
cfg = config.services.kmscon;

View File

@ -72,11 +72,11 @@ let
# Unpack Mediawiki and put the config file in its root directory.
mediawikiRoot = pkgs.stdenv.mkDerivation rec {
name= "mediawiki-1.20.8";
name= "mediawiki-1.23.1";
src = pkgs.fetchurl {
url = "http://download.wikimedia.org/mediawiki/1.20/${name}.tar.gz";
sha256 = "0yfmh5vnfbgpvicfqh7nh4hwdk4qbc6gfniv02vchkg5al0nn7ag";
url = "http://download.wikimedia.org/mediawiki/1.23/${name}.tar.gz";
sha256 = "07z5j8d988cdg4ml4n0vs9fwmj0p594ibbqdid16faxwqm52dkhl";
};
skins = config.skins;
@ -93,9 +93,10 @@ let
ensureDir $out
cp -r * $out
cp ${mediawikiConfig} $out/LocalSettings.php
sed -i 's|/bin/bash|${pkgs.stdenv.shell}|' \
$out/maintenance/fuzz-tester.php \
$out/bin/ulimit.sh \
sed -i \
-e 's|/bin/bash|${pkgs.bash}/bin/bash|g' \
-e 's|/usr/bin/timeout|${pkgs.coreutils}/bin/timeout|g' \
$out/includes/limit.sh \
$out/includes/GlobalFunctions.php
'';
};

View File

@ -1,8 +1,8 @@
{ config, pkgs, serverInfo, ... }:
{ config, pkgs, serverInfo, lib, ... }:
let
inherit (pkgs) mercurial;
inherit (pkgs.lib) mkOption;
inherit (lib) mkOption;
urlPrefix = config.urlPrefix;

View File

@ -1,7 +1,7 @@
{ config, pkgs, serverInfo, ... }:
{ config, pkgs, serverInfo, lib, ... }:
let
extraWorkersProperties = pkgs.lib.optionalString (config ? extraWorkersProperties) config.extraWorkersProperties;
extraWorkersProperties = lib.optionalString (config ? extraWorkersProperties) config.extraWorkersProperties;
workersProperties = pkgs.writeText "workers.properties" ''
# Define list of workers that will be used

View File

@ -1,7 +1,7 @@
{pkgs, config, ...}:
{lib, pkgs, config, ...}:
let
inherit (pkgs.lib) mkOption mkIf;
inherit (lib) mkOption mkIf;
cfg = config.services.xserver.windowManager.openbox;
in

View File

@ -1,7 +1,7 @@
{pkgs, config, ...}:
{pkgs, lib, config, ...}:
let
inherit (pkgs.lib) mkOption mkIf optionals literalExample;
inherit (lib) mkOption mkIf optionals literalExample;
cfg = config.services.xserver.windowManager.xmonad;
xmonadEnv = cfg.haskellPackages.ghcWithPackages(self: [
self.xmonad
@ -48,7 +48,7 @@ in
enableContribAndExtras = mkOption {
default = false;
example = true;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = "Enable xmonad-{contrib,extras} in Xmonad.";
};
};

View File

@ -1,6 +1,6 @@
{ config, pkgs, modulesPath, ... }:
{ config, lib, ... }:
with pkgs.lib;
with lib;
let
fileSystems = attrValues config.fileSystems ++ config.swapDevices;

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
inInitrd = any (fs: fs == "f2fs") config.boot.initrd.supportedFilesystems;

View File

@ -1,8 +1,8 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
config = pkgs.lib.mkMerge [
(pkgs.lib.mkIf (pkgs.lib.any (fs: fs == "unionfs-fuse") config.boot.initrd.supportedFilesystems) {
config = lib.mkMerge [
(lib.mkIf (lib.any (fs: fs == "unionfs-fuse") config.boot.initrd.supportedFilesystems) {
boot.initrd.kernelModules = [ "fuse" ];
boot.initrd.extraUtilsCommands = ''
@ -17,7 +17,7 @@
ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}/bin
'';
})
(pkgs.lib.mkIf (pkgs.lib.any (fs: fs == "unionfs-fuse") config.boot.supportedFilesystems) {
(lib.mkIf (lib.any (fs: fs == "unionfs-fuse") config.boot.supportedFilesystems) {
system.fsPackages = [ pkgs.unionfs-fuse ];
})
];

View File

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
configfile = builtins.storePath (builtins.toFile "config" (pkgs.lib.concatStringsSep "\n"
configfile = builtins.storePath (builtins.toFile "config" (lib.concatStringsSep "\n"
(map (builtins.getAttr "configLine") config.system.requiredKernelConfig))
);

View File

@ -11,7 +11,6 @@ let
in
optionalAttrs (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) # ugly...
{
###### interface
@ -33,6 +32,10 @@ optionalAttrs (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) # ugly...
###### implementation
config = mkIf cfg.enable {
assertions = [ {
assertion = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64;
message = "Virtualbox not currently supported on ${pkgs.stdenv.system}";
} ];
environment.systemPackages = [ kernel.virtualboxGuestAdditions ];

View File

@ -370,7 +370,7 @@ in {
# Rebuild the CD configuration with a little modification.
rebuildCD = makeTest
{ inherit iso;
name = "rebuild-CD";
name = "rebuild-cd";
nodes = { };
testScript =
''

View File

@ -30,21 +30,21 @@ in
$client1->execute("mumble mumble://client1\@server/test &");
$client2->execute("mumble mumble://client2\@server/test &");
$client1->waitForWindow(qr/Mumble/);
$client2->waitForWindow(qr/Mumble/);
$server->sleep(3); # Wait some more for the Mumble UI
# cancel client audio configuration
$client1->waitForWindow(qr/Audio Tuning Wizard/);
$client2->waitForWindow(qr/Audio Tuning Wizard/);
$client1->sendKeys("esc");
$client2->sendKeys("esc");
$server->sleep(1);
# cancel client cert configuration
$client1->waitForWindow(qr/Certificate Management/);
$client2->waitForWindow(qr/Certificate Management/);
$client1->sendKeys("esc");
$client2->sendKeys("esc");
$server->sleep(1);
# accept server certificate
$client1->waitForWindow(qr/^Mumble$/);
$client2->waitForWindow(qr/^Mumble$/);
$client1->sendChars("y");
$client2->sendChars("y");

View File

@ -1,5 +1,5 @@
import ./make-test.nix {
name = "simple"
name = "simple";
machine = { config, pkgs, ... }: { };

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl, emacs}:
let version = "1.3";
let version = "2.0";
in stdenv.mkDerivation {
name = "writegood-mode-${version}";
src = fetchurl {
url = "https://github.com/bnbeckwith/writegood-mode/archive/v${version}.tar.gz";
sha256 = "0p34rgawnqg94vk4lcw14x99rrvsd23dmbwkxz2vax5kq6l8y5yf";
sha256 = "0wf7bj9d00ggy3xigym885a3njfr98i3aqrrawf8x6lgbfc56dgp";
};
buildInputs = [ emacs ];

View File

@ -0,0 +1,64 @@
{ fetchurl, fetchhg, stdenv, xlibs, gcc46, makeWrapper }:
stdenv.mkDerivation rec {
# Inferno is a rolling release from a mercurial repository. For the verison number
# of the package I'm using the mercurial commit number.
version = "645";
name = "inferno-${version}";
# The mercurial repository does not contain all the components needed for the
# runtime system. The 'base' package contains these. For this package I download
# the base, extract the elements required from that, and add them to the source
# pulled from the mercurial repository.
srcBase = fetchurl {
url = "http://www.vitanuova.com/dist/4e/inferno-20100120.tgz";
sha256 = "0msvy3iwl4n5k0ry0xiyysjkq0qsawmwn3hvg67hbi5y8g7f7l88";
};
src = fetchhg {
url = "https://inferno-os.googlecode.com/hg";
rev = "7ab390b860ca";
sha256 = "09y0iclb3yy10gw1p0182sddg64xh60q2fx4ai7lxyfb65i76qbh";
};
# Fails with gcc48 due to inferno triggering an optimisation issue with floating point.
buildInputs = [ gcc46 xlibs.libX11 xlibs.libXpm xlibs.libXext xlibs.xextproto makeWrapper ];
infernoWrapper = ./inferno;
configurePhase = ''
tar --strip-components=1 -xvf $srcBase inferno/fonts inferno/Mkdirs inferno/empties
sed -e 's@^ROOT=.*$@ROOT='"$out"'/share/inferno@g' -e 's@^OBJTYPE=.*$@OBJTYPE=386@g' -e 's@^SYSHOST=.*$@SYSHOST=Linux@g' -i mkconfig
mkdir prof
sh Mkdirs
'';
buildPhase = ''
export PATH=$PATH:$out/share/inferno/Linux/386/bin
mkdir -p $out/share/inferno
cp -r . $out/share/inferno
./makemk.sh
mk nuke
mk
'';
installPhase = ''
mk install
mkdir -p $out/bin
makeWrapper $out/share/inferno/Linux/386/bin/emu $out/bin/emu \
--suffix LD_LIBRARY_PATH ':' "${gcc46.gcc}/lib" \
--suffix PATH ':' "$out/share/inferno/Linux/386/bin"
makeWrapper $infernoWrapper $out/bin/inferno \
--suffix LD_LIBRARY_PATH ':' "${gcc46.gcc}/lib" \
--suffix PATH ':' "$out/share/inferno/Linux/386/bin" \
--set INFERNO_ROOT "$out/share/inferno"
'';
meta = {
description = "A compact distributed operating system for building cross-platform distributed systems";
homepage = "http://inferno-os.org/";
license = stdenv.lib.licenses.gpl2;
maintainer = [ "Chris Double <chris.double@double.co.nz>" ];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -0,0 +1,31 @@
#! /usr/bin/env bash
export INFERNO_HOME="$HOME/.local/share/inferno"
if [ -n "$XDG_DATA_HOME" ]
then export INFERNO_HOME="$XDG_DATA_HOME/inferno"
fi
if [ ! -d $INFERNO_HOME ]; then
mkdir -p $INFERNO_HOME
fi
if [ ! -d $INFERNO_HOME/tmp ]; then
mkdir -p $INFERNO_HOME/tmp
fi
for d in $INFERNO_HOME/{acme,appl,dis,lib,man,module,usr/inferno}; do
if [ ! -d $d ]; then
mkdir -p $d
cp --no-preserve=all -r $INFERNO_ROOT/${d#$INFERNO_HOME/}/* $d/
chmod -R +w $d
fi
done
if [ ! -d $INFERNO_HOME/usr/$USER ]; then
mkdir -p $INFERNO_HOME/usr/$USER
cp -r $INFERNO_ROOT/usr/inferno/* $INFERNO_HOME/usr/$USER/
chmod -R +w $INFERNO_HOME/usr/$USER
fi
exec emu "$@" /dis/sh.dis -c "bind -b -c '#U*$INFERNO_HOME/' /; /dis/sh.dis"

View File

@ -6,8 +6,8 @@
cabal.mkDerivation (self: {
pname = "arbtt";
version = "0.8";
sha256 = "0anjcg8ikd3jxc5rb3k215wj7ar4kg2plv8sdr8hv64758xkc5q9";
version = "0.8.1";
sha256 = "1qzmqjm8pfj59h0hrm28pp6qhzz2am5xq81mirnnchsgg52wrfn0";
isLibrary = false;
isExecutable = true;
buildDepends = [

View File

@ -1,23 +1,25 @@
{ stdenv, fetchurl }:
{ stdenv, fetchgit }:
stdenv.mkDerivation rec {
name = "makeself-2.1.5";
src = fetchurl {
url = "http://megastep.org/makeself/makeself.run";
sha256 = "0khs19xpid4ng0igrjyz3vsi6a5xyixrrrhgdxpdhd2wnf5nc9w2";
name = "makeself-2.2.0";
src = fetchgit {
url = "https://github.com/megastep/makeself.git";
rev = "b836b9281ae99abe1865608b065551da56c80719";
sha256 = "f7c97f0f8ad8128f2f1b54383319f2cc44cbb05b60ced222784debdf326f23ad";
};
unpackPhase = "sh ${src}";
installPhase = ''
cd ${name}
mkdir -p $out/{bin,share/{${name},man/man1}}
mv makeself.lsm README $out/share/${name}
mv makeself.lsm README.md $out/share/${name}
mv makeself.sh $out/bin/makeself
mv makeself.1 $out/share/man/man1/
mv makeself-header.sh $out/share/${name}
sed -e 's|HEADER=`dirname $0`/makeself-header.sh|HEADER=`dirname $0`/../share/${name}/makeself-header.sh|' -i $out/bin/makeself
'';
meta = {
meta = with stdenv.lib; {
homepage = http://megastep.org/makeself;
description = "Utility to create self-extracting packages";
license = licenses.gpl2;
maintainer = maintainers.wmertens;
platforms = platforms.all;
};
}

View File

@ -2,13 +2,13 @@
cabal.mkDerivation (self: {
pname = "nc-indicators";
version = "0.1";
sha256 = "19amwfcbwfxcj0gr7w0vgxl427l43q3l2s3n3zsxhqwkfblxmfy5";
version = "0.2";
sha256 = "0z3h0d3cl0xapysq5sh1rnbp8fg8adlq0x3i4ql9xin9in29q27q";
isLibrary = false;
isExecutable = true;
buildDepends = [ attoparsec gtk hflags lens pipes stm ];
meta = {
homepage = "https://github.com/nilcons/nc-indicators/issues";
homepage = "https://github.com/nilcons/nc-indicators";
description = "CPU load and memory usage indicators for i3bar";
license = self.stdenv.lib.licenses.asl20;
platforms = self.ghc.meta.platforms;

View File

@ -6,8 +6,8 @@
cabal.mkDerivation (self: {
pname = "xmobar";
version = "0.20.1";
sha256 = "16jfgn6ciqxrwj6qjhbcpms7mzlbxfaxyxfxp64xvnw626xlpjvk";
version = "0.21";
sha256 = "1h0gsb808zm4j4kmw7fl4339wllc16ldy1ki96l8w3fvj30bcxpm";
isLibrary = false;
isExecutable = true;
buildDepends = [
@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
extraLibraries = [ libXrandr wirelesstools ];
configureFlags = "-fall_extensions";
meta = {
homepage = "http://projects.haskell.org/xmobar/";
homepage = "http://xmobar.org";
description = "A Minimalistic Text Based Status Bar";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;

View File

@ -1,13 +1,13 @@
{ stdenv, fetchgit, pkgconfig, makeWrapper, libsoup, webkit, gtk3, gnutls, json_c,
m4, glib_networking, gsettings_desktop_schemas }:
m4, glib_networking, gsettings_desktop_schemas, dconf }:
stdenv.mkDerivation {
name = "dwb-2014-06-17";
name = "dwb-2014-07-03";
src = fetchgit {
url = "https://bitbucket.org/portix/dwb.git";
rev = "9f4bdb9a1f8d5e45071019da4626231dfebd4d8e";
sha256 = "1nj34w2hhw47jsmswsc1y6a09my8zdd01qxwai8dxdvisld3marm";
rev = "6224470489eb5ba92987e01396269f8b7cd78ada";
sha256 = "04p9frsnh1qz067cw36anvr41an789fba839svdjrdva0f2751g8";
};
buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas libsoup webkit gtk3 gnutls json_c m4 ];
@ -19,7 +19,7 @@ stdenv.mkDerivation {
preFixup=''
wrapProgram "$out/bin/dwb" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules:${dconf}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
wrapProgram "$out/bin/dwbem" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules"

View File

@ -4,11 +4,11 @@
, gsm, speex, portaudio, spandsp, libuuid
}:
stdenv.mkDerivation rec {
version = "0.4.3";
version = "0.4.11";
name = "baresip-${version}";
src=fetchurl {
url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
sha256 = "03vpzn0c3mybnwn84ha3yci780qsjm669dwja1srj0hbrq81rbil";
sha256 = "1ql5h9ily9jncp9w302v3b2ldx613kc60zlqv0v0ln8hsm8q6bc5";
};
buildInputs = [zlib openssl libre librem pkgconfig
cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good
@ -41,5 +41,9 @@ stdenv.mkDerivation rec {
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [raskin];
license = with stdenv.lib.licenses; bsd3;
inherit version;
downloadPage = "http://www.creytiv.com/pub/";
updateWalker = true;
downloadURLRegexp = "/baresip-.*[.]tar[.].*";
};
}

View File

@ -9,12 +9,14 @@ stdenv.mkDerivation rec {
sha256 = "137sslbgh0326lmwihcr2ybljgq9mzsx5wnciilpx884si22wpk8";
};
nativeBuildInputs = [pkgconfig libxslt];
nativeBuildInputs = [ pkgconfig libxslt ];
buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls ];
configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
meta = {
homepage = http://telepathy.freedesktop.org;
description = "Jabber/XMPP connection manager for the Telepathy framework";
platforms = stdenv.lib.platforms.gnu;
};
}

View File

@ -1,11 +0,0 @@
--- bip-0.8.8/src/lex.l.orig
+++ bip-0.8.8/src/lex.l
@@ -16,7 +16,7 @@
int linec;
#include "util.h"
extern list_t *root_list;
-void yyparse(void);
+int yyparse(void);
void free_conf(list_t*);
int conf_error;
typedef struct bip bip_t;

View File

@ -2,8 +2,8 @@
let
version = "0.8.8";
sha256 = "7ca3fb96f5ee6b76eb398d7ea45344ea24855344ced11632241a33353bba05d7";
version = "0.8.9";
sha256 = "0q942g9lyd8pjvqimv547n6vik5759r9npw3ws3bdj4ixxqhz59w";
# fetches patches from a gentoo mirror
fetchPatch =
@ -25,19 +25,12 @@ in stdenv.mkDerivation {
# includes an important security patch
patches = map fetchPatch [
{ file = "bip-0.8.8-configure.patch";
sha256 = "286e169745e6cd768f0cb95bbc9589ca2bda497eb06461174549b80a459d901c";
}
{ file = "bip-CVE-2012-0806.patch";
sha256 = "e47523095ee1d717c762ca0195520026c6ea2c30d8adcf434d276d42f052d506";
}
{ file = "bip-freenode.patch";
sha256 = "a67e582f89cc6a32d5bb48c7e8ceb647b889808c2c8798ae3eb27d88869b892f";
}
];
postPatch = ''
patch -p1 < ${./bip-0.8.8-yyparse.patch}
'';
configureFlags = [ "--disable-pie" ];
@ -48,5 +41,7 @@ in stdenv.mkDerivation {
description = "An IRC proxy (bouncer)";
homepage = http://bip.milkypond.org/;
license = stdenv.lib.licenses.gpl2;
downloadPage= "https://projects.duckcorp.org/projects/bip/files";
inherit version;
};
}

View File

@ -0,0 +1,12 @@
diff -r 8f62001989cc configure.ac
--- a/configure.ac Sat Feb 08 10:24:22 2014 -0800
+++ b/configure.ac Wed Jul 02 12:34:40 2014 +0200
@@ -473,6 +473,8 @@
mutt_cv_mailpath=/usr/spool/mail
elif test -d /usr/mail; then
mutt_cv_mailpath=/usr/mail
+ elif test -d /tmp; then
+ mutt_cv_mailpath=/tmp
fi])
])
if test "$mutt_cv_mailpath" = no; then

View File

@ -4,7 +4,7 @@
}:
let
version = "2.83";
version = "2.84";
in
with { inherit (stdenv.lib) optional optionals optionalString; };
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://download.transmissionbt.com/files/transmission-${version}.tar.xz";
sha256 = "0cqlgl6jmjw1caybz6nzh3l8z0jak1dxba01isv72zvy2r8b1qdh";
sha256 = "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59";
};
buildInputs = [ pkgconfig intltool file openssl curl libevent inotifyTools ]

View File

@ -1,16 +1,16 @@
{ cabal, ansiTerminal, filepath, HTTP, network, optparseApplicative
, stringsearch, terminalSize, time, zlib
, terminalSize, text, time, zlib
}:
cabal.mkDerivation (self: {
pname = "sloane";
version = "1.8";
sha256 = "0c30slsswfqwzi39hk6jraxz1y1a2yn8g8nyjvlnggwajx2rlm6p";
version = "1.8.2";
sha256 = "0kdznrvyrax1gihqxxw36jfbmjri808ii827fa71v2ijlm416hk1";
isLibrary = false;
isExecutable = true;
buildDepends = [
ansiTerminal filepath HTTP network optparseApplicative stringsearch
terminalSize time zlib
ansiTerminal filepath HTTP network optparseApplicative terminalSize
text time zlib
];
postInstall = ''
mkdir -p $out/share/man/man1

View File

@ -3,12 +3,12 @@ mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil,
sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
stdenv.mkDerivation rec {
name = "boinc-7.0.44";
name = "boinc-7.2.42";
src = fetchgit {
url = "git://boinc.berkeley.edu/boinc-v2.git";
rev = "7c449b1fb8a681ceb27d6895751b62a2b3adf0f2";
sha256 = "0hdramyl9nip3gadp7xiaz8ngyld15i93d8ai1nsd04bmrvdfqia";
rev = "dd0d630882547c123ca0f8fda7a62e058d60f6a9";
sha256 = "1zifpi3mjgaj68fba6kammp3x7z8n2x164zz6fj91xfiapnan56j";
};
buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi

View File

@ -0,0 +1,28 @@
{ stdenv, fetchhg, autoconf, sqlite }:
stdenv.mkDerivation {
name = "vcprompt";
src = fetchhg {
url = "http://hg.gerg.ca/vcprompt/";
rev = "1.2.1";
sha256 = "03xqvp6bfl98bpacrw4n82qv9cw6a4fxci802s3vrygas989v1kj";
};
buildInputs = [ sqlite autoconf ];
preConfigure = ''
autoconf
makeFlags="$makeFlags PREFIX=$out"
'';
meta = with stdenv.lib; {
description = ''
A little C program that prints a short string with barebones information
about the current working directory for various version control systems
'';
homepage = http://hg.gerg.ca/vcprompt;
maintainers = with maintainers; [ cstrahan ];
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -1,9 +1,23 @@
{ stdenv, php, autoreconfHook }:
{ stdenv, php, autoreconfHook, fetchurl }:
args: stdenv.mkDerivation (args // {
buildInputs = [ php autoreconfHook ] ++ args.buildInputs or [];
{ name
, buildInputs ? []
, makeFlags ? []
, src ? fetchurl {
url = "http://pecl.php.net/get/${name}.tgz";
inherit (args) sha256;
}
, ...
}@args:
makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ args.makeFlags or [];
stdenv.mkDerivation (args // {
name = "php-${name}";
inherit src;
buildInputs = [ php autoreconfHook ] ++ buildInputs;
makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags;
autoreconfPhase = "phpize";
})

View File

@ -2,15 +2,22 @@
own_dir="$(cd "$(dirname "$0")"; pwd)"
URL_WAS_SET=
DL_URL_RE=
CURRENT_URL=
CURRENT_REV=
PREFETCH_COMMAND=
NEED_TO_CHOOSE_URL=1
url () {
URL_WAS_SET=1
CURRENT_URL="$1"
}
dl_url_re () {
DL_URL_RE="$1"
}
version_unpack () {
sed -re '
s/[.]/ /g;
@ -101,16 +108,27 @@ ensure_name () {
ensure_attribute_name () {
echo "Ensuring attribute name. CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2
ensure_name
[ -z "$CURRENT_ATTRIBUTE_NAME" ] && attribute_name "$CURRENT_NAME"
echo "Resulting attribute name: $CURRENT_ATTRIBUTE_NAME"
}
ensure_url () {
echo "Ensuring starting URL. CURRENT_URL: $CURRENT_URL" >&2
ensure_attribute_name
[ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta downloadPage)"
[ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta downloadpage)"
[ -z "$CURRENT_URL" ] && CURRENT_URL="$(retrieve_meta homepage)"
echo "Resulting URL: $CURRENT_URL"
}
ensure_choice () {
echo "Ensuring that choice is made." >&2
echo "NEED_TO_CHOOSE_URL: [$NEED_TO_CHOOSE_URL]." >&2
echo "CURRENT_URL: $CURRENT_URL" >&2
[ -z "$URL_WAS_SET" ] && [ -z "$CURRENT_URL" ] && ensure_url
[ -n "$NEED_TO_CHOOSE_URL" ] && {
version_link '[.]tar[.]([^./])+$'
version_link "${DL_URL_RE:-[.]tar[.]([^./])+\$}"
unset NEED_TO_CHOOSE_URL
}
[ -z "$CURRENT_URL" ] && {
@ -153,8 +171,18 @@ attribute_name () {
echo "CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2
}
retrieve_meta () {
nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_ATTRIBUTE_NAME".meta."$1" | xargs
}
retrieve_version () {
PACKAGED_VERSION="$(nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_ATTRIBUTE_NAME".meta.version | xargs)"
PACKAGED_VERSION="$(retrieve_meta version)"
}
ensure_dl_url_re () {
echo "Ensuring DL_URL_RE. DL_URL_RE: $DL_URL_RE" >&2
[ -z "$DL_URL_RE" ] && dl_url_re "$(retrieve_meta downloadURLRegexp)"
echo "DL_URL_RE: $DL_URL_RE" >&2
}
directory_of () {
@ -256,10 +284,27 @@ process_config () {
CONFIG_DIR="$(directory_of "$1")"
CONFIG_NAME="$(basename "$1")"
BEGIN_EXPRESSION='# Generated upstream information';
source "$CONFIG_DIR/$CONFIG_NAME"
ensure_name
if [ -f "$CONFIG_DIR/$CONFIG_NAME" ] &&
[ "${CONFIG_NAME}" = "${CONFIG_NAME%.nix}" ]; then
source "$CONFIG_DIR/$CONFIG_NAME"
else
CONFIG_NAME="${CONFIG_NAME%.nix}"
ensure_attribute_name
[ -n "$(retrieve_meta updateWalker)" ] ||
[ -n "$FORCE_UPDATE_WALKER" ] || {
echo "Error: package not marked as safe for update-walker" >&2
echo "Set FORCE_UPDATE_WALKER=1 to override" >&2
exit 1;
}
[ -z "$(retrieve_meta fullRegenerate)" ] && eval "
do_overwrite(){
do_overwrite_just_version
}
"
fi
ensure_attribute_name
retrieve_version
ensure_dl_url_re
ensure_choice
ensure_version
ensure_target

View File

@ -10,16 +10,16 @@ let
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
version="1.002";
version = "1.002";
name="anonymousPro";
url="http://www.ms-studio.com/FontSales/AnonymousPro-${version}.zip";
hash="86665847a51cdfb58a1e1dfd8b1ba33f183485affe50b53e3304f63d3d3552ab";
sha256 = "1asj6lykvxh46czbal7ymy2k861zlcdqpz8x3s5bbpqwlm3mhrl6";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
sha256 = sourceInfo.sha256;
};
name = "${sourceInfo.name}-${sourceInfo.version}";
@ -40,11 +40,11 @@ rec {
];
platforms = with a.lib.platforms;
all;
};
passthru = {
updateInfo = {
downloadPage = "http://www.ms-studio.com/FontSales/anonymouspro.html";
};
license = with a.lib.licenses; ofl;
hydraPlatforms = [];
homepage = "http://www.marksimonson.com/fonts/view/anonymous-pro";
downloadPage = "http://www.ms-studio.com/FontSales/anonymouspro.html";
inherit (sourceInfo) version;
};
}) x

View File

@ -0,0 +1,6 @@
attribute_name anonymousPro
url http://www.ms-studio.com/FontSales/anonymouspro.html
version_link '/AnonymousPro-.*[.]zip$'
do_overwrite (){
do_overwrite_just_version
}

View File

@ -11,11 +11,8 @@ stdenv.mkDerivation rec {
patches = [
./alt.patch
( fetchurl { # CVE-2012-2738
url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/"
+ "vte/files/vte-0.28.2-limit-arguments.patch?revision=1.1";
sha256 = "1s8agx74wa7wlv9ybd5h3dp4hzf4ddg7piyan37g2ab3fnvg4jhn";
} )
# CVE-2012-2738
./vte-0.28.2-limit-arguments.patch
];
buildInputs = [ intltool pkgconfig glib gtk ncurses ] ++

View File

@ -0,0 +1,40 @@
From feeee4b5832b17641e505b7083e0d299fdae318e Mon Sep 17 00:00:00 2001
From: Christian Persch <chpe@gnome.org>
Date: Sat, 19 May 2012 17:36:09 +0000
Subject: emulation: Limit integer arguments to 65535
To guard against malicious sequences containing excessively big numbers,
limit all parsed numbers to 16 bit range. Doing this here in the parsing
routine is a catch-all guard; this doesn't preclude enforcing
more stringent limits in the handlers themselves.
https://bugzilla.gnome.org/show_bug.cgi?id=676090
---
diff --git a/src/table.c b/src/table.c
index 140e8c8..85cf631 100644
--- a/src/table.c
+++ b/src/table.c
@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
if (G_UNLIKELY (*array == NULL)) {
*array = g_value_array_new(1);
}
- g_value_set_long(&value, total);
+ g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
g_value_array_append(*array, &value);
} while (i++ < arginfo->length);
g_value_unset(&value);
diff --git a/src/vteseq.c b/src/vteseq.c
index 457c06a..46def5b 100644
--- a/src/vteseq.c
+++ b/src/vteseq.c
@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
GValueArray *params,
VteTerminalSequenceHandler handler)
{
- vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
+ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
}
static void
--
cgit v0.9.0.2

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart
gdk_pixbuf gnome3.gnome_icon_theme librsvg python3
gnome3.grilo libxml2 python3Packages.pygobject3 libnotify
python3Packages.pycairo python3Packages.dbus
python3Packages.pycairo python3Packages.dbus gnome3.totem-pl-parser
gst_all_1.gstreamer gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad
hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
let
libPath = stdenv.lib.makeLibraryPath
[ glib gtk3 libnotify tracker gnome3.grilo cairo
gst_all_1.gstreamer gst_all_1.gst-plugins-base
gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.totem-pl-parser
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
in
''

View File

@ -19,9 +19,7 @@ stdenv.mkDerivation rec {
};
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard
gnome3.gnome_icon_theme hicolor_icon_theme
gnome_online_accounts shared_mime_info
gnome3.gnome_icon_theme_symbolic ];
gnome_online_accounts shared_mime_info ];
propagatedBuildInputs = [ folks telepathy_logger evolution_data_server
telepathy_mission_control ];
buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool
@ -31,6 +29,7 @@ stdenv.mkDerivation rec {
gcr libsecret pulseaudio gnome3.yelp_xsl gdk_pixbuf
libnotify clutter libsoup gnutls libgee p11_kit
libcanberra_gtk3 telepathy_farstream farstream
gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic
gnome3.gsettings_desktop_schemas file libtool librsvg ];
NIX_CFLAGS_COMPILE = [ "-I${dbus_glib}/include/dbus-1.0"
@ -41,7 +40,7 @@ stdenv.mkDerivation rec {
for f in $out/bin/* $out/libexec/*; do
wrapProgram $f \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
done
rm $out/share/icons/hicolor/icon-theme.cache
'';

View File

@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional valaSupport "--enable-vala-bindings";
preFixup = ''
for f in "$out/libexec/evolution-addressbook-factory" "$out/libexec/evolution-calendar-factory"; do
wrapProgram $f --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
for f in "$out/libexec/"*; do
wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
done
'';

View File

@ -39,8 +39,16 @@ stdenv.mkDerivation rec {
wrapProgram "$out/libexec/gnome-shell-calendar-server" \
--prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
echo "${unzip}/bin" > $out/${passthru.mozillaPlugin}/extra-bin-path
'';
enableParallelBuilding = true;
passthru = {
mozillaPlugin = "/lib/mozilla/plugins";
};
meta = with stdenv.lib; {
platforms = platforms.linux;
};

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