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