]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - default.nix
multiple improvements
[perso/Immae/Config/Nix.git] / default.nix
1 with import <nixpkgs> {};
2 let
3 nixpkgs = import <nixpkgs> {};
4 fetchedGithub = path:
5 let
6 json = lib.importJSON path;
7 in rec {
8 version = json.tag;
9 name = "${json.meta.name}-${version}";
10 src = fetchFromGitHub json.github;
11 };
12
13 fetchedGit = path:
14 let
15 json = lib.importJSON path;
16 in rec {
17 version = json.tag;
18 name = "${json.meta.name}-${version}";
19 src = fetchgit json.git;
20 };
21
22 ledger = (nixpkgs.ledger.override { boost = boost166; }).overrideAttrs (oldAttrs:
23 fetchedGithub ./fetched/ledger.json // {
24 postInstall = "";
25 }
26 );
27
28 taskwarrior = nixpkgs.taskwarrior.overrideAttrs (oldAttrs: rec {
29 postInstall = ''${oldAttrs.postInstall}
30 mkdir -p "$out/share/vim/vimfiles/ftdetect"
31 mkdir -p "$out/share/vim/vimfiles/syntax"
32 ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
33 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
34 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
35 ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
36 '';
37 });
38
39 vit = (nixpkgs.vit.override { inherit taskwarrior; }).overrideAttrs (oldAttrs:
40 fetchedGithub ./fetched/vit.json // {
41 buildInputs = oldAttrs.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
42 }
43 );
44
45 weboob = pythonPackages.weboob.overrideAttrs (oldAttrs: rec {
46 postInstall = ''${oldAttrs.postInstall or ""}
47 mkdir -p $out/share/bash-completion/completions/
48 cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob
49 '';
50 });
51
52 slrn = nixpkgs.slrn.overrideAttrs (oldAttrs: rec {
53 version = "1.0.3a";
54 name = "slrn-${version}";
55 src = fetchurl {
56 url = "http://www.jedsoft.org/releases/slrn/slrn-${version}.tar.bz2";
57 sha256 = "1b1d9iikr60w0vq86y9a0l4gjl0jxhdznlrdp3r405i097as9a1v";
58 };
59 configureFlags = oldAttrs.configureFlags ++ [ "--with-slrnpull" ];
60 });
61
62 ldapvi = nixpkgs.ldapvi.overrideAttrs (oldAttrs: fetchedGit ./fetched/ldapvi.json);
63
64 nixos = import ./nixos_tools.nix {};
65
66 pass = nixpkgs.pass.overrideAttrs (oldAttrs:
67 fetchedGit ./fetched/pass.json // {
68 patches = oldAttrs.patches ++ [ ./patches/pass-fix-pass-init.patch ];
69 }
70 );
71
72 #weechat = callPackage nixpkgs.weechat { guileSupport = false; luaSupport = false; rubySupport = false; tclSupport = false; };
73 in
74 {
75 inherit nix-prefetch-scripts;
76 inherit ledger;
77 inherit taskwarrior vit timewarrior;
78 inherit weboob;
79 inherit slrn;
80 inherit sc-im;
81 inherit ldapvi;
82 inherit pal;
83 inherit duplicity duply;
84 inherit pdftk;
85 inherit googler;
86 inherit jrnl;
87 inherit apg;
88 inherit newsboat;
89 inherit vcsh;
90 inherit xmr-stak;
91 inherit urlwatch;
92 inherit pass;
93 #inherit nixos;
94 }