summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..ae0c3c5
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,61 @@
+{
+ description = "My Awesome Desktop Shell";
+
+ inputs = {
+ nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
+
+ ags = {
+ url = "github:aylur/ags";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ };
+
+ outputs = {
+ self,
+ nixpkgs,
+ ags,
+ }: let
+ system = "x86_64-linux";
+ pkgs = nixpkgs.legacyPackages.${system};
+ in {
+ packages.${system} = {
+ default = ags.lib.bundle {
+ inherit pkgs;
+ src = ./.;
+ name = "my-shell";
+ entry = "app.ts";
+
+ # additional libraries and executables to add to gjs' runtime
+ extraPackages = [
+ ags.packages.${system}.battery
+ ags.packages.${system}.hyprland
+ ags.packages.${system}.mpris
+ ags.packages.${system}.wireplumber
+ ags.packages.${system}.network
+ ags.packages.${system}.tray
+ ];
+ };
+ };
+
+ devShells.${system} = {
+ default = pkgs.mkShell {
+ buildInputs = [
+ # includes all Astal libraries
+ # ags.packages.${system}.agsFull
+
+ # includes astal3 astal4 astal-io by default
+ (ags.packages.${system}.default.override {
+ extraPackages = [
+ ags.packages.${system}.battery
+ ags.packages.${system}.hyprland
+ ags.packages.${system}.mpris
+ ags.packages.${system}.wireplumber
+ ags.packages.${system}.network
+ ags.packages.${system}.tray
+ ];
+ })
+ ];
+ };
+ };
+ };
+}