|
@@ -55,6 +55,9 @@ curl -O https://download.sublimetext.com/sublimehq-pub.gpg && pacman-key --add s
|
|
# Core tools
|
|
# Core tools
|
|
export PACKAGES="linux linux-headers linux-firmware base-devel mkinitcpio sudo bash-completion man-db tmux gvim dkms dmidecode at bc cronie lm_sensors lshw stress"
|
|
export PACKAGES="linux linux-headers linux-firmware base-devel mkinitcpio sudo bash-completion man-db tmux gvim dkms dmidecode at bc cronie lm_sensors lshw stress"
|
|
|
|
|
|
|
|
+# install core packages so dependencies exist
|
|
|
|
+pacman -Syu --noconfirm $PACKAGES
|
|
|
|
+
|
|
# Conditional CPU unicode
|
|
# Conditional CPU unicode
|
|
[ $(grep -c "Intel" /proc/cpuinfo) -gt 0 ] && PACKAGES="${PACKAGES} intel-ucode"
|
|
[ $(grep -c "Intel" /proc/cpuinfo) -gt 0 ] && PACKAGES="${PACKAGES} intel-ucode"
|
|
[ $(grep -c "AMD" /proc/cpuinfo) -gt 0 ] && PACKAGES="${PACKAGES} amd-ucode"
|
|
[ $(grep -c "AMD" /proc/cpuinfo) -gt 0 ] && PACKAGES="${PACKAGES} amd-ucode"
|
|
@@ -78,7 +81,7 @@ PACKAGES="${PACKAGES} pkgfile pkgconf bison gcc gcc-libs cmake ccache ncurses xm
|
|
PACKAGES="${PACKAGES} mesa lib32-mesa dbus polkit giflib lib32-giflib mpg123 lib32-mpg123 v4l-utils lib32-v4l-utils lame libwebp libid3tag libvorbis vorbis-tools faac x264 x265 libpng12 lib32-libpng12 pulseaudio libpulse lib32-libpulse openal lib32-openal opencl-icd-loader lib32-opencl-icd-loader libva lib32-libva libva-utils gst-plugins-base-libs lib32-gst-plugins-base-libs graphicsmagick imagemagick joyutils evtest libexif ffmpeg lxsession-gtk3 yt-dlp wine-staging winetricks fcitx5 fcitx5-mozc fcitx5-configtool fcitx5-gtk fcitx5-qt"
|
|
PACKAGES="${PACKAGES} mesa lib32-mesa dbus polkit giflib lib32-giflib mpg123 lib32-mpg123 v4l-utils lib32-v4l-utils lame libwebp libid3tag libvorbis vorbis-tools faac x264 x265 libpng12 lib32-libpng12 pulseaudio libpulse lib32-libpulse openal lib32-openal opencl-icd-loader lib32-opencl-icd-loader libva lib32-libva libva-utils gst-plugins-base-libs lib32-gst-plugins-base-libs graphicsmagick imagemagick joyutils evtest libexif ffmpeg lxsession-gtk3 yt-dlp wine-staging winetricks fcitx5 fcitx5-mozc fcitx5-configtool fcitx5-gtk fcitx5-qt"
|
|
|
|
|
|
# GUI theme
|
|
# GUI theme
|
|
-PACKAGES="${PACKAGES} gnome-themes-extra gnome-icon-theme arc-gtk-theme gtk-engines gtk-engine-murrine"
|
|
|
|
|
|
+PACKAGES="${PACKAGES} gnome-themes-extra hicolor-icon-theme arc-gtk-theme gtk-engines gtk-engine-murrine"
|
|
|
|
|
|
# GUI dependencies
|
|
# GUI dependencies
|
|
PACKAGES="${PACKAGES} gtk3 lib32-gtk3 pavucontrol pcmanfm-gtk3 ffmpegthumbnailer tumbler xdg-utils xdg-user-dirs"
|
|
PACKAGES="${PACKAGES} gtk3 lib32-gtk3 pavucontrol pcmanfm-gtk3 ffmpegthumbnailer tumbler xdg-utils xdg-user-dirs"
|
|
@@ -87,29 +90,29 @@ PACKAGES="${PACKAGES} gtk3 lib32-gtk3 pavucontrol pcmanfm-gtk3 ffmpegthumbnailer
|
|
PACKAGES="${PACKAGES} libva-mesa-driver lib32-libva-mesa-driver lib32-mesa-vdpau vulkan-tools vulkan-icd-loader lib32-vulkan-icd-loader"
|
|
PACKAGES="${PACKAGES} libva-mesa-driver lib32-libva-mesa-driver lib32-mesa-vdpau vulkan-tools vulkan-icd-loader lib32-vulkan-icd-loader"
|
|
|
|
|
|
# Sway dependencies
|
|
# Sway dependencies
|
|
-PACKAGES="${PACKAGES} sway alacritty wofi waybar xorg-xwayland xorg-xlsclients qt5-wayland glfw-wayland grim slurp xdg-desktop-portal-wlr libpipewire02 wl-clipboard brightnessctl playerctl mako libappindicator-gtk3 lib32-libappindicator-gtk3"
|
|
|
|
|
|
+PACKAGES="${PACKAGES} sway swaybg alacritty wofi waybar xorg-xwayland xorg-xlsclients qt5-wayland glfw-x11 grim slurp xdg-desktop-portal-wlr libpipewire02 wl-clipboard brightnessctl playerctl mako libappindicator-gtk3 lib32-libappindicator-gtk3"
|
|
|
|
|
|
# fonts
|
|
# fonts
|
|
PACKAGES="${PACKAGES} fontconfig ttf-bitstream-vera ttf-droid ttf-dejavu ttf-liberation ttf-hanazono ttf-font-awesome"
|
|
PACKAGES="${PACKAGES} fontconfig ttf-bitstream-vera ttf-droid ttf-dejavu ttf-liberation ttf-hanazono ttf-font-awesome"
|
|
|
|
|
|
# GUI software
|
|
# GUI software
|
|
-PACKAGES="${PACKAGES} xarchiver gparted psensor hardinfo steam steam-native-runtime gamemode lib32-gamemode discord mpv mpv-mpris openshot gimp krita firefox obs-studio dia mednafen mame ppsspp lutris sublime-text evince viewnior virt-manager virtualbox virtualbox-host-modules-arch"
|
|
|
|
|
|
+PACKAGES="${PACKAGES} xarchiver gparted psensor steam steam-native-runtime gamemode lib32-gamemode discord mpv mpv-mpris openshot gimp krita firefox obs-studio mednafen mame ppsspp lutris sublime-text evince viewnior virt-manager virtualbox virtualbox-host-modules-arch corectrl"
|
|
|
|
|
|
# conditional GPU packages
|
|
# conditional GPU packages
|
|
if [ $(lspci | grep -i "vga" | grep -ci "amd") -gt 0 ]; then
|
|
if [ $(lspci | grep -i "vga" | grep -ci "amd") -gt 0 ]; then
|
|
- PACKAGES="$PACKAGES xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon mesa-vdpau"
|
|
|
|
|
|
+ PACKAGES="${PACKAGES} xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon mesa-vdpau"
|
|
|
|
|
|
# update modules to load
|
|
# update modules to load
|
|
[ $(grep -c "amd" /etc/mkinitcpio.conf) -eq 0 ] && sed -i 's/MODULES=(\(.*\))/MODULES=(\1 amdgpu radeon)/' /etc/mkinitcpio.conf
|
|
[ $(grep -c "amd" /etc/mkinitcpio.conf) -eq 0 ] && sed -i 's/MODULES=(\(.*\))/MODULES=(\1 amdgpu radeon)/' /etc/mkinitcpio.conf
|
|
fi
|
|
fi
|
|
if [ $(lspci | grep -i "vga" | grep -ci "intel") -gt 0 ]; then
|
|
if [ $(lspci | grep -i "vga" | grep -ci "intel") -gt 0 ]; then
|
|
- PACKAGES="$PACKAGES xf86-video-intel vulkan-intel lib32-vulkan-intel mesa-vdpau"
|
|
|
|
|
|
+ PACKAGES="${PACKAGES} xf86-video-intel vulkan-intel lib32-vulkan-intel mesa-vdpau"
|
|
|
|
|
|
# update modules to load
|
|
# update modules to load
|
|
[ $(grep -c "amd" /etc/mkinitcpio.conf) -eq 0 ] && sed -i 's/MODULES=(\(.*\))/MODULES=(\1 i915)/' /etc/mkinitcpio.conf
|
|
[ $(grep -c "amd" /etc/mkinitcpio.conf) -eq 0 ] && sed -i 's/MODULES=(\(.*\))/MODULES=(\1 i915)/' /etc/mkinitcpio.conf
|
|
fi
|
|
fi
|
|
if [ $(lspci | grep -i "vga" | grep -ci "nvidia") -gt 0 ]; then
|
|
if [ $(lspci | grep -i "vga" | grep -ci "nvidia") -gt 0 ]; then
|
|
- PACKAGES="$PACKAGES nvidia-dkms libglvnd lib32-libglvnd opencl-nvidia lib32-opencl-nvidia xf86-video-nouveau nvidia-utils lib32-nvidia-utils mesa-vdpau nvidia-settings"
|
|
|
|
|
|
+ PACKAGES="${PACKAGES} nvidia-dkms libglvnd lib32-libglvnd opencl-nvidia lib32-opencl-nvidia xf86-video-nouveau nvidia-utils lib32-nvidia-utils mesa-vdpau nvidia-settings"
|
|
|
|
|
|
# update modules to load
|
|
# update modules to load
|
|
[ $(grep -c "nvidia" /etc/mkinitcpio.conf) -eq 0 ] && sed -i 's/MODULES=(\(.*\))/MODULES=(\1 nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
|
|
[ $(grep -c "nvidia" /etc/mkinitcpio.conf) -eq 0 ] && sed -i 's/MODULES=(\(.*\))/MODULES=(\1 nvidia nvidia_modeset nvidia_uvm nvidia_drm)/' /etc/mkinitcpio.conf
|
|
@@ -125,7 +128,7 @@ pacman -Syu --noconfirm $PACKAGES
|
|
[ -d /srv/arch-desktop/install ] || git clone https://git.caseydelorme.com/cdelorme/arch-desktop /srv/arch-desktop
|
|
[ -d /srv/arch-desktop/install ] || git clone https://git.caseydelorme.com/cdelorme/arch-desktop /srv/arch-desktop
|
|
rsync -Pav /srv/arch-desktop/install/ /
|
|
rsync -Pav /srv/arch-desktop/install/ /
|
|
mkdir -p /etc/skel/.config/pulse
|
|
mkdir -p /etc/skel/.config/pulse
|
|
-mkdir -p /etc/skel/{desktop,downloads,public,public/templates,documents,music,pictures,videos,git}
|
|
|
|
|
|
+mkdir -p /etc/skel/{desktop,downloads,public,public/templates,documents,music,pictures,videos,code}
|
|
sed "/module-suspend-on-idle/d" /etc/pulse/default.pa > /etc/skel/.config/pulse/default.pa
|
|
sed "/module-suspend-on-idle/d" /etc/pulse/default.pa > /etc/skel/.config/pulse/default.pa
|
|
# @note: we may want to avoid disabling this on laptops
|
|
# @note: we may want to avoid disabling this on laptops
|
|
sed -i "/module-switch-on-port-available/d" /etc/skel/.config/pulse/default.pa
|
|
sed -i "/module-switch-on-port-available/d" /etc/skel/.config/pulse/default.pa
|
|
@@ -152,12 +155,8 @@ sudo -u $aur_username git clone https://aur.archlinux.org/xcursor-chameleon-skyb
|
|
sudo -u $aur_username git clone https://aur.archlinux.org/numix-icon-theme-git.git /home/${aur_username}/numix-icon-theme-git
|
|
sudo -u $aur_username git clone https://aur.archlinux.org/numix-icon-theme-git.git /home/${aur_username}/numix-icon-theme-git
|
|
(cd /home/${aur_username}/numix-icon-theme-git && sudo -u ${aur_username} makepkg -rcsi --noconfirm)
|
|
(cd /home/${aur_username}/numix-icon-theme-git && sudo -u ${aur_username} makepkg -rcsi --noconfirm)
|
|
|
|
|
|
-# xpadneo
|
|
|
|
-
|
|
|
|
# cmst (for connman UI)
|
|
# cmst (for connman UI)
|
|
|
|
|
|
-# corectrl
|
|
|
|
-
|
|
|
|
# wev
|
|
# wev
|
|
|
|
|
|
# cleanup aur user
|
|
# cleanup aur user
|
|
@@ -231,9 +230,10 @@ if [[ -n "$username" && -n "$password" ]]; then
|
|
# generate default (passwordless) ed25519 ssh key if none exists
|
|
# generate default (passwordless) ed25519 ssh key if none exists
|
|
su $username -c "cd; if [ ! -f ~/.ssh/id_ed25519 ]; then ssh-keygen -q -t ed25519 -N '' -f ~/.ssh/id_ed25519 && cd && chmod 600 ~/.ssh/id_ed25519 && chmod 600 ~/.ssh/id_ed25519.pub; fi"
|
|
su $username -c "cd; if [ ! -f ~/.ssh/id_ed25519 ]; then ssh-keygen -q -t ed25519 -N '' -f ~/.ssh/id_ed25519 && cd && chmod 600 ~/.ssh/id_ed25519 && chmod 600 ~/.ssh/id_ed25519.pub; fi"
|
|
|
|
|
|
- # install gvm loading from ~/.bash_profile, and the latest go version
|
|
|
|
|
|
+ # install gvm loading from ~/.bashrc & ~/.bash_profile, and the latest go version
|
|
su $username -c "if [ ! -d ~/.gvm ]; then GVM_NO_UPDATE_PROFILE=1 bash < <(curl -Ls https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer 2> /dev/null); fi"
|
|
su $username -c "if [ ! -d ~/.gvm ]; then GVM_NO_UPDATE_PROFILE=1 bash < <(curl -Ls https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer 2> /dev/null); fi"
|
|
- su $username -c 'grep "gvm" ~/.bash_profile &> /dev/null || echo -e "\n# load gvm\n[ -s ~/.gvm/scripts/gvm ] && . $HOME/.gvm/scripts/gvm" >> ~/.bash_profile'
|
|
|
|
|
|
+ su $username -c 'grep "gvm" ~/.bash_profile &> /dev/null || echo -e "\n# load gvm\n[ -s $HOME/.gvm/scripts/gvm ] && . $HOME/.gvm/scripts/gvm" >> ~/.bash_profile'
|
|
|
|
+ su $username -c 'grep "gvm" ~/.bashrc &> /dev/null || echo -e "\n# load gvm\n[ -s $HOME/.gvm/scripts/gvm ] && . $HOME/.gvm/scripts/gvm" >> ~/.bashrc'
|
|
su $username -c ". ~/.gvm/scripts/gvm && gvm install go1.17.6 -B && gvm use go1.17.6 --default"
|
|
su $username -c ". ~/.gvm/scripts/gvm && gvm install go1.17.6 -B && gvm use go1.17.6 --default"
|
|
|
|
|
|
# configure user-space transmission
|
|
# configure user-space transmission
|