nova-shell/nix/package.nix

60 lines
1.1 KiB
Nix

{
lib,
stdenvNoCC,
symlinkJoin,
makeWrapper,
quickshell,
nova-stats,
nova-shaders,
glib,
}:
let
shellSrc = lib.cleanSourceWith {
src = lib.cleanSource ../.;
filter = path: _type: !(lib.hasSuffix ".frag" path);
};
shell = stdenvNoCC.mkDerivation {
pname = "nova-shell-qml";
version = "0.1.0";
src = shellSrc;
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/nova-shell
cp -r shell/shell.qml shell/modules shell/services shell/applets shell/lock shell/assets $out/share/nova-shell/
runHook postInstall
'';
};
in
symlinkJoin {
name = "nova-shell-0.1.0";
paths = [
shell
nova-shaders
];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
mkdir -p $out/bin
makeWrapper ${lib.getExe quickshell} $out/bin/nova-shell \
--add-flags "-p $out/share/nova-shell/shell.qml" \
--prefix PATH : ${
lib.makeBinPath [
nova-stats
glib
]
}
'';
meta = {
description = "Minimal Quickshell bar for niri";
mainProgram = "nova-shell";
platforms = lib.platforms.linux;
};
}