St

From NixOS Wiki
Revision as of 02:07, 4 November 2020 by imported>Mwilsoncoding (Installing and applying patches to st)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Installing

 environment.systemPackages = [
   st
 ];

Official Patches

Can be applied by first downloading them from `st.suckless.org/patches` like so:

 curl https://st.suckless.org/patches/rightclickpaste/st-rightclickpaste-0.8.2.diff >rightclicktopaste.diff

And then including them in an attribute override in your systemPackages declaration:

 environment.systemPackages = [
   (st.overrideAttrs (oldAttrs: rec {
     patches = [
       ./rightclicktopaste.diff
     ];
   }))
 ];

Unofficial Patches

Hosted on GitHub can be applied in a similar fashion using:

 environment.systemPackages = [
   (st.overrideAttrs (oldAttrs: rec {
     patches = [
       "${fetchFromGitHub { owner = "foo"; repo = "bar"; rev = "0.0.1"; sha256 = "111111111111111111111111111111111111111111111111111"; }}/some-custom-patch.diff"
     ];
   }))
 ];

Patch Dependencies

Can be included with the `buildInputs` line like in the following ligature patch example:

 curl https://st.suckless.org/patches/ligatures/0.8.3/st-ligatures-20200430-0.8.3.diff >ligatures.diff


 environment.systemPackages = [
   (st.overrideAttrs (oldAttrs: rec {
     buildInputs = oldAttrs.buildInputs ++ [ pkgs.harfbuzz ];
     patches = [
       ./ligatures.diff
     ];
   }))
 ];