about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/terminal-emulators/nimmm/default.nix
blob: bb09fa776b6215fbf04a32d94bd93d9c42084b0a (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{ lib, stdenv, fetchFromGitHub, nim, termbox, pcre }:

let
  noise = fetchFromGitHub {
    owner = "jangko";
    repo = "nim-noise";
    rev = "v0.1.14";
    sha256 = "0wndiphznfyb1pac6zysi3bqljwlfwj6ziarcwnpf00sw2zni449";
  };

  nimbox = fetchFromGitHub {
    owner = "dom96";
    repo = "nimbox";
    rev = "6a56e76c01481176f16ae29b7d7c526bd83f229b";
    sha256 = "15x1sdfxa1xcqnr68705jfnlv83lm0xnp2z9iz3pgc4bz5vwn4x1";
  };

  lscolors = fetchFromGitHub {
    owner = "joachimschmidt557";
    repo = "nim-lscolors";
    rev = "v0.3.3";
    sha256 = "0526hqh46lcfsvymb67ldsc8xbfn24vicn3b8wrqnh6mag8wynf4";
  };

in stdenv.mkDerivation rec {
  pname = "nimmm";
  version = "0.2.0";

  src = fetchFromGitHub {
    owner = "joachimschmidt557";
    repo = "nimmm";
    rev = "v${version}";
    sha256 = "168n61avphbxsxfq8qzcnlqx6wgvz5yrjvs14g25cg3k46hj4xqg";
  };

  nativeBuildInputs = [ nim ];
  buildInputs = [ termbox pcre ];

  buildPhase = ''
    export HOME=$TMPDIR;
    nim -p:${noise} -p:${nimbox} -p:${lscolors}/src c -d:release src/nimmm.nim
  '';

  installPhase = ''
    install -Dt $out/bin src/nimmm
  '';

  meta = with lib; {
    description = "Terminal file manager written in nim";
    homepage = "https://github.com/joachimschmidt557/nimmm";
    license = licenses.gpl3;
    platforms = platforms.unix;
    maintainers = [ maintainers.joachimschmidt557 ];
  };
}