Skip to content

Instantly share code, notes, and snippets.

View mrjk's full-sized avatar

mrjk

  • Montréal
View GitHub Profile
@mrjk
mrjk / gen_favicon.sh
Created February 14, 2023 18:20
Generate favicon from svg
#!/bin/bash
# Usage example:
# gen_favicon.sh SVG_FILE.svg OUT_FILE.ico
set -eu
# Generate favicon from official logo
convert -density 300 -define icon:auto-resize=256,128,96,64,48,32,16 -background none $1 $2
@mrjk
mrjk / cli-minimal.bash
Last active December 21, 2023 20:26
Minimal bash cli script
#!/bin/bash
set -eu
# set -x
install_system()
{
apt install python3 py3-pip git
pip install --root-user-action=ignore poetry
}
@mrjk
mrjk / dip.sh
Last active May 25, 2023 13:16
Docker Scripts
#!/bin/bash
# From: https://gist.github.com/ipedrazas/2c93f6e74737d1f8a791?permalink_comment_id=3704504#gistcomment-3704504
set -eu
function dip() {
local cols='%-13s %-48s %-40s %-80s'
_print_container_info() {
local container_id
@mrjk
mrjk / cli-app-typer.py
Last active March 2, 2025 15:15
A quite complete example of python CLI Typer boilerplate [python] (Archive)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Version: 08-2024
# Migrated to: https://github.com/mrjk/python_snippets/blob/main/examples/typer/cli-app-typer.py
"""MyApp CLI interface
This CLI provides a similar experience as the git CLI, but in Python with Typer.
@mrjk
mrjk / cli-basic.bash
Last active March 28, 2024 00:16
A simple template cli for bash
#!/bin/bash
# Utility to discover installed binaries
set -eu
path_list ()
{
tr ':' '\n' <<< "$PATH"
@mrjk
mrjk / cli-app.bash
Last active April 25, 2024 21:33
Command based CLI bash skeleton
#!/bin/bash
# TEMPLATE_VERSION=2024-04-25
# Basic bash template for command/resource based CLI.
# Features:
# * Automatic command discovery and help generation
# * Logging and traces
# * Application dependency checker
# * Support for getopts
# * Return code support
@mrjk
mrjk / bash_lib_snippets.md
Last active January 2, 2024 00:36
Snippets for bash

Iterations

Loop line over lines, whatever spaces in it:

while IFS= read -r line; do
    echo "... $line ..."
done < <(printf '%s' "$list")
@mrjk
mrjk / gist:5b302812a0a50760c18ed71cafa2ccff
Created January 2, 2024 00:24
Board settings are invalid on MR8300, there is a corrected version for switch
{
"model": {
"id": "linksys,mr8300",
"name": "Linksys MR8300 (Dallas)"
},
"network": {
"lan": {
"device": "eth0",
"protocol": "static"
},
@mrjk
mrjk / README.md
Last active March 28, 2024 15:06
Ansible cheatsheet

Ansible Cheat Sheet

Installation

When working on complex project, always install your own version of ansible in a dedicated virtual environment:

virtualenv -p python3 .venv
. .venv/bin/activate

Normally, you have at least a requirements.txt file determining python dependencies versions:

@mrjk
mrjk / clish.bash
Last active March 31, 2024 06:58
Clish - Bash Command Line App Framework
#!/bin/bash
# TEMPLATE_VERSION=2023-10-19
# Basic bash template for command/resource based CLI.
# Features:
# * Automatic command discovery and help generation
# * Logging and traces
# * Application dependency checker
# * Support for getopts
# * Return code support