added arch install after arch install
parent
68356610de
commit
9ba7703dd1
|
@ -0,0 +1,17 @@
|
|||
had to remove some pkgs from base.list
|
||||
|
||||
only had to enable multilib in pacman.conf
|
||||
|
||||
was prompted to replace jack2 which caused base.list install to not work
|
||||
|
||||
removed grub update since using systemd boot
|
||||
|
||||
commented out runit setup
|
||||
|
||||
dont need to install: chronie, cronie?(systemd timers)
|
||||
|
||||
#Remember for next install
|
||||
*make sure to enter in the kernel image names correctly (especially if using zen kernel)
|
||||
*for systemd boot for PARTUUID get this from blkid
|
||||
*remember to generate locales (locale-gen)
|
||||
|
|
@ -0,0 +1,278 @@
|
|||
#!/bin/sh
|
||||
|
||||
GIT_REPOS_DIR="$HOME/.local/src/"
|
||||
|
||||
. ./programs.sh
|
||||
|
||||
#$1 -> repo name to enable
|
||||
#$2 -> mirror list file name in /etc/pacman.d/ (default: mirrorlist)
|
||||
#ex: enable_repo lib32
|
||||
#ex: enable_repo community mirrorlist-arch
|
||||
enable_repo() {
|
||||
REPO="$1"
|
||||
MIRRORLIST="mirrorlist"
|
||||
[ "$2" ] && MIRRORLIST="$2"
|
||||
|
||||
if [ $# -gt 0 ] && [ -z "$(grep "^\[$1" /etc/pacman.conf)" ]; then
|
||||
sudo sh -c "echo "[$REPO]" >> /etc/pacman.conf"
|
||||
sudo sh -c "echo "Include\ =\ /etc/pacman.d/$MIRRORLIST" >> /etc/pacman.conf"
|
||||
sudo sh -c "echo "" >> /etc/pacman.conf"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#TODO only needed to enable multilib for arch
|
||||
enable_repos() {
|
||||
#enable lib32
|
||||
#enable_repo lib32 mirrorlist
|
||||
|
||||
sudo pacman -Sy
|
||||
|
||||
#add arch linux repos
|
||||
#sudo pacman -S --noconfirm artix-archlinux-support lib32-artix-archlinux-support
|
||||
#sudo pacman-key --populate archlinux
|
||||
#sudo pacman -Sy
|
||||
|
||||
#enable artix universe repo
|
||||
#if [ -z "$(grep "universe" /etc/pacman.conf)" ]; then
|
||||
# sudo sh -c 'echo "[universe]" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "Server = https://universe.artixlinux.org/\$arch" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "Server = https://mirror1.artixlinux.org/universe/\$arch" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "Server = https://mirror.pascalpuffke.de/artix-universe/\$arch" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "Server = https://artixlinux.qontinuum.space:4443/universe/os/" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "Server = https://mirror1.cl.netactuate.com/artix/universe/\$arch" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "" >> /etc/pacman.conf'
|
||||
#fi
|
||||
|
||||
|
||||
#ENABLE ARCH REPOSITORIES HERE
|
||||
#enable arch community repo
|
||||
#enable_repo extra mirrorlist-arch
|
||||
#enable_repo community mirrorlist-arch
|
||||
#enable_repo multilib mirrorlist-arch
|
||||
|
||||
sudo pacman -Sy
|
||||
|
||||
sudo pacman -S git fakeroot
|
||||
|
||||
#install yay for aur support
|
||||
mkdir -p ~/.local/src/
|
||||
git clone https://aur.archlinux.org/yay.git ~/.local/src/yay/
|
||||
cd ~/.local/src/yay || return
|
||||
makepkg -si
|
||||
cd -
|
||||
|
||||
}
|
||||
|
||||
#runit_setup() {
|
||||
#
|
||||
# VIRTMGR=""
|
||||
# WIRELESS=""
|
||||
# for arg in "$@"
|
||||
# do
|
||||
# [ "$arg" = "--virt-manager" ] && VIRTMGR="true"
|
||||
# [ "$arg" = "--wireless" ] && WIRELESS="true"
|
||||
# done
|
||||
#
|
||||
# sudo ln -s /etc/runit/sv/ufw /run/runit/service/
|
||||
# sudo ln -s /etc/runit/sv/cronie /run/runit/service/
|
||||
# sudo ln -s /etc/runit/sv/chrony /run/runit/service/
|
||||
# sudo ln -s /etc/runit/sv/connmand /run/runit/service/
|
||||
# sudo ln -s /etc/runit/sv/socklog /run/runit/service/
|
||||
#
|
||||
# if [ "$VIRTMGR" ]; then
|
||||
# sudo ln -s /etc/runit/sv/libvirtd /run/runit/service
|
||||
# sudo ln -s /etc/runit/sv/virtlockd /run/runit/service
|
||||
# sudo ln -s /etc/runit/sv/virtlogd /run/runit/service
|
||||
# fi
|
||||
#
|
||||
# if [ "$WIRELESS" ]; then
|
||||
# sudo ln -s /etc/runit/sv/tlp /run/runit/service/
|
||||
# sudo ln -s /etc/runit/sv/bluetoothd /run/runit/service/
|
||||
# fi
|
||||
#}
|
||||
|
||||
systemd_setup() {
|
||||
sudo systemctl enable connman.service
|
||||
sudo systemctl enable ufw.service
|
||||
}
|
||||
|
||||
#TODO
|
||||
wireless() {
|
||||
sudo pacman -S --noconfirm wpa_supplicant bluez bluez-utils tlp
|
||||
sudo pacman -S --noconfirm wpa_supplicant-runit tlp-runit
|
||||
|
||||
#runit_setup --wireless
|
||||
|
||||
}
|
||||
|
||||
configure() {
|
||||
#setup home directories
|
||||
mkdir ~/docs/
|
||||
mkdir ~/dl/
|
||||
mkdir ~/media/
|
||||
mkdir -p ~/.local/share/gnupg/
|
||||
mkdir -p ~/.config/mpd/playlists
|
||||
mkdir -p ~/.local/share/desktop
|
||||
|
||||
#setup ufw
|
||||
sudo ufw default deny incoming
|
||||
sudo ufw default allow outgoing
|
||||
sudo ufw allow http
|
||||
sudo ufw allow https
|
||||
#sudo ufw allow ssh
|
||||
sudo ufw allow ntp
|
||||
sudo ufw allow 67:68/tcp
|
||||
sudo ufw allow 53
|
||||
|
||||
#allow torrent client traffic
|
||||
sudo ufw allow 56881:56889/tcp
|
||||
|
||||
#rules to allow steam
|
||||
sudo ufw allow 27000:27036/udp
|
||||
sudo ufw allow 27036:27037/tcp
|
||||
sudo ufw allow 4380/udp
|
||||
|
||||
sudo ufw enable
|
||||
|
||||
|
||||
|
||||
#install zsh shell
|
||||
chsh -s /bin/zsh "$USER"
|
||||
|
||||
#setup .zprofile and zsh history file
|
||||
cd ~ || return
|
||||
ln -s ~/.profile ~/.zprofile
|
||||
mkdir -p ~/.cache/zsh
|
||||
touch ~/.cache/zsh/history
|
||||
|
||||
|
||||
|
||||
#replace sudo with doas
|
||||
echo "installing doas, symlinking to sudo, and UNINSTALLING SUDO. sudo is uninstalled using doas so permissions should be setup right if you are able to uninstall. (y/N)"
|
||||
|
||||
read input
|
||||
if [ "$input" = "y" ]; then
|
||||
echo "permit persist $USER as root" >> ~/.cache/doas.conf
|
||||
sudo cp ~/.cache/doas.conf /etc/doas.conf
|
||||
rm ~/.cache/doas.conf
|
||||
doas pacman -R sudo && doas ln -s /bin/doas /bin/sudo #TODO ARCH SPECIFIC
|
||||
fi
|
||||
|
||||
|
||||
#set limits for esync
|
||||
sudo sh -c "echo '$USER hard nofile 524288' >> /etc/security/limits.conf"
|
||||
|
||||
#set limits for monero
|
||||
sudo sh -c "echo '$USER hard memlock 2048' >> /etc/security/limits.conf"
|
||||
sudo sh -c "echo '$USER hard memlock 2048' >> /etc/security/limits.conf"
|
||||
|
||||
sudo groupadd nogroup #needed to use slock
|
||||
|
||||
#fix issue with arduino ide and tiling wms
|
||||
sudo sh -c 'echo "export _JAVA_AWT_WM_NONREPARENTING=1" >> /etc/profile.d/jre.sh'
|
||||
|
||||
#set console terminal font
|
||||
sudo sh -c 'echo "FONT=Lat2-Terminus16" >> /etc/vconsole.conf'
|
||||
|
||||
#set grub theme
|
||||
sudo sed -i 's/#GRUB_COLOR_NORMAL/GRUB_COLOR_NORMAL/g' /etc/default/grub
|
||||
sudo sed -i 's/#GRUB_COLOR_HIGHLIGHT/GRUB_COLOR_HIGHLIGHT/g' /etc/default/grub
|
||||
|
||||
#download collapse OS
|
||||
mkdir -p "$HOME"/.local/src/
|
||||
cd "$HOME"/.local/src/
|
||||
wget http://collapseos.org/files/collapseos-latest.tar.gz
|
||||
cd -
|
||||
|
||||
#set wallpaper
|
||||
ln -s ~/media/img/wallpapers/alena-aenami-eclipse-1k.jpg ~/.config/wall
|
||||
|
||||
#link Xresources for xwayland
|
||||
ln -s ~/.config/Xresources ~/.Xdefaults
|
||||
|
||||
#set /tmp to tmpfs
|
||||
if [ -z "$(grep "/tmp" /etc/fstab)" ]; then
|
||||
sudo sh -c 'echo "tmpfs /tmp tmpfs rw,nodev,nosuid,size=2G 0 0" >> /etc/fstab'
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
base() {
|
||||
|
||||
#enable repos (lib32, community, and universe) and install yay
|
||||
enable_repos
|
||||
|
||||
#install all packages in $PKGS
|
||||
sudo pacman --noconfirm --needed -S - < ./pkgs/base.list
|
||||
|
||||
#installl all packages in $AUR_PKGS
|
||||
yay --noconfirm --needed -S - < ./pkgs/aur.list
|
||||
|
||||
#setup local git repos defined in $GIT_REPOS to $GIT_REPOS_DIR
|
||||
sh ~/.local/scripts/install.sh add-repos ./pkgs/repos.list
|
||||
|
||||
#link rofi themes directory so that theming works
|
||||
mkdir -p "$HOME"/.local/share/rofi/
|
||||
ln -s "$HOME"/.local/src/base16-rofi/themes/ "$HOME"/.local/share/rofi/themes
|
||||
|
||||
#runit configuration
|
||||
#runit_setup
|
||||
|
||||
#configure programs, directories, change shell, etc
|
||||
configure
|
||||
|
||||
|
||||
|
||||
#install microcode for CPU
|
||||
#echo "enter CPU type to install microcode for (amd intel)"
|
||||
#read input
|
||||
#if [ "$input" = "amd" ]; then
|
||||
# sudo pacman -S amd-ucode
|
||||
#elif [ "$input" = "intel" ]; then
|
||||
# sudo pacman -S intel-ucode
|
||||
#fi
|
||||
|
||||
#rebuild kernel after install for microcode
|
||||
sudo mkinitcpio -P #rebuild kernel
|
||||
#sudo grub-mkconfig -o /boot/grub/grub.cfg #update grub
|
||||
|
||||
echo "installation finished"
|
||||
|
||||
}
|
||||
|
||||
help() {
|
||||
echo " artix-install.sh"
|
||||
echo " --base perform basic install. Enable repos, install programs"
|
||||
echo " --gaming install steam and lutris. Use flags --amd, --nvidia, --intel to install"
|
||||
echo " with corresponding graphics drivers. Otherwise you will be prompted"
|
||||
echo " --virt-manager install virt-manager"
|
||||
echo " --wireless install/setup programs for wifi/bluetooth"
|
||||
echo " --ungoogled-chromium install ungoogled-chromium. also installs chrome-web-store and ublock origin"
|
||||
}
|
||||
|
||||
BASE=""
|
||||
GAMING=""
|
||||
WIRELESS=""
|
||||
UNGOOGLED_CHROMIUM=""
|
||||
VIRT_MANAGER=""
|
||||
|
||||
for arg in "$@"
|
||||
do
|
||||
[ "$arg" = "--base" ] && BASE="true"
|
||||
[ "$arg" = "--gaming" ] && GAMING="true"
|
||||
[ "$arg" = "--virt-manager" ] && VIRTMGR="true"
|
||||
[ "$arg" = "--wireless" ] && WIRELESS="true"
|
||||
[ "$arg" = "--ungoogled-chromium" ] && UNGOOGLED_CHROMIUM="true"
|
||||
[ "$arg" = "--help" ] && help && exit
|
||||
|
||||
done
|
||||
|
||||
[ "$#" = "0" ] && help && exit
|
||||
|
||||
[ "$BASE" ] && base
|
||||
[ "$GAMING" ] && gaming "$@"
|
||||
[ "$WIRELESS" ] && wireless
|
||||
[ "$UNGOOGLED_CHROMIUM" ] && ungoogled_chromium "$@"
|
||||
[ "$VIRT_MANAGER" ] && virt_manager
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
lf
|
||||
mutt-wizard
|
||||
htim
|
||||
jmtpfs
|
||||
tremc-git
|
||||
dashbinsh
|
||||
pfetch
|
||||
sysrq-enabler
|
||||
wlr-randr
|
||||
sfeed
|
||||
kjv-apocrypha
|
||||
yt-watch
|
||||
yt-dlp-drop-in
|
||||
udiskie
|
||||
waylogout-git
|
||||
ani-cli-git
|
||||
rofi-lbonn-wayland-git
|
|
@ -0,0 +1,79 @@
|
|||
pipewire
|
||||
pipewire-alsa
|
||||
pipewire-pulse
|
||||
pipewire-jack
|
||||
gst-plugin-pipewire
|
||||
wireplumber
|
||||
wireplumber-docs
|
||||
alsa-utils
|
||||
pacman-contrib
|
||||
man-db
|
||||
freetype2
|
||||
gst-libav
|
||||
xdg-utils
|
||||
xdg-user-dirs
|
||||
fuse
|
||||
python-urwid
|
||||
btrfs-progs
|
||||
reiserfsprogs
|
||||
chrony
|
||||
ufw
|
||||
wget
|
||||
curl
|
||||
zip
|
||||
unzip
|
||||
p7zip
|
||||
dash
|
||||
mesa
|
||||
rsync
|
||||
cronie
|
||||
connman
|
||||
fakeroot
|
||||
python-pip
|
||||
udisks2
|
||||
pavucontrol
|
||||
yt-dlp
|
||||
transmission-cli
|
||||
neovim
|
||||
mpd
|
||||
mpv
|
||||
opendoas
|
||||
zsh
|
||||
clang
|
||||
lynx
|
||||
shellcheck
|
||||
noto-fonts
|
||||
noto-fonts-emoji
|
||||
noto-fonts-cjk
|
||||
lxappearance
|
||||
qt5ct
|
||||
imagemagick
|
||||
ffmpegthumbnailer
|
||||
python-pywal
|
||||
pulsemixer
|
||||
pamixer
|
||||
papirus-icon-theme
|
||||
python-pdftotext
|
||||
viu
|
||||
bat
|
||||
imv
|
||||
ncmpcpp
|
||||
zathura
|
||||
zathura-cb
|
||||
zathura-djvu
|
||||
zathura-pdf-mupdf
|
||||
sway
|
||||
swaybg
|
||||
swayidle
|
||||
swaylock
|
||||
waybar
|
||||
mako
|
||||
wl-clipboard
|
||||
grim
|
||||
slurp
|
||||
xorg-xwayland
|
||||
alacritty
|
||||
gammastep
|
||||
openssh
|
||||
aria2
|
||||
libva-mesa-driver
|
|
@ -0,0 +1,3 @@
|
|||
https://github.com/aarowill/base16-alacritty.git
|
||||
https://github.com/rkubosz/base16-sway.git
|
||||
https://gitlab.com/jordiorlando/base16-rofi.git
|
|
@ -0,0 +1,100 @@
|
|||
#!/bin/sh
|
||||
##############################################################################
|
||||
# This script provides functions to install/configure certain programs
|
||||
# that are more complicated ( more than just pacman -S program ) to install/setup.
|
||||
#
|
||||
# These programs assume that yay, lib32, and arch's community repo has been enabled.
|
||||
# If you get an error during installation try running ./artix-install.sh --base
|
||||
##############################################################################
|
||||
|
||||
repo_check() {
|
||||
if [ -z "$(grep "^\[multilib" /etc/pacman.conf)" ] ||
|
||||
[ -z "$(grep "^\[community" /etc/pacman.conf)" ] ||
|
||||
[ ! -f "/usr/bin/yay" ]; then
|
||||
echo "either yay, or the lib32 or community repos have not been setup correctly. Exiting"
|
||||
exit
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
ungoogled_chromium() {
|
||||
repo_check
|
||||
|
||||
CMD=" --noconfirm -S "
|
||||
|
||||
[ "$1" = "-R" ] && CMD=" -Rs "
|
||||
|
||||
sudo pacman "$CMD" ffmpeg4.4
|
||||
sudo pacman "$CMD" ungoogled-chromium
|
||||
sudo pacman "$CMD" ublock-origin
|
||||
|
||||
yay "$CMD" aur/chromium-extension-web-store
|
||||
yay "$CMD" aur/chromium-widevine
|
||||
}
|
||||
|
||||
virt_manager() {
|
||||
repo_check
|
||||
|
||||
echo "install virt-manager?(y/N)"
|
||||
read -r input
|
||||
if [ "$input" = "y" ] || [ "$input" = "Y" ]; then
|
||||
sudo pacman -S --noconfirm sudo pacman -S libvirt qemu virt-manager lxsession
|
||||
sudo pacman -S --noconfirm gst-plugins-good libvirt-runit
|
||||
|
||||
#TODO move this to runit_setup
|
||||
sudo usermod -G libvirt -a "$USER"
|
||||
fi
|
||||
|
||||
runit_setup --virt-manager
|
||||
}
|
||||
|
||||
gaming() {
|
||||
repo_check
|
||||
|
||||
CMD=" -S --noconfirm "
|
||||
|
||||
for arg in "$@"
|
||||
do
|
||||
if [ "$arg" = "--nvidia" ]; then
|
||||
NVIDIA_GPU="TRUE"
|
||||
elif [ "$arg" = "--amd" ]; then
|
||||
AMD_GPU="TRUE"
|
||||
elif [ "$arg" = "--intel" ]; then
|
||||
INTEL_GPU="TRUE"
|
||||
elif [ "$arg" = "-R" ]; then
|
||||
CMD=" -Rs "
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z "$NVIDIA_GPU" ] && [ -z "$AMD_GPU" ] && [ -z "$INTEL_GPU" ]; then
|
||||
echo "Enter GPU type (amd nvidia intel):"
|
||||
read input
|
||||
|
||||
[ "$input" = "amd" ] && AMD_GPU="TRUE"
|
||||
[ "$input" = "nvidia" ] && NVIDIA_GPU="TRUE"
|
||||
[ "$input" = "intel" ] && INTEL_GPU="TRUE"
|
||||
fi
|
||||
|
||||
echo "Installing with:"
|
||||
[ "$AMD_GPU" = "TRUE" ] && echo "AMD GPU"
|
||||
[ "$NVIDIA_GPU" = "TRUE" ] && echo "NVIDIA GPU"
|
||||
[ "$INTEL_GPU" = "TRUE" ] && echo "INTEL GPU"
|
||||
echo "press enter to continue."
|
||||
read input
|
||||
|
||||
|
||||
[ -z "$(grep "^\[lib32" /etc/pacman.conf)" ] && [ -z "$NVIDIA_GPU" ] && [ -z "$AMD_GPU" ] && [ -z "$INTEL_GPU" ] && help && exit
|
||||
|
||||
[ "$NVIDIA_GPU" = "TRUE" ] && sudo pacman $CMD nvidia-utils lib32-nvidia-utils
|
||||
[ "$AMD_GPU" = "TRUE" ] && sudo pacman $CMD vulkan-radeon lib32-vulkan-radeon
|
||||
[ "$INTEL_GPU" = "TRUE" ] && sudo pacman $CMD vulkan-intel lib32-vulkan-intel
|
||||
|
||||
sudo pacman $CMD vulkan-mesa-layers lib32-vulkan-mesa-layers
|
||||
|
||||
sudo pacman $CMD wine winetricks #wine-staging
|
||||
sudo pacman $CMD giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader cups samba dosbox
|
||||
|
||||
sudo pacman $CMD gamemode lib32-gamemode
|
||||
sudo pacman $CMD lutris steam
|
||||
}
|
||||
|
Loading…
Reference in New Issue