diff options
-rw-r--r-- | modules/user/aszlig/profiles/workstation/default.nix | 4 | ||||
-rw-r--r-- | pkgs/aszlig/default.nix | 3 | ||||
-rw-r--r-- | pkgs/aszlig/xterm/default.nix | 5 | ||||
-rw-r--r-- | pkgs/aszlig/xterm/set-colorterm.patch | 13 |
4 files changed, 24 insertions, 1 deletions
diff --git a/modules/user/aszlig/profiles/workstation/default.nix b/modules/user/aszlig/profiles/workstation/default.nix index d8f18f9f..5e1976a8 100644 --- a/modules/user/aszlig/profiles/workstation/default.nix +++ b/modules/user/aszlig/profiles/workstation/default.nix @@ -188,6 +188,10 @@ in { }; }; + nixpkgs.overlays = lib.singleton (lib.const (super: { + xterm = super.vuizvui.aszlig.xterm; + })); + users.users.aszlig = { uid = 1000; isNormalUser = true; diff --git a/pkgs/aszlig/default.nix b/pkgs/aszlig/default.nix index 81178000..58f372a9 100644 --- a/pkgs/aszlig/default.nix +++ b/pkgs/aszlig/default.nix @@ -1,4 +1,4 @@ -{ callPackage, callPackage_i686, vim_configurable, gopass, mutt }: +{ callPackage, callPackage_i686, vim_configurable, gopass, mutt, xterm }: { aacolorize = callPackage ./aacolorize { }; @@ -13,4 +13,5 @@ psi = callPackage ./psi { }; pvolctrl = callPackage ./pvolctrl { }; vim = callPackage ./vim { vim = vim_configurable; }; + xterm = callPackage ./xterm { inherit xterm; }; } diff --git a/pkgs/aszlig/xterm/default.nix b/pkgs/aszlig/xterm/default.nix new file mode 100644 index 00000000..bbb2144d --- /dev/null +++ b/pkgs/aszlig/xterm/default.nix @@ -0,0 +1,5 @@ +{ xterm }: + +xterm.overrideAttrs (drv: { + patches = [ ./set-colorterm.patch ]; +}) diff --git a/pkgs/aszlig/xterm/set-colorterm.patch b/pkgs/aszlig/xterm/set-colorterm.patch new file mode 100644 index 00000000..2f6b97c5 --- /dev/null +++ b/pkgs/aszlig/xterm/set-colorterm.patch @@ -0,0 +1,13 @@ +diff --git a/main.c b/main.c +index ec3e9bb..88b0983 100644 +--- a/main.c ++++ b/main.c +@@ -4580,6 +4580,8 @@ spawnXTerm(XtermWidget xw, unsigned line_speed) + xtermSetenv("TERM", resource.term_name); + if (!resource.term_name) + *get_tcap_buffer(xw) = 0; ++ else if (!strcmp(resource.term_name, "xterm-direct")) ++ xtermSetenv("COLORTERM", "truecolor"); + + sprintf(buf, "%lu", + ((unsigned long) XtWindow(SHELL_OF(CURRENT_EMU())))); |