diff --git a/home-manager/hosts/morty.nix b/home-manager/hosts/morty.nix index 79c4368..94b95b1 100644 --- a/home-manager/hosts/morty.nix +++ b/home-manager/hosts/morty.nix @@ -28,8 +28,4 @@ xkb_symbols "us-intl-winmax" { transform = "90"; }; }; - - imports = [ - ../qutebrowser - ]; } diff --git a/home-manager/qutebrowser/default.nix b/home-manager/qutebrowser/default.nix deleted file mode 100644 index bb42d65..0000000 --- a/home-manager/qutebrowser/default.nix +++ /dev/null @@ -1,368 +0,0 @@ -_: { - - programs.qutebrowser = { - enable = true; - loadAutoconfig = true; - settings = { - - qt.args = [ - "autoplay-policy=user-gesture-required" - "ignore-gpu-blocklist" - "enable-accelerated-video-decode" - "enable-features=VaapiVideoDecoder" - "enable-features=WebRTCPipeWireCapturer" - ]; - # Try to reduce memury usage - qt.chromium.low_end_device_mode = "always"; - qt.chromium.process_model = "process-per-site"; - - fonts.default_family = "Fira Code Nerd Font Mono"; - fonts.completion.category = "default_size default_family"; - - tabs.title.format = "{index}:{audio:1} {current_title}"; - tabs.select_on_remove = "last-used"; - colors.webpage.preferred_color_scheme = "dark"; - - #Privacy - content.canvas_reading = true; - content.headers.do_not_track = true; - content.cookies.accept = "no-3rdparty"; - content.geolocation = false; - content.headers.referer = "same-domain"; - content.blocking.enabled = true; - content.blocking.method = "both"; - content.blocking.adblock.lists = [ - https://easylist.to/easylist/easylist.txt - https://easylist.to/easylist/easyprivacy.txt - https://www.i-dont-care-about-cookies.eu/abp/ - https://secure.fanboy.co.nz/fanboy-cookiemonster.txt - ]; - - content.plugins = false; - downloads.location.directory = "~/downloads"; - completion.open_categories = [ - "quickmarks" - "history" - ]; - }; - extraConfig = '' - c.tabs.padding = { "top":3, "bottom":3, "left":5, "right":5 } - # Change audio icon - from qutebrowser.api import message - try: - from qutebrowser.mainwindow import tabwidget - tabwidget.TabWidget.MUTE_STRING = "󰝟" - tabwidget.TabWidget.AUDIBLE_STRING = "󰕾" - except (ImportError, AttributeError) as err: - message.error(f"Failed to change audible indicators {err}") - - # base16-qutebrowser (https://github.com/theova/base16-qutebrowser) - # Scheme name: Default Dark - # Scheme author: Chris Kempson (http://chriskempson.com) - # Template author: theova and Daniel Mulford - # Commentary: Tinted Theming: (https://github.com/tinted-theming) - - base00 = "#181818" - base01 = "#282828" - base02 = "#383838" - base03 = "#585858" - base04 = "#b8b8b8" - base05 = "#d8d8d8" - base06 = "#e8e8e8" - base07 = "#f8f8f8" - base08 = "#ab4642" - base09 = "#dc9656" - base0A = "#f7ca88" - base0B = "#a1b56c" - base0C = "#86c1b9" - base0D = "#7cafc2" - base0E = "#ba8baf" - base0F = "#a16946" - - # set qutebrowser colors - - # Text color of the completion widget. May be a single color to use for - # all columns or a list of three colors, one for each column. - c.colors.completion.fg = base05 - # Background color of the completion widget for odd rows. - c.colors.completion.odd.bg = base00 - - # Background color of the completion widget for even rows. - c.colors.completion.even.bg = base00 - - # Foreground color of completion widget category headers. - c.colors.completion.category.fg = base0D - - # Background color of the completion widget category headers. - c.colors.completion.category.bg = base00 - - # Top border color of the completion widget category headers. - c.colors.completion.category.border.top = base00 - - # Bottom border color of the completion widget category headers. - c.colors.completion.category.border.bottom = base00 - - # Foreground color of the selected completion item. - c.colors.completion.item.selected.fg = base05 - - # Background color of the selected completion item. - c.colors.completion.item.selected.bg = base02 - - # Top border color of the selected completion item. - c.colors.completion.item.selected.border.top = base02 - - # Bottom border color of the selected completion item. - c.colors.completion.item.selected.border.bottom = base02 - - # Foreground color of the matched text in the selected completion item. - c.colors.completion.item.selected.match.fg = base05 - - # Foreground color of the matched text in the completion. - c.colors.completion.match.fg = base09 - - # Color of the scrollbar handle in the completion view. - c.colors.completion.scrollbar.fg = base05 - - # Color of the scrollbar in the completion view. - c.colors.completion.scrollbar.bg = base00 - - # Background color of disabled items in the context menu. - c.colors.contextmenu.disabled.bg = base01 - - # Foreground color of disabled items in the context menu. - c.colors.contextmenu.disabled.fg = base04 - - # Background color of the context menu. If set to null, the Qt default is used. - c.colors.contextmenu.menu.bg = base00 - - # Foreground color of the context menu. If set to null, the Qt default is used. - c.colors.contextmenu.menu.fg = base05 - - # Background color of the context menu’s selected item. If set to null, the Qt default is used. - c.colors.contextmenu.selected.bg = base02 - - #Foreground color of the context menu’s selected item. If set to null, the Qt default is used. - c.colors.contextmenu.selected.fg = base05 - - # Background color for the download bar. - c.colors.downloads.bar.bg = base00 - - # Color gradient start for download text. - c.colors.downloads.start.fg = base00 - - # Color gradient start for download backgrounds. - c.colors.downloads.start.bg = base0D - - # Color gradient end for download text. - c.colors.downloads.stop.fg = base00 - - # Color gradient stop for download backgrounds. - c.colors.downloads.stop.bg = base0C - - # Foreground color for downloads with errors. - c.colors.downloads.error.fg = base08 - - # Font color for hints. - c.colors.hints.fg = base00 - - # Background color for hints. Note that you can use a `rgba(...)` value - # for transparency. - c.colors.hints.bg = base0A - - # Font color for the matched part of hints. - c.colors.hints.match.fg = base05 - - # Text color for the keyhint widget. - c.colors.keyhint.fg = base05 - - # Highlight color for keys to complete the current keychain. - c.colors.keyhint.suffix.fg = base05 - - # Background color of the keyhint widget. - c.colors.keyhint.bg = base00 - - # Foreground color of an error message. - c.colors.messages.error.fg = base00 - - # Background color of an error message. - c.colors.messages.error.bg = base08 - - # Border color of an error message. - c.colors.messages.error.border = base08 - - # Foreground color of a warning message. - c.colors.messages.warning.fg = base00 - - # Background color of a warning message. - c.colors.messages.warning.bg = base0E - - # Border color of a warning message. - c.colors.messages.warning.border = base0E - - # Foreground color of an info message. - c.colors.messages.info.fg = base05 - - # Background color of an info message. - c.colors.messages.info.bg = base00 - - # Border color of an info message. - c.colors.messages.info.border = base00 - - # Foreground color for prompts. - c.colors.prompts.fg = base05 - - # Border used around UI elements in prompts. - c.colors.prompts.border = base00 - - # Background color for prompts. - c.colors.prompts.bg = base00 - - # Background color for the selected item in filename prompts. - c.colors.prompts.selected.bg = base02 - - # Foreground color for the selected item in filename prompts. - c.colors.prompts.selected.fg = base05 - - # Foreground color of the statusbar. - c.colors.statusbar.normal.fg = base05 - - # Background color of the statusbar. - c.colors.statusbar.normal.bg = base00 - - # Foreground color of the statusbar in insert mode. - c.colors.statusbar.insert.fg = base0C - - # Background color of the statusbar in insert mode. - c.colors.statusbar.insert.bg = base00 - - # Foreground color of the statusbar in passthrough mode. - c.colors.statusbar.passthrough.fg = base0A - - # Background color of the statusbar in passthrough mode. - c.colors.statusbar.passthrough.bg = base00 - - # Foreground color of the statusbar in private browsing mode. - c.colors.statusbar.private.fg = base0E - - # Background color of the statusbar in private browsing mode. - c.colors.statusbar.private.bg = base00 - - # Foreground color of the statusbar in command mode. - c.colors.statusbar.command.fg = base04 - - # Background color of the statusbar in command mode. - c.colors.statusbar.command.bg = base01 - - # Foreground color of the statusbar in private browsing + command mode. - c.colors.statusbar.command.private.fg = base0E - - # Background color of the statusbar in private browsing + command mode. - c.colors.statusbar.command.private.bg = base01 - - # Foreground color of the statusbar in caret mode. - c.colors.statusbar.caret.fg = base0D - - # Background color of the statusbar in caret mode. - c.colors.statusbar.caret.bg = base00 - - # Foreground color of the statusbar in caret mode with a selection. - c.colors.statusbar.caret.selection.fg = base0D - - # Background color of the statusbar in caret mode with a selection. - c.colors.statusbar.caret.selection.bg = base00 - - # Background color of the progress bar. - c.colors.statusbar.progress.bg = base0D - - # Default foreground color of the URL in the statusbar. - c.colors.statusbar.url.fg = base05 - - # Foreground color of the URL in the statusbar on error. - c.colors.statusbar.url.error.fg = base08 - - # Foreground color of the URL in the statusbar for hovered links. - c.colors.statusbar.url.hover.fg = base09 - - # Foreground color of the URL in the statusbar on successful load - # (http). - c.colors.statusbar.url.success.http.fg = base0B - - # Foreground color of the URL in the statusbar on successful load - # (https). - c.colors.statusbar.url.success.https.fg = base0B - - # Foreground color of the URL in the statusbar when there's a warning. - c.colors.statusbar.url.warn.fg = base0E - - # Background color of the tab bar. - c.colors.tabs.bar.bg = base00 - - # Color gradient start for the tab indicator. - c.colors.tabs.indicator.start = base0D - - # Color gradient end for the tab indicator. - c.colors.tabs.indicator.stop = base0C - - # Color for the tab indicator on errors. - c.colors.tabs.indicator.error = base08 - - # Foreground color of unselected odd tabs. - c.colors.tabs.odd.fg = base05 - - # Background color of unselected odd tabs. - c.colors.tabs.odd.bg = base00 - - # Foreground color of unselected even tabs. - c.colors.tabs.even.fg = base05 - - # Background color of unselected even tabs. - c.colors.tabs.even.bg = base00 - - # Background color of pinned unselected even tabs. - c.colors.tabs.pinned.even.bg = base0B - - # Foreground color of pinned unselected even tabs. - c.colors.tabs.pinned.even.fg = base00 - - # Background color of pinned unselected odd tabs. - c.colors.tabs.pinned.odd.bg = base0B - - # Foreground color of pinned unselected odd tabs. - c.colors.tabs.pinned.odd.fg = base00 - - # Background color of pinned selected even tabs. - c.colors.tabs.pinned.selected.even.bg = base02 - - # Foreground color of pinned selected even tabs. - c.colors.tabs.pinned.selected.even.fg = base05 - - # Background color of pinned selected odd tabs. - c.colors.tabs.pinned.selected.odd.bg = base02 - - # Foreground color of pinned selected odd tabs. - c.colors.tabs.pinned.selected.odd.fg = base05 - - # Foreground color of selected odd tabs. - c.colors.tabs.selected.odd.fg = base05 - - # Background color of selected odd tabs. - c.colors.tabs.selected.odd.bg = base02 - - # Foreground color of selected even tabs. - c.colors.tabs.selected.even.fg = base05 - - # Background color of selected even tabs. - c.colors.tabs.selected.even.bg = base02 - - # Background color for webpages if unset (or empty to use the theme's - # color). - c.colors.webpage.bg = base00 - ''; - keyBindings = { - normal = { - ",M" = "hint links spawn mpv {hint-url}"; - ",m" = "spawn mpv {url}"; - }; - }; - }; -} diff --git a/hosts/morty/home.nix b/hosts/morty/home.nix index a61783d..c67c7ba 100644 --- a/hosts/morty/home.nix +++ b/hosts/morty/home.nix @@ -1,5 +1,6 @@ { ... }: { config.modules = { video.kdenlive.enable = true; + web.qutebrowser.enable = true; }; } diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix new file mode 100644 index 0000000..c34ace1 --- /dev/null +++ b/modules/home-manager/default.nix @@ -0,0 +1,6 @@ +{ lib, config, pkgs, ... }: +{ + imports = [ + ./web/qutebrowser/default.nix + ]; +} diff --git a/modules/home-manager/web/qutebrowser/default.nix b/modules/home-manager/web/qutebrowser/default.nix new file mode 100644 index 0000000..212a428 --- /dev/null +++ b/modules/home-manager/web/qutebrowser/default.nix @@ -0,0 +1,65 @@ +{ lib, config, ... }: +with lib; +let + cfg = config.modules.web.qutebrowser; +in +{ + options.modules.web.qutebrowser = { + enable = mkEnableOption "enable Kdenlive video editor"; + }; + config = mkIf cfg.enable { + programs.qutebrowser = { + enable = true; + loadAutoconfig = true; + settings = { + + qt.args = [ + "autoplay-policy=user-gesture-required" + "ignore-gpu-blocklist" + "enable-accelerated-video-decode" + "enable-features=VaapiVideoDecoder" + "enable-features=WebRTCPipeWireCapturer" + ]; + # Try to reduce memury usage + qt.chromium.low_end_device_mode = "always"; + qt.chromium.process_model = "process-per-site"; + + fonts.default_family = "Fira Code Nerd Font Mono"; + fonts.completion.category = "default_size default_family"; + + tabs.title.format = "{index}:{audio:1} {current_title}"; + tabs.select_on_remove = "last-used"; + colors.webpage.preferred_color_scheme = "dark"; + + #Privacy + content.canvas_reading = true; + content.headers.do_not_track = true; + content.cookies.accept = "no-3rdparty"; + content.geolocation = false; + content.headers.referer = "same-domain"; + content.blocking.enabled = true; + content.blocking.method = "both"; + content.blocking.adblock.lists = [ + https://easylist.to/easylist/easylist.txt + https://easylist.to/easylist/easyprivacy.txt + https://www.i-dont-care-about-cookies.eu/abp/ + https://secure.fanboy.co.nz/fanboy-cookiemonster.txt + ]; + + content.plugins = false; + downloads.location.directory = "~/downloads"; + completion.open_categories = [ + "quickmarks" + "history" + ]; + }; + extraConfig = ( builtins.readFile ./files/theme.py); + keyBindings = { + normal = { + ",M" = "hint links spawn mpv {hint-url}"; + ",m" = "spawn mpv {url}"; + }; + }; + }; + }; +} diff --git a/modules/home-manager/web/qutebrowser/files/theme.py b/modules/home-manager/web/qutebrowser/files/theme.py new file mode 100644 index 0000000..2fb154a --- /dev/null +++ b/modules/home-manager/web/qutebrowser/files/theme.py @@ -0,0 +1,314 @@ +# All we need for QuteBrowser Theme +# --- + +c.tabs.padding = { "top":3, "bottom":3, "left":5, "right":5 } +# Change audio icon +from qutebrowser.api import message +try: + from qutebrowser.mainwindow import tabwidget + tabwidget.TabWidget.MUTE_STRING = "󰝟" + tabwidget.TabWidget.AUDIBLE_STRING = "󰕾" +except (ImportError, AttributeError) as err: + message.error(f"Failed to change audible indicators {err}") + +# base16-qutebrowser (https://github.com/theova/base16-qutebrowser) +# Scheme name: Default Dark +# Scheme author: Chris Kempson (http://chriskempson.com) +# Template author: theova and Daniel Mulford +# Commentary: Tinted Theming: (https://github.com/tinted-theming) +base00 = "#181818" +base01 = "#282828" +base02 = "#383838" +base03 = "#585858" +base04 = "#b8b8b8" +base05 = "#d8d8d8" +base06 = "#e8e8e8" +base07 = "#f8f8f8" +base08 = "#ab4642" +base09 = "#dc9656" +base0A = "#f7ca88" +base0B = "#a1b56c" +base0C = "#86c1b9" +base0D = "#7cafc2" +base0E = "#ba8baf" +base0F = "#a16946" + +# set qutebrowser colors + +# Text color of the completion widget. May be a single color to use for +# all columns or a list of three colors, one for each column. +c.colors.completion.fg = base05 +# Background color of the completion widget for odd rows. +c.colors.completion.odd.bg = base00 + +# Background color of the completion widget for even rows. +c.colors.completion.even.bg = base00 + +# Foreground color of completion widget category headers. +c.colors.completion.category.fg = base0D + +# Background color of the completion widget category headers. +c.colors.completion.category.bg = base00 + +# Top border color of the completion widget category headers. +c.colors.completion.category.border.top = base00 + +# Bottom border color of the completion widget category headers. +c.colors.completion.category.border.bottom = base00 + +# Foreground color of the selected completion item. +c.colors.completion.item.selected.fg = base05 + +# Background color of the selected completion item. +c.colors.completion.item.selected.bg = base02 + +# Top border color of the selected completion item. +c.colors.completion.item.selected.border.top = base02 + +# Bottom border color of the selected completion item. +c.colors.completion.item.selected.border.bottom = base02 + +# Foreground color of the matched text in the selected completion item. +c.colors.completion.item.selected.match.fg = base05 + +# Foreground color of the matched text in the completion. +c.colors.completion.match.fg = base09 + +# Color of the scrollbar handle in the completion view. +c.colors.completion.scrollbar.fg = base05 + +# Color of the scrollbar in the completion view. +c.colors.completion.scrollbar.bg = base00 + +# Background color of disabled items in the context menu. +c.colors.contextmenu.disabled.bg = base01 + +# Foreground color of disabled items in the context menu. +c.colors.contextmenu.disabled.fg = base04 + +# Background color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.bg = base00 + +# Foreground color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.fg = base05 + +# Background color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.bg = base02 + +#Foreground color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.fg = base05 + +# Background color for the download bar. +c.colors.downloads.bar.bg = base00 + +# Color gradient start for download text. +c.colors.downloads.start.fg = base00 + +# Color gradient start for download backgrounds. +c.colors.downloads.start.bg = base0D + +# Color gradient end for download text. +c.colors.downloads.stop.fg = base00 + +# Color gradient stop for download backgrounds. +c.colors.downloads.stop.bg = base0C + +# Foreground color for downloads with errors. +c.colors.downloads.error.fg = base08 + +# Font color for hints. +c.colors.hints.fg = base00 + +# Background color for hints. Note that you can use a `rgba(...)` value +# for transparency. +c.colors.hints.bg = base0A + +# Font color for the matched part of hints. +c.colors.hints.match.fg = base05 + +# Text color for the keyhint widget. +c.colors.keyhint.fg = base05 + +# Highlight color for keys to complete the current keychain. +c.colors.keyhint.suffix.fg = base05 + +# Background color of the keyhint widget. +c.colors.keyhint.bg = base00 + +# Foreground color of an error message. +c.colors.messages.error.fg = base00 + +# Background color of an error message. +c.colors.messages.error.bg = base08 + +# Border color of an error message. +c.colors.messages.error.border = base08 + +# Foreground color of a warning message. +c.colors.messages.warning.fg = base00 + +# Background color of a warning message. +c.colors.messages.warning.bg = base0E + +# Border color of a warning message. +c.colors.messages.warning.border = base0E + +# Foreground color of an info message. +c.colors.messages.info.fg = base05 + +# Background color of an info message. +c.colors.messages.info.bg = base00 + +# Border color of an info message. +c.colors.messages.info.border = base00 + +# Foreground color for prompts. +c.colors.prompts.fg = base05 + +# Border used around UI elements in prompts. +c.colors.prompts.border = base00 + +# Background color for prompts. +c.colors.prompts.bg = base00 + +# Background color for the selected item in filename prompts. +c.colors.prompts.selected.bg = base02 + +# Foreground color for the selected item in filename prompts. +c.colors.prompts.selected.fg = base05 + +# Foreground color of the statusbar. +c.colors.statusbar.normal.fg = base05 + +# Background color of the statusbar. +c.colors.statusbar.normal.bg = base00 + +# Foreground color of the statusbar in insert mode. +c.colors.statusbar.insert.fg = base0C + +# Background color of the statusbar in insert mode. +c.colors.statusbar.insert.bg = base00 + +# Foreground color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.fg = base0A + +# Background color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.bg = base00 + +# Foreground color of the statusbar in private browsing mode. +c.colors.statusbar.private.fg = base0E + +# Background color of the statusbar in private browsing mode. +c.colors.statusbar.private.bg = base00 + +# Foreground color of the statusbar in command mode. +c.colors.statusbar.command.fg = base04 + +# Background color of the statusbar in command mode. +c.colors.statusbar.command.bg = base01 + +# Foreground color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.fg = base0E + +# Background color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.bg = base01 + +# Foreground color of the statusbar in caret mode. +c.colors.statusbar.caret.fg = base0D + +# Background color of the statusbar in caret mode. +c.colors.statusbar.caret.bg = base00 + +# Foreground color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.fg = base0D + +# Background color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.bg = base00 + +# Background color of the progress bar. +c.colors.statusbar.progress.bg = base0D + +# Default foreground color of the URL in the statusbar. +c.colors.statusbar.url.fg = base05 + +# Foreground color of the URL in the statusbar on error. +c.colors.statusbar.url.error.fg = base08 + +# Foreground color of the URL in the statusbar for hovered links. +c.colors.statusbar.url.hover.fg = base09 + +# Foreground color of the URL in the statusbar on successful load +# (http). +c.colors.statusbar.url.success.http.fg = base0B + +# Foreground color of the URL in the statusbar on successful load +# (https). +c.colors.statusbar.url.success.https.fg = base0B + +# Foreground color of the URL in the statusbar when there's a warning. +c.colors.statusbar.url.warn.fg = base0E + +# Background color of the tab bar. +c.colors.tabs.bar.bg = base00 + +# Color gradient start for the tab indicator. +c.colors.tabs.indicator.start = base0D + +# Color gradient end for the tab indicator. +c.colors.tabs.indicator.stop = base0C + +# Color for the tab indicator on errors. +c.colors.tabs.indicator.error = base08 + +# Foreground color of unselected odd tabs. +c.colors.tabs.odd.fg = base05 + +# Background color of unselected odd tabs. +c.colors.tabs.odd.bg = base00 + +# Foreground color of unselected even tabs. +c.colors.tabs.even.fg = base05 + +# Background color of unselected even tabs. +c.colors.tabs.even.bg = base00 + +# Background color of pinned unselected even tabs. +c.colors.tabs.pinned.even.bg = base0B + +# Foreground color of pinned unselected even tabs. +c.colors.tabs.pinned.even.fg = base00 + +# Background color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.bg = base0B + +# Foreground color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.fg = base00 + +# Background color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.bg = base02 + +# Foreground color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.fg = base05 + +# Background color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.bg = base02 + +# Foreground color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.fg = base05 + +# Foreground color of selected odd tabs. +c.colors.tabs.selected.odd.fg = base05 + +# Background color of selected odd tabs. +c.colors.tabs.selected.odd.bg = base02 + +# Foreground color of selected even tabs. +c.colors.tabs.selected.even.fg = base05 + +# Background color of selected even tabs. +c.colors.tabs.selected.even.bg = base02 + +# Background color for webpages if unset (or empty to use the theme's + # color). +c.colors.webpage.bg = base00 + diff --git a/nixos/default.nix b/nixos/default.nix index 5d52d64..602fac4 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -73,6 +73,7 @@ imports = [ ../hosts/${hostname}/home.nix + ../modules/home-manager/default.nix ../home-manager/cli ../home-manager/kdenlive/default.nix ] ++ (if hostConfig.desktop then