Compare commits

...

8 commits

Author SHA1 Message Date
25bd9060af added back audio remote tool 2024-12-13 21:34:02 +01:00
c7d98f6d30 added option to list path to mytools dir 2024-12-13 21:34:02 +01:00
eb54e1b518 make it look nicer 2024-12-13 21:34:02 +01:00
82ec329d2f added argparse and upload parameter 2024-12-13 21:34:02 +01:00
a17ede229c added list_ips tool 2024-12-13 21:34:02 +01:00
84b98480f8 fix shebang 2024-12-13 21:34:02 +01:00
8530750afc now python 2024-12-13 21:34:02 +01:00
5adf91302a added failglob and LC_ALL 2024-12-13 21:33:55 +01:00
14 changed files with 180 additions and 26 deletions

View file

@ -1,6 +1,8 @@
#/usr/bin/env bash #!/usr/bin/env bash
# docstring=simple mixer gui app, for the desktop # docstring=simple mixer gui app, for the desktop
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
mixxc \ mixxc \
--anchor right \ --anchor right \

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# docstring=just shows the current capacity # docstring=just shows the current capacity
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
cat /sys/class/power_supply/BAT0/capacity cat /sys/class/power_supply/BAT0/capacity

2
brght
View file

@ -1,6 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# docstring=simplifies the brightnessctl command # docstring=simplifies the brightnessctl command
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
# when invoked without parameter will print current brightness in percent # when invoked without parameter will print current brightness in percent
# it accepts a parameter from 0 to 100 for brightness. Please ommit the % symbol. # it accepts a parameter from 0 to 100 for brightness. Please ommit the % symbol.

View file

@ -1,6 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# docstring=transcript of youtube videos # docstring=transcript of youtube videos
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
TEMP_FOLDER='/tmp/dlp-trnsrpt' TEMP_FOLDER='/tmp/dlp-trnsrpt'
mkdir -p "$TEMP_FOLDER" mkdir -p "$TEMP_FOLDER"

View file

@ -1,5 +1,23 @@
#!/usr/bin/env bash #!/usr/bin/env python
# docstring=disable hyprland blur for performance # docstring=disable hyprland blur for performance
set -E -o pipefail import subprocess as sp
import json
hyprctl keyword decoration:blur:enabled false def getoption(optionstring):
json_str = sp.run(["hyprctl", "-j", "getoption", optionstring],
capture_output=True,
text=True).stdout
return json.loads(json_str)
def set_blur(setstr):
return sp.run(["hyprctl", "keyword", "decoration:blur:enabled", setstr])
def main():
if getoption("decoration:blur:enabled")["int"] == 1:
set_blur("false")
else:
set_blur("true")
if __name__ == "__main__":
main()

46
list_ips Executable file
View file

@ -0,0 +1,46 @@
#!/usr/bin/env python
#docstring=dirty tool to simplify the output of ip dramaticly
import subprocess as sp
import json
CFG = {
"iface_allow_list": ["eth", "enp", "wlp", "wlan"],
"show_ip4": True,
"show_ip6": False,
}
def filter_interfaces():
output = json.loads(
sp.run(["ip", "-j", "addr", "show"],
text=True,
capture_output=True).stdout)
filtered_list=[]
for interface in output:
for allowed in CFG["iface_allow_list"]:
if allowed in interface["ifname"]:
filtered_list.append(interface)
return filtered_list
def ip_string(interface):
conn_list = ""
for conn in interface["addr_info"]:
if conn["family"] == "inet" and CFG["show_ip4"] or conn["family"] == "inet6" and CFG["show_ip6"]:
conn_list += (conn["local"] + "/" + str(conn["prefixlen"])) + ", "
return conn_list.rstrip(", ")
def pretty(interfaces):
longest_member = 0
for interface in interfaces:
if len(interface["ifname"]) > longest_member:
longest_member = len(interface["ifname"])
for interface in interfaces:
len_diff = longest_member - len(interface["ifname"])
print(interface["ifname"], ": ", " " * len_diff, ip_string(interface), sep="")
def main():
pretty(filter_interfaces())
if __name__ == "__main__":
main()

45
mserve
View file

@ -1,15 +1,40 @@
#!/usr/bin/env bash #!/usr/bin/env python
# docstring=serve files with http. # docstring=serve files with http.
set -E -o pipefail
miniserve \ import subprocess as sp
--auth=guest:Super9000! \ import argparse
--color-scheme-dark=monokai \
--qrcode \
--dirs-first \
--hide-version-footer \
--show-wget-footer \
--title="Rano's quick share"
CFG = {
"base": [
"miniserve",
"--auth=guest:Super9000!",
"--color-scheme-dark=monokai",
"--qrcode",
"--dirs-first",
"--hide-version-footer",
"--show-wget-footer",
"--title=Rano's quick share",
],
"folder": "./"
}
def main():
ap = argparse.ArgumentParser()
ap.add_argument("-u", "--upload", help="enable upload", action="store_true")
args = ap.parse_args()
cmd = CFG["base"]
if args.upload:
cmd.extend(["--upload-files=./", "--overwrite-files"])
cmd.append(CFG["folder"])
try:
sp.run(cmd)
except KeyboardInterrupt:
print("\ninterrupted by user")
if __name__ == "__main__":
main()
# implement a switch for easy --upload-files=DIR # implement a switch for easy --upload-files=DIR

21
mytools
View file

@ -1,5 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# docstring=lists all tools and their docstrings # docstring=lists all tools and their docstrings
import argparse
import os import os
import os.path as path import os.path as path
@ -7,6 +8,8 @@ CFG = {
"max_lines": 20, "max_lines": 20,
"offset": 20 "offset": 20
} }
SCRIPT_PATH = os.path.dirname(os.path.realpath(__file__))
def parse_docstring(file_path, max_lines=CFG["max_lines"]): def parse_docstring(file_path, max_lines=CFG["max_lines"]):
""" """
@ -38,15 +41,14 @@ def offset(element, offset=CFG["offset"]):
return " " * (offset - element_length) return " " * (offset - element_length)
def main(): def list_tools():
""" """
lists all tools and their docstring from the same directory this sits in lists all tools and their docstring from the same directory this sits in
""" """
script_path = os.path.dirname(os.path.realpath(__file__)) list_dir = sorted(os.listdir(SCRIPT_PATH))
list_dir = sorted(os.listdir(script_path))
for element in list_dir: for element in list_dir:
element_path = path.join(script_path, element) element_path = path.join(SCRIPT_PATH, element)
if path.isfile(element_path): if path.isfile(element_path):
print(element, end="") print(element, end="")
docstring = parse_docstring(element_path) docstring = parse_docstring(element_path)
@ -55,5 +57,16 @@ def main():
print() print()
def main():
ap = argparse.ArgumentParser()
ap.add_argument("-p", "--path", help="output path to tools directory", action="store_true")
args = ap.parse_args()
if args.path:
print(SCRIPT_PATH)
else:
list_tools()
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# docstring=searches the nix store with find # docstring=searches the nix store with find
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
find /nix/store/ -maxdepth 1 -iname '*'"$@"'*' find /nix/store/ -maxdepth 1 -iname '*'"$@"'*'

22
nswitch
View file

@ -2,21 +2,27 @@
# from https://github.com/0atman/noboilerplate/blob/main/scripts/38-nixos.md#dont-use-nix-env # from https://github.com/0atman/noboilerplate/blob/main/scripts/38-nixos.md#dont-use-nix-env
# docstring=quick edit (or ling xD) for nixos config # docstring=quick edit (or ling xD) for nixos config
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
cd ~/Projects/NixOS/ cd ~/Projects/NixOS/
nvim nvim
nix fmt . &>/dev/null
git diff -U0 *.nix
echo "Do you want to rebuild NixOS? [y/N]" printf ">>> auto formating ..."
read -r YESNO nix fmt . &> /dev/null
printf " DONE!\n"
git diff -U0 # "*.nix"
printf ">>> Do you want to rebuild NixOS? [y/N]\n"
printf "<<< " && read -r YESNO
if ! [[ "${YESNO,,}" == "y" ]]; then if ! [[ "${YESNO,,}" == "y" ]]; then
echo "Exiting ..." printf ">>> Exiting ...\n"
exit 1 exit 1
fi fi
echo "Rebuilding NixOS" printf ">>> Rebuilding NixOS\n"
sudo nixos-rebuild switch &>nixos-switch.log || ( sudo nixos-rebuild switch | tee nixos-switch.log || (
cat nixos-switch.log | grep --color error && false) grep --color error nixos-switch.log && false)
gen=$(nixos-rebuild list-generations | grep current) gen=$(nixos-rebuild list-generations | grep current)
git commit -am "$gen" git commit -am "$gen"

30
remote-audio Executable file
View file

@ -0,0 +1,30 @@
#!/usr/bin/env bash
#docstring=remote audio through roc-toolkit
#!TODO! use list_ips
#roc-recv -s rtp+rs8m://0.0.0.0:10001 -r rs8m://0.0.0.0:10002 -o alsa://default
#roc-send -s rtp+rs8m://192.168.178.40:10001 -r rs8m://192.168.178.40:10002 -i alsa://default
set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
start() {
roc-recv -s rtp+rs8m://0.0.0.0:10001 -r rs8m://0.0.0.0:10002 -o alsa://default &
roc-send -s rtp+rs8m://192.168.178.40:10001 -r rs8m://192.168.178.40:10002 -i alsa://default &
}
stop() {
killall roc-send
killall roc-recv
}
stop9() {
killall -9 roc-send
killall -9 roc-recv
}
if [[ -z "$1" ]]; then
#start()
start
else
$1
fi

View file

@ -1,6 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# docstring=have and create multiple rustdesk profiles # docstring=have and create multiple rustdesk profiles
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
# define frist element in argument list as profile name # define frist element in argument list as profile name
RUSTDESK_PROFILE="$1" RUSTDESK_PROFILE="$1"

View file

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# docstring=do a screenshots on wayland compositors # docstring=do a screenshots on wayland compositors
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
grim -g "$(slurp -o -r -c '#ff0000ff')" - | satty --filename - --fullscreen --output-filename ~/Media/Pictures/Screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png grim -g "$(slurp -o -r -c '#ff0000ff')" - | satty --filename - --fullscreen --output-filename ~/Media/Pictures/Screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png

2
webcam
View file

@ -1,6 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# docstring=open the webcam or v4l2 /dev/video* device # docstring=open the webcam or v4l2 /dev/video* device
set -E -o pipefail set -E -o pipefail
shopt -s failglob
export LC_ALL=C.UTF8
if [[ "-h" == "$1" ]]; then if [[ "-h" == "$1" ]]; then
echo "-l list devices" echo "-l list devices"