Compare commits

..

5 Commits

Author SHA1 Message Date
e051dd49d3 update packages 2024-01-21 12:01:38 -05:00
b19f42a0f4 tweak sway config for idle 2024-01-21 12:00:36 -05:00
ea617a0277 add fwupdmgr settings 2024-01-21 12:00:36 -05:00
7d379abda7 add framework screen to kanshi 2024-01-21 12:00:36 -05:00
a14eedd762 use sd-encrypt and lvm 2024-01-21 12:00:36 -05:00
20 changed files with 195 additions and 87 deletions

View File

@ -1,5 +0,0 @@
title Arch Linux
linux /vmlinuz-linux
initrd /amd-ucode.img
initrd /initramfs-linux-fallback.img
options rd.luks.name=3927d3f3-175f-4b72-9e05-395ef5664c81=cryptlvm rd.luks.options=discard root=/dev/ssd1/root resume=/dev/ssd1/swap rw add_efi_memmap kernel=30

View File

@ -1,5 +0,0 @@
title Arch Linux
linux /vmlinuz-linux
initrd /amd-ucode.img
initrd /initramfs-linux.img
options rd.luks.name=3927d3f3-175f-4b72-9e05-395ef5664c81=cryptlvm rd.luks.options=discard root=/dev/ssd1/root resume=/dev/ssd1/swap rw add_efi_memmap kernel=30

View File

@ -6,5 +6,3 @@ keyserver hkps://hkps.pool.sks-keyservers.net:443
#keyserver hkp://pgp.mit.edu:11371 #keyserver hkp://pgp.mit.edu:11371
#keyserver hkp://keyserver.ubuntu.com #keyserver hkp://keyserver.ubuntu.com
keyserver hkps://keyserver.ubuntu.com keyserver hkps://keyserver.ubuntu.com
keyserver-options import-clean
keyserver-options no-self-sigs-only

View File

@ -5,7 +5,6 @@ BindsTo=sway-session.target
[Service] [Service]
Type=simple Type=simple
ExecStart=/usr/bin/wayvnc ExecStart=/usr/bin/wayvnc
Environment="WAYLAND_DISPLAY=wayland-1"
Restart=on-failure Restart=on-failure
RestartSec=1 RestartSec=1
TimeoutStopSec=10 TimeoutStopSec=10

View File

@ -1,3 +0,0 @@
[window]
opacity=0.85
decorations="None"

View File

@ -1,6 +1,6 @@
profile { profile {
output "LG Electronics LG IPS QHD 201NTPCGD520" enable scale 1.30 position 0,0 mode 2560x1440@60Hz output "LG Electronics LG IPS QHD 201NTPCGD520" enable scale 1.30 position 0,0 mode 2560x1440@60Hz
output "LG Electronics LG ULTRAWIDE 0x01010101" enable position 1968,0 mode 2560x1080@60Hz output "LG Electronics LG ULTRAWIDE 0x00000101" enable position 1968,0 mode 2560x1080@60Hz
} }
profile { profile {

View File

@ -9,7 +9,7 @@ set $down j
set $up k set $up k
set $right l set $right l
set $term alacritty set $term kitty
set $menu rofi -show combi | xargs swaymsg exec -- set $menu rofi -show combi | xargs swaymsg exec --
# wallpaper # wallpaper
@ -227,9 +227,6 @@ bindsym $mod+Shift+d border toggle
bindsym $mod+m exec makoctl dismiss bindsym $mod+m exec makoctl dismiss
bindsym $mod+n exec makoctl restore bindsym $mod+n exec makoctl restore
# wayvnc
bindsym $mod+Shift+p exec wayvncctl output-cycle
### styles ### styles
# class border backgr text # class border backgr text

View File

@ -21,5 +21,3 @@ fi
cat append.txt | wget-titles-from-urls >> titles.txt cat append.txt | wget-titles-from-urls >> titles.txt
cat append.txt | youtube-audio cat append.txt | youtube-audio
> append.txt > append.txt
standardize-music

46
home/default/scripts/booksplit Executable file
View File

@ -0,0 +1,46 @@
#!/bin/sh
# Requires ffmpeg (audio splitting) and my `tag` wrapper script.
[ ! -f "$2" ] && printf "The first file should be the audio, the second should be the timecodes.\\n" && exit
echo "Enter the album/book title:"; read -r booktitle
echo "Enter the artist/author:"; read -r author
echo "Enter the publication year:"; read -r year
inputaudio="$1"
# Get a safe file name from the book.
#escbook="$(echo "$booktitle" | iconv -cf UTF-8 -t ASCII//TRANSLIT | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")"
escbook="$(echo "$booktitle" | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")"
! mkdir -p "$escbook" && echo "Do you have write access in this directory?" && exit 1
# As long as the extension is in the tag script, it'll work.
ext="opus"
#ext="${1#*.}"
# Get the total number of tracks from the number of lines.
total="$(wc -l < "$2")"
while read -r x;
do
end="$(echo "$x" | cut -d' ' -f1)"
[ -n "$start" ] &&
echo "From $start to $end; $track $title"
file="$escbook/$(printf "%.2d" "$track") - $author - $esctitle.$ext"
[ -n "$start" ] && echo "Splitting \"$title\"..." && ffmpeg -nostdin -y -loglevel -8 -i "$inputaudio" -ss "$start" -to "$end" -vn "$file" &&
echo "Tagging \"$title\"..." && tag -a "$author" -A "$booktitle" -t "$title" -n "$track" -N "$total" -d "$year" "$file"
title="$(echo "$x" | cut -d' ' -f 2-)"
# esctitle="$(echo "$title" | iconv -cf UTF-8 -t ASCII//TRANSLIT | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")"
esctitle="$(echo "$title" | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")"
track="$((track+1))"
start="$end"
done < "$2"
# The last track must be done outside the loop.
echo "From $start to the end: $title"
file="$escbook/$track - $author - $esctitle.$ext"
echo "Splitting \"$title\"..." && ffmpeg -nostdin -y -loglevel -8 -i "$inputaudio" -ss "$start" -vn "$file" &&
echo "Tagging \"$title\"..." && tag -a "$author" -A "$booktitle" -t "$title" -n "$track" -N "$total" -d "$year" "$file"

View File

@ -0,0 +1,32 @@
#!/usr/bin/env sh
# rename .MKV -> .MKV
count=`ls -1 *.JPG 2>/dev/null | wc -l`
if [ $count != 0 ]; then
rename MKV mkv *.MKV
fi
# convert to opus
count=`ls -1 *.mkv 2>/dev/null | wc -l`
if [ $count != 0 ]; then
for i in *.mkv; do
ffmpeg -i "$i" "${i%.mkv}.opus";
rm "$i";
done
fi
# rename .WEBM -> .webm
count=`ls -1 *.WEBM 2>/dev/null | wc -l`
if [ $count != 0 ]; then
rename WEBM webm *.WEBM
fi
# convert to opus
count=`ls -1 *.webm 2>/dev/null | wc -l`
if [ $count != 0 ]; then
for i in *.webm; do
ffmpeg -i "$i" "${i%.webm}.opus";
rm "$i";
done
fi

View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -euo pipefail
for i in *.mp3; do ffmpeg -i "$i" -c:a libopus "${i%.*}.opus"; done
trash *.mp3

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -euo pipefail
echo stopping pipewire...
systemctl --user stop pipewire
echo starting pipewire...
systemctl --user start pipewire

View File

@ -1,13 +1,12 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euox pipefail set -euo pipefail
pkill -f blueman-manager || true
echo stopping bluetooth... echo stopping bluetooth...
sudo systemctl stop bluetooth-autoconnect
sudo systemctl stop bluetooth sudo systemctl stop bluetooth
sudo modprobe -r btusb sudo rmmod btusb
echo starting bluetooth... echo starting bluetooth...
sudo modprobe btusb sudo modprobe btusb
sudo systemctl start bluetooth sudo systemctl start bluetooth
sudo rfkill unblock bluetooth sudo systemctl start bluetooth-autoconnect

16
home/default/scripts/scrub-ufw Executable file
View File

@ -0,0 +1,16 @@
#!/bin/sh
echo "Stopping firewall and allowing everyone..."
ipt="/usr/bin/iptables"
## Failsafe - die if /sbin/iptables not found
[ ! -x "$ipt" ] && { echo "$0: \"${ipt}\" command not found."; exit 1; }
$ipt -P INPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -F
$ipt -X
$ipt -t nat -F
$ipt -t nat -X
$ipt -t mangle -F
$ipt -t mangle -X
$ipt iptables -t raw -F
$ipt -t raw -X

View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
cat input.txt | awk '{ print length, $0 }' | sort -n | cut -d" " -f2-

View File

@ -1,41 +0,0 @@
#!/usr/bin/env sh
set -oux pipefail
# removes more modern codecs to just files that can fit on my mp3 player
count=`ls -1 *.M4A 2>/dev/null | wc -l`
if [ $count != 0 ]; then
rename M4A m4a *.M4A
fi
count=`ls -1 *.m4a 2>/dev/null | wc -l`
if [ $count != 0 ]; then
for i in *.m4a; do
ffmpeg -y -i "$i" "${i%.*}.ogg" && rm "$i"
done
fi
count=`ls -1 *.WEBM 2>/dev/null | wc -l`
if [ $count != 0 ]; then
rename WEBM webm *.WEBM
fi
count=`ls -1 *.webm 2>/dev/null | wc -l`
if [ $count != 0 ]; then
for i in *.webm; do
ffmpeg -y -i "$i" "${i%.*}.ogg" && rm "$i"
done
fi
count=`ls -1 *.OPUS 2>/dev/null | wc -l`
if [ $count != 0 ]; then
rename OPUS opus *.OPUS
fi
count=`ls -1 *.opus 2>/dev/null | wc -l`
if [ $count != 0 ]; then
for i in *.opus; do
ffmpeg -y -i "$i" "${i%.*}.ogg" && rm "$i"
done
fi

59
home/default/scripts/tag Executable file
View File

@ -0,0 +1,59 @@
#!/bin/sh
err() { echo "Usage:
tag [OPTIONS] file
Options:
-a: artist/author
-t: song/chapter title
-A: album/book title
-n: track/chapter number
-N: total number of tracks/chapters
-d: year of publication
-g: genre
-c: comment
You will be prompted for title, artist, album and track if not given." && exit 1 ;}
while getopts "a:t:A:n:N:d:g:c:f:" o; do case "${o}" in
a) artist="${OPTARG}" ;;
t) title="${OPTARG}" ;;
A) album="${OPTARG}" ;;
n) track="${OPTARG}" ;;
N) total="${OPTARG}" ;;
d) date="${OPTARG}" ;;
g) genre="${OPTARG}" ;;
c) comment="${OPTARG}" ;;
f) file="${OPTARG}" ;;
*) printf "Invalid option: -%s\\n" "$OPTARG" && err ;;
esac done
shift $((OPTIND - 1))
file="$1"
[ ! -f "$file" ] && echo "Provide file to tag." && err
[ -z "$title" ] && echo "Enter a title." && read -r title
[ -z "$artist" ] && echo "Enter an artist." && read -r artist
[ -z "$album" ] && echo "Enter an album." && read -r album
[ -z "$track" ] && echo "Enter a track number." && read -r track
case "$file" in
*.ogg) echo "Title=$title
Artist=$artist
Album=$album
Track=$track
Total=$total
Date=$date
Genre=$genre
Comment=$comment" | vorbiscomment -w "$file" ;;
*.opus) echo "Title=$title
Artist=$artist
Album=$album
Track=$track
Total=$total
Date=$date
Genre=$genre
Comment=$comment" | opustags -i -S "$file" ;;
*.mp3) eyeD3 -Q --remove-all -a "$artist" -A "$album" -t "$title" -n "$track" -N "$total" -Y "$date" "$file" ;;
*) echo "File type not implemented yet." ;;
esac

View File

@ -2,7 +2,7 @@
# --embed-thumbnail \ # --embed-thumbnail \
# --audio-format opus \ # --audio-format opus \
yt-dlp \ youtube-dl \
--ignore-errors \ --ignore-errors \
-f bestaudio \ -f bestaudio \
--rm-cache-dir \ --rm-cache-dir \

View File

@ -2,12 +2,9 @@ acpi
adobe-source-han-sans-jp-fonts adobe-source-han-sans-jp-fonts
adobe-source-han-sans-kr-fonts adobe-source-han-sans-kr-fonts
aic94xx-firmware aic94xx-firmware
alacritty
amd-ucode amd-ucode
android-udev
anki-bin anki-bin
arch-install-scripts arch-install-scripts
arduino-ide-bin
asdf-vm asdf-vm
atomicparsley atomicparsley
atool atool
@ -21,6 +18,7 @@ bind
binutils binutils
bison bison
blueman blueman
bluetooth-autoconnect
brightnessctl brightnessctl
bzip2 bzip2
calibre calibre
@ -40,7 +38,6 @@ device-mapper
dhcpcd dhcpcd
dialog dialog
diffutils diffutils
dino
direnv direnv
downgrade downgrade
dxvk-bin dxvk-bin
@ -64,6 +61,7 @@ ffmpegthumbnailer
file file
filesystem filesystem
findutils findutils
firefox
flex flex
font-manager font-manager
fortune-mod fortune-mod
@ -82,6 +80,7 @@ freecad
freerdp freerdp
fwbuilder fwbuilder
fwupd fwupd
gajim
gamemode gamemode
gawk gawk
gcc gcc
@ -100,7 +99,6 @@ gnome-sound-recorder
gnu-free-fonts gnu-free-fonts
gnu-netcat gnu-netcat
gparted gparted
gphoto2
grep grep
grim grim
grub grub
@ -111,12 +109,10 @@ gst-plugins-ugly
gstreamer-vaapi gstreamer-vaapi
gtk-engine-murrine gtk-engine-murrine
gutenprint gutenprint
gvfs-gphoto2
gwakeonlan gwakeonlan
gzip gzip
handbrake handbrake
hddtemp hddtemp
hexedit
highlight highlight
htop htop
hugin hugin
@ -128,10 +124,12 @@ iotop
iproute2 iproute2
iputils iputils
itstool itstool
iucode-tool
iw iw
jammr jammr
jq jq
kanshi kanshi
kcm-wacomtablet
kdocker kdocker
keepassxc keepassxc
kid3 kid3
@ -184,8 +182,6 @@ mcomix
mcpp mcpp
mdadm mdadm
mediainfo mediainfo
merkuro
mesa
minecraft-launcher minecraft-launcher
mixxx mixxx
mousetweaks mousetweaks
@ -236,7 +232,6 @@ playerctl
playonlinux playonlinux
polkit-gnome polkit-gnome
postgresql-libs postgresql-libs
prismlauncher
power-profiles-daemon power-profiles-daemon
powertop powertop
procps-ng procps-ng
@ -245,13 +240,10 @@ psmisc
pv pv
python-axolotl python-axolotl
python-levenshtein python-levenshtein
python-matplotlib
python-mutagen
python-pip python-pip
python-pyenchant python-pyenchant
python-pylast python-pylast
python-pynvim python-pynvim
python-wxpython
qt5ct qt5ct
quodlibet quodlibet
ranger ranger
@ -290,7 +282,18 @@ systemd-ui
tar tar
telegram-desktop telegram-desktop
texinfo texinfo
tlp texlive-basic
texlive-bibtexextra
texlive-fontsextra
texlive-formatsextra
texlive-games
texlive-humanities
texlive-latexextra
texlive-mathscience
texlive-music
texlive-pictures
texlive-pstricks
texlive-publishers
tmux tmux
traceroute traceroute
trash-cli trash-cli
@ -316,8 +319,6 @@ vulkan-mesa-layers
vulkan-radeon vulkan-radeon
vulkan-tools vulkan-tools
w3m w3m
wacomtablet
wakeonlan
waybar waybar
wayland-utils wayland-utils
wayvnc wayvnc

View File

@ -28,7 +28,7 @@ please let me know if i've forgotten one!
- waybar (topbar) - waybar (topbar)
- swayidle (idle daemon) - swayidle (idle daemon)
- swaylock (lockscreen) - swaylock (lockscreen)
- alacritty (terminal) - kitty (terminal)
- ranger (file browser) - ranger (file browser)
- rofi (launcher) - rofi (launcher)
- mako (notification daemon) - mako (notification daemon)