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