Files
custum-hyprpanel/default.nix
Jas Singh f5b75edbed Implemented Wallpaper Selector and Matugen's Wallpaper based auto-theming. (#73)
* Implement matugen - WIP

* Added matugen

* Add types and cleanup code

* Matugen implementation updates and added more options such as scheme and contrast.

* Code cleanup and matugen settings renamed for clarity.

* Makon maroon a primary matugen color.

* Updates to handle variations of matugen colors

* Finalizing matugen and wrapping up variations.

* Minor styling updates of the settings dialog.

* Do a swww dependency check.

* Dependency logic update

* Switch shouldn't double trigger notifications now when checking dependency.

* Logic was inverted

* Add matugen to dependency checker.

* Fixed dependency checking conditional

* Update dependency list in readme and check for matugen before doing matugen operations

* Styling fixes

* OSD Fix

* Remove unused code from wallpaper service.

* Color fixes for matugen.

* Nix updates for new dependencies

* Change default wallpaper to empty.

* Added custom notification service for startup, cleaned up code and updated readme.
2024-08-07 21:43:31 -07:00

72 lines
1.5 KiB
Nix

{ inputs
, pkgs
, system
, stdenv
, writeShellScriptBin
, bun
, dart-sass
, fd
, accountsservice
, btop
, pipewire
, bluez
, bluez-tools
, grimblast
, gpu-screen-recorder
, networkmanager
, brightnessctl
, matugen
, swww
, python3
}:
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 -f main.js $out/config.js
'';
};
in {
desktop = {
inherit config;
script = writeShellScriptBin pname ''
export PATH=$PATH:${dart-sass}/bin
export PATH=$PATH:${fd}/bin
export PATH=$PATH:${btop}/bin
export PATH=$PATH:${pipewire}/bin
export PATH=$PATH:${bluez}/bin
export PATH=$PATH:${bluez-tools}/bin
export PATH=$PATH:${grimblast}/bin
export PATH=$PATH:${gpu-screen-recorder}/bin
export PATH=$PATH:${networkmanager}/bin
export PATH=$PATH:${brightnessctl}/bin
export PATH=$PATH:${matugen}/bin
export PATH=$PATH:${swww}/bin
export PATH=$PATH:${pkgs.gnome.gnome-bluetooth}/bin
export PATH=$PATH:${python3}/bin
export GDK_BACKEND=wayland
${ags}/bin/ags -b hyprpanel -c ${config}/config.js $@
'';
};
}