Upgraded the Nix install to work with Astal (#587)
* Upgraded the Nix install to work with Astal * Removed pkgs.esbuild Co-authored-by: orangc <orangc@proton.me> * Removed pkgs.bun Co-authored-by: orangc <orangc@proton.me> * Added new dependencies to flake.nix Co-authored-by: orangc <orangc@proton.me> * Update tsconfig.json --------- Co-authored-by: orangc <orangc@proton.me> Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>
This commit is contained in:
122
flake.nix
122
flake.nix
@@ -1,78 +1,76 @@
|
||||
{
|
||||
description = "A Bar/Panel for Hyprland with extensive customizability.";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
ags.url = "github:Aylur/ags";
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
ags.url = "github:aylur/ags";
|
||||
astal.url = "github:aylur/astal";
|
||||
};
|
||||
|
||||
outputs = inputs: let
|
||||
outputs = { self, nixpkgs, ags, astal }: let
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
"aarch64-linux"
|
||||
];
|
||||
forEachSystem = inputs.nixpkgs.lib.genAttrs systems;
|
||||
pkgsFor = forEachSystem (
|
||||
system:
|
||||
import inputs.nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
}
|
||||
);
|
||||
|
||||
devShellFor = system:
|
||||
inputs.nixpkgs.lib.genAttrs ["default"] (
|
||||
_:
|
||||
inputs.nixpkgs.legacyPackages.${system}.mkShell {
|
||||
buildInputs = [
|
||||
pkgsFor.${system}.esbuild
|
||||
pkgsFor.${system}.fish
|
||||
pkgsFor.${system}.typescript
|
||||
pkgsFor.${system}.bun
|
||||
pkgsFor.${system}.libnotify
|
||||
pkgsFor.${system}.dart-sass
|
||||
pkgsFor.${system}.fd
|
||||
pkgsFor.${system}.btop
|
||||
pkgsFor.${system}.bluez
|
||||
pkgsFor.${system}.libgtop
|
||||
pkgsFor.${system}.gobject-introspection
|
||||
pkgsFor.${system}.glib
|
||||
pkgsFor.${system}.bluez-tools
|
||||
pkgsFor.${system}.grimblast
|
||||
pkgsFor.${system}.gpu-screen-recorder
|
||||
pkgsFor.${system}.brightnessctl
|
||||
pkgsFor.${system}.gnome-bluetooth
|
||||
pkgsFor.${system}.python3
|
||||
pkgsFor.${system}.matugen
|
||||
inputs.ags.packages.${system}.agsWithTypes
|
||||
];
|
||||
nativeBuildInputs = with pkgsFor.${system}; [
|
||||
nixfmt-rfc-style
|
||||
nil
|
||||
];
|
||||
shellHook = ''
|
||||
export GDK_BACKEND=wayland
|
||||
export GI_TYPELIB_PATH=${pkgsFor.${system}.libgtop}/lib/girepository-1.0:${pkgsFor.${system}.glib}/lib/girepository-1.0:$GI_TYPELIB_PATH
|
||||
'';
|
||||
}
|
||||
);
|
||||
forEachSystem = nixpkgs.lib.genAttrs systems;
|
||||
in {
|
||||
devShells = forEachSystem devShellFor;
|
||||
packages = forEachSystem (system: let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in {
|
||||
default = ags.lib.bundle {
|
||||
inherit pkgs;
|
||||
src = ./.;
|
||||
name = "hyprpanel"; # name of executable
|
||||
entry = "app.ts";
|
||||
|
||||
# additional libraries and executables to add to gjs' runtime
|
||||
extraPackages = [
|
||||
ags.packages.${system}.agsFull
|
||||
astal.packages.${system}.tray
|
||||
astal.packages.${system}.hyprland
|
||||
astal.packages.${system}.io
|
||||
astal.packages.${system}.apps
|
||||
astal.packages.${system}.battery
|
||||
astal.packages.${system}.bluetooth
|
||||
astal.packages.${system}.mpris
|
||||
astal.packages.${system}.network
|
||||
astal.packages.${system}.notifd
|
||||
astal.packages.${system}.powerprofiles
|
||||
astal.packages.${system}.wireplumber
|
||||
pkgs.fish
|
||||
pkgs.typescript
|
||||
pkgs.libnotify
|
||||
pkgs.dart-sass
|
||||
pkgs.fd
|
||||
pkgs.btop
|
||||
pkgs.bluez
|
||||
pkgs.libgtop
|
||||
pkgs.gobject-introspection
|
||||
pkgs.glib
|
||||
pkgs.bluez-tools
|
||||
pkgs.grimblast
|
||||
pkgs.gpu-screen-recorder
|
||||
pkgs.brightnessctl
|
||||
pkgs.gnome-bluetooth
|
||||
pkgs.python3
|
||||
pkgs.matugen
|
||||
pkgs.python312Packages.gpustat
|
||||
pkgs.hyprpicker
|
||||
pkgs.hyprsunset
|
||||
pkgs.hypridle
|
||||
pkgs.wireplumber
|
||||
pkgs.networkmanager
|
||||
pkgs.upower
|
||||
pkgs.gvfs
|
||||
pkgs.swww
|
||||
pkgs.pywal
|
||||
];
|
||||
};
|
||||
});
|
||||
|
||||
# Define .overlay to expose the package as pkgs.hyprpanel based on the system
|
||||
overlay = final: prev: {
|
||||
hyprpanel =
|
||||
if final ? callPackage
|
||||
then (final.callPackage ./nix {inherit inputs;}).desktop.script
|
||||
else inputs.self.packages.${prev.stdenv.system}.default;
|
||||
hyprpanel = self.packages.${prev.stdenv.system}.default;
|
||||
};
|
||||
packages = forEachSystem (
|
||||
system: let
|
||||
pkgs = pkgsFor.${system};
|
||||
in {
|
||||
default = (pkgs.callPackage ./nix {inherit inputs;}).desktop.script;
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user