Update the main Script
This commit is contained in:
parent
41c41becc2
commit
f3d51d2271
72
README.org
72
README.org
|
|
@ -26,7 +26,10 @@ CBSH, or Cabooshy's Shell, is a Post installation Script for Arch Linux, and Arc
|
||||||
- [[#installing-the-packages-from-the-repos][Installing the packages from the repos]]
|
- [[#installing-the-packages-from-the-repos][Installing the packages from the repos]]
|
||||||
- [[#choosing-graphics-drivers][Choosing Graphics Drivers]]
|
- [[#choosing-graphics-drivers][Choosing Graphics Drivers]]
|
||||||
- [[#copying-over-the-configs-from-etccbsh-to-home][Copying over the configs from /etc/cbsh to $HOME]]
|
- [[#copying-over-the-configs-from-etccbsh-to-home][Copying over the configs from /etc/cbsh to $HOME]]
|
||||||
- [[#installing-doom-emacs][Installing DOOM Emacs!]]
|
- [[#emacs][Emacs]]
|
||||||
|
- [[#install-chemacs2][Install Chemacs2]]
|
||||||
|
- [[#install-cbshmacs][Install CBSHMacs]]
|
||||||
|
- [[#install-doom-emacs][Install DOOM Emacs]]
|
||||||
- [[#the-fun-part-setting-the-default-user-shell][The Fun part, Setting the default USER shell!]]
|
- [[#the-fun-part-setting-the-default-user-shell][The Fun part, Setting the default USER shell!]]
|
||||||
- [[#make-sure-sddm-is-enabled-so-we-dont-boot-into-a-tty-and-networkmanager-is-too-so-the-applet-works][Make Sure SDDM is enabled so we don't boot into a TTY, and NetworkManager is too so the applet works.]]
|
- [[#make-sure-sddm-is-enabled-so-we-dont-boot-into-a-tty-and-networkmanager-is-too-so-the-applet-works][Make Sure SDDM is enabled so we don't boot into a TTY, and NetworkManager is too so the applet works.]]
|
||||||
- [[#installation-complete][Installation Complete!]]
|
- [[#installation-complete][Installation Complete!]]
|
||||||
|
|
@ -58,7 +61,7 @@ cd cbsh
|
||||||
|
|
||||||
** Potential Bugs
|
** Potential Bugs
|
||||||
*** Slow Download Times
|
*** Slow Download Times
|
||||||
These Scripts can take a LONG time to complete as there are around 200 packages. On Arch, make sure you are using ParallelDownloads in /etc/pacman.conf for faster download times, for example changing ParallelDownloads so that it downloads up to five packages at a time:
|
These Scripts can take a LONG time to complete as there are around 300+ packages. Make sure you are using ParallelDownloads in /etc/pacman.conf for faster download times, for example changing ParallelDownloads so that it downloads up to five packages at a time:
|
||||||
#+begin_example
|
#+begin_example
|
||||||
ParallelDownloads = 5
|
ParallelDownloads = 5
|
||||||
#+end_example
|
#+end_example
|
||||||
|
|
@ -70,6 +73,10 @@ killall emacs
|
||||||
/usr/bin/emacs --daemon &
|
/usr/bin/emacs --daemon &
|
||||||
#+end_example
|
#+end_example
|
||||||
|
|
||||||
|
*** Issues that may cause the script to fail
|
||||||
|
- lib32-* not found: simple fix this one, before running the script, make sure you have the multilib repo enabled, as the script does install a couple packages from there, another benefit is being able to install Steam, should you wish, as for some reason Steam is still a 32-bit application.
|
||||||
|
|
||||||
|
- Package Conflicts: some distros package their own versions of some programs and can cause the script to fail, so far i have not found any conflicts but when i do i will add a list of them here.
|
||||||
|
|
||||||
* Updating CBSH
|
* Updating CBSH
|
||||||
CBSH is updated via your package manager.
|
CBSH is updated via your package manager.
|
||||||
|
|
@ -218,7 +225,7 @@ All packages listed are either in the standard Arch Repos, Repos provided by the
|
||||||
sudo pacman --needed --ask 4 -Syu - < pkglist.txt
|
sudo pacman --needed --ask 4 -Syu - < pkglist.txt
|
||||||
|
|
||||||
# Now that pikaur is installed, we can sync the AUR and install some needed packages (Nerd Fonts) from there.
|
# Now that pikaur is installed, we can sync the AUR and install some needed packages (Nerd Fonts) from there.
|
||||||
pikaur -Syu nerd-fonts-source-code-pro nerd-fonts-fira-code librewolf-bin
|
pikaur -Syu librewolf-bin
|
||||||
#+end_src
|
#+end_src
|
||||||
~NOTE:~ On Arco, SourceCodePro and Librewolf are in their repos, and will be installed from there instead of the AUR.
|
~NOTE:~ On Arco, SourceCodePro and Librewolf are in their repos, and will be installed from there instead of the AUR.
|
||||||
|
|
||||||
|
|
@ -226,8 +233,8 @@ pikaur -Syu nerd-fonts-source-code-pro nerd-fonts-fira-code librewolf-bin
|
||||||
By Default, the script normally installed the Nvidia Drivers, due to me using a Nvidia GPU, but recently i've realised it would be a much better idea to allow the user to install the relevant drivers based on what they use (Intel HD/Iris/Xe Graphics, AMD Graphics, Nvidia Graphics) instead of just installing the Nvidia Drivers if they don't use a Nvidia card.
|
By Default, the script normally installed the Nvidia Drivers, due to me using a Nvidia GPU, but recently i've realised it would be a much better idea to allow the user to install the relevant drivers based on what they use (Intel HD/Iris/Xe Graphics, AMD Graphics, Nvidia Graphics) instead of just installing the Nvidia Drivers if they don't use a Nvidia card.
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
PS3='Set Graphics Drivers:'
|
PS3='Set Graphics Drivers:'
|
||||||
shells=("intel" "nvidia-open", "nivdia" "amd" "quit")
|
gpu=("intel" "nvidia-open", "nivdia" "amd" "quit")
|
||||||
select choice in "${shells[@]}"; do
|
select choice in "${gpu[@]}"; do
|
||||||
case $choice in
|
case $choice in
|
||||||
intel)
|
intel)
|
||||||
sudo pacman -S xf86-video-intel vulkan-intel intel-media-driver && \
|
sudo pacman -S xf86-video-intel vulkan-intel intel-media-driver && \
|
||||||
|
|
@ -299,16 +306,57 @@ sudo sed "8cSKEL=/etc/cbsh" useradd
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
* Installing DOOM Emacs!
|
* Emacs
|
||||||
|
I am currently in the process of making an Emacs configuration from scratch for CBSH,
|
||||||
|
we keep the DOOM setup so you still have a well known config to use should you not want to,
|
||||||
|
you can use either setup as i am using chemacs2 to manage them.
|
||||||
|
|
||||||
|
** Install Chemacs2
|
||||||
|
First, Lets install Chemacs2 as our main emacs "configuration", its actually a shim of sorts that allows you to use more than one emacs configuration,
|
||||||
|
in our case it allows both CBSHMacs (the Vanilla Emacs Config) and DOOM Emacs to run alongside each other.
|
||||||
|
#+begin_src bash
|
||||||
|
echo "###########################"
|
||||||
|
echo "## Setting Up Chemacs2.. ##"
|
||||||
|
echo "###########################"
|
||||||
|
|
||||||
|
# Backup any Emacs configuration you may have already
|
||||||
|
[ -d ~/.emacs.d ] && mv ~/.emacs.d ~/.emacs.d.bak.$(date +"%Y%m%d_%H%M%S")
|
||||||
|
[ -f ~/.emacs ] && mv ~/.emacs ~/.emacs.bak.$(date +"%Y%m%d_%H%M%S")
|
||||||
|
|
||||||
|
# then we clone Chemacs2
|
||||||
|
git clone https://github.com/plexus/chemacs2.git ~/.emacs.d
|
||||||
|
|
||||||
|
# then finally copy our emacs profiles over
|
||||||
|
cp /etc/cbsh/chemacs2/* ~/
|
||||||
|
|
||||||
|
echo "####################"
|
||||||
|
echo "## Chemacs2 Done! ##"
|
||||||
|
echo "####################"
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Install CBSHMacs
|
||||||
|
CBSHMacs is my Vanilla Emacs configuration being built from scratch with CBSH in mind, allowing me more control and flexibility to properly intergrate Emacs into CBSH.
|
||||||
|
One thing to note, CBSHMacs doesn't have a install command like DOOM, i'm looking into doing something like this in the future but for now,
|
||||||
|
Packages get installed on first load with CBSHMacs, CBSHMacs is a lot leaner than DOOM currently so shouldn't take too long for use-package to install everything.
|
||||||
|
#+begin_src bash
|
||||||
|
echo "#########################"
|
||||||
|
echo "## Installing CBSHMacs ##"
|
||||||
|
echo "#########################"
|
||||||
|
|
||||||
|
git clone https://gitlab.com/cbsh/cbsh-macs.git ~/.config/cbsh-macs
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** Install DOOM Emacs
|
||||||
|
Now we install DOOM Emacs, this part will for sure take the longest, DOOM is pretty full featured and has a lot of packages it needs to download from ELPA/MELPA and then set itself up.
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
echo "#########################################################"
|
echo "#########################################################"
|
||||||
echo "## Installing Doom Emacs. This may take a few minutes. ##"
|
echo "## Installing Doom Emacs. This may take a few minutes. ##"
|
||||||
echo "#########################################################"
|
echo "#########################################################"
|
||||||
[ -d ~/.emacs.d ] && mv ~/.emacs.d ~/.emacs.d.bak.$(date +"%Y%m%d_%H%M%S")
|
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.config/doomemacs
|
||||||
[ -f ~/.emacs ] && mv ~/.emacs ~/.emacs.bak.$(date +"%Y%m%d_%H%M%S")
|
~/.config/doomemacs/bin/doom install
|
||||||
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
|
~/.config/doomemacs/bin/doom sync
|
||||||
~/.emacs.d/bin/doom install
|
|
||||||
~/.emacs.d/bin/doom sync
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -343,8 +391,6 @@ echo "######################################################"
|
||||||
echo "## Disable previous login manager, if there is one. ##"
|
echo "## Disable previous login manager, if there is one. ##"
|
||||||
echo "######################################################"
|
echo "######################################################"
|
||||||
sudo systemctl disable $(grep '/usr/s\?bin' /etc/systemd/system/display-manager.service | awk -F / '{print $NF}') || echo "Cannot Disable current Display Manager, or a Display Manager isn't already installed."
|
sudo systemctl disable $(grep '/usr/s\?bin' /etc/systemd/system/display-manager.service | awk -F / '{print $NF}') || echo "Cannot Disable current Display Manager, or a Display Manager isn't already installed."
|
||||||
=======
|
|
||||||
sudo systemctl disable $(grep '/usr/s\?bin' /etc/systemd/system/display-manager.service | awk -F / '{print $NF}') || echo "Cannot Disable current Display Manager, or one is not installed."
|
|
||||||
|
|
||||||
# Then enable SDDM as the Login Manager
|
# Then enable SDDM as the Login Manager
|
||||||
sudo systemctl enable sddm
|
sudo systemctl enable sddm
|
||||||
|
|
|
||||||
47
cbsh
47
cbsh
|
|
@ -69,13 +69,11 @@ recieve_keys || err "Error Recieving PGP key $_pgpkey"
|
||||||
sudo pacman --needed --ask 4 -Syu - < pkglist.txt
|
sudo pacman --needed --ask 4 -Syu - < pkglist.txt
|
||||||
|
|
||||||
# Now that pikaur is installed, we can sync the AUR and install some needed packages (Nerd Fonts) from there.
|
# Now that pikaur is installed, we can sync the AUR and install some needed packages (Nerd Fonts) from there.
|
||||||
pikaur -Syu nerd-fonts-source-code-pro nerd-fonts-fira-code librewolf-bin
|
pikaur -Syu librewolf-bin
|
||||||
|
|
||||||
PS3='NOTE: Currently, the nvidia-open drivers have an issue where they do not work on systems with AMD APUs, such as the Laptop Ryzen chips (C/U/H/HS/HX), or the Ryzen 2/3/4/5000 Series G Families of chips on the desktop, please use the closed source drivers instead to make sure you have a working system.
|
PS3='Set Graphics Drivers:'
|
||||||
Set Graphics Drivers:'
|
gpu=("intel" "nvidia-open", "nivdia" "amd" "quit")
|
||||||
|
select choice in "${gpu[@]}"; do
|
||||||
shells=("intel" "nvidia-open", "nivdia" "amd" "quit")
|
|
||||||
select choice in "${shells[@]}"; do
|
|
||||||
case $choice in
|
case $choice in
|
||||||
intel)
|
intel)
|
||||||
sudo pacman -S xf86-video-intel vulkan-intel intel-media-driver && \
|
sudo pacman -S xf86-video-intel vulkan-intel intel-media-driver && \
|
||||||
|
|
@ -106,6 +104,9 @@ select choice in "${shells[@]}"; do
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
echo "NOTE: Currently, the nvidia-open drivers have an issue where they do not work on systems with AMD APUs,
|
||||||
|
such as the Laptop Ryzen chips (C/U/H/HS/HX), or the Ryzen 2/3/4/5000 Series G Families of chips on the desktop,
|
||||||
|
please use the closed source drivers instead to make sure you have a working system."
|
||||||
|
|
||||||
echo "#########################################################"
|
echo "#########################################################"
|
||||||
echo "## Copying the config files from /etc/cbsh into \$HOME ##"
|
echo "## Copying the config files from /etc/cbsh into \$HOME ##"
|
||||||
|
|
@ -133,14 +134,36 @@ echo "#######################################################################"
|
||||||
cd /etc/default
|
cd /etc/default
|
||||||
sudo sed "8cSKEL=/etc/cbsh" useradd
|
sudo sed "8cSKEL=/etc/cbsh" useradd
|
||||||
|
|
||||||
|
echo "###########################"
|
||||||
|
echo "## Setting Up Chemacs2.. ##"
|
||||||
|
echo "###########################"
|
||||||
|
|
||||||
|
# Backup any Emacs configuration you may have already
|
||||||
|
[ -d ~/.emacs.d ] && mv ~/.emacs.d ~/.emacs.d.bak.$(date +"%Y%m%d_%H%M%S")
|
||||||
|
[ -f ~/.emacs ] && mv ~/.emacs ~/.emacs.bak.$(date +"%Y%m%d_%H%M%S")
|
||||||
|
|
||||||
|
# then we clone Chemacs2
|
||||||
|
git clone https://github.com/plexus/chemacs2.git ~/.emacs.d
|
||||||
|
|
||||||
|
# then finally copy our emacs profiles over
|
||||||
|
cp /etc/cbsh/chemacs2/* ~/
|
||||||
|
|
||||||
|
echo "####################"
|
||||||
|
echo "## Chemacs2 Done! ##"
|
||||||
|
echo "####################"
|
||||||
|
|
||||||
|
echo "#########################"
|
||||||
|
echo "## Installing CBSHMacs ##"
|
||||||
|
echo "#########################"
|
||||||
|
|
||||||
|
git clone https://gitlab.com/cbsh/cbsh-macs.git ~/.config/cbsh-macs
|
||||||
|
|
||||||
echo "#########################################################"
|
echo "#########################################################"
|
||||||
echo "## Installing Doom Emacs. This may take a few minutes. ##"
|
echo "## Installing Doom Emacs. This may take a few minutes. ##"
|
||||||
echo "#########################################################"
|
echo "#########################################################"
|
||||||
[ -d ~/.emacs.d ] && mv ~/.emacs.d ~/.emacs.d.bak.$(date +"%Y%m%d_%H%M%S")
|
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.config/doomemacs
|
||||||
[ -f ~/.emacs ] && mv ~/.emacs ~/.emacs.bak.$(date +"%Y%m%d_%H%M%S")
|
~/.config/doomemacs/bin/doom install
|
||||||
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d
|
~/.config/doomemacs/bin/doom sync
|
||||||
~/.emacs.d/bin/doom install
|
|
||||||
~/.emacs.d/bin/doom sync
|
|
||||||
|
|
||||||
PS3='Set default USER shell (enter number): '
|
PS3='Set default USER shell (enter number): '
|
||||||
shells=("fish" "zsh" "bash" "quit")
|
shells=("fish" "zsh" "bash" "quit")
|
||||||
|
|
@ -167,8 +190,6 @@ echo "######################################################"
|
||||||
echo "## Disable previous login manager, if there is one. ##"
|
echo "## Disable previous login manager, if there is one. ##"
|
||||||
echo "######################################################"
|
echo "######################################################"
|
||||||
sudo systemctl disable $(grep '/usr/s\?bin' /etc/systemd/system/display-manager.service | awk -F / '{print $NF}') || echo "Cannot Disable current Display Manager, or a Display Manager isn't already installed."
|
sudo systemctl disable $(grep '/usr/s\?bin' /etc/systemd/system/display-manager.service | awk -F / '{print $NF}') || echo "Cannot Disable current Display Manager, or a Display Manager isn't already installed."
|
||||||
=======
|
|
||||||
sudo systemctl disable $(grep '/usr/s\?bin' /etc/systemd/system/display-manager.service | awk -F / '{print $NF}') || echo "Cannot Disable current Display Manager, or one is not installed."
|
|
||||||
|
|
||||||
# Then enable SDDM as the Login Manager
|
# Then enable SDDM as the Login Manager
|
||||||
sudo systemctl enable sddm
|
sudo systemctl enable sddm
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
alacritty
|
|
||||||
pikaur
|
pikaur
|
||||||
base-devel
|
base-devel
|
||||||
bash
|
bash
|
||||||
|
|
@ -7,7 +6,6 @@ flameshot
|
||||||
easyeffects
|
easyeffects
|
||||||
kdeconnect
|
kdeconnect
|
||||||
playerctl
|
playerctl
|
||||||
alacritty-cbsh
|
|
||||||
dmenu-cbsh
|
dmenu-cbsh
|
||||||
dmenu-scripts
|
dmenu-scripts
|
||||||
cbsh-sddm-theme
|
cbsh-sddm-theme
|
||||||
|
|
@ -33,12 +31,14 @@ mpv
|
||||||
networkmanager
|
networkmanager
|
||||||
network-manager-applet
|
network-manager-applet
|
||||||
pacman-contrib
|
pacman-contrib
|
||||||
pcmanfm
|
nemo
|
||||||
picom
|
picom
|
||||||
qt5ct
|
qt5ct
|
||||||
ripgrep
|
ripgrep
|
||||||
sddm
|
sddm
|
||||||
starship
|
starship
|
||||||
|
ttf-sourcecodepro-nerd
|
||||||
|
ttf-firacode-nerd
|
||||||
ttf-font-awesome
|
ttf-font-awesome
|
||||||
ttf-ubuntu-font-family
|
ttf-ubuntu-font-family
|
||||||
xdg-user-dirs
|
xdg-user-dirs
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user