88 lines
2.5 KiB
Nix
88 lines
2.5 KiB
Nix
{
|
|
description = "att_menu — a bottom desktop panel for wlroots compositors, built on Quickshell";
|
|
|
|
inputs = {
|
|
# Pinned to the current NixOS stable release.
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
|
};
|
|
|
|
outputs =
|
|
{ self, nixpkgs }:
|
|
let
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
];
|
|
|
|
forAllSystems = fn: nixpkgs.lib.genAttrs systems (system: fn nixpkgs.legacyPackages.${system});
|
|
in
|
|
{
|
|
packages = forAllSystems (pkgs: rec {
|
|
default = att_menu;
|
|
|
|
att_menu = pkgs.stdenvNoCC.mkDerivation {
|
|
pname = "att_menu";
|
|
version = "0.1.0";
|
|
|
|
src = ./.;
|
|
|
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
|
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/share/att_menu
|
|
cp -r shell.qml config components modules services $out/share/att_menu/
|
|
|
|
makeWrapper ${pkgs.lib.getExe' pkgs.quickshell "qs"} $out/bin/att_menu \
|
|
--add-flags "--path $out/share/att_menu" \
|
|
--suffix PATH : ${
|
|
pkgs.lib.makeBinPath [
|
|
# loginctl and systemctl back the default power actions. The
|
|
# session's own PATH is searched first, so a compositor's
|
|
# swaymsg/hyprctl/niri is still picked up for logging out.
|
|
pkgs.systemd
|
|
]
|
|
} \
|
|
--suffix XDG_DATA_DIRS : "${pkgs.adwaita-icon-theme}/share:${pkgs.hicolor-icon-theme}/share"
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = {
|
|
description = "Bottom desktop panel for wlroots compositors, built on Quickshell";
|
|
mainProgram = "att_menu";
|
|
platforms = pkgs.lib.platforms.linux;
|
|
};
|
|
};
|
|
});
|
|
|
|
apps = forAllSystems (pkgs: {
|
|
default = {
|
|
type = "app";
|
|
program = pkgs.lib.getExe self.packages.${pkgs.stdenv.hostPlatform.system}.att_menu;
|
|
};
|
|
});
|
|
|
|
devShells = forAllSystems (pkgs: {
|
|
default = pkgs.mkShell {
|
|
packages = [
|
|
pkgs.quickshell
|
|
# qmlls / qmlformat for editing the QML in place.
|
|
pkgs.qt6.qtdeclarative
|
|
];
|
|
|
|
shellHook = ''
|
|
echo "att_menu dev shell — run the panel from the working tree with:"
|
|
echo " qs --path ."
|
|
'';
|
|
};
|
|
});
|
|
|
|
formatter = forAllSystems (pkgs: pkgs.nixfmt-tree);
|
|
};
|
|
}
|