diff --git a/modules/nixos/desktop/addons/hypridle/default.nix b/modules/nixos/desktop/addons/hypridle/default.nix index 2f2e99c..a242827 100644 --- a/modules/nixos/desktop/addons/hypridle/default.nix +++ b/modules/nixos/desktop/addons/hypridle/default.nix @@ -30,7 +30,7 @@ in listener = [ { timeout = 900; - on-timeout = "hyprlock"; + on-timeout = "loginctl lock-session"; } { timeout = 1200; diff --git a/modules/nixos/desktop/addons/hyprpanel/default.nix b/modules/nixos/desktop/addons/hyprpanel/default.nix new file mode 100644 index 0000000..32b62da --- /dev/null +++ b/modules/nixos/desktop/addons/hyprpanel/default.nix @@ -0,0 +1,614 @@ +{ + config, + lib, + namespace, + pkgs, + ... +}: +let + inherit (lib) + mkIf + mkEnableOption + mkMerge + mkOption + literalExpression + ; + + cfg = config.${namespace}.desktop.addons.hyprpanel; + username = config.${namespace}.user.name; + + settingsFormat = pkgs.formats.json { }; + + iconColor = "#242438"; + + light-cyan = "#73daca"; + lightBlue = "#414868"; + medium-blue = "#9aa5ce"; + cyan-blue = "#7dcfff"; + navy-blue = "#24283b"; + dark-blue = "#1a1b26"; + dark-blue-gray = "565f89"; + dark-blue-yankees = "#272a3d"; + blue-magenta = "#181825"; + + lightPurple = "#bb9af7"; + + lightRed = "#f7768e"; + red = "#c0caf5"; + + lightGreen = "#9ece6a"; + yellow = "#e0af68"; + + settings = { + tear = true; + scalingPriority = "hyprland"; + font.name = "CodeNewRoman Nerd Font Mono"; + + bar = { + customModules = { + updates.pollingInterval = 1440000; + ram = { + labelType = "used/total"; + icon = " "; + }; + cpu = { + label = true; + leftClick = "kitty --hold btop"; + icon = " "; + }; + }; + layouts = { + "0" = { + left = [ + "workspaces" + ]; + middle = [ + "windowtitle" + ]; + right = [ + "clock" + ]; + }; + "1" = { + left = [ + "dashboard" + "workspaces" + ]; + middle = [ + "windowtitle" + ]; + right = [ + "volume" + "bluetooth" + "battery" + "systray" + "cpu" + "ram" + "clock" + "notifications" + ]; + }; + }; + workspaces = { + showAllActive = true; + show_icons = false; + numbered_active_indicator = "underline"; + show_numbered = true; + showWsIcons = false; + showApplicationIcons = false; + hideUnoccupied = true; + }; + launcher = { + icon = "󱄅"; + rightClick = "hyprpanel -t settings-dialog"; + }; + scrollSpeed = 0; + windowtitle = { + class_name = false; + custom_title = false; + icon = false; + label = true; + title_map = [ + + ]; + truncation = true; + }; + network = { + label = false; + truncation = false; + }; + clock.format = "%a %b %d %H:%M:%S"; + notifications.show_total = true; + }; + + menus = { + clock.time.military = true; + dashboard = { + powermenu.avatar.image = "/home/cholli/Pictures/profile.png"; + + shortcuts.enabled = false; + directories.left = { + directory1.command = "kitty $HOME/Downloads"; + directory3.command = "kitty $HOME/projects"; + }; + + stats = { + enable_gpu = true; + enabled = false; + }; + controls.enabled = false; + }; + bluetooth = { + showBattery = true; + batteryState = "always"; + }; + transition = "crossfade"; + }; + + theme = { + bar = { + floating = true; + outer_spacing = "0.2em"; + buttons = { + enableBorders = true; + + workspaces = { + enableBorder = false; + fontSize = "1.2em"; + smartHighlight = false; + active = "#f7768e"; + occupied = "#f7768e"; + available = "#7dcfff"; + hover = "#f7768e"; + background = "#272a3d"; + numbered_active_highlighted_text_color = "#181825"; + numbered_active_underline_color = "#c678dd"; + border = "#f7768e"; + }; + modules = { + power = { + icon = "#181825"; + icon_background = "#f7768e"; + background = "#272a3d"; + border = "#f7768e"; + }; + ram = { + enableBorder = false; + spacing = "0.45em"; + icon = "#181825"; + icon_background = "#e0af68"; + text = "#e0af68"; + background = "#272a3d"; + border = "#e0af68"; + }; + cpu = { + enableBorder = false; + background = "#272a3d"; + icon = "#181825"; + icon_background = "#f7768e"; + text = "#f7768e"; + border = "#f7768e"; + }; + submap = { + background = "#272a3d"; + text = "#73daca"; + border = "#73daca"; + icon = "#181825"; + icon_background = "#73daca"; + }; + }; + + style = "split"; + icon = "#242438"; + icon_background = "#bb9af7"; + text = "#bb9af7"; + hover = "#414868"; + background = "#272a3d"; + dashboard = { + enableBorder = false; + icon = "#272a3d"; + background = "#e0af68"; + border = "#e0af68"; + }; + volume = { + icon = "#272a3d"; + text = "#f7768e"; + background = "#272a3d"; + icon_background = "#f7768e"; + border = "#f7768e"; + }; + notifications = { + total = "#bb9af7"; + icon = "#272a3d"; + background = "#272a3d"; + icon_background = "#bb9af7"; + border = "#bb9af7"; + }; + clock = { + icon = "#272a3d"; + text = "#f7768e"; + background = "#272a3d"; + icon_background = "#f7768e"; + border = "#f7768e"; + }; + systray = { + background = "#272a3d"; + border = "#414868"; + customIcon = "#c0caf5"; + }; + bluetooth = { + icon = "#272a3d"; + text = "#7dcfff"; + background = "#272a3d"; + icon_background = "#7dcfff"; + border = "#7dcfff"; + }; + windowtitle = { + icon = "#272a3d"; + text = "#f7768e"; + background = "#272a3d"; + icon_background = "#f7768e"; + border = "#f7768e"; + enableBorder = false; + }; + radius = "0.3em"; + borderSize = "0.0em"; + padding_x = "0.7rem"; + padding_y = "0.2rem"; + }; + + menus = { + monochrome = false; + opacity = 95; + menu = { + dashboard = { + powermenu = { + shutdown = "#f7768e"; + confirmation = { + deny = "#f7768e"; + confirm = "#9ece6a"; + button_text = "#1a1b26"; + body = "#c0caf5"; + label = "#bb9af7"; + border = "#414868"; + background = "#1a1b26"; + card = "#24283b"; + }; + sleep = "#7dcfff"; + logout = "#9ece6a"; + restart = "#e0af68"; + }; + monitors = { + ram = { + label = "#e0af68"; + bar = "#e0af68"; + icon = "#e0af68"; + }; + cpu = { + label = "#f7768e"; + bar = "#f7768e"; + icon = "#f7768e"; + }; + bar_background = "#414868"; + }; + directories = { + right = { + bottom.color = "#bb9af7"; + middle.color = "#bb9af7"; + top.color = "#73daca"; + }; + left = { + bottom.color = "#f7768e"; + middle.color = "#e0af68"; + top.color = "#f7768e"; + }; + }; + controls = { + input = { + text = "#1a1b26"; + background = "#f7768e"; + }; + volume = { + text = "#1a1b26"; + background = "#f7768e"; + }; + notifications = { + text = "#1a1b26"; + background = "#e0af68"; + }; + bluetooth = { + text = "#1a1b26"; + background = "#7dcfff"; + }; + disabled = "#414868"; + }; + profile.name = "#f7768e"; + border.color = "#414868"; + background.color = "#1a1b26"; + card.color = "#24283b"; + }; + notifications = { + switch = { + puck = "#565f89"; + disabled = "#565f89"; + enabled = "#bb9af7"; + }; + clear = "#f7768e"; + switch_divider = "#414868"; + border = "#414868"; + card = "#24283b"; + background = "#1a1b26"; + no_notifications_label = "#414868"; + label = "#bb9af7"; + scrollbar.color = "#bb9af7"; + pager = { + button = "#bb9af7"; + label = "#565f89"; + background = "#1a1b26"; + }; + }; + clock = { + text = "#c0caf5"; + border.color = "#414868"; + background.color = "#1a1b26"; + card.color = "#24283b"; + + calendar = { + contextdays = "#414868"; + days = "#c0caf5"; + currentday = "#f7768e"; + paginator = "#f7768e"; + weekdays = "#f7768e"; + yearmonth = "#73daca"; + }; + time = { + timeperiod = "#73daca"; + time = "#f7768e"; + }; + }; + systray = { + dropdownmenu.divider = "#24283b"; + dropdownmenu.text = "#c0caf5"; + dropdownmenu.background = "#1a1b26"; + }; + bluetooth = { + iconbutton = { + active = "#7dcfff"; + passive = "#c0caf5"; + }; + icons = { + active = "#7dcfff"; + passive = "#565f89"; + }; + listitems = { + active = "#7dcfff"; + passive = "#c0caf5"; + }; + switch = { + puck = "#565f89"; + disabled = "#565f89"; + enabled = "#7dcfff"; + }; + switch_divider = "#414868"; + status = "#565f89"; + text = "#c0caf5"; + label.color = "#7dcfff"; + border.color = "#414868"; + background.color = "#1a1b26"; + card.color = "#24283b"; + }; + volume = { + text = "#c0caf5"; + card.color = "#24283b"; + label.color = "#f7768e"; + input_slider = { + puck = "#414868"; + backgroundhover = "#414868"; + background = "#565f89"; + primary = "#f7768e"; + }; + audio_slider = { + puck = "#414868"; + backgroundhover = "#414868"; + background = "#565f89"; + primary = "#f7768e"; + }; + icons = { + active = "#f7768e"; + passive = "#565f89"; + }; + iconbutton = { + active = "#f7768e"; + passive = "#c0caf5"; + }; + listitems = { + active = "#f7768e"; + passive = "#c0caf5"; + }; + border.color = "#414868"; + background.color = "#1a1b26"; + }; + media = { + card.color = "#24283b"; + slider = { + puck = "#565f89"; + backgroundhover = "#414868"; + background = "#565f89"; + primary = "#f7768e"; + }; + buttons = { + text = "#1a1b26"; + background = "#bb9af7"; + enabled = "#73daca"; + inactive = "#414868"; + }; + border.color = "#414868"; + background.color = "#1a1b26"; + album = "#f7768e"; + artist = "#73daca"; + song = "#bb9af7"; + }; + power = { + border.color = "#414868"; + buttons = { + sleep = { + icon_background = "#7dcfff"; + text = "#7dcfff"; + background = "#24283b"; + icon = "#1a1b26"; + }; + restart = { + text = "#e0af68"; + icon_background = "#e0af68"; + icon = "#1a1b26"; + background = "#24283b"; + }; + shutdown = { + icon = "#1a1b26"; + background = "#24283b"; + icon_background = "#f7768e"; + text = "#f7768e"; + }; + logout = { + icon = "#1a1b26"; + background = "#24283b"; + text = "#9ece6a"; + icon_background = "#9ece6a"; + }; + }; + background.color = "#1a1b26"; + scaling = 90; + }; + }; + background = "#1a1b26"; + text = "#c0caf5"; + border.color = "#414868"; + popover = { + text = "#bb9af7"; + background = "#1a1b26"; + border = "#1a1b26"; + }; + tooltip = { + text = "#c0caf5"; + background = "#1a1b26"; + }; + dropdownmenu = { + divider = "#24283b"; + text = "#c0caf5"; + background = "#1a1b26"; + }; + slider = { + puck = "#565f89"; + backgroundhover = "#414868"; + background = "#565f89"; + primary = "#bb9af7"; + }; + progressbar = { + background = "#414868"; + foreground = "#bb9af7"; + }; + iconbuttons = { + active = "#bb9af7"; + passive = "#c0caf5"; + }; + buttons = { + text = "#1a1b26"; + disabled = "#565f89"; + active = "#f7768e"; + default = "#bb9af7"; + }; + switch = { + puck = "#565f89"; + disabled = "#565f89"; + enabled = "#bb9af7"; + }; + icons = { + active = "#bb9af7"; + passive = "#414868"; + }; + listitems = { + active = "#bb9af7"; + passive = "#c0caf5"; + }; + label = "#bb9af7"; + feinttext = "#414868"; + dimtext = "#414868"; + cards = "#24283b"; + check_radio_button.background = "#3b4261"; + check_radio_button.active = "#bb9af7"; + }; + transparent = true; + background = "#1a1b26"; + margin_sides = "0.0em"; + location = "top"; + }; + osd = { + monitor = 1; + muted_zero = true; + label = "#bb9af7"; + icon = "#1a1b26"; + bar_overflow_color = "#f7768e"; + bar_empty_color = "#414868"; + bar_color = "#bb9af7"; + icon_container = "#bb9af7"; + bar_container = "#1a1b26"; + }; + notification = { + close_button.label = "#1a1b26"; + close_button.background = "#f7768e"; + labelicon = "#bb9af7"; + text = "#c0caf5"; + time = "#9aa5ce"; + border = "#565f89"; + label = "#bb9af7"; + actions.text = "#24283b"; + actions.background = "#bb9af7"; + background = "#1a1b26"; + }; + font.size = "1.3rem"; + }; + notifications = { + monitor = 1; + active_monitor = false; + }; + wallpaper = { + pywal = false; + image = "/home/cholli/Pictures/firewatch.jpg"; + enable = false; + }; + }; +in +{ + options.${namespace}.desktop.addons.hyprpanel = { + enable = mkEnableOption "Enable HyprIdle"; + extraSettings = mkOption { + default = { }; + inherit (settingsFormat) type; + description = '' + Additional Options to pass to hyprpanel + ''; + example = literalExpression '' + { + + } + ''; + }; + }; + + config = mkIf cfg.enable { + + snowfallorg.users.${username}.home.config = { + wayland.windowManager.hyprland.settings.exec-once = [ + "${pkgs.hyprpanel}/bin/hyprpanel" + ]; + }; + + ${namespace}.home.file = { + ".cache/ags/hyprpanel/options_test.json" = { + + # source = pkgs.formats.json.generate "options.json" settings; + text = builtins.toJSON settings; + }; + }; + }; +} diff --git a/modules/nixos/desktop/addons/hyprpanel/options.json b/modules/nixos/desktop/addons/hyprpanel/options.json deleted file mode 100644 index 448ecab..0000000 --- a/modules/nixos/desktop/addons/hyprpanel/options.json +++ /dev/null @@ -1,459 +0,0 @@ -{ - "bar.customModules.updates.pollingInterval": 1440000, - "menus.clock.time.military": true, - "bar.layouts": { - "0": { - "left": [ - "workspaces" - ], - "middle": [ - "windowtitle" - ], - "right": [ - "clock" - ] - }, - "1": { - "left": [ - "dashboard", - "workspaces" - ], - "middle": [ - "windowtitle" - ], - "right": [ - "volume", - "bluetooth", - "battery", - "systray", - "cpu", - "ram", - "clock", - "notifications" - ] - } - }, - "theme.bar.floating": true, - "theme.bar.buttons.enableBorders": false, - "wallpaper.pywal": false, - "bar.workspaces.showAllActive": true, - "bar.workspaces.show_icons": false, - "bar.launcher.icon": "󱄅", - "theme.bar.buttons.dashboard.enableBorder": false, - "theme.bar.outer_spacing": "0.2em", - "theme.bar.buttons.workspaces.enableBorder": false, - "theme.bar.buttons.workspaces.fontSize": "1.2em", - "bar.workspaces.numbered_active_indicator": "underline", - "bar.scrollSpeed": 0, - "menus.dashboard.powermenu.avatar.image": "/home/cholli/Pictures/profile.png", - "menus.dashboard.shortcuts.enabled": true, - "menus.dashboard.directories.left.directory3.command": "bash -c \"xdg-open $HOME/projects/\"", - "menus.dashboard.directories.left.directory1.command": "bash -c \"xdg-open $HOME/Downloads/\"", - "menus.dashboard.stats.enable_gpu": true, - "menus.clock.weather.location": "Heidelberg", - "menus.clock.weather.unit": "metric", - "menus.clock.weather.enabled": false, - "theme.osd.monitor": 1, - "theme.font.name": "CodeNewRoman Nerd Font", - "bar.workspaces.show_numbered": true, - "bar.workspaces.showWsIcons": false, - "bar.workspaces.showApplicationIcons": false, - "theme.bar.buttons.workspaces.smartHighlight": false, - "bar.windowtitle.class_name": false, - "bar.windowtitle.custom_title": false, - "bar.windowtitle.icon": false, - "bar.network.label": false, - "bar.network.truncation": false, - "bar.clock.format": "%a %b %d %H:%M:%S %p", - "bar.notifications.show_total": true, - "notifications.monitor": 1, - "notifications.active_monitor": false, - "theme.osd.muted_zero": true, - "menus.bluetooth.showBattery": true, - "theme.bar.buttons.modules.ram.enableBorder": false, - "theme.bar.buttons.modules.cpu.enableBorder": false, - "theme.bar.buttons.modules.ram.spacing": "0.85em", - "theme.bar.buttons.modules.storage.enableBorder": false, - "wallpaper.image": "/home/cholli/Pictures/firewatch.jpg", - "theme.bar.menus.monochrome": false, - "theme.bar.menus.opacity": 95, - "wallpaper.enable": false, - "theme.bar.transparent": true, - "theme.bar.buttons.style": "split", - "menus.dashboard.shortcuts.left.shortcut1.command": "", - "menus.dashboard.shortcuts.left.shortcut1.icon": "", - "menus.dashboard.shortcuts.left.shortcut1.tooltip": "", - "menus.dashboard.shortcuts.left.shortcut2.tooltip": "", - "menus.dashboard.shortcuts.left.shortcut2.command": "", - "menus.dashboard.shortcuts.left.shortcut2.icon": "", - "menus.dashboard.shortcuts.right.shortcut3.command": "", - "menus.dashboard.shortcuts.right.shortcut1.icon": "", - "menus.dashboard.shortcuts.right.shortcut1.command": "", - "menus.dashboard.shortcuts.right.shortcut1.tooltip": "", - "menus.dashboard.shortcuts.right.shortcut3.icon": "", - "menus.dashboard.shortcuts.right.shortcut3.tooltip": "", - "menus.dashboard.shortcuts.left.shortcut4.icon": "", - "menus.dashboard.shortcuts.left.shortcut4.command": "", - "menus.dashboard.shortcuts.left.shortcut4.tooltip": "", - "menus.dashboard.shortcuts.left.shortcut3.icon": "", - "menus.dashboard.shortcuts.left.shortcut3.command": "", - "menus.dashboard.shortcuts.left.shortcut3.tooltip": "", - "menus.dashboard.controls.enabled": false, - "menus.dashboard.stats.enabled": false, - "theme.matugen": false, - "theme.matugen_settings.scheme_type": "expressive", - "theme.matugen_settings.variation": "standard_2", - "bar.customModules.storage.labelType": "percentage", - "bar.customModules.ram.labelType": "used/total", - "theme.bar.menus.menu.media.card.color": "#24283b", - "theme.bar.menus.background": "#1a1b26", - "theme.bar.background": "#1a1b26", - "theme.bar.buttons.media.icon": "#272a3d", - "theme.bar.buttons.media.text": "#bb9af7", - "theme.bar.buttons.icon": "#242438", - "theme.bar.buttons.text": "#bb9af7", - "theme.bar.buttons.hover": "#414868", - "theme.bar.buttons.background": "#272a3d", - "theme.bar.menus.text": "#c0caf5", - "theme.bar.menus.border.color": "#414868", - "theme.bar.buttons.media.background": "#272a3d", - "theme.bar.menus.menu.volume.text": "#c0caf5", - "theme.bar.menus.menu.volume.card.color": "#24283b", - "theme.bar.menus.menu.volume.label.color": "#f7768e", - "theme.bar.menus.popover.text": "#bb9af7", - "theme.bar.menus.popover.background": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.shutdown": "#f7768e", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.deny": "#f7768e", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm": "#9ece6a", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.body": "#c0caf5", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.label": "#bb9af7", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.border": "#414868", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.background": "#1a1b26", - "theme.bar.menus.menu.dashboard.powermenu.confirmation.card": "#24283b", - "theme.bar.menus.menu.notifications.switch.puck": "#565f89", - "theme.bar.menus.menu.notifications.switch.disabled": "#565f89", - "theme.bar.menus.menu.notifications.switch.enabled": "#bb9af7", - "theme.bar.menus.menu.notifications.clear": "#f7768e", - "theme.bar.menus.menu.notifications.switch_divider": "#414868", - "theme.bar.menus.menu.notifications.border": "#414868", - "theme.bar.menus.menu.notifications.card": "#24283b", - "theme.bar.menus.menu.notifications.background": "#1a1b26", - "theme.bar.menus.menu.notifications.no_notifications_label": "#414868", - "theme.bar.menus.menu.notifications.label": "#bb9af7", - "theme.bar.menus.menu.dashboard.monitors.disk.label": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.disk.bar": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.disk.icon": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.gpu.label": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.gpu.bar": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.gpu.icon": "#9ece6a", - "theme.bar.menus.menu.dashboard.monitors.ram.label": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.ram.bar": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.ram.icon": "#e0af68", - "theme.bar.menus.menu.dashboard.monitors.cpu.label": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.cpu.bar": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.cpu.icon": "#f7768e", - "theme.bar.menus.menu.dashboard.monitors.bar_background": "#414868", - "theme.bar.menus.menu.dashboard.directories.right.bottom.color": "#bb9af7", - "theme.bar.menus.menu.dashboard.directories.right.middle.color": "#bb9af7", - "theme.bar.menus.menu.dashboard.directories.right.top.color": "#73daca", - "theme.bar.menus.menu.dashboard.directories.left.bottom.color": "#f7768e", - "theme.bar.menus.menu.dashboard.directories.left.middle.color": "#e0af68", - "theme.bar.menus.menu.dashboard.directories.left.top.color": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.input.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.input.background": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.volume.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.volume.background": "#f7768e", - "theme.bar.menus.menu.dashboard.controls.notifications.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.notifications.background": "#e0af68", - "theme.bar.menus.menu.dashboard.controls.bluetooth.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.bluetooth.background": "#7dcfff", - "theme.bar.menus.menu.dashboard.controls.wifi.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.controls.wifi.background": "#bb9af7", - "theme.bar.menus.menu.dashboard.controls.disabled": "#414868", - "theme.bar.menus.menu.dashboard.shortcuts.recording": "#9ece6a", - "theme.bar.menus.menu.dashboard.shortcuts.text": "#1a1b26", - "theme.bar.menus.menu.dashboard.shortcuts.background": "#bb9af7", - "theme.bar.menus.menu.dashboard.powermenu.sleep": "#7dcfff", - "theme.bar.menus.menu.dashboard.powermenu.logout": "#9ece6a", - "theme.bar.menus.menu.dashboard.powermenu.restart": "#e0af68", - "theme.bar.menus.menu.dashboard.profile.name": "#f7768e", - "theme.bar.menus.menu.dashboard.border.color": "#414868", - "theme.bar.menus.menu.dashboard.background.color": "#1a1b26", - "theme.bar.menus.menu.dashboard.card.color": "#24283b", - "theme.bar.menus.menu.clock.weather.hourly.temperature": "#f7768e", - "theme.bar.menus.menu.clock.weather.hourly.icon": "#f7768e", - "theme.bar.menus.menu.clock.weather.hourly.time": "#f7768e", - "theme.bar.menus.menu.clock.weather.thermometer.extremelycold": "#7dcfff", - "theme.bar.menus.menu.clock.weather.thermometer.cold": "#7aa2f7", - "theme.bar.menus.menu.clock.weather.thermometer.moderate": "#bb9af7", - "theme.bar.menus.menu.clock.weather.thermometer.hot": "#e0af68", - "theme.bar.menus.menu.clock.weather.thermometer.extremelyhot": "#f7768e", - "theme.bar.menus.menu.clock.weather.stats": "#f7768e", - "theme.bar.menus.menu.clock.weather.status": "#73daca", - "theme.bar.menus.menu.clock.weather.temperature": "#c0caf5", - "theme.bar.menus.menu.clock.weather.icon": "#f7768e", - "theme.bar.menus.menu.clock.calendar.contextdays": "#414868", - "theme.bar.menus.menu.clock.calendar.days": "#c0caf5", - "theme.bar.menus.menu.clock.calendar.currentday": "#f7768e", - "theme.bar.menus.menu.clock.calendar.paginator": "#f7768e", - "theme.bar.menus.menu.clock.calendar.weekdays": "#f7768e", - "theme.bar.menus.menu.clock.calendar.yearmonth": "#73daca", - "theme.bar.menus.menu.clock.time.timeperiod": "#73daca", - "theme.bar.menus.menu.clock.time.time": "#f7768e", - "theme.bar.menus.menu.clock.text": "#c0caf5", - "theme.bar.menus.menu.clock.border.color": "#414868", - "theme.bar.menus.menu.clock.background.color": "#1a1b26", - "theme.bar.menus.menu.clock.card.color": "#24283b", - "theme.bar.menus.menu.battery.slider.puck": "#565f89", - "theme.bar.menus.menu.battery.slider.backgroundhover": "#414868", - "theme.bar.menus.menu.battery.slider.background": "#565f89", - "theme.bar.menus.menu.battery.slider.primary": "#e0af68", - "theme.bar.menus.menu.battery.icons.active": "#e0af68", - "theme.bar.menus.menu.battery.icons.passive": "#565f89", - "theme.bar.menus.menu.battery.listitems.active": "#e0af68", - "theme.bar.menus.menu.battery.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.battery.text": "#c0caf5", - "theme.bar.menus.menu.battery.label.color": "#e0af68", - "theme.bar.menus.menu.battery.border.color": "#414868", - "theme.bar.menus.menu.battery.background.color": "#1a1b26", - "theme.bar.menus.menu.battery.card.color": "#24283b", - "theme.bar.menus.menu.systray.dropdownmenu.divider": "#24283b", - "theme.bar.menus.menu.systray.dropdownmenu.text": "#c0caf5", - "theme.bar.menus.menu.systray.dropdownmenu.background": "#1a1b26", - "theme.bar.menus.menu.bluetooth.iconbutton.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.iconbutton.passive": "#c0caf5", - "theme.bar.menus.menu.bluetooth.icons.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.icons.passive": "#565f89", - "theme.bar.menus.menu.bluetooth.listitems.active": "#7dcfff", - "theme.bar.menus.menu.bluetooth.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.bluetooth.switch.puck": "#565f89", - "theme.bar.menus.menu.bluetooth.switch.disabled": "#565f89", - "theme.bar.menus.menu.bluetooth.switch.enabled": "#7dcfff", - "theme.bar.menus.menu.bluetooth.switch_divider": "#414868", - "theme.bar.menus.menu.bluetooth.status": "#565f89", - "theme.bar.menus.menu.bluetooth.text": "#c0caf5", - "theme.bar.menus.menu.bluetooth.label.color": "#7dcfff", - "theme.bar.menus.menu.bluetooth.border.color": "#414868", - "theme.bar.menus.menu.bluetooth.background.color": "#1a1b26", - "theme.bar.menus.menu.bluetooth.card.color": "#24283b", - "theme.bar.menus.menu.network.iconbuttons.active": "#bb9af7", - "theme.bar.menus.menu.network.iconbuttons.passive": "#c0caf5", - "theme.bar.menus.menu.network.icons.active": "#bb9af7", - "theme.bar.menus.menu.network.icons.passive": "#565f89", - "theme.bar.menus.menu.network.listitems.active": "#bb9af7", - "theme.bar.menus.menu.network.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.network.status.color": "#565f89", - "theme.bar.menus.menu.network.text": "#c0caf5", - "theme.bar.menus.menu.network.label.color": "#bb9af7", - "theme.bar.menus.menu.network.border.color": "#414868", - "theme.bar.menus.menu.network.background.color": "#1a1b26", - "theme.bar.menus.menu.network.card.color": "#24283b", - "theme.bar.menus.menu.volume.input_slider.puck": "#414868", - "theme.bar.menus.menu.volume.input_slider.backgroundhover": "#414868", - "theme.bar.menus.menu.volume.input_slider.background": "#565f89", - "theme.bar.menus.menu.volume.input_slider.primary": "#f7768e", - "theme.bar.menus.menu.volume.audio_slider.puck": "#414868", - "theme.bar.menus.menu.volume.audio_slider.backgroundhover": "#414868", - "theme.bar.menus.menu.volume.audio_slider.background": "#565f89", - "theme.bar.menus.menu.volume.audio_slider.primary": "#f7768e", - "theme.bar.menus.menu.volume.icons.active": "#f7768e", - "theme.bar.menus.menu.volume.icons.passive": "#565f89", - "theme.bar.menus.menu.volume.iconbutton.active": "#f7768e", - "theme.bar.menus.menu.volume.iconbutton.passive": "#c0caf5", - "theme.bar.menus.menu.volume.listitems.active": "#f7768e", - "theme.bar.menus.menu.volume.listitems.passive": "#c0caf5", - "theme.bar.menus.menu.volume.border.color": "#414868", - "theme.bar.menus.menu.volume.background.color": "#1a1b26", - "theme.bar.menus.menu.media.slider.puck": "#565f89", - "theme.bar.menus.menu.media.slider.backgroundhover": "#414868", - "theme.bar.menus.menu.media.slider.background": "#565f89", - "theme.bar.menus.menu.media.slider.primary": "#f7768e", - "theme.bar.menus.menu.media.buttons.text": "#1a1b26", - "theme.bar.menus.menu.media.buttons.background": "#bb9af7", - "theme.bar.menus.menu.media.buttons.enabled": "#73daca", - "theme.bar.menus.menu.media.buttons.inactive": "#414868", - "theme.bar.menus.menu.media.border.color": "#414868", - "theme.bar.menus.menu.media.background.color": "#1a1b26", - "theme.bar.menus.menu.media.album": "#f7768e", - "theme.bar.menus.menu.media.artist": "#73daca", - "theme.bar.menus.menu.media.song": "#bb9af7", - "theme.bar.menus.tooltip.text": "#c0caf5", - "theme.bar.menus.tooltip.background": "#1a1b26", - "theme.bar.menus.dropdownmenu.divider": "#24283b", - "theme.bar.menus.dropdownmenu.text": "#c0caf5", - "theme.bar.menus.dropdownmenu.background": "#1a1b26", - "theme.bar.menus.slider.puck": "#565f89", - "theme.bar.menus.slider.backgroundhover": "#414868", - "theme.bar.menus.slider.background": "#565f89", - "theme.bar.menus.slider.primary": "#bb9af7", - "theme.bar.menus.progressbar.background": "#414868", - "theme.bar.menus.progressbar.foreground": "#bb9af7", - "theme.bar.menus.iconbuttons.active": "#bb9af7", - "theme.bar.menus.iconbuttons.passive": "#c0caf5", - "theme.bar.menus.buttons.text": "#1a1b26", - "theme.bar.menus.buttons.disabled": "#565f89", - "theme.bar.menus.buttons.active": "#f7768e", - "theme.bar.menus.buttons.default": "#bb9af7", - "theme.bar.menus.switch.puck": "#565f89", - "theme.bar.menus.switch.disabled": "#565f89", - "theme.bar.menus.switch.enabled": "#bb9af7", - "theme.bar.menus.icons.active": "#bb9af7", - "theme.bar.menus.icons.passive": "#414868", - "theme.bar.menus.listitems.active": "#bb9af7", - "theme.bar.menus.listitems.passive": "#c0caf5", - "theme.bar.menus.label": "#bb9af7", - "theme.bar.menus.feinttext": "#414868", - "theme.bar.menus.dimtext": "#414868", - "theme.bar.menus.cards": "#24283b", - "theme.bar.buttons.notifications.total": "#bb9af7", - "theme.bar.buttons.notifications.icon": "#272a3d", - "theme.bar.buttons.notifications.background": "#272a3d", - "theme.bar.buttons.clock.icon": "#272a3d", - "theme.bar.buttons.clock.text": "#f7768e", - "theme.bar.buttons.clock.background": "#272a3d", - "theme.bar.buttons.battery.icon": "#272a3d", - "theme.bar.buttons.battery.text": "#e0af68", - "theme.bar.buttons.battery.background": "#272a3d", - "theme.bar.buttons.systray.background": "#272a3d", - "theme.bar.buttons.bluetooth.icon": "#272a3d", - "theme.bar.buttons.bluetooth.text": "#7dcfff", - "theme.bar.buttons.bluetooth.background": "#272a3d", - "theme.bar.buttons.network.icon": "#272a3d", - "theme.bar.buttons.network.text": "#bb9af7", - "theme.bar.buttons.network.background": "#272a3d", - "theme.bar.buttons.volume.icon": "#272a3d", - "theme.bar.buttons.volume.text": "#f7768e", - "theme.bar.buttons.volume.background": "#272a3d", - "theme.bar.buttons.windowtitle.icon": "#272a3d", - "theme.bar.buttons.windowtitle.text": "#f7768e", - "theme.bar.buttons.windowtitle.background": "#272a3d", - "theme.bar.buttons.workspaces.active": "#f7768e", - "theme.bar.buttons.workspaces.occupied": "#f7768e", - "theme.bar.buttons.workspaces.available": "#7dcfff", - "theme.bar.buttons.workspaces.hover": "#f7768e", - "theme.bar.buttons.workspaces.background": "#272a3d", - "theme.bar.buttons.dashboard.icon": "#272a3d", - "theme.bar.buttons.dashboard.background": "#e0af68", - "theme.osd.label": "#bb9af7", - "theme.osd.icon": "#1a1b26", - "theme.osd.bar_overflow_color": "#f7768e", - "theme.osd.bar_empty_color": "#414868", - "theme.osd.bar_color": "#bb9af7", - "theme.osd.icon_container": "#bb9af7", - "theme.osd.bar_container": "#1a1b26", - "theme.notification.close_button.label": "#1a1b26", - "theme.notification.close_button.background": "#f7768e", - "theme.notification.labelicon": "#bb9af7", - "theme.notification.text": "#c0caf5", - "theme.notification.time": "#9aa5ce", - "theme.notification.border": "#565f89", - "theme.notification.label": "#bb9af7", - "theme.notification.actions.text": "#24283b", - "theme.notification.actions.background": "#bb9af7", - "theme.notification.background": "#1a1b26", - "theme.bar.buttons.workspaces.numbered_active_highlighted_text_color": "#181825", - "theme.bar.buttons.workspaces.numbered_active_underline_color": "#c678dd", - "theme.bar.menus.check_radio_button.background": "#3b4261", - "theme.bar.menus.check_radio_button.active": "#bb9af7", - "theme.bar.buttons.icon_background": "#bb9af7", - "theme.bar.buttons.volume.icon_background": "#f7768e", - "theme.bar.buttons.network.icon_background": "#bb9af7", - "theme.bar.buttons.bluetooth.icon_background": "#7dcfff", - "theme.bar.buttons.windowtitle.icon_background": "#f7768e", - "theme.bar.buttons.media.icon_background": "#bb9af7", - "theme.bar.buttons.notifications.icon_background": "#bb9af7", - "theme.bar.buttons.battery.icon_background": "#e0af68", - "theme.bar.buttons.clock.icon_background": "#f7768e", - "theme.bar.menus.menu.notifications.pager.button": "#bb9af7", - "theme.bar.menus.menu.notifications.scrollbar.color": "#bb9af7", - "theme.bar.menus.menu.notifications.pager.label": "#565f89", - "theme.bar.menus.menu.notifications.pager.background": "#1a1b26", - "theme.bar.buttons.modules.ram.icon": "#181825", - "theme.bar.buttons.modules.storage.icon_background": "#f7768e", - "theme.bar.menus.popover.border": "#1a1b26", - "theme.bar.menus.menu.power.buttons.sleep.icon_background": "#7dcfff", - "theme.bar.menus.menu.power.buttons.restart.text": "#e0af68", - "theme.bar.buttons.modules.updates.background": "#272a3d", - "theme.bar.buttons.modules.storage.icon": "#181825", - "theme.bar.buttons.modules.netstat.background": "#272a3d", - "theme.bar.buttons.modules.weather.icon": "#272a3d", - "theme.bar.buttons.modules.netstat.text": "#9ece6a", - "theme.bar.buttons.modules.storage.background": "#272a3d", - "theme.bar.buttons.modules.power.icon": "#181825", - "theme.bar.buttons.modules.storage.text": "#f7768e", - "theme.bar.buttons.modules.cpu.background": "#272a3d", - "theme.bar.menus.menu.power.border.color": "#414868", - "theme.bar.buttons.modules.power.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.logout.icon": "#1a1b26", - "theme.bar.menus.menu.power.buttons.restart.icon_background": "#e0af68", - "theme.bar.menus.menu.power.buttons.restart.icon": "#1a1b26", - "theme.bar.buttons.modules.cpu.icon": "#181825", - "theme.bar.buttons.modules.kbLayout.icon_background": "#7dcfff", - "theme.bar.buttons.modules.weather.text": "#bb9af7", - "theme.bar.menus.menu.power.buttons.shutdown.icon": "#1a1b26", - "theme.bar.menus.menu.power.buttons.sleep.text": "#7dcfff", - "theme.bar.buttons.modules.weather.icon_background": "#bb9af7", - "theme.bar.menus.menu.power.buttons.shutdown.background": "#24283b", - "theme.bar.menus.menu.power.buttons.logout.background": "#24283b", - "theme.bar.buttons.modules.kbLayout.icon": "#181825", - "theme.bar.buttons.modules.ram.icon_background": "#e0af68", - "theme.bar.menus.menu.power.buttons.shutdown.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.shutdown.text": "#f7768e", - "theme.bar.menus.menu.power.buttons.sleep.background": "#24283b", - "theme.bar.buttons.modules.ram.text": "#e0af68", - "theme.bar.menus.menu.power.buttons.logout.text": "#9ece6a", - "theme.bar.buttons.modules.updates.icon_background": "#bb9af7", - "theme.bar.buttons.modules.kbLayout.background": "#272a3d", - "theme.bar.buttons.modules.power.background": "#272a3d", - "theme.bar.buttons.modules.weather.background": "#272a3d", - "theme.bar.menus.menu.power.background.color": "#1a1b26", - "theme.bar.buttons.modules.ram.background": "#272a3d", - "theme.bar.buttons.modules.netstat.icon": "#181825", - "theme.bar.buttons.modules.cpu.icon_background": "#f7768e", - "theme.bar.menus.menu.power.buttons.logout.icon_background": "#9ece6a", - "theme.bar.buttons.modules.updates.text": "#bb9af7", - "theme.bar.menus.menu.power.buttons.sleep.icon": "#1a1b26", - "theme.bar.menus.menu.power.buttons.restart.background": "#24283b", - "theme.bar.buttons.modules.updates.icon": "#181825", - "theme.bar.buttons.modules.cpu.text": "#f7768e", - "theme.bar.buttons.modules.netstat.icon_background": "#9ece6a", - "theme.bar.buttons.modules.kbLayout.text": "#7dcfff", - "theme.bar.buttons.modules.power.border": "#f7768e", - "theme.bar.buttons.modules.weather.border": "#bb9af7", - "theme.bar.buttons.modules.updates.border": "#bb9af7", - "theme.bar.buttons.modules.kbLayout.border": "#7dcfff", - "theme.bar.buttons.modules.netstat.border": "#9ece6a", - "theme.bar.buttons.modules.storage.border": "#f7768e", - "theme.bar.buttons.modules.cpu.border": "#f7768e", - "theme.bar.buttons.modules.ram.border": "#e0af68", - "theme.bar.buttons.notifications.border": "#bb9af7", - "theme.bar.buttons.clock.border": "#f7768e", - "theme.bar.buttons.battery.border": "#e0af68", - "theme.bar.buttons.systray.border": "#414868", - "theme.bar.buttons.bluetooth.border": "#7dcfff", - "theme.bar.buttons.network.border": "#bb9af7", - "theme.bar.buttons.volume.border": "#f7768e", - "theme.bar.buttons.media.border": "#bb9af7", - "theme.bar.buttons.windowtitle.border": "#f7768e", - "theme.bar.buttons.workspaces.border": "#f7768e", - "theme.bar.buttons.dashboard.border": "#e0af68", - "theme.bar.buttons.modules.submap.background": "#272a3d", - "theme.bar.buttons.modules.submap.text": "#73daca", - "theme.bar.buttons.modules.submap.border": "#73daca", - "theme.bar.buttons.modules.submap.icon": "#181825", - "theme.bar.buttons.modules.submap.icon_background": "#73daca", - "theme.bar.menus.menu.network.switch.enabled": "#bb9af7", - "theme.bar.menus.menu.network.switch.disabled": "#565f89", - "theme.bar.menus.menu.network.switch.puck": "#565f89", - "theme.bar.buttons.systray.customIcon": "#c0caf5", - "menus.bluetooth.batteryState": "always", - "bar.customModules.cpu.label": true, - "bar.customModules.cpu.leftClick": "kitty --hold btop", - "tear": true, - "theme.bar.buttons.windowtitle.enableBorder": false, - "bar.windowtitle.label": true, - "bar.windowtitle.title_map": [], - "bar.windowtitle.truncation": false, - "bar.workspaces.hideUnoccupied": true -} \ No newline at end of file diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 090ab58..06bfffd 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -6,10 +6,17 @@ ... }: let + inherit (lib) mkIf mkEnableOption; user = config.${namespace}.user.name; + + cfg = config.${namespace}.desktop.hyprland; in { - config = { + options.${namespace}.desktop = { + enable = mkEnableOption "Whether to enable desktop theming"; + }; + + config = mkIf cfg.enable { ${namespace}.home.extraOptions = { dconf.settings = { "org/gnome/desktop/interface" = { diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix index 339ce00..465b045 100644 --- a/modules/nixos/desktop/hyprland/default.nix +++ b/modules/nixos/desktop/hyprland/default.nix @@ -55,7 +55,6 @@ in # Wayland Utilities wl-clipboard - wl-screenrec wlr-randr # Screenshot Utility @@ -91,14 +90,18 @@ in }; ${namespace} = { - desktop.addons = { - rofi = { - enable = true; - package = pkgs.rofi-wayland-unwrapped; + desktop = { + enable = true; + addons = { + rofi = { + enable = true; + package = pkgs.rofi-wayland-unwrapped; + }; + hypridle = enabled; + hyprlock = enabled; + hyprpanel = enabled; + hyprpaper = enabled; }; - hypridle = enabled; - hyprlock = enabled; - hyprpaper = enabled; }; nix.extra-substituters.${cachix-url} = { @@ -121,7 +124,6 @@ in ]; exec-once = [ - "${pkgs.hyprpanel}/bin/hyprpanel" "systemctl --user start hyprpolkitagent" "[workspace 2 silent] steam --disable-gpu-compositing" # nvidia pls let me have nice things