{ description = "My Awesome Desktop Shell"; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; ags = { url = "github:aylur/ags"; inputs.nixpkgs.follows = "nixpkgs"; inputs.astal.follows = "astal"; }; astal = { url = "github:aylur/astal"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, ags, astal, }: 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"; }; }; devShells.${system} = { default = pkgs.mkShell { buildInputs = with pkgs; [ # includes astal3 astal4 astal-io by default (ags.packages.${system}.default.override { extraPackages = builtins.attrValues { inherit (astal.packages.${system}) io astal4 battery wireplumber network mpris powerprofiles tray bluetooth hyprland ; }; }) nodejs_23 meson ninja pkg-config gobject-introspection wrapGAppsHook4 blueprint-compiler dart-sass esbuild gjs ]; }; }; }; }