Skip to content

Instantly share code, notes, and snippets.

View eljamm's full-sized avatar
🔥
They don't gotta burn the books

Fedi Jamoussi eljamm

🔥
They don't gotta burn the books
  • Poe's masquerade
View GitHub Profile
@crabdancing
crabdancing / quick-nix-repl-tutorial.md
Last active December 21, 2024 19:45
a quick nix repl tutorial

If you want to probe a nix flake and figure out what it exposes, I typically just load it into nix repl and then tab complete around until I find what I'm looking for. E.g.:

$ nix repl
Welcome to Nix 2.18.5. Type :? for help.

nix-repl> :lf github:wez/wezterm/main?dir=nix
Added 12 variables.
@AskinNet
AskinNet / kitty.md
Created May 10, 2024 07:29 — forked from pnsinha/kitty.md
Kitty CheatSheet

Default shortcuts

Scrolling

Action Shortcut
Scroll line up ctrl+shift+up (also ⌥+⌘+⇞ and ⌘+↑ on macOS)
Scroll line down ctrl+shift+down (also ⌥+⌘+⇟ and ⌘+↓ on macOS)
Scroll page up ctrl+shift+page_up (also ⌘+⇞ on macOS)
Scroll page down ctrl+shift+page_down (also ⌘+⇟ on macOS)

Setting up qemu VM using nix flakes

Did you know that it is rather easy to setup a VM to test your NixOs configuration?

Create simple flake:

# flake.nix
{
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
---
########################################################################
# How to create a YAML issue template form in your repository #
########################################################################
# To use a YAML issue form in your repository, you must create a new
# file and add it to the .github/ISSUE_TEMPLATE folder in your
# repository by typing the full path to the new file in when prompted
# for a new file's name.
#
# If, for example, you wanted to create the bug.yaml form to add to your
@LukeMathWalker
LukeMathWalker / .gitlab-ci.yml
Last active December 9, 2024 18:12
GitLab CI - Rust setup
image: "rust:latest"
default:
before_script:
- rustc --version
- cargo --version
stages:
- test
@LukeMathWalker
LukeMathWalker / audit.yml
Last active October 14, 2025 13:21
GitHub Actions - Rust setup
name: Security audit
on:
schedule:
- cron: '0 0 * * *'
push:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
jobs:
security_audit:
@taichikuji
taichikuji / README.md
Last active October 26, 2025 19:31
Get a DDNS up and running with DuckDNS - Step by Step

Get a DDNS up and running with DuckDNS - Step by Step

Understanding DDNS

In summary, DDNS stands for Dynamic DNS. DDNS updates a DNS name in real-time to point to a changing IP address. This is useful for devices without a static IP. For example, companies like Google use static IPs and IP ranges, which are more expensive than ephemeral IPs and IP ranges. DDNS provides a cost-effective alternative, linking a hostname to a dynamic IP address.

How Does DDNS Work?

To use DDNS, you need an account with a DDNS provider. While some services are paid, they are still cheaper than static public IPs from ISPs. A script or service on your device updates the DDNS server with your current IP at regular intervals to maintain the link between your hostname and IP address. Luckily for us, DuckDNS is free for everybody and relays on donations to keep their services running.

@richardpl
richardpl / drcbox.lua
Last active June 30, 2025 05:24
dynaudnorm filter with visual feedback
--[[
mpv dynaudnorm filter with visual feedback.
Copyright 2016 Avi Halachmi ( https://github.com/avih )
Copyright 2020 Paul B Mahol
License: public domain
Needs mpv with very recent FFmpeg build.
Default config:
@Nadrieril
Nadrieril / shell.nix
Last active September 18, 2025 12:15
Building LineageOS on NixOS
# I used this shell.nix to build LineageOS 13.0 for my maguro (Samsung Galaxy Nexus GSM) phone
# The build instructions for normal Linuxes are here: https://wiki.lineageos.org/devices/maguro/build
# For NixOS, follow those instructions but skip anything related to installing packages
# Detailed instructions:
# cd into an empty directory of your choice
# copy this file there
# in nix-shell:
# $ repo init -u https://github.com/LineageOS/android.git -b cm-13.0
# $ repo sync
# $ source build/envsetup.sh
@posener
posener / go-table-driven-tests-parallel.md
Last active April 24, 2025 20:46
Be Careful with Table Driven Tests and t.Parallel()

Be Careful with Table Driven Tests and t.Parallel()

We Gophers, love table-driven-tests, it makes our unittesting structured, and makes it easy to add different test cases with ease.

Let’s create our table driven test, for convenience, I chose to use t.Log as the test function. Notice that we don't have any assertion in this test, it is not needed to for the demonstration.

func TestTLog(t *testing.T) {
	t.Parallel()