diff --git a/doc/languages-frameworks/astal.section.md b/doc/languages-frameworks/astal.section.md new file mode 100644 index 000000000000..34022b9c5850 --- /dev/null +++ b/doc/languages-frameworks/astal.section.md @@ -0,0 +1,39 @@ +# Astal {#astal} + +Astal is a collection of building blocks for creating custom desktop shells. + +## Bundling {#astal-bundling} + +Bundling Astal application is done using `ags` tool, you can use it like this: + +```nix +ags.bundle { + pname = "hyprpanel"; + version = "1.0.0"; + + src = fetchFromGitHub { ... }; + + # change your entry file (default is `app.ts`) + entry = "app.ts"; + + dependencies = [ + # list here astal modules, that your package depends on + # `astal3`, `astal4` and `astal.io` are automatically included + astal.apps + astal.battery + astal.bluetooth + + # you can also list here other runtime dependencies + hypridle + hyprpicker + hyprsunset + ]; + + # GTK 4 support is opt-in + enableGtk4 = true; + + meta = { ... }; +} +``` + +You can also pass all other arguments that are supported by `stdenv.mkDerivation`. diff --git a/doc/languages-frameworks/index.md b/doc/languages-frameworks/index.md index c3f192a1a38b..50c83ec939bc 100644 --- a/doc/languages-frameworks/index.md +++ b/doc/languages-frameworks/index.md @@ -53,6 +53,7 @@ Each supported language or software ecosystem has its own package set named `