kanata: qmk for Your Laptop Keyboard When Your qmk Keyboard is Not Around

TL;DR Use kanata when your qmk keyboard is not around. Introduction I have a qmk keyboard bought from keebio (note: highly recommend!): However, sometimes I’m on the go, and I’m forced to use my laptop keyboard. After being spoiled by qmk’s insane customizability, I couldn’t go back to a regular keyboard. I found kanata and kmonad and they could simulate most of my qmk experience. Why kanata over kmonad? The exact reason Why I built and use kanata. When using kmonad, I need to fully press the modifiers much longer for them to be registered. A slight tap is not registered. Like #466, “when I type capital F, 90% of times it comes out as lowercase f.” On the other hand, kanata doesn’t have this problem. ...

May 9, 2023 · 2 min

plocate: Not a Drop-in Replacement If You're Using btfrs

TL;DR If you want to use plocate while your filesystem is btrfs, do the following: edit /etc/updatedb.conf: replace PRUNE_BIND_MOUNTS = "yes" with PRUNE_BIND_MOUNTS = "no" save the file update the db with sudo updatedb test again with $ locate home to see any outputs from home directory Introduction plocate is supposed to be a much faster drop-in replacement for mlocate, but I had a lot of troble getting it to work. ...

May 9, 2023 · 1 min

Todoman+tasks+Nextcloud: Ditch Your Proprietary TODO apps like Todoist

TL;DR Stack: Nextcloud: server tasks: Android client Todoman: cli integration vdirsyncer: “database” Together they can sync across your Linux desktop and Android devices. Introduction Why switched away from Todoist? Proprietary No cli integration Notes The above solution does take some time to set it up. But afterwards, it’s set-and-forget. Also, check out my How to Migrate From OneDrive to Nextcloud to get started on Nextcloud. Tools Nextcloud: server that glues everything together tasks: Android client on the go Todoman: cli integration vdirsyncer: synchronizes TODOs between devices autovdirsyncer: monitors the TODO db and update accordingly and automatically Getting Started Install the packages pacman -Syu todoman vdirsyncer autovdirsyncer Notes The binary for todoman is todo. Install tasks on your Android device Tips ~/.config/vdirsyncer/config: [storage calendar_remote] type = "caldav" url = "https://efss.qloud.my/remote.php/caldav/" username.fetch = ["shell", "echo $NEXTCLOUD_USERNAME"] password.fetch = ["shell", "echo $NEXTCLOUD_PASSWORD"] I set NEXTCLOUD_USERNAME and NEXTCLOUD_USERNAME in /etc/environment so that autovdirsyncer can read the values when autovdirsyncer.service starts up. ...

May 9, 2023 · 1 min

find-extender.nvim: like leap.nvim but for the current line

TL;DR Use find-extender.nvim to jump to anywhere within the current line with exactly 4 keystrokes. Introduction Using leap.nvim to jump to any location within the buffers is great but for jumping within the current line, I didn’t have a good enough solution until now. I tried clever-f.vim and flit.nvim but they’re not precise enough. Let’s say I have the following line and have to get to WORD_fingWORD: ...

April 24, 2023 · 2 min

sway-toolwait: Tame Your Autostart App Layout

TL;DR Use sway-toolwait to control the layout and workspace of your autostart apps. Introduction I used to have the following in ~/.config/sway/config.d/autostart_applications: swaymsg "workspace number 1" swaymsg "exec flatpak run --env=OBSIDIAN_USE_WAYLAND=1 md.obsidian.Obsidian" swaymsg "exec kitty" swaymsg "workspace number 2" swaymsg "exec firefox" swaymsg "workspace number 3" swaymsg "exec chromium --ozone-platform-hint=auto" swaymsg "exec kitty" swaymsg "workspace number 4" swaymsg "exec vieb --enable-features=UseOzonePlatform --ozone-platform=wayland" swaymsg "exec kitty" As you can see, I have 3 Chromium-based app. They take longer to launch than kitty, so kitty is launched before them and it messes up my layout. Somtimes they’d launch even in the wrong workspaces (e.g., sway would have switched to workspace 3 before done starting firefox in workspace 2, so firefox is in workspace 3) ...

March 24, 2023 · 3 min

How to Migrate From OneDrive to Nextcloud

TL;DR Use Nextcloud instead of M$’s OneDrive. Purge OneDrive in 10 min. Introduction video by The Linux Experiment. Introduction OneDrive Client for Linux is amazing but it’s for OneDrive. I started looking for an alternative and I found Nextcloud. Comparison OneDrive’s first 5GB is free while Nextcloud is 3GB (for my cloud provider). 3GB is enough for me. nextcloudcmd can also perform two-way sync Getting Started Sign up Note When you sign up, there is a default cloud provider. In my case it’s Qloud. ...

February 4, 2023 · 2 min

lazygit: git Commands Made Simple in Your Terminal

TL;DR Use lazygit for an amazing git workflow. Introduction video by DevOnDuty. Introduction Command line tools are very powerful, but nobody likes typing the same commands over and over again (source): I used to search git syntax and flags on stackoverflow. Now I just open lazygit and press ? for a context-based help menu: My ~/.config/lazygit/config.yml: git: paging: colorArg: always pager: delta --dark --paging=never os: editCommand: "nvim" # see 'Configuring File Editing' section Integration Tips 1. Neovim I use the plugin lazygit.nvim and have the following line in legendary.nvim: ...

January 28, 2023 · 1 min

Tridactyl and Surfingkeys are Vimium on Steroids

TL;DR Use tridactyl or Surfingkeys for a more thorough Vim browser experience than Vimium. Introduction video by Brodie. I’m currently using tridactyl. Introduction I used Vimium for many years but tridactyl and Surfingkeys are another level. Their number of features and level of customization are much more than what Vimium can offer. Tips for Tridactyl 1. Look at Exemplar .tridactylrc files from tridactyl/wiki to get started Tips for Surfingkeys 1. Turn on Advanced mode ...

January 28, 2023 · 1 min

vimiv to Substitute for Ranger's Image Preview in Wayland

2023-08-05 Update The drop-in replacement ueberzugpp has native support for Wayland (sway and hyprland), and most importantly, tmux support on sway and hyprland! pacman -Syu ueberzugpp and then add the following: set preview_images true set preview_images_method ueberzug and you’re done! TL;DR I’ve switched to using vimiv to substitute for my broken Ranger’s image preview. You could also use imv or mpv to interact with Ranger but I found it to be a bit janky. Working fine until something broke… Five months ago, I asked for help on Reddit: [Sway + Kitty + Tmux + Ranger’s Image Preview] Not working but worked in X11. Long story short, the absolute is that Kitty + Tmux + Ranger’s image preview isn’t going to work (#413), but Kitty + Ranger (i.e., without Tmux) works fine, so I had the following: ...

December 27, 2022 · 2 min

Using AutoHotkey (AHK) on a No-admin-rights Windows Machine And Other Tips

Warning Use this information at your own risk. Introduction As mentioned previously, I work as a developer at a corporate. The development experience on a no-admin-rights Windows machine is horrendous. The following quote from this SO reply sums it up: “We value your work so little that we are prepared to significantly compromise your ability to do your job for no good reason. In fact, we are quite happy to do this to cover our own arse, pander to the whims of petty bureaucracy or because we simply can’t be bothered. That’s just the best case. The worst case is that we’re really the type of control freaks that view it as our perogative to tell you how to do your job and what you do or don’t need to do it. Make do with what you’re given and be grateful that you’ve got a job at all.” ...

December 26, 2022 · 3 min