From cf25f85750f8dc32628512e38c7418128679fa02 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Mon, 31 May 2021 15:41:08 +0200 Subject: machines/sternenseemann/wolfgang: install saneterm --- machines/sternenseemann/desktop-sway.nix | 5 +++ modules/module-list.nix | 1 + modules/user/sternenseemann/programs/saneterm.nix | 35 ++++++++++++++++++ pkgs/sternenseemann/default.nix | 2 ++ pkgs/sternenseemann/saneterm/default.nix | 44 +++++++++++++++++++++++ 5 files changed, 87 insertions(+) create mode 100644 modules/user/sternenseemann/programs/saneterm.nix create mode 100644 pkgs/sternenseemann/saneterm/default.nix diff --git a/machines/sternenseemann/desktop-sway.nix b/machines/sternenseemann/desktop-sway.nix index 2494210f..107cfea5 100644 --- a/machines/sternenseemann/desktop-sway.nix +++ b/machines/sternenseemann/desktop-sway.nix @@ -18,6 +18,8 @@ let // (getBins pkgs.mako [ "makoctl" ]) // (getBins screenshot [ "screenshot" ]) // (getBins pkgs.foot [ "foot" ]) + // (getBins pkgs.bash [ "sh" ]) + // (getBins config.vuizvui.user.sternenseemann.programs.saneterm.package [ "saneterm" ]) ; screenshot = pkgs.writers.writeDashBin "screenshot" '' @@ -46,6 +48,7 @@ in "$mod+g" = "${bins.tep} copy -l 25 -p 'tep>' -i"; "$mod+c" = "${bins.makoctl} dismiss -a"; "$mod+x" = bins.screenshot; + "$mod+Shift+Return" = "${bins.saneterm} ${bins.sh}"; }; term = bins.foot; menu = "${bins.bemenu-run} -l 10 -i"; @@ -96,6 +99,8 @@ in }; }; + vuizvui.user.sternenseemann.programs.saneterm.enable = true; + # notifications services.dbus.packages = [ pkgs.mako ]; diff --git a/modules/module-list.nix b/modules/module-list.nix index 517b9e87..5da9de76 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -43,4 +43,5 @@ ./user/profpatsch/services/dunst.nix ./user/sternenseemann/documentation/mandoc.nix ./user/sternenseemann/services/sway.nix + ./user/sternenseemann/programs/saneterm.nix ] diff --git a/modules/user/sternenseemann/programs/saneterm.nix b/modules/user/sternenseemann/programs/saneterm.nix new file mode 100644 index 00000000..425c07bd --- /dev/null +++ b/modules/user/sternenseemann/programs/saneterm.nix @@ -0,0 +1,35 @@ +{ pkgs, lib, config, ... }: + +let + cfg = config.vuizvui.user.sternenseemann.programs.saneterm; +in + +{ + options = { + vuizvui.user.sternenseemann.programs.saneterm = { + enable = lib.mkEnableOption "saneterm"; + package = lib.mkOption { + type = lib.types.package; + description = '' + saneterm derivation to use. + ''; + default = pkgs.vuizvui.sternenseemann.saneterm; + defaultText = lib.literalExample "pkgs.vuizvui.sternenseemann.saneterm"; + }; + }; + }; + + config = lib.mkIf cfg.enable { + environment = { + etc."profile".text = '' + if [ "$TERM" = "dumb" ]; then + export PAGER=cat + export GIT_PAGER=cat + fi + ''; + systemPackages = [ + cfg.package + ]; + }; + }; +} diff --git a/pkgs/sternenseemann/default.nix b/pkgs/sternenseemann/default.nix index 2b4e4888..1f3ffef2 100644 --- a/pkgs/sternenseemann/default.nix +++ b/pkgs/sternenseemann/default.nix @@ -135,6 +135,8 @@ lib.fix (self: { }; # packaged 3rd party software + saneterm = pkgs.python3.pkgs.callPackage ./saneterm { }; + shakti = callPackage ./shakti { }; t = python3Packages.callPackage ./t { }; diff --git a/pkgs/sternenseemann/saneterm/default.nix b/pkgs/sternenseemann/saneterm/default.nix new file mode 100644 index 00000000..db0c9963 --- /dev/null +++ b/pkgs/sternenseemann/saneterm/default.nix @@ -0,0 +1,44 @@ +{ buildPythonApplication +, lib +, fetchgit +, makeWrapper +, pygobject3 +, gtk3 +, gobject-introspection +}: + +buildPythonApplication { + pname = "saneterm"; + version = "git"; + + src = fetchgit { + url = "git://git.8pit.net/saneterm.git"; + rev = "d96c2422b67e8c92a41e1f87813ebc1a839d5d69"; + sha256 = "1546mds8c3yw418pqbnsjxv00lrspfdf74pwi31yqhmphbpzl6pf"; + }; + + nativeBuildInputs = [ + makeWrapper + ]; + + propagatedBuildInputs = [ + pygobject3 + ]; + + buildInputs = [ + gtk3 + gobject-introspection + ]; + + postInstall = '' + wrapProgram "$out/bin/saneterm" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${lib.getLib gtk3}/lib" + ''; + + meta = { + description = "Modern line-oriented terminal emulator without support for TUIs"; + homepage = "https://git.8pit.net/saneterm/"; + license = lib.licenses.gpl3Only; + }; +} -- cgit 1.4.1