From 49cabbd4cc5075ebd5cfa58866385fb1a6a7dab2 Mon Sep 17 00:00:00 2001 From: Soramane <61896496+soramanew@users.noreply.github.com> Date: Sun, 31 Aug 2025 10:43:49 +1000 Subject: nix: add debug package Also use clangStdenv to build Use RelWithDebInfo for release builds --- flake.nix | 2 ++ nix/default.nix | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 789a401..239c2e8 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,7 @@ packages = forAllSystems (pkgs: rec { caelestia-shell = pkgs.callPackage ./nix { rev = self.rev or self.dirtyRev; + stdenv = pkgs.clangStdenv; quickshell = inputs.quickshell.packages.${pkgs.system}.default.override { withX11 = false; withI3 = false; @@ -39,6 +40,7 @@ caelestia-cli = inputs.caelestia-cli.packages.${pkgs.system}.default; }; with-cli = caelestia-shell.override {withCli = true;}; + debug = caelestia-shell.override {debug = true;}; default = caelestia-shell; }); diff --git a/nix/default.nix b/nix/default.nix index 0c4b3b2..d0522a2 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -33,6 +33,7 @@ ninja, pkg-config, caelestia-cli, + debug ? false, withCli ? false, extraRuntimeDeps ? [], }: let @@ -72,7 +73,7 @@ ]; assets = stdenv.mkDerivation { - name = "caelestia-assets"; + name = "caelestia-assets${lib.optionalString debug "-debug"}"; src = lib.fileset.toSource { root = ./..; fileset = lib.fileset.union ./../CMakeLists.txt ./../assets/cpp; @@ -90,7 +91,7 @@ }; plugin = stdenv.mkDerivation { - name = "caelestia-qml-plugin"; + name = "caelestia-qml-plugin${lib.optionalString debug "-debug"}"; src = lib.fileset.toSource { root = ./..; fileset = lib.fileset.union ./../CMakeLists.txt ./../plugin; @@ -110,14 +111,17 @@ in stdenv.mkDerivation { inherit version; - pname = "caelestia-shell"; + pname = "caelestia-shell${lib.optionalString debug "-debug"}"; src = ./..; nativeBuildInputs = [cmake ninja makeWrapper qt6.wrapQtAppsHook]; buildInputs = [quickshell assets plugin xkeyboard-config qt6.qtbase]; propagatedBuildInputs = runtimeDeps; - cmakeBuildType = "Release"; + cmakeBuildType = + if debug + then "Debug" + else "RelWithDebInfo"; cmakeFlags = [ (lib.cmakeFeature "ENABLE_MODULES" "shell") @@ -125,6 +129,8 @@ in ] ++ cmakeVersionFlags; + dontStrip = debug; + prePatch = '' substituteInPlace assets/pam.d/fprint \ --replace-fail pam_fprintd.so /run/current-system/sw/lib/security/pam_fprintd.so -- cgit v1.2.3-freya