nixfmt
This commit is contained in:
@@ -374,10 +374,17 @@ in
|
||||
scale
|
||||
];
|
||||
# Append transform only when set, as "transform, <value>"
|
||||
transformTokens = if m.transform == null then [ ] else [ "transform" m.transform ];
|
||||
transformTokens =
|
||||
if m.transform == null then
|
||||
[ ]
|
||||
else
|
||||
[
|
||||
"transform"
|
||||
m.transform
|
||||
];
|
||||
tokens = parts ++ transformTokens ++ m.extra;
|
||||
in
|
||||
builtins.concatStringsSep ", " tokens
|
||||
builtins.concatStringsSep ", " tokens
|
||||
) cfg.monitorv2;
|
||||
|
||||
render = {
|
||||
|
||||
@@ -6,42 +6,47 @@ let
|
||||
|
||||
# Back-compat shims for deprecated options
|
||||
rightModules =
|
||||
if builtins.hasAttr "modules-right" cfg && (cfg."modules-right" != [ ])
|
||||
then cfg."modules-right"
|
||||
else cfg.layout.right;
|
||||
if builtins.hasAttr "modules-right" cfg && (cfg."modules-right" != [ ]) then
|
||||
cfg."modules-right"
|
||||
else
|
||||
cfg.layout.right;
|
||||
|
||||
netIf =
|
||||
if (cfg ? networkInterface) && (cfg.networkInterface != "wlan0")
|
||||
then cfg.networkInterface
|
||||
else cfg.network.interface;
|
||||
if (cfg ? networkInterface) && (cfg.networkInterface != "wlan0") then
|
||||
cfg.networkInterface
|
||||
else
|
||||
cfg.network.interface;
|
||||
|
||||
defaultOpacity = palette.tokens.opacity or "opacity: 0.85;";
|
||||
defaultBorderRadius = palette.tokens.borderRadius or "border-radius: 1rem;";
|
||||
defaultCenterOptions = palette.tokens.centerOptions or ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
'';
|
||||
borderRight = palette.tokens.borderRight or ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0rem 1rem 1rem 0rem;
|
||||
margin-right: 0.5rem;
|
||||
'';
|
||||
borderLeft = palette.tokens.borderLeft or ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 1rem 0rem 0rem 1rem;
|
||||
margin-left: 0.5rem;
|
||||
'';
|
||||
defaultCenterOptions =
|
||||
palette.tokens.centerOptions or ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
'';
|
||||
borderRight =
|
||||
palette.tokens.borderRight or ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0rem 1rem 1rem 0rem;
|
||||
margin-right: 0.5rem;
|
||||
'';
|
||||
borderLeft =
|
||||
palette.tokens.borderLeft or ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 1rem 0rem 0rem 1rem;
|
||||
margin-left: 0.5rem;
|
||||
'';
|
||||
|
||||
baseStyle =
|
||||
if cfg.style.file != null then
|
||||
@@ -312,289 +317,282 @@ in
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
|
||||
settings =
|
||||
(
|
||||
{
|
||||
mainBar =
|
||||
(
|
||||
(mkMerge [
|
||||
{
|
||||
layer = cfg.layer;
|
||||
position = "top";
|
||||
mod = "dock";
|
||||
exclusive = true;
|
||||
passthrough = false;
|
||||
gtk-layer-shell = true;
|
||||
height = 0;
|
||||
settings = ({
|
||||
mainBar = (
|
||||
(mkMerge [
|
||||
{
|
||||
layer = cfg.layer;
|
||||
position = "top";
|
||||
mod = "dock";
|
||||
exclusive = true;
|
||||
passthrough = false;
|
||||
gtk-layer-shell = true;
|
||||
height = 0;
|
||||
|
||||
# Module Layout
|
||||
modules-left = cfg.layout.left;
|
||||
modules-center = cfg.layout.center;
|
||||
modules-right = rightModules;
|
||||
# Module Layout
|
||||
modules-left = cfg.layout.left;
|
||||
modules-center = cfg.layout.center;
|
||||
modules-right = rightModules;
|
||||
|
||||
# Base module definitions always present unless individually gated
|
||||
"hyprland/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
on-click = "activate";
|
||||
persistent_workspaces = {
|
||||
"*" = 1;
|
||||
};
|
||||
};
|
||||
# Base module definitions always present unless individually gated
|
||||
"hyprland/workspaces" = {
|
||||
disable-scroll = true;
|
||||
all-outputs = true;
|
||||
on-click = "activate";
|
||||
persistent_workspaces = {
|
||||
"*" = 1;
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/window" = {
|
||||
separate-outputs = true;
|
||||
format = { };
|
||||
};
|
||||
"hyprland/window" = {
|
||||
separate-outputs = true;
|
||||
format = { };
|
||||
};
|
||||
|
||||
temperature = {
|
||||
hwmon-path = cfg.temperature.cpu.hwmonPath;
|
||||
critical-threshold = 110;
|
||||
format-critical = "{temperatureC}°C ";
|
||||
format = "{temperatureC}°C {icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
tooltip-format = "CPU: {temperatureC}°C";
|
||||
};
|
||||
temperature = {
|
||||
hwmon-path = cfg.temperature.cpu.hwmonPath;
|
||||
critical-threshold = 110;
|
||||
format-critical = "{temperatureC}°C ";
|
||||
format = "{temperatureC}°C {icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
tooltip-format = "CPU: {temperatureC}°C";
|
||||
};
|
||||
|
||||
network = {
|
||||
interface = netIf;
|
||||
on-click = "nm-connection-editor";
|
||||
format = "{icon}";
|
||||
tooltip-format = "{ifname} via {gwaddr} ";
|
||||
tooltip-format-wifi = ''
|
||||
{essid} ({signalStrength}%) {icon}
|
||||
{bandwidthDownBits} {bandwidthUpBits}
|
||||
'';
|
||||
tooltip-format-ethernet = "{ifname} ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
max-length = 50;
|
||||
format-icons = {
|
||||
wifi = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
ethernet = "";
|
||||
linked = "";
|
||||
disconnected = "";
|
||||
};
|
||||
};
|
||||
network = {
|
||||
interface = netIf;
|
||||
on-click = "nm-connection-editor";
|
||||
format = "{icon}";
|
||||
tooltip-format = "{ifname} via {gwaddr} ";
|
||||
tooltip-format-wifi = ''
|
||||
{essid} ({signalStrength}%) {icon}
|
||||
{bandwidthDownBits} {bandwidthUpBits}
|
||||
'';
|
||||
tooltip-format-ethernet = "{ifname} ";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
max-length = 50;
|
||||
format-icons = {
|
||||
wifi = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
ethernet = "";
|
||||
linked = "";
|
||||
disconnected = "";
|
||||
};
|
||||
};
|
||||
|
||||
"custom/left-end" = {
|
||||
format = " ";
|
||||
tooltip = false;
|
||||
};
|
||||
"custom/left-end" = {
|
||||
format = " ";
|
||||
tooltip = false;
|
||||
};
|
||||
|
||||
"custom/right-end" = {
|
||||
format = " ";
|
||||
tooltip = false;
|
||||
};
|
||||
}
|
||||
"custom/right-end" = {
|
||||
format = " ";
|
||||
tooltip = false;
|
||||
};
|
||||
}
|
||||
|
||||
(mkIf cfg.features.tray.enable {
|
||||
tray = {
|
||||
icon-size = 16;
|
||||
spacing = 10;
|
||||
};
|
||||
})
|
||||
(mkIf cfg.features.tray.enable {
|
||||
tray = {
|
||||
icon-size = 16;
|
||||
spacing = 10;
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.features.keyboardIndicators.enable {
|
||||
"keyboard-state#capslock" = {
|
||||
capslock = true;
|
||||
format = "{icon}";
|
||||
tooltip-format = "Caps Lock {state}";
|
||||
format-icons = {
|
||||
locked = "";
|
||||
unlocked = "";
|
||||
};
|
||||
};
|
||||
(mkIf cfg.features.keyboardIndicators.enable {
|
||||
"keyboard-state#capslock" = {
|
||||
capslock = true;
|
||||
format = "{icon}";
|
||||
tooltip-format = "Caps Lock {state}";
|
||||
format-icons = {
|
||||
locked = "";
|
||||
unlocked = "";
|
||||
};
|
||||
};
|
||||
|
||||
"keyboard-state#numlock" = {
|
||||
numlock = true;
|
||||
format = "{icon}";
|
||||
tooltip-format = "Num Lock {state}";
|
||||
format-icons = {
|
||||
locked = "";
|
||||
unlocked = "";
|
||||
};
|
||||
};
|
||||
})
|
||||
"keyboard-state#numlock" = {
|
||||
numlock = true;
|
||||
format = "{icon}";
|
||||
tooltip-format = "Num Lock {state}";
|
||||
format-icons = {
|
||||
locked = "";
|
||||
unlocked = "";
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.features.audio.sink.enable {
|
||||
"wireplumber#sink" = {
|
||||
format = "{icon} {volume}%";
|
||||
tooltip = false;
|
||||
format-muted = "{icon} Muted";
|
||||
on-click = "wpctl set-mute @DEFAULT_SINK@ toggle";
|
||||
on-click-right = "pavucontrol -t 1";
|
||||
on-scroll-up = "wpctl set-volume @DEFAULT_SINK@ 5%+";
|
||||
on-scroll-down = "wpctl set-volume @DEFAULT_SINK@ 5%-";
|
||||
scroll-step = 5;
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
headphone-muted = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
};
|
||||
})
|
||||
(mkIf cfg.features.audio.sink.enable {
|
||||
"wireplumber#sink" = {
|
||||
format = "{icon} {volume}%";
|
||||
tooltip = false;
|
||||
format-muted = "{icon} Muted";
|
||||
on-click = "wpctl set-mute @DEFAULT_SINK@ toggle";
|
||||
on-click-right = "pavucontrol -t 1";
|
||||
on-scroll-up = "wpctl set-volume @DEFAULT_SINK@ 5%+";
|
||||
on-scroll-down = "wpctl set-volume @DEFAULT_SINK@ 5%-";
|
||||
scroll-step = 5;
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
headphone-muted = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.features.audio.source.enable {
|
||||
"wireplumber#source" = {
|
||||
node-type = "Audio/Source";
|
||||
format = "";
|
||||
format-muted = "";
|
||||
tooltip = false;
|
||||
on-click = "wpctl set-mute @DEFAULT_SOURCE@ toggle";
|
||||
on-click-right = "pavucontrol -t 2";
|
||||
on-scroll-up = "wpctl set-volume @DEFAULT_SOURCE@ 5%+";
|
||||
on-scroll-down = "wpctl set-volume @DEFAULT_SOURCE@ 5%-";
|
||||
scroll-step = 5;
|
||||
};
|
||||
})
|
||||
(mkIf cfg.features.audio.source.enable {
|
||||
"wireplumber#source" = {
|
||||
node-type = "Audio/Source";
|
||||
format = "";
|
||||
format-muted = "";
|
||||
tooltip = false;
|
||||
on-click = "wpctl set-mute @DEFAULT_SOURCE@ toggle";
|
||||
on-click-right = "pavucontrol -t 2";
|
||||
on-scroll-up = "wpctl set-volume @DEFAULT_SOURCE@ 5%+";
|
||||
on-scroll-down = "wpctl set-volume @DEFAULT_SOURCE@ 5%-";
|
||||
scroll-step = 5;
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.features.bluetooth.enable {
|
||||
bluetooth = {
|
||||
on-click = "overskride";
|
||||
tooltip = true;
|
||||
format = "{icon}";
|
||||
tooltip-format = "{status}";
|
||||
tooltip-format-disabled = "{status}";
|
||||
tooltip-format-off = "{status}";
|
||||
tooltip-format-on = "{status}";
|
||||
tooltip-format-connected = "{status}";
|
||||
tooltip-format-enumerate-connected = { };
|
||||
format-icons = {
|
||||
disabled = "";
|
||||
off = "";
|
||||
on = "";
|
||||
connected = "";
|
||||
};
|
||||
};
|
||||
})
|
||||
(mkIf cfg.features.bluetooth.enable {
|
||||
bluetooth = {
|
||||
on-click = "overskride";
|
||||
tooltip = true;
|
||||
format = "{icon}";
|
||||
tooltip-format = "{status}";
|
||||
tooltip-format-disabled = "{status}";
|
||||
tooltip-format-off = "{status}";
|
||||
tooltip-format-on = "{status}";
|
||||
tooltip-format-connected = "{status}";
|
||||
tooltip-format-enumerate-connected = { };
|
||||
format-icons = {
|
||||
disabled = "";
|
||||
off = "";
|
||||
on = "";
|
||||
connected = "";
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.features.idleInhibitor.enable {
|
||||
idle_inhibitor = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
})
|
||||
(mkIf cfg.features.idleInhibitor.enable {
|
||||
idle_inhibitor = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.features.clock.enable {
|
||||
clock = {
|
||||
format = "{:%I:%M %p}";
|
||||
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||
calendar = {
|
||||
mode = "month";
|
||||
format = {
|
||||
months = "<span color='${palette.colors.primary}'><b>{}</b></span>";
|
||||
days = "<span color='${palette.colors.primary}'><b>{}</b></span>";
|
||||
weekdays = "<span color='${palette.colors.info}'><b>{}</b></span>";
|
||||
today = "<span color='${palette.colors.success}'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
(mkIf cfg.features.clock.enable {
|
||||
clock = {
|
||||
format = "{:%I:%M %p}";
|
||||
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||
calendar = {
|
||||
mode = "month";
|
||||
format = {
|
||||
months = "<span color='${palette.colors.primary}'><b>{}</b></span>";
|
||||
days = "<span color='${palette.colors.primary}'><b>{}</b></span>";
|
||||
weekdays = "<span color='${palette.colors.info}'><b>{}</b></span>";
|
||||
today = "<span color='${palette.colors.success}'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.features.battery.enable {
|
||||
battery = {
|
||||
interval = 60;
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{capacity}% {icon}";
|
||||
format-icons = {
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
charging = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
max-length = 25;
|
||||
};
|
||||
})
|
||||
(mkIf cfg.features.battery.enable {
|
||||
battery = {
|
||||
interval = 60;
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{capacity}% {icon}";
|
||||
format-icons = {
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
charging = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
max-length = 25;
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.temperature.gpu.enable {
|
||||
"temperature#gpu" = {
|
||||
hwmon-path = cfg.temperature.gpu.hwmonPath;
|
||||
critical-threshold = 110;
|
||||
format-critical = "{temperatureC}°C ";
|
||||
format = "{temperatureC}°C {icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "lact";
|
||||
tooltip-format = "GPU: {temperatureC}°C";
|
||||
};
|
||||
})
|
||||
(mkIf cfg.temperature.gpu.enable {
|
||||
"temperature#gpu" = {
|
||||
hwmon-path = cfg.temperature.gpu.hwmonPath;
|
||||
critical-threshold = 110;
|
||||
format-critical = "{temperatureC}°C ";
|
||||
format = "{temperatureC}°C {icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "lact";
|
||||
tooltip-format = "GPU: {temperatureC}°C";
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf cfg.features.weather.enable {
|
||||
"custom/weather" = {
|
||||
tooltip = true;
|
||||
format = { };
|
||||
interval = 30;
|
||||
exec = "waybar-weather";
|
||||
return-type = "json";
|
||||
markup = "pango";
|
||||
};
|
||||
})
|
||||
])
|
||||
// cfg.extra.settings
|
||||
);
|
||||
}
|
||||
)
|
||||
// cfg.extraModules; # keep legacy top-level extra modules for compatibility
|
||||
(mkIf cfg.features.weather.enable {
|
||||
"custom/weather" = {
|
||||
tooltip = true;
|
||||
format = { };
|
||||
interval = 30;
|
||||
exec = "waybar-weather";
|
||||
return-type = "json";
|
||||
markup = "pango";
|
||||
};
|
||||
})
|
||||
])
|
||||
// cfg.extra.settings
|
||||
);
|
||||
})
|
||||
// cfg.extraModules; # keep legacy top-level extra modules for compatibility
|
||||
|
||||
style =
|
||||
baseStyle
|
||||
+ (cfg.extra.style or "")
|
||||
+ (cfg.extraModulesStyle or "");
|
||||
style = baseStyle + (cfg.extra.style or "") + (cfg.extraModulesStyle or "");
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,16 @@
|
||||
{ lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
inherit (types) str int bool listOf attrs path nullOr submodule;
|
||||
inherit (types)
|
||||
str
|
||||
int
|
||||
bool
|
||||
listOf
|
||||
attrs
|
||||
path
|
||||
nullOr
|
||||
submodule
|
||||
;
|
||||
in
|
||||
{
|
||||
options.mjallen.programs.waybar = {
|
||||
@@ -161,22 +170,50 @@ in
|
||||
type = submodule {
|
||||
options = {
|
||||
tray = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = true; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
bluetooth = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = true; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
idleInhibitor = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = true; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
keyboardIndicators = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = true; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
@@ -184,11 +221,25 @@ in
|
||||
type = submodule {
|
||||
options = {
|
||||
sink = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = true; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
source = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = false; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
@@ -197,22 +248,50 @@ in
|
||||
};
|
||||
|
||||
weather = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = true; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
hass = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = false; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
clock = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = true; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
|
||||
battery = mkOption {
|
||||
type = submodule { options = { enable = mkOption { type = bool; default = true; }; }; };
|
||||
type = submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user