diff options
author | AndersonTorres <torres.anderson.85@protonmail.com> | 2020-10-27 22:38:58 -0300 |
---|---|---|
committer | AndersonTorres <torres.anderson.85@protonmail.com> | 2020-10-28 10:22:39 -0300 |
commit | 2bb3a9da24ca60d9f5bed69f679a1ec50dbdf997 (patch) | |
tree | 23f671aff1d1de5a1530a39004fc373e045a4504 /pkgs/applications/terminal-emulators/st | |
parent | c3feda093d342da8f12ac710f64ac341812bb455 (diff) |
A directory-category for terminal emulators
This is a mostly cosmetical commit, in the sense it doesn't change the contents
of any package, but reorganizes the overall Nixpkgs expressions.
Terminal emulators are an ubiquitous tool for any Unix user; even the beginners
are routinely familiarized to it. And, manifestly, there are many
implementations of terminal emulators out there, from those traditionally made
in C and C++ to those written in Haskell and Go.
Terminal emulators deserve more highlight. This commit does that by creating a
category for them.
Diffstat (limited to 'pkgs/applications/terminal-emulators/st')
-rw-r--r-- | pkgs/applications/terminal-emulators/st/default.nix | 38 | ||||
-rw-r--r-- | pkgs/applications/terminal-emulators/st/xst.nix | 32 |
2 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/applications/terminal-emulators/st/default.nix b/pkgs/applications/terminal-emulators/st/default.nix new file mode 100644 index 000000000000..a91229f2921e --- /dev/null +++ b/pkgs/applications/terminal-emulators/st/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses +, libXft, conf ? null, patches ? [], extraLibs ? []}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + pname = "st"; + version = "0.8.4"; + + src = fetchurl { + url = "https://dl.suckless.org/st/${pname}-${version}.tar.gz"; + sha256 = "19j66fhckihbg30ypngvqc9bcva47mp379ch5vinasjdxgn3qbfl"; + }; + + inherit patches; + + configFile = optionalString (conf!=null) (writeText "config.def.h" conf); + + postPatch = optionalString (conf!=null) "cp ${configFile} config.def.h" + + optionalString stdenv.isDarwin '' + substituteInPlace config.mk --replace "-lrt" "" + ''; + + nativeBuildInputs = [ pkgconfig ncurses ]; + buildInputs = [ libX11 libXft ] ++ extraLibs; + + installPhase = '' + TERMINFO=$out/share/terminfo make install PREFIX=$out + ''; + + meta = { + homepage = "https://st.suckless.org/"; + description = "Simple Terminal for X from Suckless.org Community"; + license = licenses.mit; + maintainers = with maintainers; [ andsild ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/terminal-emulators/st/xst.nix b/pkgs/applications/terminal-emulators/st/xst.nix new file mode 100644 index 000000000000..3e29abee5d65 --- /dev/null +++ b/pkgs/applications/terminal-emulators/st/xst.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, pkgconfig, libX11, ncurses, libXext, libXft, fontconfig }: + +with stdenv.lib; + +let + version = "0.7.2"; + name = "xst-${version}"; +in stdenv.mkDerivation { + inherit name; + + src = fetchFromGitHub { + owner = "gnotclub"; + repo = "xst"; + rev = "v${version}"; + sha256 = "1fplgy30gyrwkjsw3z947327r98i13zd1whwkplpj9fzckhb9vs9"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 ncurses libXext libXft fontconfig ]; + + installPhase = '' + TERMINFO=$out/share/terminfo make install PREFIX=$out + ''; + + meta = { + homepage = "https://github.com/neeasade/xst"; + description = "Simple terminal fork that can load config from Xresources"; + license = licenses.mit; + maintainers = [ maintainers.vyp ]; + platforms = platforms.linux; + }; +} |