blob: 5820351accffc198232e130aa0490d3f913a803b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
pkgs:
with pkgs.lib;
let
allPackages = newPackages // misc;
everything = pkgs // allPackages // drvOverrides // argOverrides;
callPackage = callPackageWith everything;
mapOverride = overrideFun: includePackages: let
packages = pkgs // allPackages // includePackages;
overrideName = name: overrideFun (getAttr name packages);
in mapAttrs overrideName;
# input attrset overrides using pkg.override
argOverrides = mapOverride (getAttr "override") drvOverrides {
netrw.checksumType = "mhash";
pulseaudio.useSystemd = true;
w3m.graphicsSupport = true;
uqm.use3DOVideos = true;
uqm.useRemixPacks = true;
};
gajimGtkTheme = everything.writeText "gajim.gtkrc" ''
style "default" {
fg[NORMAL] = "#d5faff"
fg[ACTIVE] = "#fffeff"
fg[SELECTED] = "#fffeff"
fg[INSENSITIVE] = "#85aaaf"
fg[PRELIGHT] = "#d7f2ff"
text[NORMAL] = "#fffefe"
text[ACTIVE] = "#fffeff"
text[SELECTED] = "#fffeff"
text[INSENSITIVE] = "#85aaaf"
text[PRELIGHT] = "#d7f2ff"
bg[NORMAL] = "#0f4866"
bg[ACTIVE] = "#0c232e"
bg[SELECTED] = "#005a56"
bg[INSENSITIVE] = "#103040"
bg[PRELIGHT] = "#1d5875"
base[NORMAL] = "#0c232e"
base[ACTIVE] = "#0f4864"
base[SELECTED] = "#005a56"
base[INSENSITIVE] = "#103040"
base[PRELIGHT] = "#1d5875"
}
class "GtkWidget" style "default"
gtk-enable-animations = 0
'';
gajimPatch = everything.substituteAll {
src = ./gajim/config.patch;
nix_config = everything.writeText "gajim.config"
(import ../cfgfiles/gajim.nix);
};
# derivation overrides
drvOverrides = mapOverride overrideDerivation argOverrides {
gajim = o: {
patches = o.patches ++ singleton gajimPatch;
postPatch = o.postPatch + ''
sed -i -e '/^export/i export GTK2_RC_FILES="${gajimGtkTheme}"' \
scripts/gajim.in
'';
};
};
# new packages
newPackages = {
axbo = callPackage ./axbo { };
blop = callPackage ./blop { };
fish = callPackage ./fish { };
libCMT = callPackage ./libcmt { };
librxtx_java = callPackage ./librxtx-java { };
lockdev = callPackage ./lockdev { };
pvolctrl = callPackage ./pvolctrl { };
tkabber_urgent_plugin = callPackage ./tkabber-urgent-plugin { };
};
# misc
misc = {
kernelSourceAszlig = {
version = "3.14.0-rc1";
src = everything.fetchgit {
url = git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;
rev = "34a9bff4abd4db833c3c338d2f942eafe927ca92";
sha256 = "02dc0fn00crymwpjf2gdhjcbw5m1mvx8pys3wkxnhm9g49hpch6k";
};
};
testChromiumBuild = let
buildChannels = [ "stable" "beta" "dev" ];
buildChromium = chan: everything.chromium.override {
channel = chan;
gnomeSupport = true;
gnomeKeyringSupport = true;
proprietaryCodecs = true;
cupsSupport = true;
pulseSupport = true;
};
mkTest = chan: everything.writeScript "test-chromium-${chan}.sh" ''
#!${everything.stdenv.shell}
if datadir="$(${everything.coreutils}/bin/mktemp -d)"; then
${buildChromium chan}/bin/chromium --user-data-dir="$datadir"
rm -rf "$datadir"
fi
'';
in everything.stdenv.mkDerivation {
name = "test-chromium-build";
buildCommand = let
chanResults = flip map buildChannels (chan: ''
echo "Test script for ${chan}: ${mkTest chan}"
'');
in ''
echo "Builds finished, the following derivations have been built:"
${concatStrings chanResults}
false
'';
};
};
in allPackages // drvOverrides // argOverrides
|