From 0d6622e2cead7140e9b089241c11728a7856d605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Sun, 7 Aug 2022 23:58:05 -0300 Subject: [PATCH] add qutebrowser colors --- flake.nix | 6 +- scripts/default.nix | 3 +- user/home.nix | 9 +- user/qutebrowser/default.nix | 226 +++++++++++++++++++++++++++++++++++ user/sway.nix | 4 +- 5 files changed, 241 insertions(+), 7 deletions(-) create mode 100644 user/qutebrowser/default.nix diff --git a/flake.nix b/flake.nix index 7ee9371..0787cb6 100644 --- a/flake.nix +++ b/flake.nix @@ -77,13 +77,11 @@ nixosConfigurations = { i15 = lib.nixosSystem { inherit system; - modules = [ ./hosts/i15.nix ] - ++ common_modules; + modules = [ ./hosts/i15.nix ] ++ common_modules; }; monolith = lib.nixosSystem { inherit system; - modules = [ ./hosts/monolith.nix ] - ++ common_modules; + modules = [ ./hosts/monolith.nix ] ++ common_modules; }; }; }; diff --git a/scripts/default.nix b/scripts/default.nix index cddb796..dec8969 100644 --- a/scripts/default.nix +++ b/scripts/default.nix @@ -1,4 +1,5 @@ -{ config, lib, ... }: (_: pkgs: { +{ config, lib, ... }: +(_: pkgs: { bmenu = import ./bmenu.nix { inherit config pkgs lib; }; _diffr = import ./diffr.nix { inherit config pkgs lib; }; kak-pager = import ./kak-pager.nix { inherit config pkgs lib; }; diff --git a/user/home.nix b/user/home.nix index ec588be..eb37b3c 100644 --- a/user/home.nix +++ b/user/home.nix @@ -10,7 +10,14 @@ let volumesh = pkgs.writeShellScriptBin "volumesh" (builtins.readFile ./scripts/volumesh); in { - imports = [ ./waybar.nix ./helix.nix ./kakoune.nix ./sway.nix ./git.nix ]; + imports = [ + ./waybar.nix + ./helix.nix + ./kakoune.nix + ./sway.nix + ./git.nix + ./qutebrowser + ]; # Home Manager needs a bit of information about you and the # paths it should manage. home.username = "lelgenio"; diff --git a/user/qutebrowser/default.nix b/user/qutebrowser/default.nix new file mode 100644 index 0000000..16d06fc --- /dev/null +++ b/user/qutebrowser/default.nix @@ -0,0 +1,226 @@ +{ config, pkgs, lib, font, ... }: +let inherit (pkgs.uservars) key theme color accent font; +in { + config = { + programs.qutebrowser = { + enable = true; + # enableDefaultBindings = false; + keyBindings = { + normal = { + # basic movent + "${key.left}" = "scroll left"; + "${key.down}" = "scroll down"; + "${key.up}" = "scroll up"; + "${key.right}" = "scroll right"; + + "${lib.toUpper key.up}" = "scroll-px 0 -100"; + "${lib.toUpper key.down}" = "scroll-px 0 100"; + "${lib.toUpper key.left}" = "back"; + "${lib.toUpper key.right}" = "forward"; + "${lib.toUpper key.tabL}" = "tab-prev"; + "${lib.toUpper key.tabR}" = "tab-next"; + + "${key.next}" = "search-next"; + "${lib.toUpper key.next}" = "search-prev"; + + "${key.insertMode}" = "mode-enter insert"; + # ":" = "mode-enter command"; + + "t" = "hint all"; + "h" = "set-cmd-text -s :open"; + "T" = "hint all tab"; + "H" = "set-cmd-text -s :open -t"; + }; + insert = { + # quit insert mode + "" = "mode-enter normal"; + }; + caret = { + # basic movent + "${key.left}" = "move-to-prev-char"; + "${key.down}" = "move-to-prev-line"; + "${key.up}" = "move-to-next-line"; + "${key.right}" = "move-to-next-char"; + + "${key.insertMode}" = "mode-enter insert"; + }; + + }; + settings = { + hints.chars = key.hints; + + colors = { + + ######################################################## + # Tabs + ######################################################## + + tabs = let + tabs_defaults = { + odd = { + fg = color.txt ; + bg = color.bg ; + }; + even = { + fg = color.txt ; + bg = color.bg_dark ; + }; + selected = { + odd = { + fg = accent.fg ; + bg = accent.color ; + }; + even = { + fg = accent.fg ; + bg = accent.color ; + }; + }; + }; + in { + bar = { bg = color.bg ; }; + pinned = tabs_defaults; + } // tabs_defaults; + + ######################################################## + # Completion for urls and commands + ######################################################## + + completion = { + fg = color.txt ; + even = { bg = color.bg ; }; + odd = { bg = color.bg ; }; + scrollbar = { bg = color.bg_dark ; }; + match = { fg = accent.color ; }; + category = { + fg = color.txt ; + bg = color.bg_dark ; + border = { + top = color.bg_dark ; + bottom = color.bg_dark ; + }; + }; + item = { + selected = { + fg = accent.fg ; + bg = accent.color ; + border = { + top = color.bg_dark ; + bottom = color.bg_dark ; + }; + match = { fg = color.txt ; }; + }; + }; + }; + + ######################################################## + # Statusbar + ######################################################## + + statusbar = { + normal = { + fg = color.txt ; + bg = color.bg ; + }; + insert = { + fg = color.normal.green ; + bg = color.bg ; + }; + passthrough = { + fg = color.normal.blue ; + bg = color.bg ; + }; + command = { + fg = color.txt ; + bg = color.bg ; + }; + caret = { + selection = { + fg = accent.fg ; + bg = accent.color ; + }; + }; + url = { + success = { + https = { fg = color.txt ; }; + http = { fg = color.normal.red ; }; + }; + hover = { fg = color.normal.cyan ; }; + }; + }; + ######################################################## + # Downloads + ######################################################## + + downloads = { + start = { bg = color.normal.blue ; }; + stop = { bg = color.normal.green ; }; + bar = { bg = color.bg ; }; + }; + + ######################################################## + # Choice of what element should be clicked + ######################################################## + + hints = { + fg = color.txt ; + bg = color.bg ; + match = { fg = accent.color ; }; + }; + + ######################################################## + # List of what each keybinding does + ######################################################## + + keyhint = { + fg = color.txt ; + bg = "rgba({{@@ hex2rgb(color.bg) @@}};, {{@@ opacity @@}};)"; + suffix = { fg = accent.color ; }; + }; + + ######################################################## + # Right click menu + ######################################################## + + contextmenu = { + menu = { + fg = color.txt ; + bg = color.bg ; + }; + selected = { + fg = accent.fg ; + bg = accent.color ; + }; + disabled = { fg = color.bg_light ; }; + }; + + ######################################################## + # Dark theme + ######################################################## + + # {%@@ if color.type == "dark" @@%};# + + webpage = { + bg = color.bg ; + preferred_color_scheme = "dark"; + darkmode = { + enabled = true; + threshold = { + background = 256 / 2; + text = 256 / 2; + }; + }; + }; + # {%@@ endif @@%} + }; + + }; + # programs.qutebrowser.extraConfig = '' + # config.source("config/config.py") + # ''; + }; + # home.file = { + # ".config/qutebrowser/config".source = ./config; + # }; + }; +} + diff --git a/user/sway.nix b/user/sway.nix index cb26920..eba99da 100644 --- a/user/sway.nix +++ b/user/sway.nix @@ -77,7 +77,9 @@ in { }; # setup cursor based on home.pointerCursor seat."*" = { - xcursor_theme = "${config.home.pointerCursor.name} ${toString config.home.pointerCursor.size}"; + xcursor_theme = "${config.home.pointerCursor.name} ${ + toString config.home.pointerCursor.size + }"; }; assigns = { "2" = [