]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - default.nix
Add statistics for aten website
[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
3fe04d38
IB
255 mastodon = stdenv.mkDerivation (fetchedGithub ./fetched/mastodon.json // rec {
256 buildPhase = ''
02bf0d91
IB
257 export GIT_SSL_CAINFO=${cacert}/etc/ssl/certs/ca-bundle.crt
258 export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
3fe04d38
IB
259
260 bundle install --deployment --without development test
261 yarn install --pure-lockfile
262 '';
263 installPhase = ''
264 cp -a . $out
265 '';
266 propagatedBuildInputs = [
267 zlib icu libchardet git bundler yarn
268 protobuf protobufc libidn libpqxx nodejs
269 imagemagick ffmpeg libxml2 libxslt pkgconfig
270 autoconf bison libyaml readline ncurses libffi gdbm
02bf0d91 271 jemalloc which postgresql python3 cacert
3fe04d38
IB
272 ];
273 });
45cb532f
IB
274# https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh
275# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks
177da38b 276in
b7cb5556 277 mypkgs // {
ac6bfec2 278 inherit nix-prefetch-scripts;
9f7e0ed0 279 inherit nix-generate-from-cpan;
b7cb5556 280 inherit timewarrior;
ac6bfec2 281 inherit sc-im;
6b53d116 282 inherit pal;
6b53d116
IB
283 inherit pdftk;
284 inherit googler;
285 inherit jrnl;
286 inherit apg;
287 inherit newsboat;
288 inherit vcsh;
289 inherit xmr-stak;
290 inherit urlwatch;
3936ddc5 291 inherit ranger;
b7cb5556 292 inherit irssi;
9106eaf4
IB
293 inherit abook khard khal;
294 inherit graphicsmagick;
295 inherit youtube-dl;
892cb808
IB
296 inherit ncmpc;
297 inherit cadaver;
298 inherit mairix notmuch;
299 inherit ctags;
300 inherit s3cmd;
301 inherit solc; # solidity
302 inherit rtorrent;
303 inherit strace;
304 inherit vdirsyncer;
305 inherit w3m lynx links;
306 inherit gitRepo;
307 inherit valgrind;
dab1955f
IB
308 inherit iotop iperf;
309 inherit keybase;
310 inherit bogofilter;
a98e2320 311 inherit mtr;
c86e9776 312 inherit nixops;
7590e6bd 313 stgit = gitAndTools.stgit;
3fe04d38 314 #inherit mastodon;
c7aeff7d
IB
315 # todo: lx* ?, unrar, unzip, zeromq?
316 #inherit nextcloud-client;
6b53d116 317 #inherit nixos;
c7f50486
IB
318 } // (with nixpkgs_unstable; {
319 inherit googler;
320 inherit khal;
321 inherit newsboat;
322 inherit xmr-stak;
323 inherit urlwatch;
324 inherit graphicsmagick;
325 inherit ncmpc;
326 inherit solc;
327 inherit w3m lynx links;
328 inherit valgrind;
329 inherit ranger;
330 inherit strace;
331 inherit notmuch;
332 stgit = gitAndTools.stgit;
333 })