This commit is contained in:
Page Asgardius 2024-07-15 14:18:15 -07:00
parent 42651f694d
commit 65dffd58cc
501 changed files with 12163 additions and 0 deletions

View file

@ -0,0 +1,5 @@
#!/bin/sh
#
# SPDX-License-Identifier: GPL-3.0-or-later
exec lynx 'https://wiki.archlinux.org/title/Installation_guide'

View file

@ -0,0 +1,33 @@
#!/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.
#
###############################################################################
package=sddm
if pacman -Qs $package > /dev/null ; then
ln -sf /usr/lib/systemd/system/sddm.service /etc/systemd/system/display-manager.service
fi
package=gdm
if pacman -Qs $package > /dev/null ; then
ln -sf /usr/lib/systemd/system/gdm.service /etc/systemd/system/display-manager.service
fi
package=lxdm
if pacman -Qs $package > /dev/null ; then
ln -sf /usr/lib/systemd/system/lxdm.service /etc/systemd/system/display-manager.service
fi
package=lightdm
if pacman -Qs $package > /dev/null ; then
ln -sf /usr/lib/systemd/system/lightdm.service /etc/systemd/system/display-manager.service
fi

View file

@ -0,0 +1,18 @@
#!/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.
#
###############################################################################
#if necessary we can use this script too

View file

@ -0,0 +1,29 @@
#!/bin/bash
#
# SPDX-License-Identifier: GPL-3.0-or-later
get_cmdline() {
local param
for param in $(</proc/cmdline); do
case "${param}" in
"${1}="*)
echo "${param##*=}"
return 0
;;
esac
done
}
mirror="$(get_cmdline mirror)"
[[ "$mirror" == 'auto' ]] && mirror="$(get_cmdline archiso_http_srv)"
[[ -n "$mirror" ]] || exit 0
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
cat >/etc/pacman.d/mirrorlist <<EOF
#
# Arch Linux repository mirrorlist
# Generated by archiso
#
Server = ${mirror%%/}/\$repo/os/\$arch
EOF

View file

@ -0,0 +1 @@
fix-keys

View file

@ -0,0 +1,116 @@
#!/bin/bash
#set -e
##################################################################################################################
# Author : Erik Dubois
# Website : https://www.erikdubois.be
# Website : https://www.alci.online
# 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.
#
##################################################################################################################
#tput setaf 0 = black
#tput setaf 1 = red
#tput setaf 2 = green
#tput setaf 3 = yellow
#tput setaf 4 = dark blue
#tput setaf 5 = purple
#tput setaf 6 = cyan
#tput setaf 7 = gray
#tput setaf 8 = light blue
##################################################################################################################
Online=0
function check_connectivity() {
local test_ip
local test_count
test_ip="8.8.8.8"
test_count=1
if ping -c ${test_count} ${test_ip} > /dev/null; then
tput setaf 2
echo
echo "You are online"
echo
tput sgr0
Online=1
else
tput setaf 1
echo
echo "You are not connected to the internet"
echo "We can not download the latest archlinux-keyring package"
echo
echo "Make sure you are online to retrieve packages"
echo
tput sgr0
Online=0
fi
}
check_connectivity
if [ $Online -eq 1 ] ; then
tput setaf 2
echo
echo "Installing the latest archlinux-keyring package from the internet"
echo
tput sgr0
sudo pacman -Sy archlinux-keyring --noconfirm
echo
fi
echo "###############################################################################"
echo "Removing the pacman databases at /var/lib/pacman/sync/*"
echo "###############################################################################"
echo
sudo rm /var/lib/pacman/sync/*
echo
echo "###############################################################################"
echo "Removing /etc/pacman.d/gnupg folder"
echo "###############################################################################"
echo
sudo rm -rf /etc/pacman.d/gnupg/*
echo
echo "###############################################################################"
echo "Initialize pacman keys with pacman-key --init"
echo "###############################################################################"
echo
sudo pacman-key --init
echo
echo "###############################################################################"
echo "Populating keyring with pacman-key --populate"
echo "###############################################################################"
echo
sudo pacman-key --populate
echo
echo "###############################################################################"
echo "Adding Ubuntu keyserver to /etc/pacman.d/gnupg/gpg.conf"
echo "###############################################################################"
echo
echo "
keyserver hkp://keyserver.ubuntu.com:80" | sudo tee --append /etc/pacman.d/gnupg/gpg.conf
echo
echo "###############################################################################"
echo "Getting new databases with pacman -Sy"
echo "###############################################################################"
echo
sudo pacman -Sy
echo
echo "###############################################################################"
echo "### DONE - YOU CAN CLOSE THIS WINDOW ####"
echo "###############################################################################"

View file

@ -0,0 +1 @@
fix-keys

View file

@ -0,0 +1 @@
fix-keys

View file

@ -0,0 +1,158 @@
#!/bin/bash
#set -e
##################################################################################################################
# Author : Erik Dubois
# Website : https://www.erikdubois.be
# Website : https://www.alci.online
# Website : https://www.ariser.eu
# 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.
#
##################################################################################################################
#tput setaf 0 = black
#tput setaf 1 = red
#tput setaf 2 = green
#tput setaf 3 = yellow
#tput setaf 4 = dark blue
#tput setaf 5 = purple
#tput setaf 6 = cyan
#tput setaf 7 = gray
#tput setaf 8 = light blue
##################################################################################################################
installed_dir=$(dirname $(readlink -f $(basename `pwd`)))
##################################################################################################################
sudo pacman -Syyu
sudo pacman -S wget --noconfirm --needed
sudo pacman -S jq --noconfirm --needed
arco_repo_db=$(wget -qO- https://api.github.com/repos/arcolinux/arcolinux_repo/contents/x86_64)
echo "Getting the ArcoLinux keys from the ArcoLinux repo"
sudo wget "$(echo "$arco_repo_db" | jq -r '[.[] | select(.name | contains("arcolinux-keyring")) | .name] | .[0] | sub("arcolinux-keyring-"; "https://github.com/arcolinux/arcolinux_repo/raw/main/x86_64/arcolinux-keyring-")')" -O /tmp/arcolinux-keyring-git-any.pkg.tar.zst
sudo pacman -U --noconfirm --needed /tmp/arcolinux-keyring-git-any.pkg.tar.zst
######################################################################################################################
echo "Getting the latest arcolinux mirrors file"
sudo wget "$(echo "$arco_repo_db" | jq -r '[.[] | select(.name | contains("arcolinux-mirrorlist-git-")) | .name] | .[0] | sub("arcolinux-mirrorlist-git-"; "https://github.com/arcolinux/arcolinux_repo/raw/main/x86_64/arcolinux-mirrorlist-git-")')" -O /tmp/arcolinux-mirrorlist-git-any.pkg.tar.zst
sudo pacman -U --noconfirm --needed /tmp/arcolinux-mirrorlist-git-any.pkg.tar.zst
if grep -q arcolinux_repo /etc/pacman.conf; then
echo
tput setaf 2
echo "################################################################"
echo "################ ArcoLinux repos are already in /etc/pacman.conf "
echo "################################################################"
tput sgr0
echo
else
echo '
#[arcolinux_repo_testing]
#SigLevel = PackageRequired DatabaseNever
#Include = /etc/pacman.d/arcolinux-mirrorlist
[arcolinux_repo]
SigLevel = PackageRequired DatabaseNever
Include = /etc/pacman.d/arcolinux-mirrorlist
[arcolinux_repo_3party]
SigLevel = PackageRequired DatabaseNever
Include = /etc/pacman.d/arcolinux-mirrorlist
[arcolinux_repo_xlarge]
SigLevel = PackageRequired DatabaseNever
Include = /etc/pacman.d/arcolinux-mirrorlist' | sudo tee --append /etc/pacman.conf
fi
sudo pacman -Sy
func_install() {
if pacman -Qi $1 &> /dev/null; then
tput setaf 2
echo "###############################################################################"
echo "################## The package "$1" is already installed"
echo "###############################################################################"
echo
tput sgr0
else
tput setaf 3
echo "###############################################################################"
echo "################## Installing package " $1
echo "###############################################################################"
echo
tput sgr0
sudo pacman -S --noconfirm --needed $1
fi
}
func_install_chadwm() {
echo
tput setaf 2
echo "################################################################"
echo "################### Install chadwm"
echo "################################################################"
tput sgr0
echo
list=(
alacritty
archlinux-logout-git
arcolinux-chadwm-git
arcolinux-powermenu-git
dash
dmenu
eww
feh
lxappearance
picom
polkit-gnome
rofi-lbonn-wayland
scrot
sxhkd
thunar
thunar-archive-plugin
thunar-volman
ttf-hack
ttf-jetbrains-mono-nerd
ttf-meslo-nerd-font-powerlevel10k
volumeicon
xfce4-notifyd
xfce4-power-manager
xfce4-screenshooter
xfce4-settings
xfce4-taskmanager
xfce4-terminal
)
count=0
for name in "${list[@]}" ; do
count=$[count+1]
tput setaf 3;echo "Installing package nr. "$count " " $name;tput sgr0;
func_install $name
done
}
func_install_chadwm
cp -Rf ~/.config ~/.config-backup-$(date +%Y.%m.%d-%H.%M.%S)
cp -arf /etc/skel/. ~

View file

@ -0,0 +1,51 @@
#!/bin/bash
#set -e
##################################################################################################################
# Author : Erik Dubois
# Website : https://www.erikdubois.be
# Website : https://www.alci.online
# 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.
#
##################################################################################################################
#tput setaf 0 = black
#tput setaf 1 = red
#tput setaf 2 = green
#tput setaf 3 = yellow
#tput setaf 4 = dark blue
#tput setaf 5 = purple
#tput setaf 6 = cyan
#tput setaf 7 = gray
#tput setaf 8 = light blue
##################################################################################################################
#iso=alci-iso
echo
tput setaf 3
echo "################################################################"
echo "################### Start clone arcolinux-nemesis"
echo "################################################################"
tput sgr0
echo
sudo pacman -Sy git --noconfirm --needed
[ -d $HOME"/DATA" ] || mkdir -p $HOME"/DATA"
cd ~/DATA
git clone https://github.com/erikdubois/arcolinux-nemesis
echo
tput setaf 3
echo "################################################################"
echo "################### End clone arcolinux-nemesis"
echo "################################################################"
tput sgr0
echo

View file

@ -0,0 +1,239 @@
#!/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() {
[[ -n "$3" && -n "$2" && -n "$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() {
[[ -n "$1" && -n "$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() {
[[ -n "$3" && -n "$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 == 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 (( $# == 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