From dc3cec536896fa224e0ce340557aa02b8d98738f Mon Sep 17 00:00:00 2001 From: Aylur Date: Wed, 11 Sep 2024 14:48:53 +0000 Subject: add lua builder --- nix/lua.nix | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 nix/lua.nix (limited to 'nix/lua.nix') diff --git a/nix/lua.nix b/nix/lua.nix new file mode 100644 index 0000000..36ab4e5 --- /dev/null +++ b/nix/lua.nix @@ -0,0 +1,58 @@ +defaults: { + pkgs ? defaults.pkgs, + astal ? defaults.astal, + name ? "astal-lua", + src, + extraLuaPackages ? (ps: []), + extraPacakges ? [], +}: let + lua = pkgs.lua.withPackages (ps: + (extraLuaPackages ps) + ++ [ + ps.lgi + (ps.luaPackages.toLuaModule (pkgs.stdenv.mkDerivation { + name = "astal"; + version = "0.1.0"; + src = "${astal}/core/lua"; + dontBuild = true; + installPhase = '' + mkdir -p $out/share/lua/${ps.lua.luaversion}/astal + cp -r astal/* $out/share/lua/${ps.lua.luaversion}/astal + ''; + })) + ]); + + nativeBuildInputs = with pkgs; [ + wrapGAppsHook + gobject-introspection + ]; + + buildInputs = + extraPacakges + ++ [ + lua + astal.packages.${pkgs.system}.default + ]; + + script = pkgs.writeScript "astal-lua" '' + #!${lua}/bin/lua + package.path = package.path .. ";${src}/?.lua" + require "app" + ''; +in + pkgs.stdenv.mkDerivation { + inherit nativeBuildInputs buildInputs src name; + + installPhase = '' + mkdir -p $out/bin + cp -r * $out/bin + cp ${script} $out/bin/${name} + chmod +x $out/bin/${name} + ''; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : ${pkgs.lib.makeBinPath extraPacakges} + ) + ''; + } -- cgit v1.2.3 From 374d76f4152ea46987203f49642d7d46aff221ab Mon Sep 17 00:00:00 2001 From: Aylur Date: Wed, 11 Sep 2024 16:28:04 +0000 Subject: nix: move devshell into its own file --- nix/lua.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nix/lua.nix') diff --git a/nix/lua.nix b/nix/lua.nix index 36ab4e5..ed8ec0a 100644 --- a/nix/lua.nix +++ b/nix/lua.nix @@ -52,7 +52,7 @@ in preFixup = '' gappsWrapperArgs+=( - --prefix PATH : ${pkgs.lib.makeBinPath extraPacakges} + --prefix PATH : "${pkgs.lib.makeBinPath extraPacakges}" ) ''; } -- cgit v1.2.3 From e2b9013d38f64f6e0f53841f32f9e000b74e220f Mon Sep 17 00:00:00 2001 From: Aylur Date: Wed, 11 Sep 2024 21:48:26 +0000 Subject: nix: touchups --- nix/lua.nix | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) (limited to 'nix/lua.nix') diff --git a/nix/lua.nix b/nix/lua.nix index ed8ec0a..0449c34 100644 --- a/nix/lua.nix +++ b/nix/lua.nix @@ -4,7 +4,7 @@ defaults: { name ? "astal-lua", src, extraLuaPackages ? (ps: []), - extraPacakges ? [], + extraPackages ? [], }: let lua = pkgs.lua.withPackages (ps: (extraLuaPackages ps) @@ -22,37 +22,35 @@ defaults: { })) ]); - nativeBuildInputs = with pkgs; [ - wrapGAppsHook - gobject-introspection - ]; - - buildInputs = - extraPacakges - ++ [ - lua - astal.packages.${pkgs.system}.default - ]; - - script = pkgs.writeScript "astal-lua" '' + script = '' #!${lua}/bin/lua package.path = package.path .. ";${src}/?.lua" require "app" ''; in - pkgs.stdenv.mkDerivation { - inherit nativeBuildInputs buildInputs src name; + pkgs.stdenvNoCC.mkDerivation { + inherit src name; + + nativeBuildInputs = with pkgs; [ + wrapGAppsHook + gobject-introspection + ]; + + buildInputs = + extraPackages + ++ [ + lua + astal.packages.${pkgs.system}.default + ]; installPhase = '' mkdir -p $out/bin cp -r * $out/bin - cp ${script} $out/bin/${name} - chmod +x $out/bin/${name} + echo '${script}' > astal-lua + install -m 755 astal-lua $out/bin/${name} ''; - preFixup = '' - gappsWrapperArgs+=( - --prefix PATH : "${pkgs.lib.makeBinPath extraPacakges}" - ) - ''; + gappsWrapperArgs = [ + "--prefix PATH : ${pkgs.lib.makeBinPath extraPackages}" + ]; } -- cgit v1.2.3 From 8b75dadc76274692988eb317d3cc6ce1aaa44780 Mon Sep 17 00:00:00 2001 From: Aylur Date: Wed, 11 Sep 2024 22:27:12 +0000 Subject: docs: package lua on nix --- nix/lua.nix | 2 ++ 1 file changed, 2 insertions(+) (limited to 'nix/lua.nix') diff --git a/nix/lua.nix b/nix/lua.nix index 0449c34..a790021 100644 --- a/nix/lua.nix +++ b/nix/lua.nix @@ -44,10 +44,12 @@ in ]; installPhase = '' + runHook preInstall mkdir -p $out/bin cp -r * $out/bin echo '${script}' > astal-lua install -m 755 astal-lua $out/bin/${name} + runHook postInstall ''; gappsWrapperArgs = [ -- cgit v1.2.3