aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-19 00:24:10 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-08-29 03:50:27 +0530
commit2492b513c4189c31fb965af584a6bb0b73d01531 (patch)
tree8169610e7b85f3530db9aabf4f32d8f5f311b135 /modules
parent2ac22a72455341a3efced289782fe5daf5d788ee (diff)
downloadhome-manager-config-2492b513c4189c31fb965af584a6bb0b73d01531.tar.gz
home-manager-config-2492b513c4189c31fb965af584a6bb0b73d01531.zip
feat: neomutt vim-like keybindings, graphics acceleration on chromium
- added/replaced some more keybindings to be more vim-like - fixed the graphics acceleration on ungoogled-chromium by forcing it to use opengl pipelines
Diffstat (limited to 'modules')
-rw-r--r--modules/communication/neomutt/keybindings.nix14
-rw-r--r--modules/web/chromium/default.nix21
2 files changed, 26 insertions, 9 deletions
diff --git a/modules/communication/neomutt/keybindings.nix b/modules/communication/neomutt/keybindings.nix
index 4dab4a5..7903d9a 100644
--- a/modules/communication/neomutt/keybindings.nix
+++ b/modules/communication/neomutt/keybindings.nix
@@ -10,6 +10,7 @@ in
{
config.programs.neomutt.binds = lib.mkIf config.communication.neomutt.enable [
# Index ------------------------------------------------------------------
+ (bind [ "index" ] "$" "noop")
(bind [ "index" ] "g" "noop")
(bind [ "index" ] "d" "noop")
(bind [ "index" ] "z" "noop")
@@ -20,6 +21,7 @@ in
(bind [ "index" ] "h" "noop")
(bind [ "index" ] "<Space>" "noop")
(bind [ "index" ] ":q" "exit")
+ (bind [ "index" ] ":w" "sync-mailbox")
(bind [ "index" ] "j" "next-entry")
(bind [ "index" ] "k" "previous-entry")
(bind [ "index" ] "gg" "first-entry")
@@ -67,6 +69,7 @@ in
(bind [ "pager" ] "q" "noop")
(bind [ "pager" ] "\\Ch" "help")
(bind [ "pager" ] ":q" "exit")
+ (bind [ "pager" ] ":w" "sync-mailbox")
(bind [ "pager" ] "j" "next-line")
(bind [ "pager" ] "k" "previous-line")
(bind [ "pager" ] "gg" "top")
@@ -102,8 +105,13 @@ in
(bind [ "attach" ] "q" "noop")
(bind [ "attach" ] "\\Ch" "help")
(bind [ "attach" ] ":q" "exit")
+ (bind [ "attach" ] ":w" "save-entry")
(bind [ "attach" ] "j" "next-entry")
(bind [ "attach" ] "k" "previous-entry")
+ (bind [ "attach" ] "gg" "first-entry")
+ (bind [ "attach" ] "G" "last-entry")
+ (bind [ "attach" ] "\\Cd" "half-down")
+ (bind [ "attach" ] "\\Cu" "half-up")
(bind [ "attach" ] "l" "view-attach")
(bind [ "attach" ] "s" "save-entry")
(bind [ "attach" ] "p" "print-entry")
@@ -125,12 +133,18 @@ in
(bind [ "browser" ] "\\Cu" "half-up")
# Compose menu -----------------------------------------------------------
+ (bind [ "compose" ] "g" "noop")
(bind [ "compose" ] ":" "noop")
(bind [ "compose" ] "q" "noop")
(bind [ "compose" ] "\\Ch" "help")
(bind [ "compose" ] ":q" "exit")
+ (bind [ "compose" ] ":w" "postpone-message")
(bind [ "compose" ] "j" "next-entry")
(bind [ "compose" ] "k" "previous-entry")
+ (bind [ "compose" ] "gg" "first-entry")
+ (bind [ "compose" ] "G" "last-entry")
+ (bind [ "compose" ] "\\Cd" "half-down")
+ (bind [ "compose" ] "\\Cu" "half-up")
(bind [ "compose" ] "y" "send-message")
(bind [ "compose" ] "a" "attach-file")
(bind [ "compose" ] "e" "edit-message")
diff --git a/modules/web/chromium/default.nix b/modules/web/chromium/default.nix
index 19038e5..f38cdf8 100644
--- a/modules/web/chromium/default.nix
+++ b/modules/web/chromium/default.nix
@@ -19,15 +19,14 @@
defaultText = lib.literalExpression "config.programs.chromium.finalPackage";
description = "Package to use for chromium. Defaults to the wrapped finalPackage from programs.chromium.";
};
- checkForUpdates = lib.mkOption {
- type = lib.types.bool;
- default = true;
- description = ''
- Check GitHub for newer extension releases before building, and abort
- with upgrade instructions if the pinned version is stale. Requires
- network access during evaluation (pass --impure to nix/home-manager).
- '';
- };
+ checkForUpdates = lib.mkEnableOption ''
+ Check GitHub for newer extension releases before building, and abort
+ with upgrade instructions if the pinned version is stale. Requires
+ network access during evaluation (pass --impure to nix/home-manager).
+ '';
+ useOpenGL = lib.mkEnableOption ''
+ Use OpenGL APIs for graphics acceleration
+ '';
};
config = lib.mkIf config.web.chromium.enable {
@@ -43,6 +42,10 @@
[
"--force-device-scale-factor=1.15"
"--load-extension=${extensionDirs}"
+ ]
+ ++ lib.optionals config.web.chromium.useOpenGL [
+ "--use-angle=opengl"
+ "--use-cmd-decoder=passthrough"
];
};