Files
nixos/modules/features/hypr/default.nix

69 lines
1.4 KiB
Nix

{
self,
inputs,
...
}: {
flake.nixosModules.hyprland = {
pkgs,
lib,
...
}: let
modules = with self.nixosModules; [
audio
];
in {
imports = modules;
programs.hyprland = {
enable = true;
package = self.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
};
services.xserver.enable = true;
security.polkit.enable = true;
};
perSystem = {
pkgs,
lib,
self',
...
}: {
packages = {
hyprland = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.default.override {
runtimePackages =
inputs.hyprland.lib.defaultRuntimePkgs.${pkgs.stdenv.hostPlatform.system}
// {
wpaperd = self'.packages.wpaperd;
kitty = self'.packages.kitty;
otter-launcher = self'.packages.otter-launcher;
};
};
wpaperd = let
config-file = builtins.toFile "config.toml" ''
[any]
path = "${./wallpapers}"
[HDMI-A-1]
path = "${./wallpapers/topo1.png}"
[DP-1]
path = "${./wallpapers/topo2.png}"
[DP-2]
path = "${./wallpapers/topo3.png}"
'';
in
inputs.wrappers.lib.wrapPackage ({
config,
wlib,
lib,
...
}: {
inherit pkgs;
package = pkgs.wpaperd;
flags = {
"--config" = config-file;
};
});
};
};
}