summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/terminal-emulators
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/terminal-emulators')
-rw-r--r--pkgs/applications/terminal-emulators/alacritty/default.nix143
-rw-r--r--pkgs/applications/terminal-emulators/aminal/default.nix69
-rw-r--r--pkgs/applications/terminal-emulators/cool-retro-term/default.nix46
-rw-r--r--pkgs/applications/terminal-emulators/eterm/default.nix26
-rw-r--r--pkgs/applications/terminal-emulators/evilvte/default.nix38
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix38
-rw-r--r--pkgs/applications/terminal-emulators/guake/default.nix74
-rw-r--r--pkgs/applications/terminal-emulators/havoc/default.nix35
-rw-r--r--pkgs/applications/terminal-emulators/hyper/default.nix41
-rw-r--r--pkgs/applications/terminal-emulators/iterm2/default.nix48
-rw-r--r--pkgs/applications/terminal-emulators/iterm2/disable_updates.patch11
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix143
-rw-r--r--pkgs/applications/terminal-emulators/kitty/fix-paths.patch16
-rw-r--r--pkgs/applications/terminal-emulators/lilyterm/default.nix58
-rw-r--r--pkgs/applications/terminal-emulators/lxterminal/default.nix50
-rw-r--r--pkgs/applications/terminal-emulators/lxterminal/respect-xml-catalog-files-var.patch15
-rw-r--r--pkgs/applications/terminal-emulators/microcom/default.nix29
-rw-r--r--pkgs/applications/terminal-emulators/mlterm/default.nix122
-rw-r--r--pkgs/applications/terminal-emulators/mrxvt/default.nix40
-rw-r--r--pkgs/applications/terminal-emulators/nimmm/default.nix55
-rw-r--r--pkgs/applications/terminal-emulators/roxterm/default.nix47
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/default.nix22
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix27
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix27
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix30
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix29
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix29
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix27
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix24
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix28
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix27
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/default.nix88
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/patches/256-color-resources.patch255
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/patches/9.06-font-width.patch21
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/patches/makefile-phony.patch10
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix58
-rw-r--r--pkgs/applications/terminal-emulators/rxvt/default.nix39
-rw-r--r--pkgs/applications/terminal-emulators/sakura/default.nix50
-rw-r--r--pkgs/applications/terminal-emulators/st/default.nix38
-rw-r--r--pkgs/applications/terminal-emulators/st/xst.nix32
-rw-r--r--pkgs/applications/terminal-emulators/stupidterm/default.nix36
-rw-r--r--pkgs/applications/terminal-emulators/terminator/default.nix77
-rw-r--r--pkgs/applications/terminal-emulators/terminus/default.nix43
-rw-r--r--pkgs/applications/terminal-emulators/termite/add_errno_header.patch24
-rw-r--r--pkgs/applications/terminal-emulators/termite/default.nix77
-rw-r--r--pkgs/applications/terminal-emulators/termite/remove_ldflags_macos.patch25
-rw-r--r--pkgs/applications/terminal-emulators/termite/url_regexp_trailing.patch27
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch61
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch56
-rw-r--r--pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch29
-rw-r--r--pkgs/applications/terminal-emulators/termite/wrapper.nix15
-rw-r--r--pkgs/applications/terminal-emulators/termonad/default.nix19
-rw-r--r--pkgs/applications/terminal-emulators/tilda/default.nix41
-rw-r--r--pkgs/applications/terminal-emulators/tilix/default.nix74
-rw-r--r--pkgs/applications/terminal-emulators/wayst/default.nix91
-rw-r--r--pkgs/applications/terminal-emulators/wayst/utf8proc.patch24
-rw-r--r--pkgs/applications/terminal-emulators/x3270/default.nix44
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix117
-rw-r--r--pkgs/applications/terminal-emulators/xterm/sixel-256.support.patch11
-rw-r--r--pkgs/applications/terminal-emulators/xtermcontrol/default.nix25
-rw-r--r--pkgs/applications/terminal-emulators/yaft/default.nix25
61 files changed, 2946 insertions, 0 deletions
diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix
new file mode 100644
index 000000000000..4e87c00434b7
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -0,0 +1,143 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, rustPlatform
+
+, cmake
+, gzip
+, installShellFiles
+, makeWrapper
+, ncurses
+, pkgconfig
+, python3
+
+, expat
+, fontconfig
+, freetype
+, libGL
+, libX11
+, libXcursor
+, libXi
+, libXrandr
+, libXxf86vm
+, libxcb
+, libxkbcommon
+, wayland
+, xdg_utils
+
+ # Darwin Frameworks
+, AppKit
+, CoreGraphics
+, CoreServices
+, CoreText
+, Foundation
+, OpenGL
+}:
+let
+ rpathLibs = [
+ expat
+ fontconfig
+ freetype
+ libGL
+ libX11
+ libXcursor
+ libXi
+ libXrandr
+ libXxf86vm
+ libxcb
+ ] ++ lib.optionals stdenv.isLinux [
+ libxkbcommon
+ wayland
+ ];
+in
+rustPlatform.buildRustPackage rec {
+ pname = "alacritty";
+ # 0.5.0 is not compatible with gnome 3.38
+ version = "0.6.0-rc1";
+
+ src = fetchFromGitHub {
+ owner = "alacritty";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "RuIJvB0J/BQFqemOkEUiqS1uz0gMS49Dd8UQt0nbrQ0=";
+ };
+
+ cargoSha256 = "+3iZywLvy+8C7j6g9bqij2DSLjBoE2u1GXgfV04cWRY=";
+
+ nativeBuildInputs = [
+ cmake
+ gzip
+ installShellFiles
+ makeWrapper
+ ncurses
+ pkgconfig
+ python3
+ ];
+
+ buildInputs = rpathLibs
+ ++ lib.optionals stdenv.isDarwin [
+ AppKit
+ CoreGraphics
+ CoreServices
+ CoreText
+ Foundation
+ OpenGL
+ ];
+
+ outputs = [ "out" "terminfo" ];
+
+ postPatch = ''
+ substituteInPlace alacritty/src/config/mouse.rs \
+ --replace xdg-open ${xdg_utils}/bin/xdg-open
+ '';
+
+ installPhase = ''
+ runHook preInstall
+
+ install -D $releaseDir/alacritty $out/bin/alacritty
+
+ '' + (
+ if stdenv.isDarwin then ''
+ mkdir $out/Applications
+ cp -r extra/osx/Alacritty.app $out/Applications
+ ln -s $out/bin $out/Applications/Alacritty.app/Contents/MacOS
+ '' else ''
+ install -D extra/linux/Alacritty.desktop -t $out/share/applications/
+ install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
+
+ # patchelf generates an ELF that binutils' "strip" doesn't like:
+ # strip: not enough room for program headers, try linking with -N
+ # As a workaround, strip manually before running patchelf.
+ strip -S $out/bin/alacritty
+
+ patchelf --set-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
+ ''
+ ) + ''
+
+ installShellCompletion --zsh extra/completions/_alacritty
+ installShellCompletion --bash extra/completions/alacritty.bash
+ installShellCompletion --fish extra/completions/alacritty.fish
+
+ install -dm 755 "$out/share/man/man1"
+ gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz"
+
+ install -Dm 644 alacritty.yml $out/share/doc/alacritty.yml
+
+ install -dm 755 "$terminfo/share/terminfo/a/"
+ tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info
+ mkdir -p $out/nix-support
+ echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+
+ runHook postInstall
+ '';
+
+ dontPatchELF = true;
+
+ meta = with lib; {
+ description = "A cross-platform, GPU-accelerated terminal emulator";
+ homepage = "https://github.com/alacritty/alacritty";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ Br1ght0ne mic92 cole-h ma27 ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/pkgs/applications/terminal-emulators/aminal/default.nix b/pkgs/applications/terminal-emulators/aminal/default.nix
new file mode 100644
index 000000000000..7f04a93d6a32
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/aminal/default.nix
@@ -0,0 +1,69 @@
+{ buildGoPackage
+, Carbon
+, Cocoa
+, Kernel
+, fetchFromGitHub
+, lib
+, mesa_glu
+, stdenv
+, xorg
+}:
+
+buildGoPackage rec {
+ pname = "aminal";
+ version = "0.9.0";
+
+ 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 ];
+
+ src = fetchFromGitHub {
+ owner = "liamg";
+ repo = "aminal";
+ rev = "v${version}";
+ sha256 = "0syv9md7blnl6i19zf8s1xjx5vfz6s755fxyg2ply0qc1pwhsj8n";
+ };
+
+ 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/applications/terminal-emulators/cool-retro-term/default.nix b/pkgs/applications/terminal-emulators/cool-retro-term/default.nix
new file mode 100644
index 000000000000..739ad07adbf3
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/cool-retro-term/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, mkDerivation, qtbase, qtquick1, qmltermwidget
+, qtquickcontrols, qtgraphicaleffects, qmake }:
+
+mkDerivation rec {
+ version = "1.1.1";
+ pname = "cool-retro-term";
+
+ src = fetchFromGitHub {
+ owner = "Swordfish90";
+ repo = "cool-retro-term";
+ rev = version;
+ sha256 = "0mird4k88ml6y61hky2jynrjmnxl849fvhsr5jfdlnv0i7r5vwi5";
+ };
+
+ patchPhase = ''
+ sed -i -e '/qmltermwidget/d' cool-retro-term.pro
+ '';
+
+ buildInputs = [ qtbase qtquick1 qmltermwidget qtquickcontrols qtgraphicaleffects ];
+ nativeBuildInputs = [ qmake ];
+
+ installFlags = [ "INSTALL_ROOT=$(out)" ];
+
+ preFixup = ''
+ mv $out/usr/share $out/share
+ mv $out/usr/bin $out/bin
+ rmdir $out/usr
+ '' + stdenv.lib.optionalString stdenv.isDarwin ''
+ ln -s $out/bin/cool-retro-term.app/Contents/MacOS/cool-retro-term $out/bin/cool-retro-term
+ '';
+
+ enableParallelBuilding = true;
+
+ meta = {
+ description = "Terminal emulator which mimics the old cathode display";
+ longDescription = ''
+ cool-retro-term is a terminal emulator which tries to mimic the look and
+ feel of the old cathode tube screens. It has been designed to be
+ eye-candy, customizable, and reasonably lightweight.
+ '';
+ homepage = "https://github.com/Swordfish90/cool-retro-term";
+ license = stdenv.lib.licenses.gpl3Plus;
+ platforms = with stdenv.lib.platforms; linux ++ darwin;
+ maintainers = with stdenv.lib.maintainers; [ skeidel ];
+ };
+}
diff --git a/pkgs/applications/terminal-emulators/eterm/default.nix b/pkgs/applications/terminal-emulators/eterm/default.nix
new file mode 100644
index 000000000000..b51acd9fa728
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/eterm/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl
+, libX11, libXext, libXaw
+, pkgconfig, imlib2, libast }:
+
+stdenv.mkDerivation rec {
+ pname = "eterm";
+ version = "0.9.6";
+ srcName = "Eterm-${version}";
+
+ src = fetchurl {
+ url = "http://www.eterm.org/download/${srcName}.tar.gz";
+ sha256 = "0g71szjklkiczxwzbjjfm59y6v9w4hp8mg7cy99z1g7qcjm0gfbj";
+ };
+
+ nativeBuildInputs = [ pkgconfig ];
+ buildInputs = [ libX11 libXext libXaw imlib2 ];
+ propagatedBuildInputs = [ libast ];
+
+ meta = with stdenv.lib; {
+ description = "Terminal emulator";
+ homepage = "http://www.eterm.org";
+ license = licenses.bsd2;
+ maintainers = [ maintainers.AndersonTorres ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/applications/terminal-emulators/evilvte/default.nix b/pkgs/applications/terminal-emulators/evilvte/default.nix
new file mode 100644
index 000000000000..7a5284a527a6
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/evilvte/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit, makeWrapper, pkgconfig,
+ gnome2, glib, pango, cairo, gdk-pixbuf, atk, freetype, xorg,
+ configH ? ""
+}:
+
+stdenv.mkDerivation {
+ pname = "evilvte";
+ version = "0.5.2-20140827";
+
+ src = fetchgit {
+ url = "https://github.com/caleb-/evilvte.git";
+ rev = "8dfa41e26bc640dd8d8c7317ff7d04e3c01ded8a";
+ sha256 = "70f1d4234d077121e2223a735d749d1b53f0b84393507b635b8a37c3716e94d3";
+ };
+
+ buildInputs = [
+ gnome2.vte glib pango gnome2.gtk cairo gdk-pixbuf atk freetype xorg.libX11
+ xorg.xorgproto xorg.libXext makeWrapper pkgconfig
+ ];
+
+ buildPhase = ''
+ cat >src/config.h <<EOF
+ ${configH}
+ EOF
+ make
+ '';
+
+ meta = with stdenv.lib; {
+ description = "VTE based, highly customizable terminal emulator";
+ homepage = "http://www.calno.com/evilvte";
+ license = licenses.gpl2;
+ maintainers = [ maintainers.bodil ];
+ platforms = platforms.linux;
+ knownVulnerabilities = [
+ "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854585"
+ ];
+ };
+}
diff --git a/pkgs/applications/terminal-emulators/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
new file mode 100644
index 000000000000..3d95f7c5772d
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit
+, fcft, freetype, pixman, libxkbcommon, fontconfig, wayland
+, meson, ninja, ncurses, scdoc, tllist, wayland-protocols, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+ pname = "foot";
+ version = "1.5.1";
+
+ src = fetchgit {
+ url = "https://codeberg.org/dnkl/foot.git";
+ rev = version;
+ sha256 = "sha256-GAk2qkrgCNILJOeRcn1NT4t3w+R6WFTZ1goOhBEwKwc=";
+ };
+
+ nativeBuildInputs = [
+ meson ninja ncurses scdoc tllist wayland-protocols pkg-config
+ ];
+ buildInputs = [
+ fontconfig freetype pixman wayland libxkbcommon fcft
+ ];
+
+ # recommended build flags for foot as per INSTALL.md
+ # https://codeberg.org/dnkl/foot/src/branch/master/INSTALL.md#user-content-release-build
+ preConfigure = ''
+ export CFLAGS+="-O3 -fno-plt"
+ '';
+
+ mesonFlags = [ "--buildtype=release" "-Db_lto=true" ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://codeberg.org/dnkl/foot/";
+ description = "A fast, lightweight and minimalistic Wayland terminal emulator";
+ license = licenses.mit;
+ maintainers = [ maintainers.sternenseemann ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/applications/terminal-emulators/guake/default.nix b/pkgs/applications/terminal-emulators/guake/default.nix
new file mode 100644
index 000000000000..d403ddc8b26c
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/guake/default.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, fetchFromGitHub
+, python3
+, gettext
+, gobject-introspection
+, wrapGAppsHook
+, gtk3
+, keybinder3
+, libnotify
+, libutempter
+, vte
+, libwnck3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+ pname = "guake";
+ version = "3.6.3";
+
+ format = "other";
+
+ src = fetchFromGitHub {
+ owner = "Guake";
+ repo = "guake";
+ rev = version;
+ sha256 = "13ipnmqcyixpa6qv83m0f91za4kar14s5jpib68b32z65x1h0j3b";
+ };
+
+ # Strict deps breaks guake
+ # See https://github.com/NixOS/nixpkgs/issues/59930
+ # and https://github.com/NixOS/nixpkgs/issues/56943
+ strictDeps = false;
+
+ nativeBuildInputs = [
+ gettext
+ gobject-introspection
+ wrapGAppsHook
+ python3.pkgs.pip
+ ];
+
+