fix(theme/hyprpaper): complete rewrite
This commit is contained in:
@@ -8,52 +8,47 @@
|
|||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf mkEnableOption;
|
||||||
|
|
||||||
cfg = config.home.services.hyprpaper;
|
cfg = config.home.services.hyprpaper;
|
||||||
|
|
||||||
hyprpaperFlake = inputs.hyprpaper.packages.${pkgs.system}.default;
|
hyprpaperFlake = inputs.hyprpaper.packages.${pkgs.system}.default;
|
||||||
# hyprpaperPkg = pkgs.hyprpaper;
|
|
||||||
|
bgs = {
|
||||||
|
wallpaper_1 = "~/media/images/bg_1.jpg";
|
||||||
|
wallpaper_2 = "~/media/images/bg_2.jpg";
|
||||||
|
wallpaper_3 = "~/media/images/bg_3.jpg";
|
||||||
|
wallpaper_4 = "~/media/images/waterwindow.jpg";
|
||||||
|
wallpaper_5 = "~/media/images/barngreet.png";
|
||||||
|
};
|
||||||
|
|
||||||
|
resolve = name: if name == null then null else bgs.${name};
|
||||||
|
bg = osConfig.settings.theme.background;
|
||||||
|
|
||||||
|
wallpapers = builtins.filter (x: x != null) [
|
||||||
|
"DP-3,${resolve bg.primary}"
|
||||||
|
(if bg.secondary != null then "HDMI-A-1,${resolve bg.secondary}" else null)
|
||||||
|
"eDP-1,${resolve bg.primary}"
|
||||||
|
"DVI-D-1,${resolve bg.primary}"
|
||||||
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
home.services.hyprpaper.enable = mkEnableOption "Enables hyprpaper";
|
home.services.hyprpaper.enable = mkEnableOption "Enable hyprpaper wallpaper service";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.hyprpaper = {
|
services.hyprpaper = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = hyprpaperFlake;
|
package = hyprpaperFlake;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
ipc = "on";
|
ipc = "on";
|
||||||
splash = false;
|
splash = false;
|
||||||
splash_offset = 2.0;
|
splash_offset = 2.0;
|
||||||
|
|
||||||
preload = [
|
preload = builtins.attrValues bgs;
|
||||||
"~/media/images/bg_1.jpg"
|
|
||||||
"~/media/images/bg_2.jpg"
|
|
||||||
"~/media/images/bg_3.jpg"
|
|
||||||
"~/media/images/by_housevisit_2560.jpg"
|
|
||||||
"~/media/images/nix.png"
|
|
||||||
"~/media/images/stacks.png"
|
|
||||||
"~/media/images/ship.png"
|
|
||||||
"~/media/images/cabin.png"
|
|
||||||
"~/media/images/dunes.png"
|
|
||||||
"~/media/images/globe.png"
|
|
||||||
"~/media/images/space.jpg"
|
|
||||||
"~/media/images/galaxy.png"
|
|
||||||
"~/media/images/deathstar.png"
|
|
||||||
"~/media/images/trollskog.png"
|
|
||||||
"~/media/images/waterwindow.jpg"
|
|
||||||
"~/media/images/barngreet.png"
|
|
||||||
];
|
|
||||||
|
|
||||||
wallpaper = [
|
wallpaper = wallpapers;
|
||||||
# kima
|
|
||||||
"DP-3,${osConfig.settings.theme.background.primary}"
|
|
||||||
"HDMI-A-1,${osConfig.settings.theme.background.secondary}"
|
|
||||||
# bunk
|
|
||||||
"eDP-1,${osConfig.settings.theme.background.primary}"
|
|
||||||
# toothpc
|
|
||||||
"DVI-D-1,${osConfig.settings.theme.background.primary}"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,34 +1,28 @@
|
|||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) mkOption types;
|
inherit (lib) mkOption types;
|
||||||
bgs = {
|
bgList = [
|
||||||
wallpaper_1 = "~/media/images/bg_1.jpg";
|
"wallpaper_1"
|
||||||
wallpaper_2 = "~/media/images/bg_2.jpg";
|
"wallpaper_2"
|
||||||
wallpaper_3 = "~/media/images/bg_3.jpg";
|
"wallpaper_3"
|
||||||
wallpaper_4 = "~/media/images/waterwindow.jpg";
|
"wallpaper_4"
|
||||||
wallpaper_5 = "~/media/images/barngreet.png";
|
"wallpaper_5"
|
||||||
};
|
];
|
||||||
bgList = builtins.attrNames bgs;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.settings.theme = {
|
options.settings.theme.background = {
|
||||||
background = {
|
lockscreen = mkOption {
|
||||||
lockscreen = mkOption {
|
type = types.enum bgList;
|
||||||
type = types.enum bgList;
|
example = "wallpaper_1";
|
||||||
apply = name: bgs.${name};
|
};
|
||||||
example = "wallpaper_1";
|
primary = mkOption {
|
||||||
};
|
type = types.enum bgList;
|
||||||
primary = mkOption {
|
example = "wallpaper_2";
|
||||||
type = types.enum bgList;
|
};
|
||||||
apply = name: bgs.${name};
|
secondary = mkOption {
|
||||||
example = "wallpaper_2";
|
type = types.nullOr (types.enum bgList);
|
||||||
};
|
default = null;
|
||||||
secondary = mkOption {
|
example = "wallpaper_3";
|
||||||
type = types.nullOr (types.enum bgList);
|
|
||||||
default = null;
|
|
||||||
apply = name: if name == null then null else bgs.${name};
|
|
||||||
example = "wallpaper_3";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user