🔥 add new scripts

This commit is contained in:
Vladislav Nepogodin committed 2021-10-26 23:51:42 +04:00
1 parent 65e751ef32
commit c5ec0446b3
7 files changed
+228 -256

No files matched your search

@@ -1,5 +0,0 @@
#!/bin/sh
#
# SPDX-License-Identifier: GPL-3.0-or-later
exec lynx 'https://wiki.archlinux.org/title/Installation_guide'
-248
View File
@@ -1,248 +0,0 @@
#!/usr/bin/env bash
#
# SPDX-License-Identifier: GPL-3.0-or-later
usage() {
cat <<- _EOF_
live cd sound helper script.
Usage: livecdsound [OPTION]
OPTIONS
-u, --unmute unmute all sound cards
-p, --pick select a card for speetch output
-h, --help Show this usage message
_EOF_
}
bugout () {
printf "/usr/local/bin/livecdsound: programming error"
stat_fail
}
echo_card_indices()
{
if [ -f /proc/asound/cards ] ; then
sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards
fi
}
# The following functions try to set many controls.
# No card has all the controls and so some of the attempts are bound to fail.
# Because of this, the functions can't return useful status values.
# $1 <card id>
# $2 <control>
# $3 <level>
unmute_and_set_level(){
{ [ "$3" ] &&[ "$2" ] && [ "$1" ] ; } || bugout
systemd-cat -t "livecdsound" printf "Setting: %s on card: %s to %s\n" "$2" "$1" "$3"
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" unmute
return 0
}
# $1 <card id>
# $2 <control>
mute_and_zero_level()
{
{ [ "$1" ] && [ "$2" ] ; } || bugout
systemd-cat -t "livecdsound" printf "Muting control: %s on card: %s\n" "$2" "$1"
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "0%" mute
return 0
}
# $1 <card ID>
# $2 <control>
# $3 "on" | "off"
switch_control()
{
{ [ "$3" ] && [ "$1" ] ; } || bugout
systemd-cat -t "livecdsound" printf "Switching control: %s on card: %s to %s\n" "$2" "$1" "$3"
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3"
return 0
}
# $1 <card ID>
sanify_levels_on_card()
{
unmute_and_set_level "$1" "Front" "80%"
unmute_and_set_level "$1" "Master" "80%"
unmute_and_set_level "$1" "Master Mono" "80%"
unmute_and_set_level "$1" "Master Digital" "80%" # E.g., cs4237B
unmute_and_set_level "$1" "Playback" "80%"
unmute_and_set_level "$1" "Headphone" "100%"
unmute_and_set_level "$1" "PCM" "80%"
unmute_and_set_level "$1" "PCM,1" "80%" # E.g., ess1969
unmute_and_set_level "$1" "DAC" "80%" # E.g., envy24, cs46xx
unmute_and_set_level "$1" "DAC,0" "80%" # E.g., envy24
unmute_and_set_level "$1" "DAC,1" "80%" # E.g., envy24
unmute_and_set_level "$1" "Synth" "80%"
unmute_and_set_level "$1" "CD" "80%"
unmute_and_set_level "$1" "PC Speaker" "100%"
mute_and_zero_level "$1" "Mic"
mute_and_zero_level "$1" "IEC958" # Ubuntu #19648
# Intel P4P800-MX
switch_control "$1" "Master Playback Switch" on
switch_control "$1" "Master Surround" on
# Trident/YMFPCI/emu10k1:
unmute_and_set_level "$1" "Wave" "80%"
unmute_and_set_level "$1" "Music" "80%"
unmute_and_set_level "$1" "AC97" "80%"
# DRC:
unmute_and_set_level "$1" "Dynamic Range Compression" "80%"
# Required for HDA Intel (hda-intel):
unmute_and_set_level "$1" "Front" "80%"
# Required for SB Live 7.1/24-bit (ca0106):
unmute_and_set_level "$1" "Analog Front" "80%"
# Required at least for Via 823x hardware on DFI K8M800-MLVF Motherboard
switch_control "$1" "IEC958 Capture Monitor" off
# Required for hardware allowing toggles for AC97 through IEC958,
# valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1.
unmute_and_set_level "$1" "IEC958 Playback AC97-SPSA" "0"
# Required for newer Via hardware
unmute_and_set_level "$1" "VIA DXS,0" "80%"
unmute_and_set_level "$1" "VIA DXS,1" "80%"
unmute_and_set_level "$1" "VIA DXS,2" "80%"
unmute_and_set_level "$1" "VIA DXS,3" "80%"
# Required on some notebooks with ICH4:
switch_control "$1" "Headphone Jack Sense" off
switch_control "$1" "Line Jack Sense" off
# Some machines need one or more of these to be on;
# others need one or more of these to be off:
switch_control "$1" "Audigy Analog/Digital Output Jack" on
switch_control "$1" "SB Live Analog/Digital Output Jack" on
# D1984 -- Thinkpad T61/X61
switch_control "$1" "Speaker" on
switch_control "$1" "Headphone" on
# HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823)
unmute_and_set_level "$1" "Digital" "80%"
return 0
}
# $1 <card ID> | "all"
sanify_levels()
{
local ttsdml_returnstatus=0
local card
case "$1" in
all)
for card in $(echo_card_indices) ; do
sanify_levels_on_card "$card" || ttsdml_returnstatus=1
done
;;
*)
sanify_levels_on_card "$1" || ttsdml_returnstatus=1
;;
esac
return $ttsdml_returnstatus
}
# List all cards that *should* be usable for PCM audio. In my experience,
# the console speaker (handled by the pcsp driver) isn't a suitable playback
# device, so we'll exclude it.
list_non_pcsp_cards()
{
for card in $(echo_card_indices); do
local cardfile="/proc/asound/card${card}/id"
if [ -r "$cardfile" ] && [ -f "$cardfile" ] && \
[ "$(cat "$cardfile")" != pcsp ]; then
echo "$card"
fi
done
}
# Properly initialize the sound card so that we have audio at boot.
unmute_all_cards()
{
sanify_levels all
}
is_numeric() {
local str=$1
[[ "$str" =~ ^[0-9]+$ ]]
}
set_default_card() {
local card=$1
sed -e "s/%card%/$card/g" < /usr/local/share/livecd-sound/asound.conf.in \
> /etc/asound.conf
}
play_on_card() {
local card=$1 file=$2
aplay -q "-Dplughw:$card,0" "$file"
}
# If there are multiple usable sound cards, prompt the user to choose one,
# using auditory feedback.
pick_a_card()
{
set -f
usable_cards="$(list_non_pcsp_cards)"
num_usable_cards="$(wc -w <<< "$usable_cards")"
if [ "$num_usable_cards" -eq 1 ]; then
systemd-cat -t "livecdsound" printf "Only one sound card is detected\n"
exit 0
fi
systemd-cat -t "livecdsound" printf "multiple sound cards detected\n"
for card in $usable_cards; do
if ! is_numeric "$card"; then
continue
fi
play_on_card "$card" /usr/share/livecd-sounds/pick-a-card.wav&
done
wait
sleep 1
for card in $usable_cards; do
if ! is_numeric "$card"; then
continue
fi
play_on_card "$card" /usr/share/livecd-sounds/beep.wav
if read -r -t 10; then
systemd-cat -t "livecdsound" printf "Selecting %s sound card as default\n" "$card"
set_default_card "$card"
break
fi
done
}
if [[ $# -eq 0 ]]; then
echo "error: No argument passed."
exit 1
fi
while [[ "${1}" != "" ]]; do
case ${1} in
-h|--help)
usage
exit
;;
-u|--unmute)
systemd-cat -t "livecdsound" printf "Unmuting all cards"
unmute_all_cards
;;
-p|--pick)
pick_a_card
;;
*)
echo "error: Unsupported argument"
usage
exit 1
;;
esac
shift
done
+123
View File
@@ -0,0 +1,123 @@
#!/bin/bash
# grabed from https://github.com/xerolinux/xerolinux_iso
#
# driver=free or driver=nonfree - grub and efi
echo "Start cachyos-remove-nvidia"
kernel_cmdline(){
for param in $(cat /proc/cmdline); do
case "${param}" in
$1=*) echo "${param##*=}"; return 0 ;;
$1) return 0 ;;
*) continue ;;
esac
done
[ -n "${2}" ] && echo "${2}"
return 1
}
get_driver(){
echo $(kernel_cmdline driver)
}
get_virtmach(){
echo $(kernel_cmdline virtmach)
}
while [ -e "/var/lib/pacman/db.lck" ];
do
echo 'Pacman is not ready yet. Will try again in 10 seconds.'
seconds=$(($seconds + 10))
sleep 10
if [[ "$seconds" == "30" ]]; then
echo 'Warning: removing pacman db.lck!'
rm /var/lib/pacman/db.lck
fi
done
# free = remove nvidia keep nouveau
selection=$(get_driver)
echo "#################################"
echo "Selection was "$selection
echo "#################################"
if [[ $selection == "free" ]]; then
pacman -R --noconfirm nvidia-dkms nvidia-utils
fi
#freenonouveau = remove nvidia and nouveau
selection=$(get_driver)
echo "#################################"
echo "Selection was "$selection
echo "#################################"
if [[ $selection == "freenonouveau" ]]; then
pacman -R --noconfirm nvidia-dkms nvidia-utils
pacman -R --noconfirm xf86-video-nouveau
fi
#nonfree = keepin nvidia and nouveau
selection=$(get_driver)
echo "Selection was "$selection
if [[ $selection == "nonfree" ]]; then
echo "#################################"
echo "We keep nvidia and nouveau onboard"
echo "#################################"
fi
# nonfreenonouveau : keep nvidia and remove nouveau
selection=$(get_driver)
echo "#################################"
echo "Selection was "$selection
echo "#################################"
if [[ $selection == "nonfreenonouveau" ]]; then
pacman -R --noconfirm xf86-video-nouveau
fi
# remove virtual machines
selection=$(get_virtmach)
echo "#################################"
echo "Selection was "$selection
echo "#################################"
if [[ $selection == "none" ]]; then
#remove virtualbox
if pacman -Qi virtualbox-guest-utils &> /dev/null; then
systemctl disable vboxservice.service
pacman -Rns virtualbox-guest-utils --noconfirm
echo "Removed virtualbox-guest-utils"
fi
if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then
systemctl disable vboxservice.service
pacman -Rns virtualbox-guest-utils-nox --noconfirm
echo "Removed virtualbox-guest-utils-nox"
fi
#remove vmware
if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then
rm /etc/xdg/autostart/vmware-user.desktop
echo "Removed vmware-user.desktop"
fi
if pacman -Qi open-vm-tools &> /dev/null; then
systemctl disable vmtoolsd.service
echo "Disabled vmtoolsd.service"
pacman -Rns open-vm-tools --noconfirm
echo "Removed open-vm-tools"
fi
if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
echo "Removed vmtoolsd.service if still exists"
fi
#remove qemu
if pacman -Qi qemu-guest-agent &> /dev/null; then
systemctl disable qemu-guest-agent.service
pacman -Rns qemu-guest-agent --noconfirm
echo "Removed qemu-guest-agent"
fi
fi
echo "#################################"
echo "End cachyos-remove-nvidia"
echo "#################################"
+73
View File
@@ -0,0 +1,73 @@
#!/bin/bash
#set -e
###############################################################################
# Author : Erik Dubois
# Website : https://www.erikdubois.be
# Website : https://www.arcolinux.info
# Website : https://www.arcolinux.com
# Website : https://www.arcolinuxd.com
# Website : https://www.arcolinuxb.com
# Website : https://www.arcolinuxiso.com
# Website : https://www.arcolinuxforum.com
###############################################################################
#
# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
#
###############################################################################
_clean_packages(){
local _packages_to_remove=(
gparted
grsync
cachyos-calamares
cachyos-calamares-config
edk2-shell
boost-libs
doxygen
expect
gpart
tcpdump
libpwquality
refind
rate-mirrors-bin
kvantum-qt5
polkit-qt5
qca-qt5
qt5-location
qt5-multimedia
qt5-speech
qt5-wayland
qt5-webchannel
qt5-webengine
qt5-xmlpatterns
qt5-base
sonnet
kwidgetsaddons
kitemviews
kguiaddons
kdbusaddons
kcoreaddons
karchive
qt5ct
arch-install-scripts
squashfs-tools
extra-cmake-modules
cmake
elinks
yaml-cpp
syslinux
clonezilla
ckbcomp
xcompmgr
memtest86+
mkinitcpio-archiso
)
local xx
# @ does one by one to avoid errors in the entire process
# * can be used to treat all packages in one command
for xx in ${_packages_to_remove[@]}; do pacman -Rsc $xx --noconfirm; done
}
_clean_packages
+28
View File
@@ -0,0 +1,28 @@
#!/bin/bash
#set -e
###############################################################################
# Author : Erik Dubois
# Website : https://www.erikdubois.be
# Website : https://www.arcolinux.info
# Website : https://www.arcolinux.com
# Website : https://www.arcolinuxd.com
# Website : https://www.arcolinuxb.com
# Website : https://www.arcolinuxiso.com
# Website : https://www.arcolinuxforum.com
###############################################################################
#
# DO NOT JUST RUN THIS. EXAMINE AND JUDGE. RUN AT YOUR OWN RISK.
#
###############################################################################
_clean_packages(){
local _packages_to_remove=($(comm -23 <(pacman -Qqt | sort) <({ pacman -Qqg base-devel; echo "base"; echo "base-devel"; } | sort -u)))
local xx
# @ does one by one to avoid errors in the entire process
# * can be used to treat all packages in one command
for xx in ${_packages_to_remove[@]}; do pacman -Rsc $xx --noconfirm; done
}
_clean_packages
+4 -3
View File
@@ -20,9 +20,10 @@ file_permissions=(
["/etc/sudoers.d"]="0:0:750"
["/root/.automated_script.sh"]="0:0:755"
["/usr/local/bin/choose-mirror"]="0:0:755"
["/usr/local/bin/Installation_guide"]="0:0:755"
["/usr/local/bin/livecd-sound"]="0:0:755"
["/usr/local/bin/alci-displaymanager-check"]="0:0:755"
["/usr/local/bin/dmcheck"]="0:0:755"
["/usr/local/bin/calamares-offline.sh"]="0:0:755"
["/usr/local/bin/calamares-online.sh"]="0:0:755"
["/usr/local/bin/remove-nvidia"]="0:0:755"
["/usr/local/bin/removeun"]="0:0:755"
["/usr/local/bin/removeun-online"]="0:0:755"
)