diff --git a/host/desktop/programs.nix b/host/desktop/programs.nix index ff2f4cd..049b29e 100644 --- a/host/desktop/programs.nix +++ b/host/desktop/programs.nix @@ -44,5 +44,7 @@ cider.enable = true; proton-ge.enable = true; proton-apps.enable = true; + firefox.enable = true; + chromium.enable = true; }; } diff --git a/modules/features/home/browsers.nix b/modules/features/home/browsers.nix index 2d1d157..e9ad3b5 100644 --- a/modules/features/home/browsers.nix +++ b/modules/features/home/browsers.nix @@ -1,172 +1,169 @@ { pkgs, libs, ... }: { programs = { - firefox = { - enable = true; - profiles.default = { - settings = { - "browser.startup.homepage" = "about:home"; - - "devtools.chrome.enabled" = true; - "devtools.debugger.remote-enabled" = true; - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + firefox.profiles.default = { + settings = { + "browser.startup.homepage" = "about:home"; - "full-screen-api.warning.timeout" = 0; - }; + "devtools.chrome.enabled" = true; + "devtools.debugger.remote-enabled" = true; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - search = { - default = "google"; - engines = { - youtube = { - name = "YouTube"; - definedAliases = [ - "@yt" - "@youtube" - ]; - icon = "https://www.youtube.com/s/desktop/83c08b77/img/favicon.ico"; - urls = [ - { - template = "https://www.youtube.com/results"; - params = [ - { - name = "search_query"; - value = "{searchTerms}"; - } - ]; - } - ]; - }; - - google = { - name = "Google"; - definedAliases = [ - "@g" - "@google" - ]; - icon = "https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico"; - urls = [ - { - template = "https://www.google.com/search"; - params = [ - { - name = "q"; - value = "{searchTerms}"; - } - ]; - } - { - template = "https://www.google.com/search"; - params = [ - { - name = "udm"; - value = "2"; - } - { - name = "q"; - value = "{searchTerms}"; - } - ]; - } - ]; - }; - - github = { - name = "Github"; - definedAliases = [ - "@gh" - "@github" - ]; - icon = "https://github.githubassets.com/favicons/favicon-dark.svg"; - urls = [ - { - template = "https://github.com/search"; - params = [ - { - name = "type"; - value = "repositories"; - } - { - name = "q"; - value = "{searchTerms}"; - } - ]; - } - ]; - }; - - reddit = { - name = "Reddit"; - definedAliases = [ - "@rd" - "@reddit" - ]; - icon = "https://www.redditstatic.com/shreddit/assets/favicon/192x192.png"; - urls = [ - { - template = "https://www.reddit.com/search"; - params = [ - { - name = "q"; - value = "{searchTerms}"; - } - ]; - } - ]; - }; - - nix-packages = { - name = "Nix Packages"; - definedAliases = [ - "@np" - "@nixpkgs" - ]; - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - urls = [ - { - template = "https://search.nixos.org/packages"; - params = [ - { - name = "type"; - value = "packages"; - } - { - name = "query"; - value = "{searchTerms}"; - } - ]; - } - ]; - }; - - mynixos = { - name = "My NixOS"; - definedAliases = [ "@mynixos" ]; - icon = "https://mynixos.com/favicon.ico"; - urls = [ - { - template = "https://mynixos.com/search"; - params = [ - { - name = "q"; - value = "{searchTerms}"; - } - ]; - } - ]; - }; - - bing.metaData.hidden = true; - ddg.metaData.hidden = true; - perplexity.metaData.hidden = true; - wikipedia.metaData.hidden = true; - }; - }; - - userChrome = builtins.readFile (libs.root "/assets/firefox/userChrome.css"); - userContent = builtins.readFile (libs.root "/assets/firefox/userContent.css"); + "full-screen-api.warning.timeout" = 0; }; + + search = { + default = "google"; + engines = { + youtube = { + name = "YouTube"; + definedAliases = [ + "@yt" + "@youtube" + ]; + icon = "https://www.youtube.com/s/desktop/83c08b77/img/favicon.ico"; + urls = [ + { + template = "https://www.youtube.com/results"; + params = [ + { + name = "search_query"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + + google = { + name = "Google"; + definedAliases = [ + "@g" + "@google" + ]; + icon = "https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico"; + urls = [ + { + template = "https://www.google.com/search"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + { + template = "https://www.google.com/search"; + params = [ + { + name = "udm"; + value = "2"; + } + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + + github = { + name = "Github"; + definedAliases = [ + "@gh" + "@github" + ]; + icon = "https://github.githubassets.com/favicons/favicon-dark.svg"; + urls = [ + { + template = "https://github.com/search"; + params = [ + { + name = "type"; + value = "repositories"; + } + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + + reddit = { + name = "Reddit"; + definedAliases = [ + "@rd" + "@reddit" + ]; + icon = "https://www.redditstatic.com/shreddit/assets/favicon/192x192.png"; + urls = [ + { + template = "https://www.reddit.com/search"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + + nix-packages = { + name = "Nix Packages"; + definedAliases = [ + "@np" + "@nixpkgs" + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + + mynixos = { + name = "My NixOS"; + definedAliases = [ "@mynixos" ]; + icon = "https://mynixos.com/favicon.ico"; + urls = [ + { + template = "https://mynixos.com/search"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + + bing.metaData.hidden = true; + ddg.metaData.hidden = true; + perplexity.metaData.hidden = true; + wikipedia.metaData.hidden = true; + }; + }; + + userChrome = builtins.readFile (libs.root "/assets/firefox/userChrome.css"); + userContent = builtins.readFile (libs.root "/assets/firefox/userContent.css"); }; - chromium.enable = true; + chromium = { }; }; } diff --git a/modules/features/home/ghostty.nix b/modules/features/home/ghostty.nix index edb78b4..0b29b5d 100644 --- a/modules/features/home/ghostty.nix +++ b/modules/features/home/ghostty.nix @@ -1,50 +1,54 @@ -{ lib, osconfig, ... }: { - programs.ghostty = lib.mkIf (osconfig.device.programs.terminal == "ghostty") { +{ lib, osconfig, ... }: +{ + programs.ghostty = + lib.mkIf + (osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal.name == "ghostty") + { enable = true; settings = { - theme = "catppuccin-mocha"; + theme = "catppuccin-mocha"; - font-size = 10; - font-family = "SauceCodePro NFP Bold"; + font-size = 10; + font-family = "SauceCodePro NFP Bold"; - window-width = 230; - window-height = 68; + window-width = 230; + window-height = 68; - window-padding-x = 5; - window-padding-y = 0; + window-padding-x = 5; + window-padding-y = 0; - keybind = [ + keybind = [ "ctrl+shift+n=unbind" "ctrl+shift+i=unbind" - ]; - }; + ]; + }; - themes = { - catppuccin-mocha = { + themes = { + catppuccin-mocha = { background = "1e1e2e"; cursor-color = "f5e0dc"; foreground = "cdd6f4"; palette = [ - "0=#45475a" - "1=#f38ba8" - "2=#a6e3a1" - "3=#f9e2af" - "4=#89b4fa" - "5=#f5c2e7" - "6=#94e2d5" - "7=#bac2de" - "8=#585b70" - "9=#f38ba8" - "10=#a6e3a1" - "11=#f9e2af" - "12=#89b4fa" - "13=#f5c2e7" - "14=#94e2d5" - "15=#a6adc8" + "0=#45475a" + "1=#f38ba8" + "2=#a6e3a1" + "3=#f9e2af" + "4=#89b4fa" + "5=#f5c2e7" + "6=#94e2d5" + "7=#bac2de" + "8=#585b70" + "9=#f38ba8" + "10=#a6e3a1" + "11=#f9e2af" + "12=#89b4fa" + "13=#f5c2e7" + "14=#94e2d5" + "15=#a6adc8" ]; selection-background = "353749"; selection-foreground = "cdd6f4"; - }; + }; }; - }; -} \ No newline at end of file + }; +} diff --git a/modules/features/home/kitty.nix b/modules/features/home/kitty.nix index 7631d3e..e07fa97 100644 --- a/modules/features/home/kitty.nix +++ b/modules/features/home/kitty.nix @@ -1,75 +1,78 @@ -{ lib, osconfig, ... }: { - programs.kitty = lib.mkIf (osconfig.device.programs.terminal == "kitty") { +{ lib, osconfig, ... }: +{ + programs.kitty = + lib.mkIf (osconfig.device.programs.terminal.enable && osconfig.device.programs.terminal == "kitty") + { enable = true; keybindings = { - "ctrl+c" = "copy_to_clipboard"; - "ctrl+v" = "paste_from_clipboard"; + "ctrl+c" = "copy_to_clipboard"; + "ctrl+v" = "paste_from_clipboard"; }; settings = { - window_padding_width = 2; - window_padding_height = 2; + window_padding_width = 2; + window_padding_height = 2; - cursor_shape = "beam"; - # background_opacity = 0.5; + cursor_shape = "beam"; + # background_opacity = 0.5; - font_family = "Tahoma"; - font_size = 9; + font_family = "Tahoma"; + font_size = 9; - foreground = "#cdd6f4"; - background = "#1e1e2e"; - selection_foreground = "#1e1e2e"; - selection_background = "#f5e0dc"; + foreground = "#cdd6f4"; + background = "#1e1e2e"; + selection_foreground = "#1e1e2e"; + selection_background = "#f5e0dc"; - cursor = "#f5e0dc"; - cursor_text_color = "#1e1e2e"; + cursor = "#f5e0dc"; + cursor_text_color = "#1e1e2e"; - url_color = "#f5e0dc"; + url_color = "#f5e0dc"; - active_border_color = "#b4befe"; - inactive_border_color = "#6c7086"; - bell_border_color = "#f9e2af"; + active_border_color = "#b4befe"; + inactive_border_color = "#6c7086"; + bell_border_color = "#f9e2af"; - wayland_titlebar_color = "system"; - macos_titlebar_color = "system"; + wayland_titlebar_color = "system"; + macos_titlebar_color = "system"; - active_tab_foreground = "#11111b"; - active_tab_background = "#cba6f7"; - inactive_tab_foreground = "#cdd6f4"; - inactive_tab_background = "#181825"; - tab_bar_background = "#11111b"; + active_tab_foreground = "#11111b"; + active_tab_background = "#cba6f7"; + inactive_tab_foreground = "#cdd6f4"; + inactive_tab_background = "#181825"; + tab_bar_background = "#11111b"; - mark1_foreground = "#1e1e2e"; - mark1_background = "#b4befe"; - mark2_foreground = "#1e1e2e"; - mark2_background = "#cba6f7"; - mark3_foreground = "#1e1e2e"; - mark3_background = "#74c7ec"; + mark1_foreground = "#1e1e2e"; + mark1_background = "#b4befe"; + mark2_foreground = "#1e1e2e"; + mark2_background = "#cba6f7"; + mark3_foreground = "#1e1e2e"; + mark3_background = "#74c7ec"; - color0 = "#45475a"; - color8 = "#585b70"; + color0 = "#45475a"; + color8 = "#585b70"; - color1 = "#f38ba8"; - color9 = "#f38ba8"; + color1 = "#f38ba8"; + color9 = "#f38ba8"; - color2 = "#a6e3a1"; - color10 = "#a6e3a1"; + color2 = "#a6e3a1"; + color10 = "#a6e3a1"; - color3 = "#f9e2af"; - color11 = "#f9e2af"; + color3 = "#f9e2af"; + color11 = "#f9e2af"; - color4 = "#89b4fa"; - color12 = "#89b4fa"; + color4 = "#89b4fa"; + color12 = "#89b4fa"; - color5 = "#f5c2e7"; - color13 = "#f5c2e7"; + color5 = "#f5c2e7"; + color13 = "#f5c2e7"; - color6 = "#94e2d5"; - color14 = "#94e2d5"; + color6 = "#94e2d5"; + color14 = "#94e2d5"; - color7 = "#bac2de"; - color15 = "#a6adc8"; + color7 = "#bac2de"; + color15 = "#a6adc8"; }; - }; -} \ No newline at end of file + }; +} diff --git a/options/system/programs.nix b/options/system/programs.nix index eea99d3..22a55d4 100644 --- a/options/system/programs.nix +++ b/options/system/programs.nix @@ -1,10 +1,13 @@ { lib, pkgs, ... }: { options.device.programs = { - terminal = lib.mkOption { - type = lib.types.str; - default = "ghostty"; - description = "Terminal"; + terminal = { + enable = lib.mkEnableOption "terminal"; + name = lib.mkOption { + type = lib.types.str; + default = "ghostty"; + description = "Terminal"; + }; }; nixcord.enable = lib.mkEnableOption "nixcord";