Skip to content

Instantly share code, notes, and snippets.

View junkblocker's full-sized avatar

Manpreet Singh junkblocker

View GitHub Profile
@rougier
rougier / sidetabs.el
Created April 28, 2026 17:54
Emacs sidetabs
;;; sidetabs.el --- Left side tabs -*- lexical-binding: t; -*-
;; Copyright (C) 2026 Nicolas P. Rougier
;; Author: Nicolas P. Rougier <nicolas.rougier@inria.fr>
;;; Package-Requires: ((emacs "27.1"))
;; Keywords: convenience
;; This file is not part of GNU Emacs.
@alganet
alganet / c89cc.sh
Last active August 20, 2026 14:00
c89cc.sh - standalone C89/ELF64 compiler in pure portable shell
#!/bin/sh
# ISC License
# Copyright (c) 2026 Alexandre Gomes Gaigalas <alganet@gmail.com>
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
@linhusp
linhusp / dolphin_and_kde_file_picker_on_niri.md
Last active September 27, 2026 07:59
(Not Really) A Guide To Setup Dolphin & KDE File Picker On Niri - Arch Linux

(Not Really) A Guide To Setup Dolphin & KDE File Picker On Niri - Arch Linux

My Thought On Making This

I have looked around online and noticed a lot of users that moved to Niri come from KDE, or were using Dolphin on their previous WM/DE and want to use it on Niri. The problem is that unlike Nautilus, the Dolphin experience on Niri is not out of the box, it has a lot of issues. 90% of the time you open Dolphin the first time it doesn't work properly and it looks horrible. So I try to write this to stealgather all the fixes that I have found and turn it into a guide for newcomers to make Dolphin functions as close as it was on KDE.

This guide focuses on Vanilla Niri. I personally don't use any plugin or theming shell so I don't know exactly how they work.

At the time I'm writing this I'm thinking of upload it into a gist or something at some point, to make it easier to update things and to access/download. Edit: gist

@thomasht86
thomasht86 / setup.sh
Last active January 3, 2026 17:12
Claude code on mobile
#!/bin/bash
#
# Mobile Claude - One-command setup for running Claude Code remotely
# Supports: Arch, Ubuntu/Debian, Fedora, macOS
#
# Usage: curl -fsSL https://gist.github.com/thomasht86/86f0f8f62db1839054abd8a7e501ff7d/raw/935bbfa0957cd5926751742189441cf10fbe2ba0/setup.sh | bash
#
set -e
@alganet
alganet / parser.sh
Created June 29, 2025 14:39
Prototype sh parser written in sh
# Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
# SPDX-License-Identifier: ISC
_repeat () {
case "${2:-}" in
0|"") return;;
1) REPLY="$1"; return;;
2) REPLY="$1$1"; return;;
3) REPLY="$1$1$1"; return;;
4) REPLY="$1$1$1$1"; return;;
@lobre
lobre / README.md
Last active September 20, 2026 20:44
Understanding Kakoune’s Command Language: Parsing, Evaluations, and Beyond

Understanding Kakoune’s Command Language: Parsing, Evaluations, and Beyond

Kakoune is a modal editor. That means when you’re editing text, you’re constantly interacting with the editor using a powerful language of keystrokes — moving around, selecting text, transforming content, all through short, expressive commands typed directly in the editing interface. This is the core editing experience, and it’s what gives Kakoune its speed and fluidity.

But this isn’t the only way to interact with Kakoune.

There’s another side to Kakoune — a more structural, programmable one — which lets you interact with the editor through commands. These commands can be used to configure Kakoune, automate behavior, and define complex workflows. Commands can be written in configuration files, invoked via custom keybindings, or typed directly into the command prompt.

This document focuses on that second side: the command interface. We will explore how commands work, how they are built, and how Kakoune interprets them

@davcam
davcam / README.md
Last active March 7, 2026 14:51
A zettelkasten/denote application in ad editor.

This gist describes simply/minimally how to extend the ad editor to use zettelkasten/Denote type notes using just four short bash scripts.

Below is a short description of ad, a couple of demos and the bash scripts needed to:

  • create "Denote" notes
  • create links to notes
  • open notes in ad from the links using ad's loading/plumbing mechanism
  • list notes in ad that link back (backlink) to the current one
@CodingWithAnxiety
CodingWithAnxiety / notify.lua
Last active January 23, 2025 07:09
Libnotify Wezterm
--- A notification module for WezTerm using notify-send.
-- This module provides functionality to send notifications using the 'notify-send' command,
-- which is available on most Linux distributions that implement the org.freedesktop.Notifications specification.
local wezterm = require 'wezterm'
local M = {}
--- Check if a value exists in a table.
-- @local
function jj-latest-description --description "Get latest non-empty commit description and bookmarks"
jj log -r 'latest(ancestors(@, 10) ~ (empty()~merges()))' \
--quiet --no-pager --no-graph --ignore-working-copy --color always \
-T "surround('(', ')', separate(' ', \
self.local_bookmarks(), \
coalesce(self.description().first_line(), '...'), \
self.change_id().shortest(5)\
))" 2>/dev/null
end
@Leenuus
Leenuus / README.md
Last active August 21, 2026 15:32
Display command output in neovim split window

I just implemented a simple but really powerful user command suggested by romainl in lua, running asynchronously using vim.uv API.

In short, this is a command named Redir, which redirect ex command or shell commands stdin/sterr to neovim buffers. So you can view them in split window on the fly.

With Redir, you can do:

  • A good way to inspect your neovim.
" show all your messages in split, I love this one and make it default