ags-config/flake.nix

92 lines
1.9 KiB
Nix
Raw Normal View History

2025-04-20 22:22:28 +02:00
{
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";
# additional libraries and executables to add to gjs' runtime
extraPackages = [
# ags.packages.${system}.battery
# pkgs.fzf
];
};
};
devShells.${system} = {
default = pkgs.mkShell {
buildInputs = with pkgs; [
nodejs_23
gobject-introspection
json-glib
gjs
# includes astal3 astal4 astal-io by default
(ags.packages.${system}.default.override {
extraPackages = builtins.attrValues {
inherit
(astal.packages.${system})
hyprland
tray
network
battery
;
};
})
wrapGAppsHook
gobject-introspection
meson
pkg-config
ninja
vala
gtk3
gtk4
gtk-layer-shell
gtk4-layer-shell
json-glib
pam
gvfs
networkmanager
gdk-pixbuf
wireplumber
libdbusmenu-gtk3
wayland
blueprint-compiler
libadwaita
wayland-scanner
dart-sass
esbuild
gjs
];
};
};
};
}