Skip to content

Instantly share code, notes, and snippets.

@zvakanaka
zvakanaka / gist:70e9a7b565599e388d26007e145db254
Created November 29, 2025 19:07
How I manage AppImages on Linux
# Add this to path (.desktop will be in path so this only needs to be part of $PATH if you want to run from command line)
mkdir -p ~/Applications
# Put the AppImage in the right spot
mv ~/Downloads/*AppImage ~/Applications
# Find program files, which may include an existing icon if lucky
find / -type f -iname "*orca*slicer*" 2>/dev/null
# Create the .desktop file, see https://wiki.archlinux.org/title/Desktop_entries
# <space>? to see keys
# detect external file changes requires :reload https://github.com/helix-editor/helix/discussions/1550
# setting terminal window title would be nice https://github.com/helix-editor/helix/issues/2436
# scrolling the right pane in a picker would be nice
# folds would be nice
# https://helix-editor.vercel.app/reference/list-of-themes
theme = "catppuccin_mocha"
/*
* Waits for a specified amount of time before resolving.
* @param {number} waitMs - The amount of time to wait in milliseconds
* @returns {Promise<void>} - A promise that resolves after the specified amount of time
*/
const timeout = (waitMs) => {
return new Promise((resolve) => {
const timer = setTimeout(() => {
clearTimeout(timer)
resolve()
@zvakanaka
zvakanaka / config
Last active April 11, 2025 16:21
Ghostty Terminal
# this file is ~/.config/ghostty/config
# ghostty +show-config --default --docs | nvim
# reload with cmd+shift+,
# ghostty +list-fonts
font-family = JetBrainsMonoNL Nerd Font Mono
# ghostty +list-themes
# theme = GruvboxDark
theme = GruvboxLight
@zvakanaka
zvakanaka / md-link.lua
Created November 6, 2024 15:53
Markdown link from link
@zvakanaka
zvakanaka / script.js
Created October 4, 2024 06:53
Untitled
console.clear()
const j = getVil() // JSON.parse(require('fs').readFileSync('./peterxjang-crkbd-3x5_3.vil'))
const getMaxLength = (acc, cur) => {if (cur.length > acc) return cur.length;return acc;}
const maxKcLength = j.layout.flat().flat().reduce(getMaxLength,0)
const nRows = 3
const nCols = 6
const nThumbKeys = 3
const nThumbKeysStickingOut = 1
const layers = j.layout
@zvakanaka
zvakanaka / .vimrc
Last active November 16, 2024 22:03
" vertical bar as cursor in insert mode
let &t_SI = "\e[6 q"
let &t_EI = "\e[2 q"
" allow mouse
set mouse=a
" sync copy/paste with system clipboard (may need unnamedplus on Linux)
set clipboard+=unnamed
// ==UserScript==
// @name Youtube Show Likes Percentage
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Show likes/views percentage in search results.
// @author Adam Q.
// @match https://www.youtube.com/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant GM_xmlhttpRequest
// ==/UserScript==
Action Shortcut
about
arrange-items-menu
back Alt+Left
back-alt BackSpace
bookmarks-menu
cancel-search Escape
clear-directory-specific-settings
close-all-windows Ctrl+Shift+w

Fedora Sericea Setup

First things first, the default font is not intended for the swaybar config that comes with Sericea.

Install a Custom Font

Download a font (e.g. JetBrains Mono) from NerdFonts and extract to .local/share/fonts.

Terminal Config

The default terminal is foot, which can be customized by adding $HOME/.config/foot/foot.ini.

Sample foot config: