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:
103
flake.lock
generated
103
flake.lock
generated
@@ -2,34 +2,73 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"ags": {
|
"ags": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"astal": "astal",
|
||||||
"systems": "systems"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728326430,
|
"lastModified": 1734091628,
|
||||||
"narHash": "sha256-tV1ABHuA1HItMdCTuNdA8fMB+qw7LpjvI945VwMSABI=",
|
"narHash": "sha256-8O3i8zESjHVsGzyXb8gEpLztvANq3Ot5bwo60YKJc7k=",
|
||||||
"owner": "Aylur",
|
"owner": "aylur",
|
||||||
"repo": "ags",
|
"repo": "ags",
|
||||||
"rev": "60180a184cfb32b61a1d871c058b31a3b9b0743d",
|
"rev": "27cd93147aba09142fa585fd16f13c56268b696c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Aylur",
|
"owner": "aylur",
|
||||||
"repo": "ags",
|
"repo": "ags",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"astal": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"ags",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733520119,
|
||||||
|
"narHash": "sha256-6K07ZJTnFu1xASBCMtVc9cFTbBEauwSc7gGBmjLkLSk=",
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "astal",
|
||||||
|
"rev": "4c19d8d06fa25cc6389f37abe8839b4d8be5c0d6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "astal",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"astal_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1734814417,
|
||||||
|
"narHash": "sha256-R+tLGIxlaqsOmV52TdXHP0u33q5PdJ77gtiUPK5BbMg=",
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "astal",
|
||||||
|
"rev": "3468763d51d389c67ec7b1a390ffa8a5328bddb6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "aylur",
|
||||||
|
"repo": "astal",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725634671,
|
"lastModified": 1733581040,
|
||||||
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
|
"narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
|
"rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
@@ -37,11 +76,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732758367,
|
"lastModified": 1734424634,
|
||||||
"narHash": "sha256-RzaI1RO0UXqLjydtz3GAXSTzHkpb/lLD1JD8a0W4Wpo=",
|
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "fa42b5a5f401aab8a32bd33c9a4de0738180dc59",
|
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1734649271,
|
||||||
|
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -54,22 +109,8 @@
|
|||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"ags": "ags",
|
"ags": "ags",
|
||||||
"nixpkgs": "nixpkgs_2"
|
"astal": "astal_2",
|
||||||
}
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
122
flake.nix
122
flake.nix
@@ -1,78 +1,76 @@
|
|||||||
{
|
{
|
||||||
description = "A Bar/Panel for Hyprland with extensive customizability.";
|
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||||
ags.url = "github:Aylur/ags";
|
ags.url = "github:aylur/ags";
|
||||||
|
astal.url = "github:aylur/astal";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs: let
|
outputs = { self, nixpkgs, ags, astal }: let
|
||||||
systems = [
|
systems = [
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"x86_64-darwin"
|
"x86_64-darwin"
|
||||||
"aarch64-darwin"
|
"aarch64-darwin"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
];
|
];
|
||||||
forEachSystem = inputs.nixpkgs.lib.genAttrs systems;
|
forEachSystem = 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
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
);
|
|
||||||
in {
|
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: {
|
overlay = final: prev: {
|
||||||
hyprpanel =
|
hyprpanel = self.packages.${prev.stdenv.system}.default;
|
||||||
if final ? callPackage
|
|
||||||
then (final.callPackage ./nix {inherit inputs;}).desktop.script
|
|
||||||
else inputs.self.packages.${prev.stdenv.system}.default;
|
|
||||||
};
|
};
|
||||||
packages = forEachSystem (
|
|
||||||
system: let
|
|
||||||
pkgs = pkgsFor.${system};
|
|
||||||
in {
|
|
||||||
default = (pkgs.callPackage ./nix {inherit inputs;}).desktop.script;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
system,
|
|
||||||
stdenv,
|
|
||||||
lib,
|
|
||||||
writeShellScriptBin,
|
|
||||||
bun,
|
|
||||||
dart-sass,
|
|
||||||
fd,
|
|
||||||
accountsservice,
|
|
||||||
btop,
|
|
||||||
pipewire,
|
|
||||||
bluez,
|
|
||||||
bluez-tools,
|
|
||||||
grimblast,
|
|
||||||
gpu-screen-recorder,
|
|
||||||
networkmanager,
|
|
||||||
brightnessctl,
|
|
||||||
gnome-bluetooth,
|
|
||||||
matugen,
|
|
||||||
swww,
|
|
||||||
python3,
|
|
||||||
libgtop,
|
|
||||||
gobject-introspection,
|
|
||||||
glib,
|
|
||||||
}: let
|
|
||||||
ags = inputs.ags.packages.${system}.default.override {
|
|
||||||
extraPackages = [accountsservice];
|
|
||||||
};
|
|
||||||
|
|
||||||
pname = "hyprpanel";
|
|
||||||
config = stdenv.mkDerivation {
|
|
||||||
inherit pname;
|
|
||||||
version = "latest";
|
|
||||||
src = ../.;
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
${bun}/bin/bun build ./main.ts \
|
|
||||||
--outfile main.js \
|
|
||||||
--external "resource://*" \
|
|
||||||
--external "gi://*"
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir $out
|
|
||||||
cp -r assets $out
|
|
||||||
cp -r scss $out
|
|
||||||
cp -r widget $out
|
|
||||||
cp -r services $out
|
|
||||||
cp -r themes $out
|
|
||||||
cp -r scripts $out
|
|
||||||
cp -f main.js $out/config.js
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
desktop = {
|
|
||||||
inherit config;
|
|
||||||
script = writeShellScriptBin pname ''
|
|
||||||
export PATH=$PATH:${lib.makeBinPath [dart-sass fd btop pipewire bluez bluez-tools networkmanager matugen swww grimblast gpu-screen-recorder brightnessctl gnome-bluetooth python3]}
|
|
||||||
export GI_TYPELIB_PATH=${libgtop}/lib/girepository-1.0:${glib}/lib/girepository-1.0:$GI_TYPELIB_PATH
|
|
||||||
${ags}/bin/ags -b hyprpanel -c ${config}/config.js $@
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import GLib from 'gi://GLib?version=2.0';
|
import GLib from 'gi://GLib?version=2.0';
|
||||||
import options from '../options';
|
import options from '../options';
|
||||||
import Wallpaper from '../services/Wallpaper';
|
import Wallpaper from 'src/services/Wallpaper';
|
||||||
|
|
||||||
const { EXISTS, IS_REGULAR } = GLib.FileTest;
|
const { EXISTS, IS_REGULAR } = GLib.FileTest;
|
||||||
const { enable: enableWallpaper, image } = options.wallpaper;
|
const { enable: enableWallpaper, image } = options.wallpaper;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import icons from '../lib/icons/icons';
|
import icons from '../lib/icons/icons';
|
||||||
import { bash, dependencies, Notify, isAnImage } from '../lib/utils';
|
import { bash, dependencies, Notify, isAnImage } from '../lib/utils';
|
||||||
import options from '../options';
|
import options from '../options';
|
||||||
import Wallpaper from '../services/Wallpaper';
|
import Wallpaper from 'src/services/Wallpaper';
|
||||||
|
|
||||||
const { matugen } = options.theme;
|
const { matugen } = options.theme;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user