about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--home-manager/soispha/config/default.nix1
-rw-r--r--home-manager/soispha/config/tridactyl/config.vim44
-rw-r--r--home-manager/soispha/config/tridactyl/default.nix3
3 files changed, 48 insertions, 0 deletions
diff --git a/home-manager/soispha/config/default.nix b/home-manager/soispha/config/default.nix
index 4dfb0f9b..b86d2e29 100644
--- a/home-manager/soispha/config/default.nix
+++ b/home-manager/soispha/config/default.nix
@@ -30,6 +30,7 @@
     ./ssh
     ./swayidle
     ./swaylock
+    ./tridactyl
     ./yambar
     ./zsh
   ];
diff --git a/home-manager/soispha/config/tridactyl/config.vim b/home-manager/soispha/config/tridactyl/config.vim
new file mode 100644
index 00000000..270d8bf8
--- /dev/null
+++ b/home-manager/soispha/config/tridactyl/config.vim
@@ -0,0 +1,44 @@
+" vim: filetype=vim
+
+" This wipes all existing settings. This means that if a setting in this file
+" is removed, then it will return to default. In other words, this file serves
+" as an enforced single point of truth for Tridactyl's configuration.
+sanitize tridactyllocal tridactylsync
+
+" Just use a blank page for new tab. It would be nicer to use the standard
+" Firefox homepage, but Tridactyl doesn't support this yet.
+"TODO use custome file
+"set newtab file:///home/soispha/new.html
+
+" Delete temp files after use
+alias editor_rm composite editor | jsb -p tri.native.run(`rm -f '${JS_ARG[0]}'`)
+bind --mode=insert <C-i> editor_rm
+bind --mode=input <C-i> editor_rm
+
+" Use vim in tmux for editor.
+set editorcmd alacritty -e nvim
+
+" Ctrl-F should use the browser's native 'find' functionality.
+unbind <C-f>
+
+" But also support Tridactyl search too.
+bind / fillcmdline find
+bind ? fillcmdline find -?
+bind l findnext 1
+bind L findnext -1
+" Remove search highlighting.
+bind ,<Space> nohlsearch
+" Use sensitive case. Smart case would be nice here, but it doesn't work.
+set findcase smartcase
+
+" Smooth scrolling, yes please. This is still a bit janky in Tridactyl.
+set smoothscroll true
+
+" The default jump of 10 is a bit much.
+bind t scrollline 5
+bind n scrollline -5
+
+" K and J should move between tabs. x should close them.
+bind T tabprev
+bind N tabnext
+bind x tabclose
diff --git a/home-manager/soispha/config/tridactyl/default.nix b/home-manager/soispha/config/tridactyl/default.nix
new file mode 100644
index 00000000..23307cfe
--- /dev/null
+++ b/home-manager/soispha/config/tridactyl/default.nix
@@ -0,0 +1,3 @@
+{...}: {
+  xdg.configFile."tridactyl/tridactylrc".source = ./config.vim;
+}