38 lines
959 B
Nix
38 lines
959 B
Nix
{ self, inputs, ... }:
|
|
{
|
|
flake.nixosModules.wallpapers =
|
|
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
|
|
options.wallpaper-users = lib.mkOption {
|
|
type = lib.types.listOf lib.types.str;
|
|
default = [ ];
|
|
description = "List of users to include wallpapers for";
|
|
};
|
|
|
|
options.wallpaper-destination = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "Pictures/Wallpapers";
|
|
description = "Destination path for wallpapers";
|
|
};
|
|
|
|
config = {
|
|
hjem = lib.mkIf (config.wallpaper-users != [ ]) {
|
|
users = lib.genAttrs config.wallpaper-users (username: {
|
|
enable = true;
|
|
files = {
|
|
"${config.wallpaper-destination}".source = pkgs.runCommand "wallpapers" { } ''
|
|
mkdir -p $out
|
|
cp -r ${../../../assets/wallpapers}/* $out/
|
|
'';
|
|
};
|
|
});
|
|
};
|
|
};
|
|
};
|
|
}
|