Simple Terminal (st) setup

Simple Terminal (st) is a minimal and performant terminal emulator written by the Suckless team.

I’m going to show you how you can have your own customized build of st.


(self: super: {
  st = (oldAttrs: {
    pname = "st-kl";
    version = "1.0.0";
    src = fetchTarball {
        url = "";
    buildInputs = oldAttrs.buildInputs ++ (with super; [ harfbuzz ]);

Put this into /etc/nixos/st-overlay.nix and edit it to your own needs.

Adding the Overlay

nixpkgs.overlays = [
  (import ./st-overlay.nix)

Add this somewhere at the top of your configuration.nix.


environment.systemPackages = with pkgs; [
... st

Add st to your systemPackages to be installed.


I haven’t seen many guides on setting up st so I decided to create my own. A lot of help was given by “Hm7”, his Discord tag is Hm7#0400.


Hopefully someone makes a wiki page too.