summaryrefslogtreecommitdiff
path: root/docs/guide
diff options
context:
space:
mode:
authorAylur <[email protected]>2025-01-12 11:52:26 +0100
committerAylur <[email protected]>2025-01-12 11:52:31 +0100
commitbbe81f8264606ff68c522af750dad37047d8d235 (patch)
treebd679f972e2ac6a77eb2b406eef28a681198bd57 /docs/guide
parentef4f95608481414053ecdbe4de29bd86fb452813 (diff)
docs: update nix page
close #245
Diffstat (limited to 'docs/guide')
-rw-r--r--docs/guide/getting-started/nix.md34
1 files changed, 29 insertions, 5 deletions
diff --git a/docs/guide/getting-started/nix.md b/docs/guide/getting-started/nix.md
index 4ebc337..3ded888 100644
--- a/docs/guide/getting-started/nix.md
+++ b/docs/guide/getting-started/nix.md
@@ -9,16 +9,40 @@ Using Astal on Nix will require you to write a derivation for your project.
You can either copy and build off of these example flakes or you can
incorporate the derivations into your existing flake/configuration.
-## Q: "How do I install Astal on Nix?"
+## Installing libraries versus installing executables
-:::details See answer
-A: <span style="font-size: 1.2em; font-weight: bold;">You don't.</span>
-
-You can't install libraries globally on Nix as you would with regular
+In case you did not know already,
+you can't install libraries globally on Nix as you would with regular
package managers like `pacman`, `dnf` or `apt`. You have to write a
derivation for your projects like you would for any other program.
+If you try to install a library through `home.packages` or `environment.systemPackages`
+don't expect it to be picked up from runtimes.
+
+However, if you want to use the CLI tool that comes with some of the libraries
+you have to **also** install them through `home.packages` or `environment.systemPackages`
+alongside your derivations.
+
+### Astal CLI
+
+The core library also comes with a CLI tool that you can use to send
+requests to your app.
+
+:::code-group
+
+```nix [nixos]
+environment.systemPackages = [inputs.astal.packages.${system}.default];
+```
+
+```nix [home-manager]
+home.packages = [inputs.astal.packages.${system}.default];
+```
+
:::
+```sh [astal cli]
+astal --list # list running instances
+```
+
## TypeScript
Using [AGS](https://aylur.github.io/ags/) as the bundler.