st-flexipatch/flake.nix
2026-03-12 21:12:53 +01:00

63 lines
1.7 KiB
Nix

{
description = "st terminal";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let pkgs = nixpkgs.legacyPackages.${system};
in rec {
packages.st = pkgs.stdenv.mkDerivation {
pname = "st";
version = "ant";
src = ./.;
postPatch = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
substituteInPlace config.mk --replace "-lrt" ""
'';
strictDeps = true;
makeFlags = [ "PKG_CONFIG=${pkgs.stdenv.cc.targetPrefix}pkg-config" ];
nativeBuildInputs = with pkgs; [ pkg-config ncurses fontconfig freetype ];
buildInputs = with pkgs; [ libx11 libxft harfbuzz gd glib imlib2 ];
preInstall = ''
export TERMINFO=$out/share/terminfo
'';
installFlags = [ "PREFIX=$(out)" ];
passthru.tests.test = pkgs.nixosTests.terminal-emulators.st;
meta = with pkgs.lib; {
description = "st terminal";
license = licenses.mit;
maintainers = [ "ant" ];
platforms = platforms.unix;
};
};
apps.st = flake-utils.lib.mkApp {
drv = packages.st;
exePath = "/bin/st";
};
apps.default = apps.st;
packages.default = packages.st;
defaultApp = apps.st;
devShell = pkgs.mkShell {
inputsFrom = [ packages.st ];
hardeningDisable = [ "fortify" ];
packages = with pkgs; [
bear
clang-tools
gdb
];
};
});
}