Skip to content

Instantly share code, notes, and snippets.

@dzogrim
dzogrim / nix-manager-adm
Created June 25, 2025 11:22
Script to activate or rollback Nix Home Manager profile on macOS 15
#!/usr/bin/env bash
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: 2025 Sébastien L.
# Description: Script to activate or rollback Nix Home Manager profile on macOS.
# Script d’administration pour activer ou restaurer un environnement Nix Home Manager sous macOS.
# Il vérifie l’utilisateur, la présence du flake et sécurise les opérations avec gestion des sauvegardes.
# Version: 0.1 (2025-06-25)
# Author: Sebastien L.
@dzogrim
dzogrim / slack-look-up.go
Last active June 14, 2025 10:23
slack-look-up : vérifie l'existence de workspaces en générant des sous-domaines potentiels (golang & bash)
// SPDX-License-Identifier: MIT
// SPDX-FileCopyrightText: 2025 Sébastien L.
// SPDX-FilePurpose: POC
// SPDX-FileComment: Programme à usage démonstratif
// Version: 1.0.0
// Date: 2025-06-14
//
// slack-look-up.go — Vérifie l'existence de workspaces Slack en générant
// et testant des sous-domaines potentiels (HTTP HEAD).
//
@dzogrim
dzogrim / postinstall-mba.sh
Last active June 8, 2025 14:55
script post-install pour Xubuntu 24.04.2 LTS sur MacBook Air 11"
#!/usr/bin/env bash
# Post-install script for Xubuntu 24 on MBA
# (MacBook Air Intel Core 2 Duo)
#
# Ce script post-install pour Xubuntu 24.04.2 LTS optimise un vieux MacBook Air 11"
# (Intel Core 2 Duo) en :
#
# - supprimant les paquets inutiles,
# - installant les pilotes nécessaires (audio, trackpad, webcam…),
@dzogrim
dzogrim / after-builder.sh
Created June 6, 2025 11:14
Safely deploy latest nixos image to USB stick after build for hardware tests
#!/usr/bin/env bash
# SPDX-License-Identifier: MIT
# after-builder.sh — Safely deploy latest sebos image to USB stick after build for hardware tests
# Author: Sébastien L.
# Description:
# This script installs the latest sebos_*.raw image from ./result/full to a USB stick mounted under /run/media/<user>/DATA.
# It writes metadata, computes hash, verifies it, and cleanly ejects the device.
# Dry-run by default, requires "APPLY" to take action.
set -euo pipefail
@dzogrim
dzogrim / init.lua
Created May 27, 2025 12:16
Imiter le comportement Linux-like triple-clic pour copier + clic molette pour coller
----------------------------------------------------------------------
-- Script Lua pour Hammerspoon : triple-clic pour copier + clic molette pour coller
--
-- Idéal pour imiter le comportement Linux-like (sélection puis clic molette pour coller),
-- mais en s'adaptant à macOS et en utilisant le presse-papiers standard.
--
-- Fonctionnalités :
-- - Déclenche un ⌘C (copier) automatique lorsqu'un triple-clic gauche rapide est détecté
-- et ce uniquement dans une liste d'applications autorisées (ex : outils de dév.).
-- - Déclenche un ⌘V (coller) lorsqu'on clique sur le bouton du milieu (molette).
@dzogrim
dzogrim / backup_remote_rsync.sh
Last active May 17, 2025 16:04
Secure remote rsync backup script from a mounted volume with validation, timestamped logs
#!/usr/bin/env bash
# SPDX-License-Copyright: 2025 Sébastien L.
# SPDX-License-Identifier: MIT
#
# Secure remote rsync backup script from a mounted volume with validation, timestamped logs, and three modes: dryrun, drycheck, and apply.
# (!) Please make sure to configure a local PASSWORD_FILE with 0600 mode.
#
# This script requires a properly configured remote rsync module,
# with correct security settings already in place (e.g., password, access control).
@dzogrim
dzogrim / aliases-type.sh
Created May 9, 2025 16:52
Finds macOS Finder aliases in the current directory, resolves their targets using `resolve-alias`, and for valid folder targets offers to replace each alias with a Unix symlink
#!/usr/bin/env bash
# This script finds macOS Finder aliases in the current directory,
# resolves their targets using `resolve-alias`, and for valid folder targets,
# offers to replace each alias with a Unix symlink to the original folder.
# Ensure resolve-alias is available
if ! command -v resolve-alias &> /dev/null; then
echo "❌ Error: 'resolve-alias' is not in your PATH."
echo "Please visit https://github.com/mattieb/resolve-alias and compile it first."
@dzogrim
dzogrim / truncate_filenames.sh
Created May 9, 2025 15:43
Truncate overly long filenames (>140 characters) in a given directory to prevent issues on SMB shares. This addresses a specific problem where very long filenames cause repeated backup behavior in Syncovery 10.17.5 when using SMB.
#!/usr/bin/env bash
set -euo pipefail
# ──────────────────────────────────────────────────────────────────────────────
# But : Tronquer les noms de fichiers trop longs (>140 caractères) dans un
# répertoire donné pour éviter des 'problèmes' sur des partages SMB.
# Ceci règle un problème particulier sur des noms très longs et SMB
# via l'application de sauvegarde Syncovery 10.17.5.
# Mode : Dry-run par défaut. Utiliser --APPLY pour appliquer les renommages.
@dzogrim
dzogrim / remove-MAU2.sh
Created March 28, 2025 19:52
Suppression complète de Microsoft AutoUpdate (MAU) sur macOS
#!/usr/bin/env bash
#
# remove-MAU2.sh — Suppression complète de Microsoft AutoUpdate (MAU) sur macOS
#
# Ce script supprime MAU et ses composants associés, y compris les fichiers de préférences, caches,
# agents, daemons, et entrées dans les containers sandboxés des apps Microsoft Office.
#
# Auteur : Sébastien L.
# Licence : MIT
# Date : 2025-03-28
@dzogrim
dzogrim / gdrive_to_whaller.py
Created March 26, 2025 11:07
Transfert récursif de dossiers Google Drive vers Whaller (via API)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
gdrive_to_whaller.py
Transfert récursif de dossiers Google Drive vers Whaller (via API)
- Recrée l'arborescence
- Gère les fichiers
- Supporte un mode dry-run
- Log JSON et vérification de l'existence des dossiers