about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWael M. Nasreddine <wael.nasreddine@gmail.com>2018-11-27 20:20:53 -0800
committerWael M. Nasreddine <wael.nasreddine@gmail.com>2018-11-28 11:56:53 -0800
commit9ba423b09a24e5f9b63b65ede99a4d79c16cc920 (patch)
treefeeb1a641acce7c65d3186920e042ece5357530b
parentfe2f57aafce7de91acdf584d30f7727569f2c679 (diff)
downloadnixlib-9ba423b09a24e5f9b63b65ede99a4d79c16cc920.tar
nixlib-9ba423b09a24e5f9b63b65ede99a4d79c16cc920.tar.gz
nixlib-9ba423b09a24e5f9b63b65ede99a4d79c16cc920.tar.bz2
nixlib-9ba423b09a24e5f9b63b65ede99a4d79c16cc920.tar.lz
nixlib-9ba423b09a24e5f9b63b65ede99a4d79c16cc920.tar.xz
nixlib-9ba423b09a24e5f9b63b65ede99a4d79c16cc920.tar.zst
nixlib-9ba423b09a24e5f9b63b65ede99a4d79c16cc920.zip
aminal: init at 0.7.4
-rw-r--r--pkgs/applications/misc/aminal/default.nix75
-rw-r--r--pkgs/top-level/all-packages.nix5
2 files changed, 80 insertions, 0 deletions
diff --git a/pkgs/applications/misc/aminal/default.nix b/pkgs/applications/misc/aminal/default.nix
new file mode 100644
index 000000000000..ebf78be7a08b
--- /dev/null
+++ b/pkgs/applications/misc/aminal/default.nix
@@ -0,0 +1,75 @@
+{ buildGoPackage
+, Carbon
+, Cocoa
+, Kernel
+, cf-private
+, fetchFromGitHub
+, lib
+, mesa_glu
+, stdenv
+, xorg
+}:
+
+buildGoPackage rec {
+  name = "aminal-${version}";
+  version = "0.7.4";
+
+  goPackagePath = "github.com/liamg/aminal";
+
+  buildInputs =
+    lib.optionals stdenv.isLinux [
+      mesa_glu
+      xorg.libX11
+      xorg.libXcursor
+      xorg.libXi
+      xorg.libXinerama
+      xorg.libXrandr
+      xorg.libXxf86vm
+    ] ++ lib.optionals stdenv.isDarwin [
+      Carbon
+      Cocoa
+      Kernel
+      cf-private  /* Needed for NSDefaultRunLoopMode */
+    ];
+
+  src = fetchFromGitHub {
+    owner = "liamg";
+    repo = "aminal";
+    rev = "v${version}";
+    sha256 = "0wnzxjlv98pi3gy4hp3d19pwpa4kf1h5rqy03s9bcqdbpb1v1b7v";
+  };
+
+  preBuild = ''
+    buildFlagsArray=("-ldflags=-X ${goPackagePath}/version.Version=${version}")
+  '';
+
+  meta = with lib; {
+    description = "Golang terminal emulator from scratch";
+    longDescription = ''
+      Aminal is a modern terminal emulator for Mac/Linux implemented in Golang
+      and utilising OpenGL.
+
+      The project is experimental at the moment, so you probably won't want to
+      rely on Aminal as your main terminal for a while.
+
+      Features:
+      - Unicode support
+      - OpenGL rendering
+      - Customisation options
+      - True colour support
+      - Support for common ANSI escape sequences a la xterm
+      - Scrollback buffer
+      - Clipboard access
+      - Clickable URLs
+      - Multi platform support (Windows coming soon...)
+      - Sixel support
+      - Hints/overlays
+      - Built-in patched fonts for powerline
+      - Retina display support
+    '';
+    homepage = https://github.com/liamg/aminal;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ kalbasit ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 447dda793f42..2fd8431be487 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -19319,6 +19319,11 @@ with pkgs;
     vte = gnome3.vte;
   };
 
+  aminal = callPackage ../applications/misc/aminal {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa Kernel;
+    inherit (darwin) cf-private;
+  };
+
   termite-unwrapped = callPackage ../applications/misc/termite {
     vte = gnome3.vte-ng;
   };