diff --git a/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix b/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix index b03c067..49d9712 100755 --- a/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix +++ b/homes/aarch64-darwin/mattjallen@macbook-pro/default.nix @@ -1,7 +1,6 @@ { lib, pkgs, - home, ... }: let diff --git a/homes/aarch64-linux/matt@macbook-pro-nixos/default.nix b/homes/aarch64-linux/matt@macbook-pro-nixos/default.nix index 74e51fb..b8bbadb 100755 --- a/homes/aarch64-linux/matt@macbook-pro-nixos/default.nix +++ b/homes/aarch64-linux/matt@macbook-pro-nixos/default.nix @@ -1,6 +1,5 @@ { pkgs, - lib, namespace, config, ... diff --git a/modules/home/desktop/theme/default.nix b/modules/home/desktop/theme/default.nix index cd6594a..1317f16 100644 --- a/modules/home/desktop/theme/default.nix +++ b/modules/home/desktop/theme/default.nix @@ -3,19 +3,23 @@ with lib; let cfg = config.mjallen.theme; - mkPalettePath = name: - lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/${name}.nix"; + mkPalettePath = name: lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/${name}.nix"; - cap = s: let - len = builtins.stringLength s; - in - (lib.toUpper (builtins.substring 0 1 s)) - + (builtins.substring 1 (len - 1) s); + cap = + s: + let + len = builtins.stringLength s; + in + (lib.toUpper (builtins.substring 0 1 s)) + (builtins.substring 1 (len - 1) s); in { options.mjallen.theme = { name = mkOption { - type = types.enum [ "nord" "dracula" "everforest" ]; + type = types.enum [ + "nord" + "dracula" + "everforest" + ]; default = "nord"; description = "Global theme palette name."; }; @@ -51,25 +55,47 @@ in # e.g. Colloid-Dark-Compact-* color = mkOption { - type = types.enum [ "dark" "light" ]; + type = types.enum [ + "dark" + "light" + ]; default = "dark"; description = "GTK color variant."; }; size = mkOption { - type = types.enum [ "standard" "compact" ]; + type = types.enum [ + "standard" + "compact" + ]; default = "compact"; description = "GTK size variant."; }; accent = mkOption { - type = types.enum [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ]; + type = types.enum [ + "default" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "teal" + "grey" + "all" + ]; default = "all"; description = "GTK accent (Colloid themeVariants)."; }; tweak = mkOption { - type = types.enum [ "normal" "rimless" "float" "black" ]; + type = types.enum [ + "normal" + "rimless" + "float" + "black" + ]; default = "normal"; description = "GTK tweak (Colloid tweaks)."; }; @@ -84,13 +110,31 @@ in icons = { # Colloid icon scheme usually supports several named schemes. Default follows palette name. scheme = mkOption { - type = types.enum [ "default" "nord" "dracula" "gruvbox" "everforest" "catppuccin" ]; + type = types.enum [ + "default" + "nord" + "dracula" + "gruvbox" + "everforest" + "catppuccin" + ]; default = cfg.name; description = "Icon scheme to use (Colloid schemeVariants)."; }; variant = mkOption { - type = types.enum [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ]; + type = types.enum [ + "default" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "teal" + "grey" + "all" + ]; default = "all"; description = "Icon variant (Colloid colorVariants)."; }; @@ -110,7 +154,10 @@ in # Pull tokens directly from the palette file for convenience mjallen.theme.tokens = mkDefault ( - let pal = import cfg.paletteFile; in pal.tokens or { } + let + pal = import cfg.paletteFile; + in + pal.tokens or { } ); # Expose the imported palette for convenience @@ -129,12 +176,16 @@ in # Computed GTK/Icon theme names if not overridden _module.args.mjallenThemeComputed = { gtkTheme = - if cfg.gtk.themeName != null then cfg.gtk.themeName - else "Colloid-${cap cfg.gtk.color}-${cap cfg.gtk.size}"; + if cfg.gtk.themeName != null then + cfg.gtk.themeName + else + "Colloid-${cap cfg.gtk.color}-${cap cfg.gtk.size}"; iconTheme = - if cfg.icons.themeName != null then cfg.icons.themeName - else "Colloid-${cap cfg.icons.scheme}-${cap cfg.gtk.color}"; + if cfg.icons.themeName != null then + cfg.icons.themeName + else + "Colloid-${cap cfg.icons.scheme}-${cap cfg.gtk.color}"; }; }; } diff --git a/modules/home/desktop/theme/palettes/dracula.nix b/modules/home/desktop/theme/palettes/dracula.nix index 357f69a..3707213 100644 --- a/modules/home/desktop/theme/palettes/dracula.nix +++ b/modules/home/desktop/theme/palettes/dracula.nix @@ -11,11 +11,11 @@ rec { textMuted = "#e2e2dc"; primary = "#6272a4"; # dark blue - info = "#8be9fd"; # cyan - accent = "#bd93f9"; # purple + info = "#8be9fd"; # cyan + accent = "#bd93f9"; # purple success = "#50fa7b"; # green warning = "#f1fa8c"; # yellow - danger = "#ff5555"; # red + danger = "#ff5555"; # red }; # Shared styling tokens for CSS consumers diff --git a/modules/home/desktop/theme/palettes/everforest.nix b/modules/home/desktop/theme/palettes/everforest.nix index 73e878b..2d0ada6 100644 --- a/modules/home/desktop/theme/palettes/everforest.nix +++ b/modules/home/desktop/theme/palettes/everforest.nix @@ -11,11 +11,11 @@ rec { textMuted = "#9da9a0"; primary = "#7fbbb3"; # blue/aqua - info = "#83c092"; # teal - accent = "#d699b6"; # magenta + info = "#83c092"; # teal + accent = "#d699b6"; # magenta success = "#a7c080"; # green warning = "#dbbc7f"; # yellow - danger = "#e67e80"; # red + danger = "#e67e80"; # red }; # Shared styling tokens for CSS consumers diff --git a/modules/home/desktop/theme/palettes/nord.nix b/modules/home/desktop/theme/palettes/nord.nix index cb3590f..0b25fd7 100644 --- a/modules/home/desktop/theme/palettes/nord.nix +++ b/modules/home/desktop/theme/palettes/nord.nix @@ -11,11 +11,11 @@ rec { textMuted = "#e5e9f0"; primary = "#5e81ac"; # blue - info = "#88c0d0"; # cyan/teal - accent = "#b48ead"; # purple + info = "#88c0d0"; # cyan/teal + accent = "#b48ead"; # purple success = "#a3be8c"; # green warning = "#ebcb8b"; # yellow - danger = "#bf616a"; # red + danger = "#bf616a"; # red }; # Shared styling tokens for CSS consumers diff --git a/modules/home/programs/hyprland/default.nix b/modules/home/programs/hyprland/default.nix index cff4d0e..e2989e6 100644 --- a/modules/home/programs/hyprland/default.nix +++ b/modules/home/programs/hyprland/default.nix @@ -374,10 +374,17 @@ in scale ]; # Append transform only when set, as "transform, " - 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 = { diff --git a/modules/home/programs/waybar/default.nix b/modules/home/programs/waybar/default.nix index 2d0f3ef..fb4ac07 100755 --- a/modules/home/programs/waybar/default.nix +++ b/modules/home/programs/waybar/default.nix @@ -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 = "{calendar}"; - calendar = { - mode = "month"; - format = { - months = "{}"; - days = "{}"; - weekdays = "{}"; - today = "{}"; - }; - }; - }; - }) + (mkIf cfg.features.clock.enable { + clock = { + format = "{:%I:%M %p}"; + tooltip-format = "{calendar}"; + calendar = { + mode = "month"; + format = { + months = "{}"; + days = "{}"; + weekdays = "{}"; + today = "{}"; + }; + }; + }; + }) - (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 ""); }; }; } diff --git a/modules/home/programs/waybar/options.nix b/modules/home/programs/waybar/options.nix index b57da89..a1290e0 100644 --- a/modules/home/programs/waybar/options.nix +++ b/modules/home/programs/waybar/options.nix @@ -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 = { }; }; }; diff --git a/packages/steamdeck-bios-manager/default.nix b/packages/steamdeck-bios-manager/default.nix index cf4215e..1c751df 100644 --- a/packages/steamdeck-bios-manager/default.nix +++ b/packages/steamdeck-bios-manager/default.nix @@ -1,8 +1,9 @@ -{ lib -, stdenv -, fetchFromGitHub -, pciutils -, bash +{ + lib, + stdenv, + fetchFromGitHub, + pciutils, + bash, }: stdenv.mkDerivation { @@ -36,7 +37,7 @@ stdenv.mkDerivation { homepage = "https://github.com/ryanrudolfoba/SteamDeck-BIOS-Manager"; license = licenses.agpl3Only; platforms = platforms.linux; - maintainers = []; + maintainers = [ ]; sourceProvenance = with sourceTypes; [ ]; }; } diff --git a/systems/x86_64-linux/steamdeck/boot.nix b/systems/x86_64-linux/steamdeck/boot.nix index 587850c..6ce3b37 100755 --- a/systems/x86_64-linux/steamdeck/boot.nix +++ b/systems/x86_64-linux/steamdeck/boot.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, ... }: +{ pkgs, ... }: let kernel = pkgs.linuxPackages_cachyos; in diff --git a/systems/x86_64-linux/steamdeck/jovian.nix b/systems/x86_64-linux/steamdeck/jovian.nix index c5ae3f1..38175c8 100755 --- a/systems/x86_64-linux/steamdeck/jovian.nix +++ b/systems/x86_64-linux/steamdeck/jovian.nix @@ -1,6 +1,12 @@ -{ config, lib, pkgs, ... }: { - services.greetd.settings.default_session.command = lib.mkForce ''${lib.getExe' pkgs.coreutils "env"} XCURSOR_THEME="''${XCURSOR_THEME:-Pop}" ${lib.getExe' config.services.displayManager.cosmic-greeter.package "cosmic-greeter-start"}''; + config, + lib, + pkgs, + ... +}: +{ + services.greetd.settings.default_session.command = + lib.mkForce ''${lib.getExe' pkgs.coreutils "env"} XCURSOR_THEME="''${XCURSOR_THEME:-Pop}" ${lib.getExe' config.services.displayManager.cosmic-greeter.package "cosmic-greeter-start"}''; services.greetd.settings.default_session.user = lib.mkForce "cosmic-greeter"; jovian = { steam = {