59 lines
1.3 KiB
Nix
59 lines
1.3 KiB
Nix
{
|
|
description = "Hyprland test wrapper from nixpkgs only";
|
|
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
|
|
|
outputs =
|
|
{ self, nixpkgs, ... }:
|
|
let
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config.allowUnfree = false;
|
|
};
|
|
|
|
hypr = pkgs.hyprland;
|
|
|
|
configDir = pkgs.lib.cleanSource ./.;
|
|
configFile = "${configDir}/hyprland.lua";
|
|
|
|
runtimePackages = with pkgs; [
|
|
swaybg
|
|
quickshell
|
|
waybar
|
|
networkmanagerapplet
|
|
blueman
|
|
];
|
|
|
|
runtimePath = pkgs.lib.makeBinPath runtimePackages;
|
|
|
|
verifyScript = pkgs.writeShellScript "hyprland-verify" ''
|
|
export PATH=${runtimePath}:$PATH
|
|
exec ${hypr}/bin/Hyprland --config ${configFile} --verify-config
|
|
'';
|
|
|
|
runScript = pkgs.writeShellScript "hyprland-run" ''
|
|
export PATH=${runtimePath}:$PATH
|
|
exec ${hypr}/bin/Hyprland --config ${configFile}
|
|
'';
|
|
in
|
|
{
|
|
apps.${system} = {
|
|
default = {
|
|
type = "app";
|
|
program = "${verifyScript}";
|
|
};
|
|
|
|
run = {
|
|
type = "app";
|
|
program = "${runScript}";
|
|
};
|
|
};
|
|
|
|
packages.${system}.default = pkgs.runCommand "hyprland-config-check" { } ''
|
|
${verifyScript}
|
|
touch $out
|
|
'';
|
|
};
|
|
}
|