From 4d4d1b852ccc823c983f33e286f08b069ab6dcd3 Mon Sep 17 00:00:00 2001 From: dangerboot <> Date: Sun, 25 Jan 2026 17:28:18 +0100 Subject: [PATCH 1/9] clone --- usr/bin/clone | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr/bin/clone b/usr/bin/clone index 96946ce..080961a 100755 --- a/usr/bin/clone +++ b/usr/bin/clone @@ -5,10 +5,10 @@ clone () if [ $# -ne "1" ]; then PROFIL_NAME="$1"; PROJECT_NAME="$2"; - git clone --recurse-submodules ssh://git@0.tcp.eu.ngrok.io:18869/$PROFIL_NAME/$PROJECT_NAME.git; + git clone --recurse-submodules ssh://git@6.tcp.eu.ngrok.io:11272/$PROFIL_NAME/$PROJECT_NAME.git; else PROJECT_NAME="$1"; - git clone --recurse-submodules ssh://git@0.tcp.eu.ngrok.io:18869/painpain/$PROJECT_NAME.git; + git clone --recurse-submodules ssh://git@6.tcp.eu.ngrok.io:11272/painpain/$PROJECT_NAME.git; fi } clone "$@" From 0483507d463556da26f3e9d01fd90e1248bf588e Mon Sep 17 00:00:00 2001 From: dangerboot <> Date: Wed, 11 Feb 2026 14:16:14 +0100 Subject: [PATCH 2/9] prompt_dir --- usr/bin/prompt_dir | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 usr/bin/prompt_dir diff --git a/usr/bin/prompt_dir b/usr/bin/prompt_dir new file mode 100755 index 0000000..f80b70e --- /dev/null +++ b/usr/bin/prompt_dir @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +root="${1:-.}" + +find "$root" -type f -print0 | +while IFS= read -r -d '' file; do + printf -- "---\n%s\n-\n" "$file" + cat -- "$file" + printf "\n" +done + From 9f0d6a41f37b4a77396ce7a35b3c427d52940c83 Mon Sep 17 00:00:00 2001 From: dangerboot <> Date: Sun, 8 Mar 2026 09:25:42 +0100 Subject: [PATCH 3/9] clone factorized --- usr/bin/clone | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/usr/bin/clone b/usr/bin/clone index 080961a..09c1f9d 100755 --- a/usr/bin/clone +++ b/usr/bin/clone @@ -1,14 +1,16 @@ #!/bin/bash clone () { + URL=git@github.com: + PROFIL_NAME=nidionis DEFAULT_ADDR="" if [ $# -ne "1" ]; then PROFIL_NAME="$1"; PROJECT_NAME="$2"; - git clone --recurse-submodules ssh://git@6.tcp.eu.ngrok.io:11272/$PROFIL_NAME/$PROJECT_NAME.git; + git clone --recurse-submodules $URL/$PROFIL_NAME/$PROJECT_NAME.git; else PROJECT_NAME="$1"; - git clone --recurse-submodules ssh://git@6.tcp.eu.ngrok.io:11272/painpain/$PROJECT_NAME.git; + git clone --recurse-submodules $URL/$PROFIL_NAME/$PROJECT_NAME.git; fi } clone "$@" From a6ea011f97c60a47408b1ff02d3e93940bff13f4 Mon Sep 17 00:00:00 2001 From: dangerboot <> Date: Sun, 8 Mar 2026 09:31:00 +0100 Subject: [PATCH 4/9] .bashrc PATH+=:/opt --- usr/home/.bashrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr/home/.bashrc b/usr/home/.bashrc index 7e4714c..a78f5df 100755 --- a/usr/home/.bashrc +++ b/usr/home/.bashrc @@ -47,7 +47,7 @@ export IMAGE_REG="jpg|jpeg|png|gif|bmp|webp|tiff|ico|heic|svg|jfif" export MEDIA_REG="\.(${AUDIO_REG}|${VIDEO_REG}|${IMAGE_REG})$" -PATH="/bin:/sbin:/usr/bin:/usr/sbin" +PATH="/bin:/sbin:/usr/bin:/usr/sbin:/opt" PATH="$PATH:$SBIN_DIR" PATH="$PATH:$BIN_DIR" export PATH From aeb2f0c167ad41aff1c4e9f834cb735613055ed7 Mon Sep 17 00:00:00 2001 From: dangerboot <> Date: Tue, 10 Mar 2026 19:16:17 +0100 Subject: [PATCH 5/9] modified: usr/sbin/arch-qemu-install modified: usr/sbin/basha --- usr/sbin/arch-qemu-install | 13 +++++++------ usr/sbin/basha | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/usr/sbin/arch-qemu-install b/usr/sbin/arch-qemu-install index a1b7ba3..b73ff54 100755 --- a/usr/sbin/arch-qemu-install +++ b/usr/sbin/arch-qemu-install @@ -29,11 +29,12 @@ qemu-system-x86_64 \ -m "$RAM" \ -cpu host \ -smp "$CPUS" \ - -boot d \ -cdrom "$ISO" \ - -drive file="$IMG",format=qcow2 \ - -device virtio-vga \ - -display default,show-cursor=on \ - -nic user,hostfwd=tcp::2222-:22 \ - -virtfs local,id=share,path="$SHARE",security_model=none,mount_tag=hostshare + -nic user \ + -drive file="$IMG",format=qcow + #-boot d \ + # -netdev user,id=net0,dns=1.1.1.1 \ + # -device virtio-net-pci,netdev=net0 \ + # -display default,show-cursor=on \ + # -virtfs local,id=share,path="$SHARE",security_model=none,mount_tag=hostshare diff --git a/usr/sbin/basha b/usr/sbin/basha index 3213627..ce15522 100755 --- a/usr/sbin/basha +++ b/usr/sbin/basha @@ -1,7 +1,7 @@ #!/usr/bin/bash -if [ "$#" -lt 1 ] || [ "$#" -gt 1 ]; then +if [ "$#" -lt 1 ] ; then echo "Usage: $0 alias" exit 1 fi From 849c428aee98d42ffa6dffdc56b49d9be24e2a56 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 17 Mar 2026 20:00:32 +0000 Subject: [PATCH 6/9] modified: clone new file: pycharm new file: src --- usr/bin/clone | 5 +---- usr/bin/pycharm | 2 ++ usr/bin/src | 25 +++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100755 usr/bin/pycharm create mode 100755 usr/bin/src diff --git a/usr/bin/clone b/usr/bin/clone index 80fbd26..4ada8c1 100755 --- a/usr/bin/clone +++ b/usr/bin/clone @@ -7,12 +7,9 @@ clone () if [ $# -ne "1" ]; then PROFIL_NAME="$1"; PROJECT_NAME="$2"; - git clone --recurse-submodules $URL/$PROFIL_NAME/$PROJECT_NAME.git; else - PROFIL_NAME=painpain PROJECT_NAME="$1"; - git clone --recurse-submodules $URL/$PROFIL_NAME/$PROJECT_NAME.git; fi - git clone --recurse-submodules $URL/$PROFIL_NAME/$PROJECT_NAME.git; + git clone --recurse-submodules $URL$PROFIL_NAME/$PROJECT_NAME.git; } clone "$@" diff --git a/usr/bin/pycharm b/usr/bin/pycharm new file mode 100755 index 0000000..b74ae8a --- /dev/null +++ b/usr/bin/pycharm @@ -0,0 +1,2 @@ +#!/usr/bin/bash +~/code/pycharm-2025.3.3/bin/pycharm diff --git a/usr/bin/src b/usr/bin/src new file mode 100755 index 0000000..c5db6d6 --- /dev/null +++ b/usr/bin/src @@ -0,0 +1,25 @@ +#!/usr/bin/bash + +if [ "$#" -lt 1 ] || [ "$#" -gt 3 ]; then + echo "Usage: $0 arg1 [arg2] [arg3]" + exit 1 +fi + +# interactive session check +if [ -t 0 ]; then + echo -n "Delete existing output files? [y/N]: " + read ans + case "$ans" in + y|Y) rm -f *.school ;; + *) echo "Aborted"; exit 0 ;; + esac +fi + +# process input file +while IFS= read -r line; do + new_f="${line%.*}.school" + f > "$new_f" +done < "$FILE" + +exit 0 + From 94ab2092eb49149db07ccf4e6d2b7304343c695b Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 22 Mar 2026 17:04:02 +0000 Subject: [PATCH 7/9] modified: dict-maker modified: vpn --- usr/bin/dict-maker | 4 ++++ usr/bin/vpn | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/usr/bin/dict-maker b/usr/bin/dict-maker index 5b27e86..82310a9 100755 --- a/usr/bin/dict-maker +++ b/usr/bin/dict-maker @@ -6,6 +6,10 @@ import sys from collections import defaultdict from pathlib import Path import argparse +import re +from typing import Pattern + +REGEX: Pattern[str] = re.compile(r"...") # ---- ensure spacy and model ---- try: diff --git a/usr/bin/vpn b/usr/bin/vpn index 16c7341..420d6a9 100755 --- a/usr/bin/vpn +++ b/usr/bin/vpn @@ -3,4 +3,4 @@ cat $MACHINE_DIR/usr/etc/openvpn/.pot.swp #openvpn /etc/openvpn/client/ch-free-2.protonvpn.tcp.ovpn #openvpn /etc/openvpn/client/ch-free-4.protonvpn.tcp.ovpn -openvpn /etc/openvpn/client/ch-free-6.protonvpn.tcp.ovpn +wg-quick up /etc/openvpn/client/my.conf From e1cc829c7b1c84b253b8bd807d2c4aa787c626ab Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 22 Mar 2026 18:14:37 +0000 Subject: [PATCH 8/9] install/pacman.sh --- install/pacman.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/pacman.sh b/install/pacman.sh index 889ec89..b4a7746 100755 --- a/install/pacman.sh +++ b/install/pacman.sh @@ -37,4 +37,5 @@ pacman --noconfirm -S git-filter-repo pacman --noconfirm -S xorg-setxkbmap pacman --noconfirm -S xorg-xhost pacman --noconfirm -S qemu-full +pacman --noconfirm -S qbittorrent mandb #rend possible la commande apropos From 2354fe4ee1e1f938c4ae355e302b4c6cc442f793 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 23 Mar 2026 16:50:27 +0000 Subject: [PATCH 9/9] dict-maker --- usr/bin/dict-maker | 93 ++++++++++------------------------------------ 1 file changed, 20 insertions(+), 73 deletions(-) diff --git a/usr/bin/dict-maker b/usr/bin/dict-maker index 82310a9..98d8fb3 100755 --- a/usr/bin/dict-maker +++ b/usr/bin/dict-maker @@ -1,99 +1,48 @@ #!/usr/bin/env python3 import os import re -import subprocess -import sys from collections import defaultdict from pathlib import Path import argparse -import re -from typing import Pattern - -REGEX: Pattern[str] = re.compile(r"...") - -# ---- ensure spacy and model ---- -try: - import spacy -except ImportError: - subprocess.check_call([sys.executable, "-m", "pip", "install", "spacy"]) - import spacy - -def load_model(name="fr_core_news_sm"): - try: - return spacy.load(name) - except OSError: - subprocess.check_call([sys.executable, "-m", "spacy", "download", name]) - return spacy.load(name) # ---- args ---- -argparser = argparse.ArgumentParser() -argparser.add_argument("-v","--vault", default=".", help="Path to Obsidian vault") -argparser.add_argument("-d","--dict", default="Dictionary", help="Name of the dictionary directory") -args = argparser.parse_args() +parser = argparse.ArgumentParser() +parser.add_argument("-v", "--vault", default=".", help="Path to Obsidian vault") +parser.add_argument("-d", "--dict", default="Dictionary", help="Name of the dictionary directory") +args = parser.parse_args() # ---- config ---- VAULT_DIR = Path(args.vault) DICT_DIR = VAULT_DIR / args.dict WORD_REGEX = re.compile(r"\b[a-zA-Z]{3,}\b") -nlp = load_model("fr_core_news_sm") - # ---- prep ---- DICT_DIR.mkdir(exist_ok=True) lemma_map = defaultdict(lambda: {"forms": set(), "files": set()}) -# ---- scan ---- - -nlp.Defaults.stop_words.add(os.path.basename(os.getcwd())) -nlp.Defaults.stop_words.add("author") -nlp.Defaults.stop_words.add("jpeg") -nlp.Defaults.stop_words.add("jpg") -nlp.Defaults.stop_words.add("post") -nlp.Defaults.stop_words.add("like") -nlp.Defaults.stop_words.add("likes") -nlp.Defaults.stop_words.add("repost") -nlp.Defaults.stop_words.add("avatar") -nlp.Defaults.stop_words.add("bsky") -nlp.Defaults.stop_words.add("media") -nlp.Defaults.stop_words.add("thumnail") -nlp.Defaults.stop_words.add("http") -nlp.Defaults.stop_words.add("https") -nlp.Defaults.stop_words.add("com") -nlp.Defaults.stop_words.add("followers") -nlp.Defaults.stop_words.add("following") -nlp.Defaults.stop_words.add("unknown") -nlp.Defaults.stop_words.add("date") -nlp.Defaults.stop_words.add("social") -nlp.Defaults.stop_words.add("thumbnail") -nlp.Defaults.stop_words.add("replier") -nlp.Defaults.stop_words.add("replie") -nlp.Defaults.stop_words.add("for") -nlp.Defaults.stop_words.add("you") -nlp.Defaults.stop_words.add("from") -nlp.Defaults.stop_words.add("to") -nlp.Defaults.stop_words.add("script") -nlp.Defaults.stop_words.add("grep") -nlp.Defaults.stop_words.add("localhost") -nlp.Defaults.stop_words.add("sudo") -nlp.Defaults.stop_words.add("not") +# ---- stopwords ---- +STOPWORDS = { + os.path.basename(os.getcwd()), "author", "jpeg", "jpg", "post", "like", "likes", "repost", + "avatar", "bsky", "media", "thumbnail", "thumnail", "http", "https", "com", "followers", + "following", "unknown", "date", "social", "replier", "replie", "for", "you", "from", + "to", "script", "grep", "localhost", "sudo", "not" +} +# ---- scan vault ---- for md_file in VAULT_DIR.rglob("*.md"): - if "Dictionary" in md_file.parts: + if DICT_DIR.name in md_file.parts: continue - text = md_file.read_text(encoding="utf-8", errors="ignore") - words = WORD_REGEX.findall(text.lower()) - doc = nlp(" ".join(words)) - for token in doc: - if token.is_stop: + text = md_file.read_text(encoding="utf-8", errors="ignore").lower() + words = WORD_REGEX.findall(text) + for word in words: + if word in STOPWORDS: continue - lemma = token.lemma_ - if lemma.isalpha() and lemma not in nlp.Defaults.stop_words: - lemma_map[lemma]["forms"].add(token.text) - lemma_map[lemma]["files"].add(md_file) + lemma_map[word]["forms"].add(word) + lemma_map[word]["files"].add(md_file) print(f"Found {len(lemma_map)} lemmas.") -# ---- write ---- +# ---- write dictionary ---- for lemma, data in lemma_map.items(): if len(data["files"]) < 2: continue @@ -110,6 +59,4 @@ for lemma, data in lemma_map.items(): rel_path = md.relative_to(VAULT_DIR) f.write(f"- [[{rel_path}]]\n") - print(f"Dictionary generated in {DICT_DIR}") -