initial commit
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
{
|
||||
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);
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user