60 lines
1.2 KiB
Nix
60 lines
1.2 KiB
Nix
|
|
{
|
|
description = "Swaymux: sway workspace/output/container navigation";
|
|
|
|
inputs.nixpkgs.url = "nixpkgs/nixpkgs-unstable";
|
|
|
|
outputs = {
|
|
nixpkgs,
|
|
self,
|
|
...
|
|
}: let
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
];
|
|
|
|
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f system);
|
|
# forAllSystems = fn: nixpkgs.lib.genAttrs systems (system: forSystem system fn);
|
|
in {
|
|
checks = forAllSystems ({
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
alejandra = pkgs.runCommand "check-alejandra" {} ''
|
|
${lib.getExe pkgs.alejandra} --check ${./.}
|
|
touch $out
|
|
'';
|
|
});
|
|
|
|
devShells = forAllSystems (pkgs: {
|
|
default = pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
# base toolchain
|
|
gcc
|
|
qt6.full
|
|
qtcreator
|
|
cmake
|
|
nlohmann_json
|
|
qtwayland
|
|
|
|
# nix utils
|
|
self.formatter.${pkgs.system}
|
|
nil
|
|
];
|
|
};
|
|
});
|
|
|
|
formatter = forAllSystems (pkgs: pkgs.alejandra);
|
|
|
|
packages = forAllSystems (system: let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
swaymux-pkg = (pkgs.qt6Packages.callPackage ./nix/default.nix {});
|
|
in {
|
|
swaymux = swaymux-pkg;
|
|
default = swaymux-pkg;
|
|
});
|
|
};
|
|
}
|