Compare commits
	
		
			2 Commits
		
	
	
		
			laptop
			...
			743a51a846
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 743a51a846 | |||
| 7cd05447e0 | 
@@ -1,5 +0,0 @@
 | 
			
		||||
title	Arch Linux
 | 
			
		||||
linux	/vmlinuz-linux
 | 
			
		||||
initrd	/amd-ucode.img
 | 
			
		||||
initrd	/initramfs-linux-fallback.img
 | 
			
		||||
options rd.luks.name=e7ff5b82-f145-4fae-be2a-388314977783=cryptlvm rd.luks.options=discard root=/dev/ssd/root resume=/dev/ssd/swap rw add_efi_memmap kernel=30
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
title	Arch Linux
 | 
			
		||||
linux	/vmlinuz-linux
 | 
			
		||||
initrd	/amd-ucode.img
 | 
			
		||||
initrd	/initramfs-linux.img
 | 
			
		||||
options rd.luks.name=e7ff5b82-f145-4fae-be2a-388314977783=cryptlvm rd.luks.options=discard root=/dev/ssd/root resume=/dev/ssd/swap rw add_efi_memmap kernel=30
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
# The following modules are loaded before any boot hooks are
 | 
			
		||||
# run.  Advanced users may wish to specify all system modules
 | 
			
		||||
# in this array.  For instance:
 | 
			
		||||
#     MODULES=(usbhid xhci_hcd)
 | 
			
		||||
#     MODULES=(piix ide_disk reiserfs)
 | 
			
		||||
MODULES=()
 | 
			
		||||
 | 
			
		||||
# BINARIES
 | 
			
		||||
@@ -29,32 +29,31 @@ FILES=()
 | 
			
		||||
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
 | 
			
		||||
# Examples:
 | 
			
		||||
##   This setup specifies all modules in the MODULES setting above.
 | 
			
		||||
##   No RAID, lvm2, or encrypted root is needed.
 | 
			
		||||
##   No raid, lvm2, or encrypted root is needed.
 | 
			
		||||
#    HOOKS=(base)
 | 
			
		||||
#
 | 
			
		||||
##   This setup will autodetect all modules for your system and should
 | 
			
		||||
##   work as a sane default
 | 
			
		||||
#    HOOKS=(base udev autodetect modconf block filesystems fsck)
 | 
			
		||||
#    HOOKS=(base udev autodetect block filesystems)
 | 
			
		||||
#
 | 
			
		||||
##   This setup will generate a 'full' image which supports most systems.
 | 
			
		||||
##   No autodetection is done.
 | 
			
		||||
#    HOOKS=(base udev modconf block filesystems fsck)
 | 
			
		||||
#    HOOKS=(base udev block filesystems)
 | 
			
		||||
#
 | 
			
		||||
##   This setup assembles a mdadm array with an encrypted root file system.
 | 
			
		||||
##   Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
 | 
			
		||||
#    HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
 | 
			
		||||
##   This setup assembles a pata mdadm array with an encrypted root FS.
 | 
			
		||||
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
 | 
			
		||||
#    HOOKS=(base udev block mdadm encrypt filesystems)
 | 
			
		||||
#
 | 
			
		||||
##   This setup loads an lvm2 volume group.
 | 
			
		||||
#    HOOKS=(base udev modconf block lvm2 filesystems fsck)
 | 
			
		||||
##   This setup loads an lvm2 volume group on a usb device.
 | 
			
		||||
#    HOOKS=(base udev block lvm2 filesystems)
 | 
			
		||||
#
 | 
			
		||||
##   NOTE: If you have /usr on a separate partition, you MUST include the
 | 
			
		||||
#    usr and fsck hooks.
 | 
			
		||||
HOOKS=(base udev systemd autodetect modconf keyboard keymap block sd-encrypt lvm2 filesystems fsck)
 | 
			
		||||
#    usr, fsck and shutdown hooks.
 | 
			
		||||
HOOKS=(base udev systemd autodetect keyboard sd-vconsole modconf block sd-encrypt lvm2 filesystems resume fsck)
 | 
			
		||||
 | 
			
		||||
# COMPRESSION
 | 
			
		||||
# Use this to compress the initramfs image. By default, zstd compression
 | 
			
		||||
# Use this to compress the initramfs image. By default, gzip compression
 | 
			
		||||
# is used. Use 'cat' to create an uncompressed image.
 | 
			
		||||
#COMPRESSION="zstd"
 | 
			
		||||
#COMPRESSION="gzip"
 | 
			
		||||
#COMPRESSION="bzip2"
 | 
			
		||||
#COMPRESSION="lzma"
 | 
			
		||||
@@ -65,9 +64,3 @@ HOOKS=(base udev systemd autodetect modconf keyboard keymap block sd-encrypt lvm
 | 
			
		||||
# COMPRESSION_OPTIONS
 | 
			
		||||
# Additional options for the compressor
 | 
			
		||||
#COMPRESSION_OPTIONS=()
 | 
			
		||||
 | 
			
		||||
# MODULES_DECOMPRESS
 | 
			
		||||
# Decompress kernel modules during initramfs creation.
 | 
			
		||||
# Enable to speedup boot process, disable to save RAM
 | 
			
		||||
# during early userspace. Switch (yes/no).
 | 
			
		||||
#MODULES_DECOMPRESS="yes"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
no-greeting
 | 
			
		||||
no-permission-warning
 | 
			
		||||
lock-never
 | 
			
		||||
#keyserver-options timeout=10
 | 
			
		||||
keyserver hkps://hkps.pool.sks-keyservers.net:443
 | 
			
		||||
#keyserver hkp://pgp.mit.edu:11371
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
/home/default/syncthing/default/scripts/login-notify
 | 
			
		||||
							
								
								
									
										136
									
								
								etc/sudoers
									
									
									
									
									
								
							
							
						
						
									
										136
									
								
								etc/sudoers
									
									
									
									
									
								
							@@ -1,136 +0,0 @@
 | 
			
		||||
## sudoers file.
 | 
			
		||||
##
 | 
			
		||||
## This file MUST be edited with the 'visudo' command as root.
 | 
			
		||||
## Failure to use 'visudo' may result in syntax or file permission errors
 | 
			
		||||
## that prevent sudo from running.
 | 
			
		||||
##
 | 
			
		||||
## See the sudoers man page for the details on how to write a sudoers file.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Host alias specification
 | 
			
		||||
##
 | 
			
		||||
## Groups of machines. These may include host names (optionally with wildcards),
 | 
			
		||||
## IP addresses, network numbers or netgroups.
 | 
			
		||||
# Host_Alias	WEBSERVERS = www1, www2, www3
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## User alias specification
 | 
			
		||||
##
 | 
			
		||||
## Groups of users.  These may consist of user names, uids, Unix groups,
 | 
			
		||||
## or netgroups.
 | 
			
		||||
# User_Alias	ADMINS = millert, dowdy, mikef
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Cmnd alias specification
 | 
			
		||||
##
 | 
			
		||||
## Groups of commands.  Often used to group related commands together.
 | 
			
		||||
# Cmnd_Alias	PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
 | 
			
		||||
# 			    /usr/bin/pkill, /usr/bin/top
 | 
			
		||||
#
 | 
			
		||||
# Cmnd_Alias	REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
 | 
			
		||||
#
 | 
			
		||||
# Cmnd_Alias	DEBUGGERS = /usr/bin/gdb, /usr/bin/lldb, /usr/bin/strace, \
 | 
			
		||||
# 			    /usr/bin/truss, /usr/bin/bpftrace, \
 | 
			
		||||
# 			    /usr/bin/dtrace, /usr/bin/dtruss
 | 
			
		||||
#
 | 
			
		||||
# Cmnd_Alias	PKGMAN = /usr/bin/apt, /usr/bin/dpkg, /usr/bin/rpm, \
 | 
			
		||||
# 			 /usr/bin/yum, /usr/bin/dnf,  /usr/bin/zypper, \
 | 
			
		||||
# 			 /usr/bin/pacman
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Defaults specification
 | 
			
		||||
##
 | 
			
		||||
## Preserve editor environment variables for visudo.
 | 
			
		||||
## To preserve these for all commands, remove the "!visudo" qualifier.
 | 
			
		||||
Defaults!/usr/bin/visudo env_keep += "SUDO_EDITOR EDITOR VISUAL"
 | 
			
		||||
##
 | 
			
		||||
## Use a hard-coded PATH instead of the user's to find commands.
 | 
			
		||||
## This also helps prevent poorly written scripts from running
 | 
			
		||||
## artbitrary commands under sudo.
 | 
			
		||||
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/bin"
 | 
			
		||||
##
 | 
			
		||||
## You may wish to keep some of the following environment variables
 | 
			
		||||
## when running commands via sudo.
 | 
			
		||||
##
 | 
			
		||||
## Locale settings
 | 
			
		||||
# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
 | 
			
		||||
##
 | 
			
		||||
## Run X applications through sudo; HOME is used to find the
 | 
			
		||||
## .Xauthority file.  Note that other programs use HOME to find   
 | 
			
		||||
## configuration files and this may lead to privilege escalation!
 | 
			
		||||
# Defaults env_keep += "HOME"
 | 
			
		||||
##
 | 
			
		||||
## X11 resource path settings
 | 
			
		||||
# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
 | 
			
		||||
##
 | 
			
		||||
## Desktop path settings
 | 
			
		||||
# Defaults env_keep += "QTDIR KDEDIR"
 | 
			
		||||
##
 | 
			
		||||
## Allow sudo-run commands to inherit the callers' ConsoleKit session
 | 
			
		||||
# Defaults env_keep += "XDG_SESSION_COOKIE"
 | 
			
		||||
##
 | 
			
		||||
## Uncomment to enable special input methods.  Care should be taken as
 | 
			
		||||
## this may allow users to subvert the command being run via sudo.
 | 
			
		||||
# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
 | 
			
		||||
##
 | 
			
		||||
## Uncomment to disable "use_pty" when running commands as root.
 | 
			
		||||
## Commands run as non-root users will run in a pseudo-terminal,
 | 
			
		||||
## not the user's own terminal, to prevent command injection.
 | 
			
		||||
# Defaults>root !use_pty
 | 
			
		||||
##
 | 
			
		||||
## Uncomment to run commands in the background by default.
 | 
			
		||||
## This can be used to prevent sudo from consuming user input while
 | 
			
		||||
## a non-interactive command runs if "use_pty" or I/O logging are
 | 
			
		||||
## enabled.  Some commands may not run properly in the background.
 | 
			
		||||
# Defaults exec_background
 | 
			
		||||
##
 | 
			
		||||
## Uncomment to send mail if the user does not enter the correct password.
 | 
			
		||||
# Defaults mail_badpass
 | 
			
		||||
##
 | 
			
		||||
## Uncomment to enable logging of a command's output, except for
 | 
			
		||||
## sudoreplay and reboot.  Use sudoreplay to play back logged sessions.
 | 
			
		||||
## Sudo will create up to 2,176,782,336 I/O logs before recycling them.
 | 
			
		||||
## Set maxseq to a smaller number if you don't have unlimited disk space.
 | 
			
		||||
# Defaults log_output
 | 
			
		||||
# Defaults!/usr/bin/sudoreplay !log_output
 | 
			
		||||
# Defaults!/usr/local/bin/sudoreplay !log_output
 | 
			
		||||
# Defaults!REBOOT !log_output
 | 
			
		||||
# Defaults maxseq = 1000
 | 
			
		||||
##
 | 
			
		||||
## Uncomment to disable intercept and log_subcmds for debuggers and
 | 
			
		||||
## tracers.  Otherwise, anything that uses ptrace(2) will be unable
 | 
			
		||||
## to run under sudo if intercept_type is set to "trace".
 | 
			
		||||
# Defaults!DEBUGGERS !intercept, !log_subcmds
 | 
			
		||||
##
 | 
			
		||||
## Uncomment to disable intercept and log_subcmds for package managers.
 | 
			
		||||
## Some package scripts run a huge number of commands, which is made
 | 
			
		||||
## slower by these options and also can clutter up the logs.
 | 
			
		||||
# Defaults!PKGMAN !intercept, !log_subcmds
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Runas alias specification
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## User privilege specification
 | 
			
		||||
##
 | 
			
		||||
root ALL=(ALL:ALL) ALL
 | 
			
		||||
default ALL=(ALL:ALL) ALL
 | 
			
		||||
 | 
			
		||||
## Uncomment to allow members of group wheel to execute any command
 | 
			
		||||
%wheel ALL=(ALL:ALL) ALL
 | 
			
		||||
 | 
			
		||||
## Same thing without a password
 | 
			
		||||
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
 | 
			
		||||
 | 
			
		||||
## Uncomment to allow members of group sudo to execute any command
 | 
			
		||||
# %sudo	ALL=(ALL:ALL) ALL
 | 
			
		||||
 | 
			
		||||
## Uncomment to allow any user to run sudo if they know the password
 | 
			
		||||
## of the user they are running the command as (root by default).
 | 
			
		||||
# Defaults targetpw  # Ask for the password of the target user
 | 
			
		||||
# ALL ALL=(ALL:ALL) ALL  # WARNING: only use this together with 'Defaults targetpw'
 | 
			
		||||
 | 
			
		||||
## Read drop-in files from /etc/sudoers.d
 | 
			
		||||
@includedir /etc/sudoers.d
 | 
			
		||||
							
								
								
									
										0
									
								
								home/default/.bashrc
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								home/default/.bashrc
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,3 +0,0 @@
 | 
			
		||||
[window]
 | 
			
		||||
opacity=0.85
 | 
			
		||||
decorations="None"
 | 
			
		||||
@@ -6,8 +6,8 @@ ShowShuangpinMode=True
 | 
			
		||||
PageSize=7
 | 
			
		||||
# Enable Spell
 | 
			
		||||
SpellEnabled=True
 | 
			
		||||
# Enable Symbols
 | 
			
		||||
SymbolsEnabled=True
 | 
			
		||||
# Enable Emoji
 | 
			
		||||
EmojiEnabled=True
 | 
			
		||||
# Enable Chaizi
 | 
			
		||||
ChaiziEnabled=True
 | 
			
		||||
# Enable Characters in Unicode CJK Extension B
 | 
			
		||||
@@ -70,20 +70,6 @@ FirstRun=False
 | 
			
		||||
[NextCandidate]
 | 
			
		||||
0=Tab
 | 
			
		||||
 | 
			
		||||
[CurrentCandidate]
 | 
			
		||||
0=space
 | 
			
		||||
1=KP_Space
 | 
			
		||||
 | 
			
		||||
[CommitRawInput]
 | 
			
		||||
0=Return
 | 
			
		||||
1=KP_Enter
 | 
			
		||||
2=Control+Return
 | 
			
		||||
3=Control+KP_Enter
 | 
			
		||||
4=Shift+Return
 | 
			
		||||
5=Shift+KP_Enter
 | 
			
		||||
6=Control+Shift+Return
 | 
			
		||||
7=Control+Shift+KP_Enter
 | 
			
		||||
 | 
			
		||||
[ChooseCharFromPhrase]
 | 
			
		||||
0=bracketleft
 | 
			
		||||
1=bracketright
 | 
			
		||||
@@ -91,10 +77,17 @@ FirstRun=False
 | 
			
		||||
[FilterByStroke]
 | 
			
		||||
0=grave
 | 
			
		||||
 | 
			
		||||
[QuickPhraseTriggerRegex]
 | 
			
		||||
0=.(/|@)$
 | 
			
		||||
1=^(www|bbs|forum|mail|bbs)\\.
 | 
			
		||||
2=^(http|https|ftp|telnet|mailto):
 | 
			
		||||
[QuickPhrase trigger]
 | 
			
		||||
0=www.
 | 
			
		||||
1=ftp.
 | 
			
		||||
2=http:
 | 
			
		||||
3=mail.
 | 
			
		||||
4=bbs.
 | 
			
		||||
5=forum.
 | 
			
		||||
6=https:
 | 
			
		||||
7=ftp:
 | 
			
		||||
8=telnet:
 | 
			
		||||
9=mailto:
 | 
			
		||||
 | 
			
		||||
[Fuzzy]
 | 
			
		||||
# ue -> ve
 | 
			
		||||
@@ -133,6 +126,4 @@ L_N=False
 | 
			
		||||
S_SH=False
 | 
			
		||||
# z <-> zh
 | 
			
		||||
Z_ZH=False
 | 
			
		||||
# Correction Layout
 | 
			
		||||
Correction=None
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,4 @@
 | 
			
		||||
profile {
 | 
			
		||||
	output "LG Electronics LG IPS QHD 201NTPCGD520" enable scale 1.30 position 0,0 mode 2560x1440@75Hz
 | 
			
		||||
	output "LG Electronics LG IPS QHD 309NTABDW064" enable scale 1.30 position 1974,0 mode 2560x1440@75Hz
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
profile {
 | 
			
		||||
	output "BOE 0x0BCA Unknown" enable scale 1.75 position 0,0 mode 2256x1504@59.999Hz
 | 
			
		||||
	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
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
" set default vim register to normal clipboard
 | 
			
		||||
set clipboard+=unnamedplus
 | 
			
		||||
colorscheme vim
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
set preview_images true
 | 
			
		||||
set preview_images_method ueberzug
 | 
			
		||||
set preview_images_method kitty
 | 
			
		||||
map DD shell trash %s
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ set $down j
 | 
			
		||||
set $up k
 | 
			
		||||
set $right l
 | 
			
		||||
 | 
			
		||||
set $term alacritty
 | 
			
		||||
set $term kitty
 | 
			
		||||
set $menu rofi -show combi | xargs swaymsg exec --
 | 
			
		||||
 | 
			
		||||
# wallpaper
 | 
			
		||||
@@ -43,10 +43,8 @@ exec_always {
 | 
			
		||||
 | 
			
		||||
# timeout
 | 
			
		||||
exec swayidle -w \
 | 
			
		||||
    timeout 300 'playerctl -a pause' \
 | 
			
		||||
    timeout 300 'swaylock' \
 | 
			
		||||
    timeout 300 'playerctl -a pause && swaylock' \
 | 
			
		||||
    timeout 600 'swaymsg "output * dpms off"' \
 | 
			
		||||
    timeout 15 'if pgrep -x swaylock; then swaymsg "output * dpms off"; fi' \
 | 
			
		||||
    before-sleep 'playerctl -a pause' \
 | 
			
		||||
    lock 'swaylock' \
 | 
			
		||||
    resume 'swaymsg "output * dpms on"'
 | 
			
		||||
@@ -230,7 +228,7 @@ bindsym $mod+m exec makoctl dismiss
 | 
			
		||||
bindsym $mod+n exec makoctl restore
 | 
			
		||||
 | 
			
		||||
# wayvnc
 | 
			
		||||
bindsym $mod+Shift+o exec wayvncctl output-cycle
 | 
			
		||||
bindsym $mod+Shift+p exec wayvncctl output-cycle
 | 
			
		||||
 | 
			
		||||
### styles
 | 
			
		||||
 | 
			
		||||
@@ -242,13 +240,6 @@ client.unfocused	#222222	#222222 #AAAAAA
 | 
			
		||||
# font
 | 
			
		||||
font pango: IBMPlexMono Regular 10
 | 
			
		||||
 | 
			
		||||
input "5215:621:SINO_WEALTH_GXT_144_Gaming_Mouse" {
 | 
			
		||||
    accel_profile "flat"
 | 
			
		||||
    dwt disabled 
 | 
			
		||||
    left_handed disabled
 | 
			
		||||
    pointer_accel -0.78
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# wacom
 | 
			
		||||
input "1386:770:Wacom_Intuos_PT_S_Pen" {
 | 
			
		||||
    accel_profile "flat"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,12 @@
 | 
			
		||||
# qt5ct
 | 
			
		||||
export QT_QPA_PLATFORMTHEME=qt5ct
 | 
			
		||||
export QT_AUTO_SCREEN_SCALE_FACTOR=1
 | 
			
		||||
export QT_STYLE_OVERRIDE=Adwaita-Dark
 | 
			
		||||
 | 
			
		||||
# waybar
 | 
			
		||||
export XDG_CURRENT_DESKTOP=sway
 | 
			
		||||
 | 
			
		||||
# gtk
 | 
			
		||||
export GTK2_RC_FILES=/usr/share/themes/Adwaita-dark/gtk-2.0/gtkrc
 | 
			
		||||
export GTK_THEME=Adwaita:dark
 | 
			
		||||
export GTK_THEME=Materia:dark
 | 
			
		||||
 | 
			
		||||
# ibus
 | 
			
		||||
export GTK_IM_MODULE=fcitx
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
set -eou pipefail
 | 
			
		||||
 | 
			
		||||
echo "$1" | wget-titles-from-urls >> titles.txt
 | 
			
		||||
echo "$1" | youtube-audio
 | 
			
		||||
ls -Art | tail -n 1 | xargs -d '\n' kid3
 | 
			
		||||
standardize-music
 | 
			
		||||
							
								
								
									
										25
									
								
								home/default/scripts/append-urls-to-titles
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								home/default/scripts/append-urls-to-titles
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
set -eou pipefail
 | 
			
		||||
 | 
			
		||||
# Old script to get json url for some reason? Don't know why I did this
 | 
			
		||||
# youtube-dl -j --flat-playlist -a - | \
 | 
			
		||||
# jq -r '.id' | \
 | 
			
		||||
# sed 's_^_https://youtu.be/_' | \
 | 
			
		||||
# wget-titles-from-urls >> titles.txt
 | 
			
		||||
 | 
			
		||||
test -f append.txt
 | 
			
		||||
if [[ $? -ne 0 ]]; then
 | 
			
		||||
    echo No append.txt found! Cannot append
 | 
			
		||||
    exit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ ! -s append.txt ]]; then
 | 
			
		||||
    echo append.txt is empty
 | 
			
		||||
    exit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cat append.txt | wget-titles-from-urls >> titles.txt
 | 
			
		||||
cat append.txt | youtube-audio
 | 
			
		||||
> append.txt
 | 
			
		||||
 | 
			
		||||
standardize-music
 | 
			
		||||
							
								
								
									
										46
									
								
								home/default/scripts/booksplit
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								home/default/scripts/booksplit
									
									
									
									
									
										Executable 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"
 | 
			
		||||
							
								
								
									
										0
									
								
								home/default/scripts/del-macos-folders
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								home/default/scripts/del-macos-folders
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							@@ -1,8 +1,64 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
set -ou pipefail
 | 
			
		||||
 | 
			
		||||
for dir in */; do
 | 
			
		||||
	name=`echo "$dir" | sed 's/\/$//g'`
 | 
			
		||||
	(cd $dir && echo "#EXTM3U" > "$name.m3u" && ls | grep -v -E '\.txt|\.m3u' >> "$name.m3u")
 | 
			
		||||
# Generates playlists for all mp3 and flac files in a directory, ignoring itself in the "parent" folder
 | 
			
		||||
 | 
			
		||||
PLAYLIST_FOLDER="/home/default/Music/playlists/mpd"     # Playlist folder for mpd
 | 
			
		||||
PREFIX="music/playlists"                                # relative links to add to playlists, based on mpd virtual file structure
 | 
			
		||||
EXTENSIONS=("mp3" "opus" "flac" "m4a" "mkv" "webm")
 | 
			
		||||
 | 
			
		||||
# Disable nullglob and set pattern matching to fix spaces
 | 
			
		||||
shopt -s nullglob
 | 
			
		||||
SAVEIFS=$IFS
 | 
			
		||||
IFS=$(echo -en "\n\b")
 | 
			
		||||
 | 
			
		||||
cd $PLAYLIST_FOLDER || { echo "Could not cd into PLAYLIST_FOLDER"; exit 1; }
 | 
			
		||||
parent=`basename $PWD`
 | 
			
		||||
 | 
			
		||||
# Delete old generated playlists
 | 
			
		||||
if [[ -f "*.gen.m3u" ]]; then
 | 
			
		||||
    rm *.gen.m3u
 | 
			
		||||
fi
 | 
			
		||||
if [[ -f ".trackNames" ]]; then
 | 
			
		||||
    rm .trackNames
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# For all playlist directories to generate
 | 
			
		||||
for playlistDir in ../*; do
 | 
			
		||||
    if [[ -d "$playlistDir" ]] && [[ "$playlistDir" != "../$parent" ]]; then
 | 
			
		||||
	# playlist filename needed for mpd
 | 
			
		||||
    playlist=`echo "$playlistDir" | sed "s/^\.\.\///g"`
 | 
			
		||||
	# escaped version of filename needed for bash
 | 
			
		||||
    escaped=`printf '%q\n' "$playlist"`
 | 
			
		||||
 | 
			
		||||
    # echo "playlist=$playlist"
 | 
			
		||||
    # echo "escaped=$escaped"  
 | 
			
		||||
 | 
			
		||||
	# touch file
 | 
			
		||||
    > "$playlist.gen.m3u"
 | 
			
		||||
        
 | 
			
		||||
	# write all files with newlines
 | 
			
		||||
    > .track-names
 | 
			
		||||
 | 
			
		||||
    for EXT in ${EXTENSIONS[@]}; do
 | 
			
		||||
        # echo `find "../$playlist" -mindepth 1 -type f -name "*.$EXT" -printf x | wc -c`
 | 
			
		||||
        if [[ `find "../$playlist" -mindepth 1 -type f -name "*.$EXT" -printf x | wc -c` != 0 ]]; then
 | 
			
		||||
            ls -1 ../$escaped/*.$EXT >> .track-names 2> /dev/null
 | 
			
		||||
            # echo `ls -1 ../$playlist/*.$EXT >> 2> /dev/null`
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
   
 | 
			
		||||
    # echo `cat .track-names` 
 | 
			
		||||
    cat .track-names | while IFS="" read -r song || [ -n "$song" ] ; do
 | 
			
		||||
        unprefixed=`echo "$song" | sed "s/^\.\.\///g"`
 | 
			
		||||
        # echo "$PREFIX/$unprefixed"
 | 
			
		||||
        echo "$PREFIX/$unprefixed" >> "$playlist.gen.m3u"
 | 
			
		||||
    done < .track-names
 | 
			
		||||
    
 | 
			
		||||
    if [[ -f ".track-names" ]]; then
 | 
			
		||||
        rm .track-names
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
IFS=$SAVEIFS
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,7 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -eou pipefail
 | 
			
		||||
 | 
			
		||||
sudo bash -c 'echo $(pacman -Qqe) | tr " " "\n" | sort > /packages.txt'
 | 
			
		||||
echo $(pacman -Qqe) | \
 | 
			
		||||
    tr " " "\n" | \
 | 
			
		||||
    sort \
 | 
			
		||||
    > /packages.txt
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								home/default/scripts/mp3-to-opus
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								home/default/scripts/mp3-to-opus
									
									
									
									
									
										Executable 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
 | 
			
		||||
@@ -1,8 +1,5 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
set -eoux pipefail
 | 
			
		||||
 | 
			
		||||
rm -rf ~/.cache
 | 
			
		||||
sudo rm -rf /var/cache/pacman/pkg/*
 | 
			
		||||
yay -Sc --noconfirm
 | 
			
		||||
sudo pacman -Sc --noconfirm
 | 
			
		||||
sudo journalctl --vacuum-size=1G
 | 
			
		||||
@@ -2,5 +2,5 @@
 | 
			
		||||
 | 
			
		||||
# record video
 | 
			
		||||
dir=~/Downloads/temp
 | 
			
		||||
(cd $dir && wf-recorder -g "$(slurp)" -a alsa_output.pci-0000_0b_00.4.analog-stereo.monitor --file=$(date +%Y-%m-%d_%H-%m-%s).mp4)
 | 
			
		||||
(cd $dir && wf-recorder -g "$(slurp)" --audio --file=$(date +%Y-%m-%d_%H-%m-%s).mp4)
 | 
			
		||||
xdg-open $dir
 | 
			
		||||
 
 | 
			
		||||
@@ -6,17 +6,11 @@ if [ $count != 0 ]; then
 | 
			
		||||
  rename JPG jpg *.JPG
 | 
			
		||||
fi
 | 
			
		||||
  
 | 
			
		||||
# rename .jpeg -> .jpg
 | 
			
		||||
count=`ls -1 *.jpeg 2>/dev/null | wc -l`
 | 
			
		||||
if [ $count != 0 ]; then
 | 
			
		||||
  rename jpeg jpg *.jpeg
 | 
			
		||||
fi
 | 
			
		||||
  
 | 
			
		||||
# remove exif except orientation from .jpg
 | 
			
		||||
count=`ls -1 *.jpg 2>/dev/null | wc -l`
 | 
			
		||||
if [ $count != 0 ]; then
 | 
			
		||||
  for i in *.jpg; do
 | 
			
		||||
    /usr/bin/vendor_perl/exiftool -all= -overwrite_original -tagsfromfile @ -Orientation "$i"
 | 
			
		||||
    exiftool -all= -overwrite_original -tagsfromfile @ -Orientation "$i"
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
@@ -30,7 +24,7 @@ fi
 | 
			
		||||
count=`ls -1 *.png 2>/dev/null | wc -l`
 | 
			
		||||
if [ $count != 0 ]; then
 | 
			
		||||
  for i in *.png; do
 | 
			
		||||
    /usr/bin/vendor_perl/exiftool -all= -overwrite_original -tagsfromfile @ -Orientation "$i"
 | 
			
		||||
    exiftool -all= -overwrite_original -tagsfromfile @ -Orientation "$i"
 | 
			
		||||
  done
 | 
			
		||||
fi 
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								home/default/scripts/restart-audio
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								home/default/scripts/restart-audio
									
									
									
									
									
										Executable 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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										16
									
								
								home/default/scripts/scrub-ufw
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								home/default/scripts/scrub-ufw
									
									
									
									
									
										Executable 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
 | 
			
		||||
							
								
								
									
										4
									
								
								home/default/scripts/sort-by-length
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								home/default/scripts/sort-by-length
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -euo pipefail
 | 
			
		||||
 | 
			
		||||
cat input.txt | awk '{ print length, $0 }' | sort -n | cut -d" " -f2-
 | 
			
		||||
@@ -1,15 +1,17 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
set -ou pipefail
 | 
			
		||||
set -oux pipefail
 | 
			
		||||
 | 
			
		||||
count=`ls -1 *.OGG 2>/dev/null | wc -l`
 | 
			
		||||
# 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 OGG ogg *.OGG
 | 
			
		||||
  rename M4A m4a *.M4A
 | 
			
		||||
fi
 | 
			
		||||
  
 | 
			
		||||
count=`ls -1 *.ogg 2>/dev/null | wc -l`
 | 
			
		||||
count=`ls -1 *.m4a 2>/dev/null | wc -l`
 | 
			
		||||
if [ $count != 0 ]; then
 | 
			
		||||
    for i in *.ogg; do
 | 
			
		||||
        ffmpeg -y  -i "$i" -map_metadata 0:s:a:0 "${i%.*}.mp3" && rm "$i"
 | 
			
		||||
    for i in *.m4a; do
 | 
			
		||||
        ffmpeg -i "$i" "${i%.*}.ogg" && rm "$i"
 | 
			
		||||
    done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
@@ -21,7 +23,7 @@ fi
 | 
			
		||||
count=`ls -1 *.webm 2>/dev/null | wc -l`
 | 
			
		||||
if [ $count != 0 ]; then
 | 
			
		||||
    for i in *.webm; do
 | 
			
		||||
        ffmpeg -y  -i "$i" -map_metadata 0:s:a:0 "${i%.*}.mp3" && rm "$i"
 | 
			
		||||
        ffmpeg -i "$i" "${i%.*}.ogg" && rm "$i"
 | 
			
		||||
    done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
@@ -33,21 +35,7 @@ fi
 | 
			
		||||
count=`ls -1 *.opus 2>/dev/null | wc -l`
 | 
			
		||||
if [ $count != 0 ]; then
 | 
			
		||||
    for i in *.opus; do
 | 
			
		||||
        ffmpeg -y  -i "$i" -map_metadata 0:s:a:0 "${i%.*}.mp3" && rm "$i"
 | 
			
		||||
        ffmpeg -i "$i" "${i%.*}.ogg" && rm "$i"
 | 
			
		||||
    done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
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" -map_metadata 0:s:a:0 "${i%.*}.mp3" && rm "$i"
 | 
			
		||||
    done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
shopt -s nullglob
 | 
			
		||||
rsgain custom --skip-existing --lowercase --tagmode=i *.mp3 *.flac
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
set -eou pipefail
 | 
			
		||||
 | 
			
		||||
sudo mkdir -p /run/media/default
 | 
			
		||||
 | 
			
		||||
echo "mounting /run/media/default/MUSIC"
 | 
			
		||||
sudo fsck -fy /dev/disk/by-uuid/E6F8-C183 || true
 | 
			
		||||
sudo mkdir /run/media/default/MUSIC || true
 | 
			
		||||
sudo mount -U E6F8-C183 /run/media/default/MUSIC 
 | 
			
		||||
 | 
			
		||||
echo "syncing music..."
 | 
			
		||||
sudo rsync --info=progress2 -W -r --delete /home/default/Music/* /run/media/default/MUSIC/
 | 
			
		||||
sudo sync /run/media/default/MUSIC/
 | 
			
		||||
 | 
			
		||||
cd /run/media/default/MUSIC
 | 
			
		||||
sudo /home/default/scripts/generate-playlists
 | 
			
		||||
cd /home/default
 | 
			
		||||
 | 
			
		||||
echo "unmounting /run/media/default/MUSIC"
 | 
			
		||||
sudo umount /dev/disk/by-uuid/E6F8-C183
 | 
			
		||||
sudo rmdir /run/media/default/MUSIC
 | 
			
		||||
@@ -1,21 +0,0 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
set -eou pipefail
 | 
			
		||||
 | 
			
		||||
sudo mkdir -p /run/media/default
 | 
			
		||||
 | 
			
		||||
echo "mounting /run/media/default/MUSIC"
 | 
			
		||||
sudo fsck -fy /dev/disk/by-uuid/4619-9B49 || true
 | 
			
		||||
sudo mkdir -p /run/media/default/MUSIC || true
 | 
			
		||||
sudo mount -U 4619-9B49 /run/media/default/MUSIC 
 | 
			
		||||
 | 
			
		||||
echo "syncing music..."
 | 
			
		||||
sudo rsync --info=progress2 -W -r --delete /home/default/Music/* /run/media/default/MUSIC/
 | 
			
		||||
sudo sync /run/media/default/MUSIC/
 | 
			
		||||
 | 
			
		||||
cd /run/media/default/MUSIC
 | 
			
		||||
sudo /home/default/scripts/generate-playlists
 | 
			
		||||
cd /home/default
 | 
			
		||||
 | 
			
		||||
echo "unmounting /run/media/default/MUSIC"
 | 
			
		||||
sudo umount /run/media/default/MUSIC
 | 
			
		||||
sudo rmdir /run/media/default/MUSIC
 | 
			
		||||
@@ -1,9 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -euo pipefail
 | 
			
		||||
 | 
			
		||||
if compgen -G "/home/default/syncthing/*/.stversions/*" > /dev/null; then
 | 
			
		||||
	rm -rf /home/default/syncthing/*/.stversions/*
 | 
			
		||||
	echo "deleted all .stversions"
 | 
			
		||||
else
 | 
			
		||||
	echo "no .stversions to remove"
 | 
			
		||||
fi
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
set -eou pipefail
 | 
			
		||||
 | 
			
		||||
system-update-mirrors
 | 
			
		||||
pacman -Syuw --noconfirm
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -eoux pipefail
 | 
			
		||||
 | 
			
		||||
system-free-space
 | 
			
		||||
yay --noconfirm -Syu --overwrite \*
 | 
			
		||||
system-free-space
 | 
			
		||||
							
								
								
									
										59
									
								
								home/default/scripts/tag
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										59
									
								
								home/default/scripts/tag
									
									
									
									
									
										Executable 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
 | 
			
		||||
							
								
								
									
										162
									
								
								packages.txt
									
									
									
									
									
								
							
							
						
						
									
										162
									
								
								packages.txt
									
									
									
									
									
								
							@@ -1,56 +1,72 @@
 | 
			
		||||
7zip
 | 
			
		||||
adwaita-dark
 | 
			
		||||
adwaita-qt5-git
 | 
			
		||||
adwaita-qt6-git
 | 
			
		||||
adobe-source-han-sans-jp-fonts
 | 
			
		||||
adobe-source-han-sans-kr-fonts
 | 
			
		||||
aic94xx-firmware
 | 
			
		||||
alacritty
 | 
			
		||||
amd-ucode
 | 
			
		||||
android-udev
 | 
			
		||||
anki-bin
 | 
			
		||||
arch-install-scripts
 | 
			
		||||
arduino-ide-bin
 | 
			
		||||
asdf-vm
 | 
			
		||||
atomicparsley
 | 
			
		||||
atool
 | 
			
		||||
autoconf
 | 
			
		||||
automake
 | 
			
		||||
base
 | 
			
		||||
base-devel
 | 
			
		||||
bash
 | 
			
		||||
bash-completion
 | 
			
		||||
beets
 | 
			
		||||
bind
 | 
			
		||||
binutils
 | 
			
		||||
bison
 | 
			
		||||
blueman
 | 
			
		||||
bluetooth-autoconnect
 | 
			
		||||
brightnessctl
 | 
			
		||||
bzip2
 | 
			
		||||
calibre
 | 
			
		||||
cbonsai
 | 
			
		||||
ccache
 | 
			
		||||
cheese
 | 
			
		||||
chromium
 | 
			
		||||
cnrdrvcups-lb
 | 
			
		||||
code
 | 
			
		||||
coreutils
 | 
			
		||||
cowsay
 | 
			
		||||
cpupower
 | 
			
		||||
cpupower-gui
 | 
			
		||||
cryptsetup
 | 
			
		||||
cups
 | 
			
		||||
cups-pdf
 | 
			
		||||
darktable
 | 
			
		||||
ddclient
 | 
			
		||||
device-mapper
 | 
			
		||||
dhcpcd
 | 
			
		||||
dialog
 | 
			
		||||
dino
 | 
			
		||||
diffutils
 | 
			
		||||
direnv
 | 
			
		||||
dosfstools
 | 
			
		||||
downgrade
 | 
			
		||||
dxvk-bin
 | 
			
		||||
e2fsprogs
 | 
			
		||||
efibootmgr
 | 
			
		||||
electrum
 | 
			
		||||
elinks
 | 
			
		||||
esp-idf
 | 
			
		||||
emacs
 | 
			
		||||
esptool
 | 
			
		||||
etcher-bin
 | 
			
		||||
evince
 | 
			
		||||
exfat-utils
 | 
			
		||||
evolution
 | 
			
		||||
f2fs-tools
 | 
			
		||||
fail2ban
 | 
			
		||||
fakeroot
 | 
			
		||||
fcitx5
 | 
			
		||||
fcitx5-chinese-addons
 | 
			
		||||
fcitx5-configtool
 | 
			
		||||
fcitx5-gtk
 | 
			
		||||
fcitx5-pinyin-zhwiki
 | 
			
		||||
fcitx5-qt
 | 
			
		||||
fcitx5-solarized
 | 
			
		||||
ffmpegthumbnailer
 | 
			
		||||
file
 | 
			
		||||
filesystem
 | 
			
		||||
findutils
 | 
			
		||||
firefox
 | 
			
		||||
flex
 | 
			
		||||
font-manager
 | 
			
		||||
fortune-mod
 | 
			
		||||
fortune-mod-calvin
 | 
			
		||||
@@ -62,53 +78,63 @@ fortune-mod-hitchhiker
 | 
			
		||||
fortune-mod-matrix
 | 
			
		||||
fortune-mod-portal-game
 | 
			
		||||
fortune-mod-starwars
 | 
			
		||||
fprintd
 | 
			
		||||
framework-system-git
 | 
			
		||||
freecad
 | 
			
		||||
freerdp
 | 
			
		||||
fwbuilder
 | 
			
		||||
fwupd
 | 
			
		||||
gajim
 | 
			
		||||
gamemode
 | 
			
		||||
gawk
 | 
			
		||||
gcc
 | 
			
		||||
gcc-libs
 | 
			
		||||
gdlauncher-bin
 | 
			
		||||
gdm
 | 
			
		||||
gedit
 | 
			
		||||
geoclue
 | 
			
		||||
gettext
 | 
			
		||||
gimp
 | 
			
		||||
git
 | 
			
		||||
git-lfs
 | 
			
		||||
glibc
 | 
			
		||||
gnome-disk-utility
 | 
			
		||||
gnome-firmware
 | 
			
		||||
gnome-sound-recorder
 | 
			
		||||
gnu-free-fonts
 | 
			
		||||
gnu-netcat
 | 
			
		||||
gnutls
 | 
			
		||||
google-chrome
 | 
			
		||||
gparted
 | 
			
		||||
gphoto2
 | 
			
		||||
grep
 | 
			
		||||
grim
 | 
			
		||||
grub
 | 
			
		||||
gsmartcontrol
 | 
			
		||||
gsound
 | 
			
		||||
gst-libav
 | 
			
		||||
gst-plugins-bad
 | 
			
		||||
gst-plugins-ugly
 | 
			
		||||
gstreamer-vaapi
 | 
			
		||||
gtk-engine-murrine
 | 
			
		||||
gtk-vnc
 | 
			
		||||
gvfs-gphoto2
 | 
			
		||||
gutenprint
 | 
			
		||||
gwakeonlan
 | 
			
		||||
hamradio-menus
 | 
			
		||||
gzip
 | 
			
		||||
handbrake
 | 
			
		||||
hddtemp
 | 
			
		||||
hexedit
 | 
			
		||||
highlight
 | 
			
		||||
htop
 | 
			
		||||
hugin
 | 
			
		||||
hunspell-en_us
 | 
			
		||||
iio-sensor-proxy
 | 
			
		||||
inkscape
 | 
			
		||||
inotify-tools
 | 
			
		||||
iotop
 | 
			
		||||
iproute2
 | 
			
		||||
iputils
 | 
			
		||||
itstool
 | 
			
		||||
iucode-tool
 | 
			
		||||
iw
 | 
			
		||||
jammr
 | 
			
		||||
jansson
 | 
			
		||||
jq
 | 
			
		||||
kanshi
 | 
			
		||||
kcm-wacomtablet
 | 
			
		||||
kdocker
 | 
			
		||||
keepassxc
 | 
			
		||||
kid3
 | 
			
		||||
kitty
 | 
			
		||||
@@ -118,25 +144,51 @@ lagrange
 | 
			
		||||
leptonica
 | 
			
		||||
less
 | 
			
		||||
lib32-gamemode
 | 
			
		||||
lib32-giflib
 | 
			
		||||
lib32-gnutls
 | 
			
		||||
lib32-gst-plugins-base-libs
 | 
			
		||||
lib32-gtk3
 | 
			
		||||
lib32-libappindicator-gtk2
 | 
			
		||||
lib32-libappindicator-gtk3
 | 
			
		||||
lib32-libgpg-error
 | 
			
		||||
lib32-libjpeg-turbo
 | 
			
		||||
lib32-libldap
 | 
			
		||||
lib32-libpng
 | 
			
		||||
lib32-libpulse
 | 
			
		||||
lib32-libva
 | 
			
		||||
lib32-libva-mesa-driver
 | 
			
		||||
lib32-libxcomposite
 | 
			
		||||
lib32-libxinerama
 | 
			
		||||
lib32-libxslt
 | 
			
		||||
lib32-mesa-vdpau
 | 
			
		||||
lib32-mpg123
 | 
			
		||||
lib32-ocl-icd
 | 
			
		||||
lib32-openal
 | 
			
		||||
lib32-sqlite
 | 
			
		||||
lib32-v4l-utils
 | 
			
		||||
lib32-vkd3d
 | 
			
		||||
lib32-vulkan-icd-loader
 | 
			
		||||
libappindicator-gtk3
 | 
			
		||||
libdvdcss
 | 
			
		||||
libffado
 | 
			
		||||
libglvnd
 | 
			
		||||
libgnome-keyring
 | 
			
		||||
libgooglepinyin
 | 
			
		||||
libime
 | 
			
		||||
libjbig-shared
 | 
			
		||||
libjpeg6-turbo
 | 
			
		||||
libpinyin
 | 
			
		||||
libpng
 | 
			
		||||
libreoffice-extension-languagetool
 | 
			
		||||
libreoffice-still
 | 
			
		||||
libretro-overlays
 | 
			
		||||
libretro-shaders-slang
 | 
			
		||||
librewolf-bin
 | 
			
		||||
libva-mesa-driver
 | 
			
		||||
libva-utils
 | 
			
		||||
libvncserver
 | 
			
		||||
libxkbcommon
 | 
			
		||||
licenses
 | 
			
		||||
linux
 | 
			
		||||
linux-firmware
 | 
			
		||||
linux-firmware-qlogic
 | 
			
		||||
@@ -147,6 +199,8 @@ lshw
 | 
			
		||||
lsp-plugins
 | 
			
		||||
ltunify-git
 | 
			
		||||
lvm2
 | 
			
		||||
m4
 | 
			
		||||
make
 | 
			
		||||
mako
 | 
			
		||||
mallard-ducktype
 | 
			
		||||
man-db
 | 
			
		||||
@@ -159,11 +213,11 @@ mediainfo
 | 
			
		||||
mesa
 | 
			
		||||
minecraft-launcher
 | 
			
		||||
mixxx
 | 
			
		||||
mkinitcpio-firmware
 | 
			
		||||
mousetweaks
 | 
			
		||||
mpc
 | 
			
		||||
mpv
 | 
			
		||||
mpv-mpris
 | 
			
		||||
mqtt-explorer
 | 
			
		||||
mumble
 | 
			
		||||
namcap
 | 
			
		||||
nano
 | 
			
		||||
@@ -173,7 +227,6 @@ neofetch
 | 
			
		||||
neovim
 | 
			
		||||
networkmanager
 | 
			
		||||
network-manager-applet
 | 
			
		||||
networkmanager-openvpn
 | 
			
		||||
nmap
 | 
			
		||||
nomacs
 | 
			
		||||
noto-fonts-cjk
 | 
			
		||||
@@ -182,42 +235,55 @@ noto-fonts-extra
 | 
			
		||||
ntfs-3g
 | 
			
		||||
ntp
 | 
			
		||||
nvtop
 | 
			
		||||
ocl-icd
 | 
			
		||||
odt2txt
 | 
			
		||||
opencc
 | 
			
		||||
opendesktop-fonts
 | 
			
		||||
openh264
 | 
			
		||||
openshot
 | 
			
		||||
openvpn
 | 
			
		||||
opustags
 | 
			
		||||
overdue
 | 
			
		||||
package-query
 | 
			
		||||
papirus-icon-theme
 | 
			
		||||
patch
 | 
			
		||||
pavucontrol
 | 
			
		||||
pc-ble-driver
 | 
			
		||||
pciutils
 | 
			
		||||
perl
 | 
			
		||||
perl-image-exiftool
 | 
			
		||||
perl-rename
 | 
			
		||||
picard
 | 
			
		||||
piper
 | 
			
		||||
pipewire-alsa
 | 
			
		||||
pipewire-jack
 | 
			
		||||
pipewire-pulse
 | 
			
		||||
pixman
 | 
			
		||||
pkgconf
 | 
			
		||||
pkgstats
 | 
			
		||||
playerctl
 | 
			
		||||
playonlinux
 | 
			
		||||
polkit-gnome
 | 
			
		||||
postgresql
 | 
			
		||||
postgresql-libs
 | 
			
		||||
prismlauncher
 | 
			
		||||
procps-ng
 | 
			
		||||
psensor
 | 
			
		||||
psmisc
 | 
			
		||||
pv
 | 
			
		||||
pyside2
 | 
			
		||||
python
 | 
			
		||||
python-axolotl
 | 
			
		||||
python-levenshtein
 | 
			
		||||
python-matplotlib
 | 
			
		||||
python-mutagen
 | 
			
		||||
python-nrfutil
 | 
			
		||||
python-pip
 | 
			
		||||
python-pyasyncore
 | 
			
		||||
python-pycryptodome
 | 
			
		||||
python-pyenchant
 | 
			
		||||
python-pylast
 | 
			
		||||
python-pynvim
 | 
			
		||||
python-wxpython
 | 
			
		||||
qbittorrent
 | 
			
		||||
qt5ct
 | 
			
		||||
qt5-graphicaleffects
 | 
			
		||||
qt5-imageformats
 | 
			
		||||
quodlibet
 | 
			
		||||
ranger
 | 
			
		||||
rar
 | 
			
		||||
@@ -227,20 +293,24 @@ remmina
 | 
			
		||||
retroarch
 | 
			
		||||
retroarch-assets-xmb
 | 
			
		||||
rofi
 | 
			
		||||
rsgain
 | 
			
		||||
rsnapshot
 | 
			
		||||
rsync
 | 
			
		||||
samsung_magician-consumer-ssd
 | 
			
		||||
seahorse
 | 
			
		||||
sed
 | 
			
		||||
shadow
 | 
			
		||||
shellcheck
 | 
			
		||||
shotcut
 | 
			
		||||
signal-desktop
 | 
			
		||||
simple-scan
 | 
			
		||||
slurp
 | 
			
		||||
smartmontools
 | 
			
		||||
s-nail
 | 
			
		||||
sndio
 | 
			
		||||
ssh-audit
 | 
			
		||||
sshpass
 | 
			
		||||
stalonetray
 | 
			
		||||
steam
 | 
			
		||||
steam-native-runtime
 | 
			
		||||
sudo
 | 
			
		||||
sway
 | 
			
		||||
swaybg
 | 
			
		||||
@@ -250,9 +320,24 @@ syncplay
 | 
			
		||||
syncthing
 | 
			
		||||
syncthing-gtk
 | 
			
		||||
sysfsutils
 | 
			
		||||
systemd-sysvcompat
 | 
			
		||||
systemd-ui
 | 
			
		||||
tar
 | 
			
		||||
telegram-desktop
 | 
			
		||||
thunderbird
 | 
			
		||||
texinfo
 | 
			
		||||
texlive-basic
 | 
			
		||||
texlive-bibtexextra
 | 
			
		||||
texlive-bin
 | 
			
		||||
texlive-fontsextra
 | 
			
		||||
texlive-formatsextra
 | 
			
		||||
texlive-games
 | 
			
		||||
texlive-humanities
 | 
			
		||||
texlive-latexextra
 | 
			
		||||
texlive-mathscience
 | 
			
		||||
texlive-music
 | 
			
		||||
texlive-pictures
 | 
			
		||||
texlive-pstricks
 | 
			
		||||
texlive-publishers
 | 
			
		||||
tlp
 | 
			
		||||
tmux
 | 
			
		||||
traceroute
 | 
			
		||||
@@ -261,13 +346,15 @@ tree
 | 
			
		||||
ttf-dejavu
 | 
			
		||||
ttf-ibm-plex
 | 
			
		||||
ttf-joypixels
 | 
			
		||||
ttf-liberation
 | 
			
		||||
ttf-ms-fonts
 | 
			
		||||
ttf-opensans
 | 
			
		||||
ttf-symbola-free
 | 
			
		||||
ttf-ubuntu-font-family
 | 
			
		||||
ueberzugpp
 | 
			
		||||
unicode-emoji
 | 
			
		||||
upd72020x-fw
 | 
			
		||||
usbutils
 | 
			
		||||
util-linux
 | 
			
		||||
vi
 | 
			
		||||
vim
 | 
			
		||||
vkd3d
 | 
			
		||||
@@ -278,7 +365,6 @@ vulkan-mesa-layers
 | 
			
		||||
vulkan-radeon
 | 
			
		||||
vulkan-tools
 | 
			
		||||
w3m
 | 
			
		||||
wacomtablet
 | 
			
		||||
wakeonlan
 | 
			
		||||
waybar
 | 
			
		||||
wayland-utils
 | 
			
		||||
@@ -286,6 +372,8 @@ wayvnc
 | 
			
		||||
wd719x-firmware
 | 
			
		||||
wdisplays
 | 
			
		||||
wf-recorder
 | 
			
		||||
wget
 | 
			
		||||
which
 | 
			
		||||
wine-staging
 | 
			
		||||
winetricks
 | 
			
		||||
wireguard-tools
 | 
			
		||||
@@ -293,8 +381,9 @@ wl-clipboard
 | 
			
		||||
wol
 | 
			
		||||
wpa_supplicant
 | 
			
		||||
xclip
 | 
			
		||||
xdg-desktop-portal-gtk
 | 
			
		||||
xdg-desktop-portal
 | 
			
		||||
xdg-desktop-portal-wlr
 | 
			
		||||
xf86-input-wacom
 | 
			
		||||
xf86-video-amdgpu
 | 
			
		||||
xfsprogs
 | 
			
		||||
xorg-xdpyinfo
 | 
			
		||||
@@ -305,3 +394,4 @@ xsel
 | 
			
		||||
xterm
 | 
			
		||||
yay-bin
 | 
			
		||||
yt-dlp
 | 
			
		||||
zimg
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user