From e869249a7cd3b90847211c79e51983cbabf83ba5 Mon Sep 17 00:00:00 2001 From: Kyle Isom Date: Sun, 30 Nov 2025 22:02:23 -0800 Subject: [PATCH] thaaaaanks jeremy --- .gitignore | 2 ++ default-gui.nix | 53 ----------------------------------------------- default-nogui.nix | 42 ------------------------------------- default.nix | 21 +++++++++++++------ flake.nix | 18 +++++++++------- 5 files changed, 27 insertions(+), 109 deletions(-) delete mode 100644 default-gui.nix delete mode 100644 default-nogui.nix diff --git a/.gitignore b/.gitignore index b8e0b31..0222049 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ !.idea cmake-build* build +/imgui.ini +result diff --git a/default-gui.nix b/default-gui.nix deleted file mode 100644 index 4d93678..0000000 --- a/default-gui.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - lib, - stdenv, - cmake, - ncurses, - SDL2, - libGL, - xorg, - installShellFiles, - ... -}: -let - cmakeContent = builtins.readFile ./CMakeLists.txt; - cmakeLines = lib.splitString "\n" cmakeContent; - versionLine = lib.findFirst (l: builtins.match ".*set\\(KTE_VERSION \".+\"\\).*" l != null) (throw "KTE_VERSION not found in CMakeLists.txt") cmakeLines; - version = builtins.head (builtins.match ".*set\\(KTE_VERSION \"(.+)\"\\).*" versionLine); -in -stdenv.mkDerivation { - pname = "kte"; - inherit version; - - src = lib.cleanSource ./.; - - nativeBuildInputs = [ - cmake - ncurses - SDL2 - libGL - xorg.libX11 - installShellFiles - ]; - - cmakeFlags = [ - "-DBUILD_GUI=ON" - "-DCMAKE_BUILD_TYPE=Debug" - ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - cp kte $out/bin/ - cp kge $out/bin/ - - installManPage ../docs/kte.1 - installManPage ../docs/kge.1 - - mkdir -p $out/share/icons - cp ../kge.png $out/share/icons/ - - runHook postInstall - ''; -} diff --git a/default-nogui.nix b/default-nogui.nix deleted file mode 100644 index 94143e5..0000000 --- a/default-nogui.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - lib, - stdenv, - cmake, - ncurses, - installShellFiles, - ... -}: -let - cmakeContent = builtins.readFile ./CMakeLists.txt; - cmakeLines = lib.splitString "\n" cmakeContent; - versionLine = lib.findFirst (l: builtins.match ".*set\\(KTE_VERSION \".+\"\\).*" l != null) (throw "KTE_VERSION not found in CMakeLists.txt") cmakeLines; - version = builtins.head (builtins.match ".*set\\(KTE_VERSION \"(.+)\"\\).*" versionLine); -in -stdenv.mkDerivation { - pname = "kte"; - inherit version; - - src = lib.cleanSource ./.; - - nativeBuildInputs = [ - cmake - ncurses - installShellFiles - ]; - - cmakeFlags = [ - "-DBUILD_GUI=OFF" - "-DCMAKE_BUILD_TYPE=Debug" - ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - cp kte $out/bin/ - - installManPage ../docs/kte.1 - - runHook postInstall - ''; -} diff --git a/default.nix b/default.nix index 4d93678..f783ba3 100644 --- a/default.nix +++ b/default.nix @@ -7,12 +7,16 @@ libGL, xorg, installShellFiles, + + graphical ? true, ... }: let cmakeContent = builtins.readFile ./CMakeLists.txt; cmakeLines = lib.splitString "\n" cmakeContent; - versionLine = lib.findFirst (l: builtins.match ".*set\\(KTE_VERSION \".+\"\\).*" l != null) (throw "KTE_VERSION not found in CMakeLists.txt") cmakeLines; + versionLine = lib.findFirst ( + l: builtins.match ".*set\\(KTE_VERSION \".+\"\\).*" l != null + ) (throw "KTE_VERSION not found in CMakeLists.txt") cmakeLines; version = builtins.head (builtins.match ".*set\\(KTE_VERSION \"(.+)\"\\).*" versionLine); in stdenv.mkDerivation { @@ -24,14 +28,16 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake ncurses + installShellFiles + ] + ++ lib.optionals graphical [ SDL2 libGL xorg.libX11 - installShellFiles ]; cmakeFlags = [ - "-DBUILD_GUI=ON" + "-DBUILD_GUI=${if graphical then "ON" else "OFF"}" "-DCMAKE_BUILD_TYPE=Debug" ]; @@ -40,14 +46,17 @@ stdenv.mkDerivation { mkdir -p $out/bin cp kte $out/bin/ - cp kge $out/bin/ installManPage ../docs/kte.1 - installManPage ../docs/kge.1 + '' + + lib.optionalString graphical '' + cp kge $out/bin/ + installManPage ../docs/kge.1 mkdir -p $out/share/icons cp ../kge.png $out/share/icons/ - + '' + + '' runHook postInstall ''; } diff --git a/flake.nix b/flake.nix index 5f8be84..7ff2cc3 100644 --- a/flake.nix +++ b/flake.nix @@ -3,16 +3,18 @@ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - outputs = inputs @ { self, nixpkgs, ... }: + outputs = + inputs@{ self, nixpkgs, ... }: let eachSystem = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed; pkgsFor = system: import nixpkgs { inherit system; }; - in { - packages = eachSystem (system: { - default = (pkgsFor system).callPackage ./default-nogui.nix { }; - kge = (pkgsFor system).callPackage ./default-gui.nix { }; - kte = (pkgsFor system).callPackage ./default-nogui.nix { }; - full = (pkgsFor system).callPackage ./default.nix { }; + in + { + packages = eachSystem (system: rec { + default = kte; + full = kge; + kte = (pkgsFor system).callPackage ./default.nix { graphical = false; }; + kge = (pkgsFor system).callPackage ./default.nix { graphical = true; }; }); }; -} \ No newline at end of file +}