diff --git a/flake.lock b/flake.lock index 44aa71e..e1d0ce5 100644 --- a/flake.lock +++ b/flake.lock @@ -718,11 +718,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1772058280, - "narHash": "sha256-8gZ6wh++43JAe6PH0hmm4Q8gPEScf0S7rkb0MmIxu2U=", + "lastModified": 1773832951, + "narHash": "sha256-qzWEWTC1l7aofSoYoW9Zckh/gNLK8pbjiUuRl9qRc7k=", "owner": "jdonszelmann", "repo": "homepage", - "rev": "ead7bebdfa71b207d2513d7f002e164d0b17a264", + "rev": "92cb1f2f367d52a64bf088f413aacb6446642794", "type": "github" }, "original": { @@ -1326,6 +1326,22 @@ "type": "github" } }, + "nixpkgs_22": { + "locked": { + "lastModified": 1745930157, + "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_3": { "locked": { "lastModified": 1732521221, @@ -1707,6 +1723,7 @@ "sops-nix": "sops-nix", "t": "t", "totpal": "totpal", + "vimium-options": "vimium-options", "vpn-confinement": "vpn-confinement" } }, @@ -2273,6 +2290,24 @@ "type": "github" } }, + "vimium-options": { + "inputs": { + "nixpkgs": "nixpkgs_22" + }, + "locked": { + "lastModified": 1746118178, + "narHash": "sha256-MtIuTMLMF/Cl3MEJwO56rVhtXUtRhZ/i2hG49jcosEE=", + "owner": "uimataso", + "repo": "vimium-nixos", + "rev": "a9e4b051cf944718fd3fbb638bc1c08057507c31", + "type": "github" + }, + "original": { + "owner": "uimataso", + "repo": "vimium-nixos", + "type": "github" + } + }, "vpn-confinement": { "locked": { "lastModified": 1767604552, diff --git a/flake.nix b/flake.nix index 3f9ad6c..7c23e70 100644 --- a/flake.nix +++ b/flake.nix @@ -68,16 +68,15 @@ url = "github:drannex/FirefoxSidebar"; flake = false; }; - + vimium-options.url = "github:uimataso/vimium-nixos"; }; outputs = - { - nixpkgs, - flake-utils, - sops-nix, - vpn-confinement, - deploy-rs, - ... + { nixpkgs + , flake-utils + , sops-nix + , vpn-confinement + , deploy-rs + , ... }@inputs: let custom = pkgs: import ./pkgs/custom.nix (inputs // { inherit pkgs; }); diff --git a/programs/default.nix b/programs/default.nix index c22ce6d..9b78fe0 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -44,10 +44,11 @@ inherit inputs; requirements = [ "graphical" ]; home-config = - { config - , pkgs - , lib - , ... + { + config, + pkgs, + lib, + ... }: let disableFeatures = [ @@ -212,6 +213,7 @@ just uv llvmPackages.bintools + nodejs (writeShellScriptBin "nas" '' mkdir -p ~/Documents/nas diff --git a/programs/firefox/default.nix b/programs/firefox/default.nix index 186fc2f..09df2cd 100644 --- a/programs/firefox/default.nix +++ b/programs/firefox/default.nix @@ -23,6 +23,48 @@ inputs@{ machine, ... }: # }; in { + imports = [ flakes.vimium-options.homeManagerModules.vimium-options ]; + + home.vimiumOptions = { + enable = true; + outputFilePath = ".cache/vimium-options.json"; + keyMappings = { + unmapAll = true; + map = { + "j" = "scrollDown"; + "k" = "scrollUp"; + "<" = "goBack"; + ">" = "goForward"; + "gi" = "focusInput"; + "gr" = "goToRoot"; + "gu" = "goUp"; + "g[" = "goNext"; + "g]" = "goPrevious"; + "gF" = "mainFrame"; + "gf" = "nextFrame"; + "p" = "openCopiedUrlInCurrentTab"; + "P" = "openCopiedUrlInNewTab"; + "G" = "scrollToBottom"; + "gg" = "scrollToTop"; + "C-o" = "visitPreviousTab"; + + "f" = "LinkHints.activateMode"; + "F" = "LinkHints.activateModeToOpenInNewTab"; + "" = "LinkHints.activateModeWithQueue"; + "yf" = "LinkHints.activateModeToCopyLinkUrl"; + }; + }; + + exclusionRules = [ + { + pattern = "https?://mail.google.com/*"; + } + { + pattern = "https?://squaredle.app/*"; + } + ]; + }; + programs.firefox = { enable = true; package = pkgs.wrapFirefox pkgs.firefox-unwrapped { @@ -88,7 +130,7 @@ inputs@{ machine, ... }: ublock-origin sidebery sponsorblock - # vimium + vimium ]; bookmarks = { @@ -154,16 +196,16 @@ inputs@{ machine, ... }: }; }; - xdg.mimeApps = { - defaultApplications."x-scheme-handler/http" = [ + xdg.mimeApps.defaultApplications = { + "x-scheme-handler/http" = [ "firefox.desktop" ]; - defaultApplications."x-scheme-handler/https" = [ + "x-scheme-handler/https" = [ "firefox.desktop" ]; - defaultApplications."text/html" = [ "firefox.desktop" ]; - defaultApplications."x-scheme-handler/about" = [ "firefox.desktop" ]; - defaultApplications."x-scheme-handler/unknown" = [ "firefox.desktop" ]; + "text/html" = [ "firefox.desktop" ]; + "x-scheme-handler/about" = [ "firefox.desktop" ]; + "x-scheme-handler/unknown" = [ "firefox.desktop" ]; }; }; }; diff --git a/programs/nvim/config.lua b/programs/nvim/config.lua index 8db77ea..d2e686d 100644 --- a/programs/nvim/config.lua +++ b/programs/nvim/config.lua @@ -28,9 +28,10 @@ end, { remap = true }) --- vim.keymap.set('n', 'gr', (function() builtin.lsp_references({jump_type="vsplit"}) end), {}) --- vim.keymap.set('n', 'gd', (function() builtin.lsp_definitions({jump_type="vsplit"}) end), {}) --- vim.keymap.set('n', 'gt', (function() builtin.lsp_type_definitions({jump_type="vsplit"}) end), {}) +vim.keymap.set('n', 'gr', (function() builtin.lsp_references({}) end), {}) +vim.keymap.set('n', 'gd', (function() builtin.lsp_definitions({}) end), {}) +vim.keymap.set('n', 'gt', (function() builtin.lsp_type_definitions({}) end), {}) +vim.keymap.set('n', 'gi', (function() builtin.lsp_implementations({}) end), {}) -- vim.keymap.set('n', 'gt', (function() builtin.lsp_type_definitions({jump_type="vsplit"}) end), {}) diff --git a/programs/nvim/keys.nix b/programs/nvim/keys.nix index 679ecbd..4a9d4b3 100644 --- a/programs/nvim/keys.nix +++ b/programs/nvim/keys.nix @@ -19,8 +19,7 @@ in # jumplist (map "" "" "") # note: C-a is actually C-i, remapped through kitty. - (luamap "n" "r" "${telescope}.jumplist()") - (luamap "n" "R" "${telescope}.loclist()") + (luamap "n" "j" "${telescope}.jumplist()") # pickers (luamap "n" "" "${telescope}.find_files()") diff --git a/programs/xdg.nix b/programs/xdg.nix index 0fad6fa..2910559 100644 --- a/programs/xdg.nix +++ b/programs/xdg.nix @@ -27,6 +27,7 @@ let mimeMap = { text = [ + "text/rust" "text/plain" "text/english" "application/x-zerosize"