From 0814fc7a5dc10f338c425d0b63d17d92b1191a97 Mon Sep 17 00:00:00 2001 From: ant Date: Thu, 12 Mar 2026 19:29:46 +0100 Subject: [PATCH] symplify nix flake --- default.nix | 56 ------------------------------------------------- flake.lock | 8 +++---- flake.nix | 60 ++++++++++++++++++++++++++++++++++++----------------- 3 files changed, 45 insertions(+), 79 deletions(-) delete mode 100644 default.nix diff --git a/default.nix b/default.nix deleted file mode 100644 index 0450b6c..0000000 --- a/default.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ lib -, stdenv -, pkg-config -, fontconfig -, freetype -, libX11 -, libXft -, harfbuzz -, gd -, glib -, ncurses -, writeText -, conf ? null -, patches ? [] -, extraLibs ? [] -, nixosTests -, imlib2 -}: - -stdenv.mkDerivation rec { - pname = "st"; - version = "0.8.5"; - - src = ./.; - inherit patches; - - configFile = - lib.optionalString (conf != null) (writeText "config.def.h" conf); - - postPatch = lib.optionalString (conf != null) "cp ${configFile} config.def.h" - + lib.optionalString stdenv.isDarwin '' - substituteInPlace config.mk --replace "-lrt" "" - ''; - - strictDeps = true; - - makeFlags = [ "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config" ]; - - nativeBuildInputs = [ pkg-config ncurses fontconfig freetype ]; - buildInputs = [ libX11 libXft harfbuzz gd glib imlib2 ] ++ extraLibs; - - preInstall = '' - export TERMINFO=$out/share/terminfo - ''; - - installFlags = [ "PREFIX=$(out)" ]; - - passthru.tests.test = nixosTests.terminal-emulators.st; - - meta = with lib; { - description = "st terminal"; - license = licenses.mit; - maintainers = with maintainers; [ sioodmy ]; - platforms = platforms.unix; - }; -} diff --git a/flake.lock b/flake.lock index 586a00c..71aa6c8 100644 --- a/flake.lock +++ b/flake.lock @@ -20,16 +20,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736549401, - "narHash": "sha256-ibkQrMHxF/7TqAYcQE+tOnIsSEzXmMegzyBWza6uHKM=", + "lastModified": 1773122722, + "narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1dab772dd4a68a7bba5d9460685547ff8e17d899", + "rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index a30e80d..03a79a6 100644 --- a/flake.nix +++ b/flake.nix @@ -1,39 +1,61 @@ { description = "st terminal"; - inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + 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 = flake-utils.lib.flattenTree { - st = pkgs.callPackage ./default.nix { }; + 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; + }; }; - defaultPackage = packages.st; + 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 rec { - name = "st"; + + devShell = pkgs.mkShell { + inputsFrom = [ packages.st ]; + hardeningDisable = [ "fortify" ]; packages = with pkgs; [ - pkg-config - xorg.libX11 - xorg.libXft - fontconfig - harfbuzz.dev - imlib2 - gd - glib - # ccls - # bear - # lldb - # gdb - # valgrind + bear + clang-tools + gdb ]; };