aboutsummaryrefslogtreecommitdiff
path: root/default.nix
blob: 1b9b4b08d4211543d24b33a8d02dbe1b44cac32d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
with import <nixpkgs> {};
let
  nixpkgs = import <nixpkgs> {};
  fetchedGithub = path:
    let
      json = lib.importJSON path;
    in rec {
      version = json.tag;
      name = "${json.meta.name}-${version}";
      src = fetchFromGitHub json.github;
    };

  ledger = (nixpkgs.ledger.override { boost = boost166; }).overrideAttrs (oldAttrs:
    fetchedGithub ./fetched/ledger.json // {
      postInstall = "";
    }
  );

  taskwarrior = nixpkgs.taskwarrior.overrideAttrs (oldAttrs: rec {
    postInstall = ''${oldAttrs.postInstall}
      mkdir -p "$out/share/vim/vimfiles/ftdetect"
      mkdir -p "$out/share/vim/vimfiles/syntax"
      ln -s "../../../../share/doc/task/scripts/vim/ftdetect/task.vim" "$out/share/vim/vimfiles/ftdetect/"
      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskrc.vim" "$out/share/vim/vimfiles/syntax/"
      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskdata.vim" "$out/share/vim/vimfiles/syntax/"
      ln -s "../../../../share/doc/task/scripts/vim/syntax/taskedit.vim" "$out/share/vim/vimfiles/syntax/"
    '';
  });

  vit = (nixpkgs.vit.override { inherit taskwarrior; }).overrideAttrs (oldAttrs:
    fetchedGithub ./fetched/vit.json // {
      buildInputs = oldAttrs.buildInputs ++ [perlPackages.TryTiny perlPackages.TextCharWidth];
    }
  );

  #weechat = callPackage nixpkgs.weechat { guileSupport = false; luaSupport = false; rubySupport = false; tclSupport = false; };
in
  {
    inherit ledger;
    inherit taskwarrior vit;
  }