Skip to content

Instantly share code, notes, and snippets.

View pythoninthegrass's full-sized avatar

pythoninthegrass

View GitHub Profile
@pythoninthegrass
pythoninthegrass / Dockerfile
Created October 7, 2024 23:01
wip docker compose setup of tauri based in part on https://www.the-great.dev/blog/2024-02-04-tauri-docker
# syntax=docker/dockerfile:1.7.0
FROM lukemathwalker/cargo-chef:latest-rust-slim-bookworm AS base
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
libwebkit2gtk-4.0-dev \
build-essential \
curl \
@pythoninthegrass
pythoninthegrass / gum_log.sh
Last active October 2, 2024 22:23
gum logging mvp
#!/usr/bin/env bash
# Function to log using gum
logger() {
local level msg OPTIND log_file log_dir log_path
level=""
msg=""
log_dir="/tmp"
log_file="gum.log"
log_path="${log_dir}/${log_file}"
@pythoninthegrass
pythoninthegrass / simple_server.py
Created September 25, 2024 22:06
http.server implementation of serving unencrypted directory content (e.g., kickstart files) over port 8000
#!/usr/bin/env python
import http.server
import os
import socketserver
from pathlib import Path
PORT = 8000
if os.getenv("WORK_DIR") is not None:
@pythoninthegrass
pythoninthegrass / cloud-init.yml
Last active September 24, 2024 03:44
Minimal cloud-config for harvester ubuntu cloud image
#cloud-config
# QCow2 UEFI/GPT Bootable disk image
# https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
output: { all: '| tee -a /var/log/cloud-init.log' }
timezone: "America/Chicago"
hostname: ubuntu
@pythoninthegrass
pythoninthegrass / 99-motd.sh
Last active September 22, 2024 00:47 — forked from arvati/alpine_motd_generator.md
Dynamic motd generator for Alpine Linux
#!/bin/sh
. /etc/os-release
PRETTY_NAME=`awk -F= '$1=="PRETTY_NAME" { print $2 ;}' /etc/os-release | tr -d '"'`
VERSION_ID=`awk -F= '$1=="VERSION_ID" { print $2 ;}' /etc/os-release`
UPTIME_DAYS=$(expr `cat /proc/uptime | cut -d '.' -f1` % 31556926 / 86400)
UPTIME_HOURS=$(expr `cat /proc/uptime | cut -d '.' -f1` % 31556926 % 86400 / 3600)
UPTIME_MINUTES=$(expr `cat /proc/uptime | cut -d '.' -f1` % 31556926 % 86400 % 3600 / 60)
cat > /etc/motd << EOF
@pythoninthegrass
pythoninthegrass / nikto.sh
Last active September 11, 2024 18:47
nikto docker shim
#!/usr/bin/env bash
set -e
help() {
cat <<- DESCRIPTION >&2
Shim to run nikto in a container.
SETUP
git clone https://github.com/sullo/nikto
@pythoninthegrass
pythoninthegrass / keymap.json
Last active September 25, 2024 20:30
zed config
// Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
[
{
"context": "Workspace",
@pythoninthegrass
pythoninthegrass / kestra-python.yml
Created August 29, 2024 21:18
Use namespace files to run a basic python script on the kestra host
id: editor
namespace: company.team
tasks:
- id: hello
type: io.kestra.plugin.scripts.python.Script
namespaceFiles:
enabled: true
script: "{{ read('scripts/hello.py') }}"
@pythoninthegrass
pythoninthegrass / hello-ansible.yml
Created August 29, 2024 21:16
Kestra mvp for inline ansible inventory and playbook. Alternative is namespace files or the git plugin
id: ansible
namespace: company.team
tasks:
- id: ansible_task
type: io.kestra.plugin.ansible.cli.AnsibleCLI
inputFiles:
inventory.ini: |
localhost ansible_connection=local
myplaybook.yml: |
@pythoninthegrass
pythoninthegrass / ticktick_to_obsidian.py
Created August 23, 2024 19:11
Generate markdown files from TickTick backup CSV for use with Obsidian + Python Scripter plugin
#!/usr/bin/env python
import sys
import csv
import re
from pathlib import Path
python_script = Path(sys.argv[0])
vault_path = Path(sys.argv[1] if len(sys.argv) > 1 else "../../..").resolve()
file_path = Path(sys.argv[2] if len(sys.argv) > 2 else ".").resolve()