diff options
| author | srdusr <trevorgray@srdusr.com> | 2024-06-13 13:11:05 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2024-06-13 13:11:05 +0200 |
| commit | d0fbb19623e4fb6097e1ff3ee49c6a76a0928d0e (patch) | |
| tree | 937531ddf423d3935c6e20c8a9227e39ce782241 /.config/ags/default.nix | |
| parent | 4ccbe0270c25ecab492508b5b0209ae53b9c35bd (diff) | |
| download | dotfiles-d0fbb19623e4fb6097e1ff3ee49c6a76a0928d0e.tar.gz dotfiles-d0fbb19623e4fb6097e1ff3ee49c6a76a0928d0e.zip | |
Add ags
Diffstat (limited to '.config/ags/default.nix')
| -rw-r--r-- | .config/ags/default.nix | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/.config/ags/default.nix b/.config/ags/default.nix new file mode 100644 index 0000000..f0e0c41 --- /dev/null +++ b/.config/ags/default.nix @@ -0,0 +1,104 @@ +{ + inputs, + writeShellScript, + system, + stdenv, + cage, + swww, + esbuild, + dart-sass, + fd, + fzf, + brightnessctl, + accountsservice, + slurp, + wf-recorder, + wl-clipboard, + wayshot, + swappy, + hyprpicker, + pavucontrol, + networkmanager, + gtk3, + which, +}: let + name = "asztal"; + + ags = inputs.ags.packages.${system}.default.override { + extraPackages = [accountsservice]; + }; + + dependencies = [ + which + dart-sass + fd + fzf + brightnessctl + swww + inputs.matugen.packages.${system}.default + inputs.hyprland.packages.${system}.default + slurp + wf-recorder + wl-clipboard + wayshot + swappy + hyprpicker + pavucontrol + networkmanager + gtk3 + ]; + + addBins = list: builtins.concatStringsSep ":" (builtins.map (p: "${p}/bin") list); + + greeter = writeShellScript "greeter" '' + export PATH=$PATH:${addBins dependencies} + ${cage}/bin/cage -ds -m last ${ags}/bin/ags -- -c ${config}/greeter.js + ''; + + desktop = writeShellScript name '' + export PATH=$PATH:${addBins dependencies} + ${ags}/bin/ags -b ${name} -c ${config}/config.js $@ + ''; + + config = stdenv.mkDerivation { + inherit name; + src = ./.; + + buildPhase = '' + ${esbuild}/bin/esbuild \ + --bundle ./main.ts \ + --outfile=main.js \ + --format=esm \ + --external:resource://\* \ + --external:gi://\* \ + + ${esbuild}/bin/esbuild \ + --bundle ./greeter/greeter.ts \ + --outfile=greeter.js \ + --format=esm \ + --external:resource://\* \ + --external:gi://\* \ + ''; + + installPhase = '' + mkdir -p $out + cp -r assets $out + cp -r style $out + cp -r greeter $out + cp -r widget $out + cp -f main.js $out/config.js + cp -f greeter.js $out/greeter.js + ''; + }; +in + stdenv.mkDerivation { + inherit name; + src = config; + + installPhase = '' + mkdir -p $out/bin + cp -r . $out + cp ${desktop} $out/bin/${name} + cp ${greeter} $out/bin/greeter + ''; + } |
