diff options
author | Freya Murphy <freya@freyacat.org> | 2025-06-27 22:06:00 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-06-27 22:06:00 -0400 |
commit | fde33e02a35e86d9e5b8f98126bdc7471a047fca (patch) | |
tree | b7bb829e5be5075640bfa8b5d9375cffc6da1b93 /pkgs | |
parent | astal systemd user service (diff) | |
download | dotfiles-nix-fde33e02a35e86d9e5b8f98126bdc7471a047fca.tar.gz dotfiles-nix-fde33e02a35e86d9e5b8f98126bdc7471a047fca.tar.bz2 dotfiles-nix-fde33e02a35e86d9e5b8f98126bdc7471a047fca.zip |
update commits
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/astal/builder.nix | 69 | ||||
-rw-r--r-- | pkgs/astal/default.nix | 3 |
2 files changed, 71 insertions, 1 deletions
diff --git a/pkgs/astal/builder.nix b/pkgs/astal/builder.nix new file mode 100644 index 0000000..a78d602 --- /dev/null +++ b/pkgs/astal/builder.nix @@ -0,0 +1,69 @@ +{ + pkgs, + astal, + name, + src, + extraLuaPackages ? (ps: []), + extraPackages ? [], +}: let + lua = pkgs.lua.withPackages (ps: + (extraLuaPackages ps) + ++ [ + ps.lgi + (ps.luaPackages.toLuaModule (pkgs.stdenvNoCC.mkDerivation { + name = "astal"; + src = "${astal}/lang/lua/astal"; + dontBuild = true; + installPhase = '' + mkdir -p $out/share/lua/${ps.lua.luaversion}/astal + cp -r * $out/share/lua/${ps.lua.luaversion}/astal + ''; + })) + (ps.luaPackages.toLuaModule (pkgs.stdenvNoCC.mkDerivation { + inherit src name; + dontBuild = true; + installPhase = '' + mkdir -p $out/share/lua/${ps.lua.luaversion} + cp -r * $out/share/lua/${ps.lua.luaversion} + ''; + })) + ]); + + script = '' + #!${lua}/bin/lua + require "init" + ''; +in + pkgs.stdenvNoCC.mkDerivation { + inherit src name; + + nativeBuildInputs = with pkgs; [ + wrapGAppsHook + gobject-introspection + ]; + + buildInputs = + extraPackages + ++ [ + lua + astal.packages.${pkgs.system}.io + astal.packages.${pkgs.system}.astal3 + ]; + + 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 + ''; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : "${pkgs.lib.makeBinPath extraPackages}" + ) + ''; + } diff --git a/pkgs/astal/default.nix b/pkgs/astal/default.nix index fb320ee..bc372f1 100644 --- a/pkgs/astal/default.nix +++ b/pkgs/astal/default.nix @@ -13,13 +13,14 @@ theme = import ./theme.nix {inherit options;}; mkAstal = file: - inputs.astal.lib.mkLuaPackage { + import ./builder.nix { pkgs = pkgs // { # use luajit lua = pkgs.luajit; }; + astal = inputs.astal; src = runCommand "src" {} '' mkdir -p $out cp -r ${./src}/{*.lua,widget} $out/ |