Compare commits

..

1 Commits

Author SHA1 Message Date
c1c6327c2c remove nvidia env vars 2022-12-12 17:40:47 -05:00
57 changed files with 2276 additions and 736 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

@ -20,7 +20,6 @@ HoldPkg = pacman glibc
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta = 0.7
ParallelDownloads = 20
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
@ -86,10 +85,13 @@ LocalFileSigLevel = Optional
[core]
Include = /etc/pacman.d/mirrorlist
#[extra-testing]
[extra]
Include = /etc/pacman.d/mirrorlist
#[community-testing]
#Include = /etc/pacman.d/mirrorlist
[extra]
[community]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,

View File

@ -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

View File

@ -0,0 +1,15 @@
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia
Target=linux-lts
# Change the linux part above and in the Exec line if a different kernel is used
[Action]
Description=Update Nvidia module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux-lts) exit 0; esac; done; /usr/bin/mkinitcpio -P'

View File

@ -1 +0,0 @@
/home/default/syncthing/default/scripts/login-notify

View File

@ -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

View File

@ -1 +0,0 @@
vm.swappiness=5

View File

@ -1,14 +0,0 @@
[Unit]
Description=A VNC server for wlroots based Wayland compositors
BindsTo=sway-session.target
[Service]
Type=simple
ExecStart=/usr/bin/wayvnc
Environment="WAYLAND_DISPLAY=wayland-1"
Restart=on-failure
RestartSec=1
TimeoutStopSec=10
[Install]
WantedBy=sway-session.target

0
home/default/.bashrc Executable file → Normal file
View File

View File

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

View File

@ -0,0 +1,2 @@
window:
opacity: 0.85

View File

@ -1,27 +0,0 @@
# Vertical Candidate List
Vertical Candidate List=False
# Use Per Screen DPI
PerScreenDPI=True
# Use mouse wheel to go to prev or next page
WheelForPaging=True
# Font
Font="Sans 10"
# Menu Font
MenuFont="Sans 10"
# Tray Font
TrayFont="Sans Bold 10"
# Tray Label Outline Color
TrayOutlineColor=#000000
# Tray Label Text Color
TrayTextColor=#ffffff
# Prefer Text Icon
PreferTextIcon=False
# Show Layout Name In Icon
ShowLayoutNameInIcon=True
# Use input method language to display text
UseInputMethodLangaugeToDisplayText=True
# Theme
Theme=solarized-dark
# Force font DPI on Wayland
ForceWaylandDPI=0

View File

@ -1,145 +0,0 @@
# Shuangpin Profile
ShuangpinProfile=Ziranma
# Show current shuangpin mode
ShowShuangpinMode=True
# Page size
PageSize=7
# Enable Spell
SpellEnabled=True
# Enable Symbols
SymbolsEnabled=True
# Enable Chaizi
ChaiziEnabled=True
# Enable Characters in Unicode CJK Extension B
ExtBEnabled=True
# Enable Cloud Pinyin
CloudPinyinEnabled=True
# Cloud Pinyin Index
CloudPinyinIndex=1
# Show animation when Cloud Pinyin is loading
CloudPinyinAnimation=True
# Always show Cloud Pinyin place holder
KeepCloudPinyinPlaceHolder=False
# Preedit Mode
PreeditMode="Composing pinyin"
# Fix embedded preedit cursor at the beginning of the preedit
PreeditCursorPositionAtBeginning=True
# Show complete pinyin in preedit
PinyinInPreedit=False
# Enable Prediction
Prediction=False
# Prediction Size
PredictionSize=10
# Action when switching input method
SwitchInputMethodBehavior="Commit current preedit"
# Select 2nd Candidate
SecondCandidate=
# Select 3rd Candidate
ThirdCandidate=
# Use Keypad as Selection key
UseKeypadAsSelection=False
# Use BackSpace to cancel the selection
BackSpaceToUnselect=True
# Number of Sentences
Number of sentence=2
# Prompt long word length when input length over (0 for disable)
LongWordLengthLimit=4
# Key to trigger quickphrase
QuickPhraseKey=semicolon
# Use V to trigger quickphrase
VAsQuickphrase=True
# FirstRun
FirstRun=False
[ForgetWord]
0=Control+7
[PrevPage]
0=minus
1=Up
2=KP_Up
[NextPage]
0=equal
1=Down
2=KP_Down
[PrevCandidate]
0=Shift+Tab
[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
[FilterByStroke]
0=grave
[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
VE_UE=True
# Common Typo
NG_GN=True
# Inner Segment (xian -> xi'an)
Inner=True
# Inner Segment for Short Pinyin (qie -> qi'e)
InnerShort=True
# Match partial finals (e -> en, eng, ei)
PartialFinal=True
# Match partial shuangpin if input length is longer than 4
PartialSp=False
# u <-> v
V_U=False
# an <-> ang
AN_ANG=False
# en <-> eng
EN_ENG=False
# ian <-> iang
IAN_IANG=False
# in <-> ing
IN_ING=False
# u <-> ou
U_OU=False
# uan <-> uang
UAN_UANG=False
# c <-> ch
C_CH=False
# f <-> h
F_H=False
# l <-> n
L_N=False
# s <-> sh
S_SH=False
# z <-> zh
Z_ZH=False
# Correction Layout
Correction=None

View File

@ -1,66 +0,0 @@
[Hotkey]
# Enumerate when press trigger key repeatedly
EnumerateWithTriggerKeys=True
# Temporally switch between first and current Input Method
AltTriggerKeys=
# Enumerate Input Method Forward
EnumerateForwardKeys=
# Enumerate Input Method Backward
EnumerateBackwardKeys=
# Skip first input method while enumerating
EnumerateSkipFirst=False
# Enumerate Input Method Group Forward
EnumerateGroupForwardKeys=
# Enumerate Input Method Group Backward
EnumerateGroupBackwardKeys=
# Activate Input Method
ActivateKeys=
# Deactivate Input Method
DeactivateKeys=
[Hotkey/TriggerKeys]
0=Control+Shift+space
[Hotkey/PrevPage]
0=Up
[Hotkey/NextPage]
0=Down
[Hotkey/PrevCandidate]
0=Shift+Tab
[Hotkey/NextCandidate]
0=Tab
[Hotkey/TogglePreedit]
0=Control+Alt+P
[Behavior]
# Active By Default
ActiveByDefault=False
# Share Input State
ShareInputState=No
# Show preedit in application
PreeditEnabledByDefault=True
# Show Input Method Information when switch input method
ShowInputMethodInformation=True
# Show Input Method Information when changing focus
showInputMethodInformationWhenFocusIn=False
# Show compact input method information
CompactInputMethodInformation=True
# Show first input method information
ShowFirstInputMethodInformation=True
# Default page size
DefaultPageSize=5
# Override Xkb Option
OverrideXkbOption=False
# Custom Xkb Option
CustomXkbOption=
# Force Enabled Addons
EnabledAddons=
# Force Disabled Addons
DisabledAddons=
# Preload input method to be used by default
PreloadInputMethod=True

View File

@ -1,23 +0,0 @@
[Groups/0]
# Group Name
Name=Default
# Layout
Default Layout=us
# Default Input Method
DefaultIM=pinyin
[Groups/0/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=
[Groups/0/Items/1]
# Name
Name=pinyin
# Layout
Layout=
[GroupOrder]
0=Default

View File

@ -1,4 +1,18 @@
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
output eDP-1 enable scale 2.00 position 0,540 mode 3200x1800
output "Acer Technologies G257HU T1WAA0012432" enable scale 1.00 position 1600,0 mode 2560x1440
}
profile {
output eDP-1 enable scale 2.00 position 0,540 mode 3200x1800
}
profile {
output "Goldstar Company Ltd LG ULTRAWIDE 0x00000101" enable position 0,360 mode 2560x1080
output "Goldstar Company Ltd LG IPS QHD 201NTPCGD520" enable scale 1.10 position 2560,0 mode 2560x1440
}
profile {
output eDP-1 enable scale 2.00 position 0,540 mode 3200x1800
output "VIZIO, Inc E55-E2 0x00000101" enable position 1600,540 mode 1920x1080@30Hz
}

View File

@ -1,21 +1,6 @@
sort=-time
layer=overlay
font=IBMPlexMono 10
background-color=#222222
width=500
height=120
border-size=1
border-color=#333333
border-radius=3
icons=0
font=IBMPlexMono 11
default-timeout=0
padding=10
[urgency=low]
border-color=#333333
[urgency=normal]
border-color=#555555
[urgency=high]
border-color=#aaaaaa
anchor=top-right
default-timeout=6000
width=350

View File

@ -0,0 +1,34 @@
# mpd.conf
pid_file "/home/default/.config/mpd/mpd.pid"
db_file "/home/default/.config/mpd/mpd.db"
state_file "/home/default/.config/mpd/mpd.state"
playlist_directory "/home/default/.config/mpd/music/music/playlists/mpd"
music_directory "/home/default/.config/mpd/music"
sticker_file "/home/default/.config/mpd/sticker.sql"
log_file "syslog"
auto_update "yes"
user "default"
bind_to_address "localhost"
port "6600"
volume_normalization "yes"
# pulse audio
audio_output {
type "pulse"
name "pulse audio"
}
# httpd stream
# audio_output {
# type "httpd"
# name "My HTTP Stream"
# encoder "wave" # optional, vorbis or lame
# port "8000"
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
# quality "5.0" # do not define if bitrate is defined
# bitrate "128" # do not define if quality is defined
# format "44100:16:1"
# max_clients "0" # optional 0=no limit
#}

View File

@ -1,3 +0,0 @@
" set default vim register to normal clipboard
set clipboard+=unnamedplus
colorscheme vim

View File

@ -0,0 +1,46 @@
ChatLine {
font-family: Noto Sans;
font-size: 15px;
font-weight: normal;
}
MultiLineEdit {
font-family: Noto Sans;
font-size: 15px;
font-weight: normal;
}
ChatLine#plain {
font-family: Noto Sans;
font-size: 15px;
font-weight: normal;
}
/* Font: UI Global Font */
QWidget {
font-family: Noto Sans;
font-size: 15px;
font-weight: normal;
}
ChatListItem {
font-family: Noto Sans;
font-size: 15px;
font-weight: normal;
}
NickListItem {
font-family: Noto Sans;
font-size: 15px;
font-weight: normal;
}
StyledLabel#topicLabel {
font-family: Noto Sans;
font-size: 15px;
font-weight: normal;
}
/* Topic Box */
StyledLabel#topicLabel {
background: palette(base);
font-family: Noto Sans;
font-size: 15px;
font-weight: normal;
}

View File

@ -1,3 +1,3 @@
set preview_images true
set preview_images_method ueberzug
set preview_images_method kitty
map DD shell trash %s

View File

@ -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"'
@ -62,8 +60,8 @@ bindsym Ctrl+Alt+l exec "playerctl -a pause; \
### input configuration
# fcitx5
exec --no-startup-id fcitx5 -d
# ibus
exec --no-startup-id ibus-daemon -drxR
### key bindings
@ -220,6 +218,9 @@ bindsym XF86Search exec $menu
# screenshot
bindsym Ctrl+Shift+p exec ~/scripts/screenshot
# record screen
# bindsym Ctrl+Alt+p exec ~/scripts/record-screen
### gaps
gaps inner 25
# smart_gaps on
@ -229,9 +230,6 @@ bindsym $mod+Shift+d border toggle
bindsym $mod+m exec makoctl dismiss
bindsym $mod+n exec makoctl restore
# wayvnc
bindsym $mod+Shift+o exec wayvncctl output-cycle
### styles
# class border backgr text
@ -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"
@ -273,7 +264,4 @@ input "1386:770:Wacom_Intuos_PT_S_Pad" {
dwt enable
}
# sway-session.target
exec_always systemctl --user start sway-session.target
include /etc/sway/config.d/*

View File

@ -1,2 +0,0 @@
address=localhost
enable_auth=false

View File

@ -1,4 +0,0 @@
inode/directory=ranger.desktop
x-scheme-handler/steamvr=valve-URI-steamvr.desktop
application/x-vrmonitor=valve-vrmonitor.desktop
x-scheme-handler/vrmonitor=valve-URI-vrmonitor.desktop

View File

@ -1,31 +1,35 @@
# 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
export XDG_CURRENT_DESKTOP=Unity
# 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
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
# set neovim as default editor
export VISUAL=nvim
export EDITOR=nvim
# dotnet
export MSBuildSDKsPath="/usr/share/dotnet/sdk/`dotnet --version`/Sdks/"
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export PATH="/home/default/.dotnet/tools:$PATH"
# git
export GIT_DISCOVERY_ACROSS_FILESYSTEM=true
# General wayland environment variables
export XDG_SESSION_TYPE=wayland
export QT_QPA_PLATFORM=wayland
# export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
# export XWAYLAND_NO_GLAMOR=1
# Firefox wayland environment variable
export MOZ_ENABLE_WAYLAND=1
export MOZ_USE_XINPUT2=1

View File

@ -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

View File

@ -0,0 +1,23 @@
#!/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

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"

0
home/default/scripts/del-macos-folders Executable file → Normal file
View File

View 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

View File

@ -0,0 +1 @@
git log --all --graph --pretty=format:'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative -n 20

View File

@ -1,4 +1,6 @@
#!/usr/bin/env bash
#!/bin/bash
set -eou pipefail
sudo bash -c 'echo $(pacman -Qqe) | tr " " "\n" | sort > /packages.txt'
echo $(pacman -Qqn) $(pacman -Qqm) | \
tr " " "\n" | \
sort

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,6 @@
#!/usr/bin/env bash
set -eou pipefail
echo $(pacman -Qqn) $(pacman -Qqm) | \
tr " " "\n" | \
sort

View File

@ -1,7 +0,0 @@
#!/usr/bin/env sh
set +eou pipefail
# Takes the latest photo from my camera stream and removes exif data from it
LATEST_PHOTO=$(ls -t1 /home/default/syncthing/camera/Camera | head -n 1)
cp "/home/default/syncthing/camera/Camera/${LATEST_PHOTO}" /home/default/Downloads/temp
cd /home/default/Downloads/temp && remove-exif

View File

@ -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

View File

@ -1,5 +0,0 @@
#!/bin/bash
set -eou pipefail
swaymsg "output * dpms off" && \
swaymsg "output * dpms on"

View File

@ -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

View File

@ -1,13 +1,11 @@
#!/usr/bin/env bash
set -euox pipefail
pkill -f blueman-manager || true
set -euo pipefail
echo stopping bluetooth-autoconnect...
sudo systemctl stop bluetooth-autoconnect
echo stopping bluetooth...
sudo systemctl stop bluetooth
sudo modprobe -r btusb
echo starting bluetooth...
sudo modprobe btusb
sudo systemctl start bluetooth
sudo rfkill unblock bluetooth
echo starting bluetooth-autoconnect...
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,53 +0,0 @@
#!/usr/bin/env sh
set -ou pipefail
count=`ls -1 *.OGG 2>/dev/null | wc -l`
if [ $count != 0 ]; then
rename OGG ogg *.OGG
fi
count=`ls -1 *.ogg 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"
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" -map_metadata 0:s:a:0 "${i%.*}.mp3" && 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" -map_metadata 0:s:a:0 "${i%.*}.mp3" && 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

View File

@ -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

View File

@ -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

View File

@ -1,4 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
find ~/syncthing/ -type f -name "*.sync-conflict*" -exec rm {} \;

View File

@ -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

View File

@ -1,5 +0,0 @@
#!/usr/bin/env sh
set -eou pipefail
system-update-mirrors
pacman -Syuw --noconfirm

View File

@ -1,8 +0,0 @@
#!/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

View File

@ -1,6 +0,0 @@
#!/usr/bin/env bash
set -eoux pipefail
system-free-space
yay --noconfirm -Syu --overwrite \*
system-free-space

View File

@ -1,4 +0,0 @@
#!/usr/bin/env bash
set -eoux pipefail
rate-mirrors arch | sudo tee /etc/pacman.d/mirrorlist

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

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -eoux pipefail
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.backup
rankmirrors -n 20 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist

View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -eoux pipefail
yay -Syu \
--ignore=linux-lts \
--ignore=linux-lts-headers \
--ignore=zfs-linux-lts \
--ignore=zfs-linux-lts-headers

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,7 @@ please let me know if i've forgotten one!
- waybar (topbar)
- swayidle (idle daemon)
- swaylock (lockscreen)
- alacritty (terminal)
- kitty (terminal)
- ranger (file browser)
- rofi (launcher)
- mako (notification daemon)
@ -39,7 +39,7 @@ please let me know if i've forgotten one!
- playerctl (music controller)
- materia-dark (gtk theme)
- papirus-dark (icon theme)
- fcitx5 (intl. keyboard input)
- ibus (intl. keyboard input)
- grim (screenshots on wayland)
- wf-recorder (screen recorder on wayland)
- slurp (to select region in wayland)