]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - default.nix
Add diaspora services
[perso/Immae/Config/Nix.git] / default.nix
CommitLineData
dc101440 1with import ./libs.nix;
c7f50486 2with import <nixpkgs> {};
177da38b 3let
b7cb5556 4 mypkgs = {};
e8ac4a54
IB
5 postHook = ''
6 header() {
7 echo -ne "\033[1;36m"
8 echo -n "$1"
9 echo -e "\033[0m"
10 }
11
12 echoCmd() {
13 printf "\033[1;34m%s:\033[0m" "$1"
14 shift
15 printf ' %q' "$@"
16 echo
17 }
18 '';
19
90a37f5e 20 mypkgs.ledger = (ledger.override { boost = boost166; }).overrideAttrs (_old:
177da38b
IB
21 fetchedGithub ./fetched/ledger.json // {
22 postInstall = "";
23 }
24 );
25
90a37f5e 26 mypkgs.taskwarrior = taskwarrior.overrideAttrs (old: rec {
c7aeff7d 27 postInstall = ''${old.postInstall}
177da38b
IB
28 mkdir -p "$out/share/vim/vimfiles/ftdetect"
29 mkdir -p "$out/share/vim/vimfiles/syntax"
30 ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
31 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
32 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
33 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
34 '';
35 });
36
90a37f5e 37 mypkgs.vit = (vit.override { taskwarrior = mypkgs.taskwarrior; }).overrideAttrs (old:
177da38b 38 fetchedGithub ./fetched/vit.json // {
c7aeff7d 39 buildInputs = old.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
177da38b
IB
40 }
41 );
42
b7cb5556 43 mypkgs.weboob = pythonPackages.weboob.overrideAttrs (old: rec {
c7aeff7d 44 postInstall = ''${old.postInstall or ""}
ac6bfec2
IB
45 mkdir -p $out/share/bash-completion/completions/
46 cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
47 '';
48 });
49
90a37f5e 50 mypkgs.slrn = slrn.overrideAttrs (old: rec {
ac6bfec2
IB
51 version = "1.0.3a";
52 name = "slrn-${version}";
53 src = fetchurl {
54 url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
55 sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
56 };
c7aeff7d 57 configureFlags = old.configureFlags ++ [ "--with-slrnpull" ];
ac6bfec2
IB
58 });
59
90a37f5e 60 mypkgs.ldapvi = ldapvi.overrideAttrs (old: fetchedGit ./fetched/ldapvi.json);
6b53d116
IB
61
62 nixos = import ./nixos_tools.nix {};
63
90a37f5e 64 mypkgs.pass = (pass.withExtensions (exts: [ exts.pass-otp ])).overrideAttrs (old:
6b53d116 65 fetchedGit ./fetched/pass.json // {
c7aeff7d 66 patches = old.patches ++ [ ./patches/pass-fix-pass-init.patch ];
6b53d116
IB
67 }
68 );
29120e77 69
90a37f5e 70 mypkgs.profanity = (profanity.override {
3936ddc5
IB
71 notifySupport = true;
72 inherit libnotify gpgme gdk_pixbuf;
73 python = python3;
c7aeff7d
IB
74 }).overrideAttrs (old: rec {
75 configureFlags = old.configureFlags ++ [ "--enable-plugins" ];
3936ddc5
IB
76 });
77
c7f50486 78 mypkgs.weechat = nixpkgs_unstable.weechat.override {
3936ddc5
IB
79 configure = { availablePlugins, ... }: {
80 plugins = with availablePlugins; [
81 (python.withPackages (ps: with ps; [websocket_client emoji]))
82 perl
83 ];
84 };
85 };
86
b0d2cf8a 87 buildPerlPackage = perlPackages.buildPerlPackage;
b7cb5556 88 mypkgs.note = buildPerlPackage rec {
d0f80881
IB
89 name = "note-1.3.26";
90 src = fetchurl {
91 url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz";
92 sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq";
93 };
94 outputs = ["out" "man"];
c7f50486 95 propagatedBuildInputs = [ perlPackages.YAML ];
d0f80881
IB
96 meta = with stdenv.lib; {
97 description = "A perl script for maintaining notes";
98 homepage = http://www.daemon.de/NOTE;
99 license = licenses.gpl3;
100 maintainers = with maintainers; [ { name = "T.v.Dein"; email = "tlinden@cpan.org"; } ];
101 platforms = platforms.unix;
102 };
103 };
104
b7cb5556 105 mypkgs.terminal_velocity = with python2Packages; buildPythonApplication rec {
d0f80881
IB
106 pname = "terminal-velocity-git";
107 version = "0.2.0";
108
109 patches = [
110 # FIXME: update this patch when version changes
111 ./patches/terminal_velocity_fix_build.patch
112 ./patches/terminal_velocity_sort_found_notes.patch
113 ];
114
c7f50486 115 propagatedBuildInputs = [ chardet urwid nixpkgs_unstable.python2Packages.sh pyyaml ];
d0f80881
IB
116 buildInputs = [ m2r restructuredtext_lint pygments ];
117
118 src = fetchPypi {
119 inherit pname version;
120 sha256 = "13yrkcmvh5h5fwnai61sbmqkrjyisz08n62pq0ada2lyyqf7g6b9";
121 };
122 };
45cb532f 123
b7cb5556 124 mypkgs.mtop = buildPerlPackage rec {
45cb532f
IB
125 name = "mtop-${version}";
126 version = "0.6.6";
127 src = fetchurl {
128 url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz";
129 sha256 = "0x0x5300b1j9i0xxk8rsrki0pspyzj2vylhzv8qg3l6j26aw0zrf";
130 };
131 outputs = ["out"];
132 buildInputs = [ perlPackages.DBI perlPackages.DBDmysql perlPackages.Curses ];
133
134 postInstall = ''
135 cd "$out"
136 preConfigure || true
137 '';
138 meta = with stdenv.lib; {
139 description = "MySQL top (monitor and examine slow queries)";
140 homepage = http://mtop.sourceforge.net/;
141 license = licenses.gpl3;
142 maintainers = with maintainers; [ { name = "Marc Prewitt"; email = "mprewitt@chelsea.net"; } ];
143 platforms = platforms.unix;
144 };
145 };
146
b7cb5556 147 mypkgs.tiv = buildPerlPackage rec {
9f7e0ed0
IB
148 name = "tiv-${version}";
149 version = "2015";
150 src = fetchurl {
151 url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz";
152 sha256 = "1vq073v7z7vmcd57lhs4rf4jasji69cpjgkz4dykp94a77p1qq90";
153 };
154 outputs = ["out"];
155 buildInputs = [ perlPackages.PerlMagick ];
156 perlPreHookScript = ./hooks/tiv_builder.sh;
157 perlPreHook = ''
158 source ${perlPreHookScript}
159 '';
160 installPhase = ''
161 install -Dm755 tiv "$out/bin/tiv"
162 '';
163 };
164
b7cb5556 165 mypkgs.cnagios = stdenv.mkDerivation (fetchedGithub ./fetched/cnagios.json // rec {
364c87ba
IB
166 configureFlags = [
167 "--with-etc-dir=/etc/cnagios"
168 "--with-var-dir=/var/lib/naemon"
169 "--with-nagios-data=4"
170 ];
171
172 prePatch = ''
173 sed -i -e "s/-lcurses/-lncurses/" Makefile.in
174 '';
175 installPhase = ''
176 install -dm755 $out/share/doc/cnagios
177 install -Dm644 cnagiosrc $out/share/doc/cnagios/
178 install -Dm644 cnagios.help $out/share/doc/cnagios/
179 install -Dm644 cnagios.pl $out/share/doc/cnagios/
180 install -dm755 $out/bin
181 install -Dm755 cnagios $out/bin/
182 '';
183 propagatedBuildInputs = [ perl ncurses ];
184 });
185
b7cb5556 186 mypkgs.nagios-cli = python2Packages.buildPythonApplication (fetchedGithub ./fetched/nagios-cli.json);
a54bdff3 187
b7cb5556 188 mypkgs.pg_activity = with python2Packages; buildPythonApplication (fetchedGithub ./fetched/pg_activity.json // rec {
86f4a644
IB
189 propagatedBuildInputs = [ psycopg2 psutil ];
190 });
b693a794 191
b7cb5556 192 mypkgs.pgloader = stdenv.mkDerivation (fetchedGithub ./fetched/pgloader.json // rec {
b693a794
IB
193 buildInputs = [ sbcl cacert sqlite freetds libzip curl git openssl makeWrapper ];
194 LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ];
195 buildPhase = ''
196 export PATH=$PATH:$out/bin
197 export HOME=$TMPDIR
198 make pgloader
199 '';
200 dontStrip = true;
201 enableParallelBuilding = false;
202 installPhase = ''
203 install -Dm755 build/bin/pgloader "$out/bin/pgloader"
204 wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
205 '';
206 });
207
b7cb5556 208 mypkgs.pelican = python3Packages.pelican.overrideAttrs(old: fetchedGithub ./fetched/pelican.json // rec {
dab1955f
IB
209 propagatedBuildInputs = old.propagatedBuildInputs ++ [ python3Packages.pyyaml ];
210 });
211
107eeb7c
IB
212 mypkgs.elinks = elinks.overrideAttrs (old:
213 fetchedGithub ./fetched/elinks.json // rec {
214 preConfigure = ''sh autogen.sh'';
215 buildInputs = old.buildInputs ++ [ gettext automake autoconf ];
216 configureFlags = [
217 "--disable-smb" "--without-x" "--enable-cgi"
218 "--enable-leds" "--enable-256-colors"
219 "--enable-html-highlight" "--with-zlib"
220 ];
221 patches = [];
222 }
223 );
a98e2320
IB
224
225 mypkgs.neomutt = neomutt.overrideAttrs (old:
226 rec {
227 buildInputs = old.buildInputs ++ [ gdbm ];
228 configureFlags = old.configureFlags ++ [ "--gdbm" ];
229 }
230 );
231
232 # mypkgs.nagnu = stdenv.mkDerivation (fetchedGithub ./fetched/nagnu.json // rec {
233 # buildInputs = [ ncurses curl ];
234 # installPhase = ''
235 # mkdir -p $out/bin
236 # cp nagnu $out/bin
237 # mkdir -p $out/share/doc/nagnu
238 # cp nagnu.conf.sample $out/share/doc/nagnu
239 # mkdir -p $out/share/man/man8
240 # cp docs/nagnu.8 $out/share/man/man8
241 # '';
242 # });
3fe04d38 243
6f0d92b4
IB
244 mypkgs.goaccess = goaccess.overrideAttrs(old: rec {
245 name = "goaccess-${version}";
246 version = "1.3";
247 src = fetchurl {
248 url = "https://tar.goaccess.io/${name}.tar.gz";
249 sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc";
250 };
251 configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ];
252 buildInputs = old.buildInputs ++ [ tokyocabinet bzip2 ];
253 });
254
45cb532f
IB
255# https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
256# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
177da38b 257in
b7cb5556 258 mypkgs // {
ac6bfec2 259 inherit nix-prefetch-scripts;
9f7e0ed0 260 inherit nix-generate-from-cpan;
b7cb5556 261 inherit timewarrior;
ac6bfec2 262 inherit sc-im;
6b53d116 263 inherit pal;
6b53d116
IB
264 inherit pdftk;
265 inherit googler;
266 inherit jrnl;
267 inherit apg;
268 inherit newsboat;
269 inherit vcsh;
270 inherit xmr-stak;
271 inherit urlwatch;
3936ddc5 272 inherit ranger;
b7cb5556 273 inherit irssi;
9106eaf4
IB
274 inherit abook khard khal;
275 inherit graphicsmagick;
276 inherit youtube-dl;
892cb808
IB
277 inherit ncmpc;
278 inherit cadaver;
279 inherit mairix notmuch;
280 inherit ctags;
281 inherit s3cmd;
282 inherit solc; # solidity
283 inherit rtorrent;
284 inherit strace;
285 inherit vdirsyncer;
286 inherit w3m lynx links;
287 inherit gitRepo;
288 inherit valgrind;
dab1955f
IB
289 inherit iotop iperf;
290 inherit keybase;
291 inherit bogofilter;
a98e2320 292 inherit mtr;
c86e9776 293 inherit nixops;
7590e6bd 294 stgit = gitAndTools.stgit;
c7aeff7d
IB
295 # todo: lx* ?, unrar, unzip, zeromq?
296 #inherit nextcloud-client;
6b53d116 297 #inherit nixos;
c7f50486
IB
298 } // (with nixpkgs_unstable; {
299 inherit googler;
300 inherit khal;
301 inherit newsboat;
302 inherit xmr-stak;
303 inherit urlwatch;
304 inherit graphicsmagick;
305 inherit ncmpc;
306 inherit solc;
307 inherit w3m lynx links;
308 inherit valgrind;
309 inherit ranger;
310 inherit strace;
311 inherit notmuch;
312 stgit = gitAndTools.stgit;
a7f7fdae 313 inherit bundix;
c7f50486 314 })