major updates
This commit is contained in:
parent
026d31b4ff
commit
0492005f24
@ -6,7 +6,7 @@
|
||||
|
||||
> 2.0.0 - WIP
|
||||
|
||||
This project is an effort to create a easy to use system to install a fresh version of my desktop environment (Xmonad on Arch). The idea is that this system can be used on a fresh install of Arch and will get everything that I currently use setup and ready in a safe manner.
|
||||
This project is an effort to create a easy to use system to install a fresh version of my desktop environment. The idea is that this system can be used on a fresh install of Arch and will get everything that I currently use setup and ready in a safe manner.
|
||||
|
||||
NOTE! This is a very basic set of scripts, it has been tested to work but I have no guarantees that it'll work for you so use with caution please.
|
||||
|
||||
@ -25,8 +25,10 @@ defaults : Install my chosen default programs
|
||||
misc : Install my collection of misc - nice to have - programs
|
||||
scripts : Install my scirpts
|
||||
dmenu : Install my customised version of dmenu
|
||||
dwm : Install my customised version of dwm
|
||||
st : Install my customised version of st
|
||||
dwmblocks : Install my customised version of dwmblocks
|
||||
dotfiles : Install my dotfiles to the system
|
||||
configure : configure certain system files - BETA
|
||||
|
||||
Note: it is expected that the initial run of this script lets each stage complete successfully.
|
||||
|
||||
@ -53,6 +55,9 @@ setup.sh then...
|
||||
5. install my scripts
|
||||
1. copy inks-scrips to /usr/local/bin as it should be in path by default
|
||||
6. install my dmenu
|
||||
6. install my dwm
|
||||
6. install my st
|
||||
6. install my dwmblocks
|
||||
7. install my config
|
||||
8. attempt to configure the main system programs so after a reboot the sysetm is usable
|
||||
1. set shell to fish
|
||||
@ -75,10 +80,6 @@ ln -s /usr/share/mpv/scripts/mpris.so /home/solomon/.local/share/jellyfinmediapl
|
||||
```
|
||||
|
||||
# TODO
|
||||
review xmonad.sh for default programs / dependencies
|
||||
|
||||
Need to work out gnome-keyring setup with pam, related to this is getting nextcloud to login without a login manager, I think it's a pam thing, I have got it working in the past.
|
||||
|
||||
installing zsh breaks the script, I have noted that it's not suggested but need something better.
|
||||
|
||||
figure out icons/font stuff, it's very frustrating.
|
||||
|
||||
@ -6,7 +6,6 @@ xorg-xmessage
|
||||
zk
|
||||
biber
|
||||
perl-clone
|
||||
texlive-most
|
||||
gnome-keyring
|
||||
libgnome-keyring
|
||||
xdotool
|
||||
@ -14,7 +13,6 @@ tumbler
|
||||
ripgrep
|
||||
libopenraw
|
||||
tree
|
||||
redshift
|
||||
ripgrep
|
||||
fzf
|
||||
rsync
|
||||
@ -23,29 +21,25 @@ pamixer
|
||||
pulsemixer
|
||||
xorg-xsetroot
|
||||
feh
|
||||
pulseaudio-bluetooth
|
||||
bluez-utils
|
||||
sshfs
|
||||
dunst
|
||||
slock
|
||||
jq
|
||||
xmonad
|
||||
acpi
|
||||
xmonad-contrib
|
||||
xmobar
|
||||
xorg-server
|
||||
xorg-xinit
|
||||
blueberry
|
||||
picom-git
|
||||
picom
|
||||
nitrogen
|
||||
xmonad-recompile-hook-git
|
||||
trash-cli
|
||||
xclip
|
||||
numlockx
|
||||
weather
|
||||
pavucontrol
|
||||
pass
|
||||
pulseaudio
|
||||
pipewire
|
||||
pipewire-pulse
|
||||
nfs-utils
|
||||
network-manager-applet
|
||||
wget
|
||||
@ -61,12 +55,8 @@ efibootmgr
|
||||
curl
|
||||
cifs-utils
|
||||
bluez
|
||||
lxappearance
|
||||
qt5ct
|
||||
bat
|
||||
lxsession
|
||||
xterm
|
||||
flameshot
|
||||
simple-mtpfs
|
||||
mpv
|
||||
arandr
|
||||
@ -86,51 +76,30 @@ DEFAULTS_START
|
||||
zathura
|
||||
zathura-pdf-mupdf
|
||||
firefox
|
||||
okular
|
||||
zsh
|
||||
neovim
|
||||
alacritty
|
||||
calcurse
|
||||
libreoffice
|
||||
lf
|
||||
thunar
|
||||
tmux
|
||||
thunderbird
|
||||
protonmail-bridge
|
||||
jellyfin-media-player
|
||||
shotwell
|
||||
discord
|
||||
slack-desktop
|
||||
barrier
|
||||
todoist
|
||||
teams
|
||||
input-leap
|
||||
nextcloud-client
|
||||
element-desktop
|
||||
mpd
|
||||
ncmpcpp
|
||||
qbittorrent
|
||||
ansible
|
||||
telegram-desktop
|
||||
jellyfin-media-player
|
||||
sxiv
|
||||
DEFAULTS_END
|
||||
|
||||
MISC_START
|
||||
visual-studio-code-bin
|
||||
virtualbox
|
||||
newsboat
|
||||
sxiv
|
||||
kdeconnect
|
||||
cmus
|
||||
surf
|
||||
bitwarden-cli
|
||||
zenity
|
||||
guake
|
||||
python
|
||||
npm
|
||||
mosh
|
||||
jre-openjdk
|
||||
jre-openjdk-headless
|
||||
android-sdk-platform-tools
|
||||
runelite
|
||||
virt-manager
|
||||
neomutt
|
||||
cowsay
|
||||
neofetch
|
||||
@ -144,7 +113,6 @@ rxvt-unicode
|
||||
perl-json-xs
|
||||
perl-anyevent-i3
|
||||
alsa-utils
|
||||
canto-daemon
|
||||
khal
|
||||
moc
|
||||
python-dbus-next
|
||||
|
||||
@ -15,7 +15,7 @@ if command -v dmenu &> /dev/null; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "This script is going to install dmenu-inkletblot, my fork of dmenu with my custom styling. As such it will ask for root privilages."
|
||||
echo "This script is going to install dmenu, my fork of dmenu with my custom styling. As such it will ask for root privilages."
|
||||
|
||||
read -r -p "Are you sure you want to continue? [Y/n] " input
|
||||
case $input in
|
||||
@ -27,11 +27,14 @@ case $input in
|
||||
;;
|
||||
esac
|
||||
|
||||
cd /tmp
|
||||
git clone https://gitlab.inkletblot.com/inkletblot/dmenu-inkletblot
|
||||
cd dmenu-inkletblot
|
||||
git checkout config
|
||||
sudo -S make clean install
|
||||
|
||||
if ! command -v dmenu &> /dev/null; then
|
||||
echo "dmenu-inkletblot failed to install, please manually rectify this and then rerun this setup with: ./setup deps"
|
||||
echo "dmenu failed to install, please manually rectify this and then rerun this setup with: ./setup install-dmenu"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
41
arch/install-dwm-inkletblot
Executable file
41
arch/install-dwm-inkletblot
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
|
||||
#-----------------------------------
|
||||
# Name: install-dwm-inkletblot
|
||||
# Version: 1.0.0
|
||||
# Author: Solomon Laing
|
||||
# Description:
|
||||
# Installs my customisation of dwm
|
||||
#-----------------------------------
|
||||
|
||||
clear
|
||||
|
||||
if command -v dwm &> /dev/null; then
|
||||
echo "dwm is already installed on the system."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "This script is going to install dwm, my fork of dwm with my custom styling. As such it will ask for root privilages."
|
||||
|
||||
read -r -p "Are you sure you want to continue? [Y/n] " input
|
||||
case $input in
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
esac
|
||||
|
||||
cd /tmp
|
||||
git clone https://gitlab.inkletblot.com/inkletblot/dwm-inkletblot
|
||||
cd dwm-inkletblot
|
||||
git checkout config
|
||||
sudo -S make clean install
|
||||
|
||||
if ! command -v dwm &> /dev/null; then
|
||||
echo "dwm failed to install, please manually rectify this and then rerun this setup with: ./setup install-dwm"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
40
arch/install-dwmblocks-inkletblot
Executable file
40
arch/install-dwmblocks-inkletblot
Executable file
@ -0,0 +1,40 @@
|
||||
#!/bin/sh
|
||||
|
||||
#-----------------------------------
|
||||
# Name: install-dwmblocks-inkletblot
|
||||
# Version: 1.0.0
|
||||
# Author: Solomon Laing
|
||||
# Description:
|
||||
# Installs my customisation of dwmblocks
|
||||
#-----------------------------------
|
||||
|
||||
clear
|
||||
|
||||
if command -v dwmblocks &> /dev/null; then
|
||||
echo "dwmblocks is already installed on the system."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "This script is going to install dwmblocks, my fork of dmenu with my custom styling. As such it will ask for root privilages."
|
||||
|
||||
read -r -p "Are you sure you want to continue? [Y/n] " input
|
||||
case $input in
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
esac
|
||||
|
||||
cd /tmp
|
||||
git clone https://gitlab.inkletblot.com/inkletblot/dwmblocks-inkletblot
|
||||
cd dwmblocks-inkletblot
|
||||
sudo -S make clean install
|
||||
|
||||
if ! command -v dwmblocks &> /dev/null; then
|
||||
echo "dwmblocks failed to install, please manually rectify this and then rerun this setup with: ./setup install-dwmblocks"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
50
arch/install-fonts
Executable file
50
arch/install-fonts
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
|
||||
#-----------------------------------
|
||||
# Name: install-fonts
|
||||
# Version: 1.0.0
|
||||
# Author: Solomon Laing
|
||||
# Description:
|
||||
# Installs the getnf program to the
|
||||
# system.
|
||||
#-----------------------------------
|
||||
|
||||
clear
|
||||
|
||||
if command -v getnf &> /dev/null; then
|
||||
echo "getnf is already installed on the system."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "This script is going to attempt install getnf. As such it will ask for root privilages."
|
||||
|
||||
read -r -p "Are you sure you want to continue? [Y/n] " input
|
||||
case $input in
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
esac
|
||||
|
||||
cd /tmp
|
||||
sudo -S git clone https://github.com/ronniedroid/getnf
|
||||
sudo -S chown -R $USER:users ./getnf
|
||||
cd getnf
|
||||
|
||||
sudo ./install.sh
|
||||
|
||||
read -r -p "Do you want to choose your fonts now? [Y/n] " input
|
||||
case $input in
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
esac
|
||||
|
||||
getnf
|
||||
|
||||
exit 0
|
||||
41
arch/install-st-inkletblot
Executable file
41
arch/install-st-inkletblot
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
|
||||
#-----------------------------------
|
||||
# Name: install-st-inkletblot
|
||||
# Version: 1.0.0
|
||||
# Author: Solomon Laing
|
||||
# Description:
|
||||
# Installs my customisation of st
|
||||
#-----------------------------------
|
||||
|
||||
clear
|
||||
|
||||
if command -v st &> /dev/null; then
|
||||
echo "st is already installed on the system."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "This script is going to install st, my fork of st with my custom styling. As such it will ask for root privilages."
|
||||
|
||||
read -r -p "Are you sure you want to continue? [Y/n] " input
|
||||
case $input in
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
esac
|
||||
|
||||
cd /tmp
|
||||
git clone https://gitlab.inkletblot.com/inkletblot/st-inkletblot
|
||||
cd st-inkletblot
|
||||
git checkout config
|
||||
sudo -S make clean install
|
||||
|
||||
if ! command -v st &> /dev/null; then
|
||||
echo "st failed to install, please manually rectify this and then rerun this setup with: ./setup install-st"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
226
arch/setup
226
arch/setup
@ -26,15 +26,6 @@ function install_yay {
|
||||
fi
|
||||
}
|
||||
|
||||
# install my dmenu
|
||||
function install_dmenu {
|
||||
cd $working_dir
|
||||
./install-dmenu-inkletblot
|
||||
if [ $? -eq 1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# update the system
|
||||
function update_system {
|
||||
# check with the user they are happy to update, exit if not though.
|
||||
@ -87,6 +78,30 @@ function install_dmenu {
|
||||
fi
|
||||
}
|
||||
|
||||
function install_dwm {
|
||||
cd $working_dir
|
||||
./install-dwm-inkletblot
|
||||
if [ $? -eq 1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function install_st {
|
||||
cd $working_dir
|
||||
./install-st-inkletblot
|
||||
if [ $? -eq 1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function install_dwmblocks {
|
||||
cd $working_dir
|
||||
./install-dwmblocks-inkletblot
|
||||
if [ $? -eq 1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# install my config
|
||||
function install_config {
|
||||
cd $working_dir
|
||||
@ -96,10 +111,9 @@ function install_config {
|
||||
fi
|
||||
}
|
||||
|
||||
# attempt to configure system
|
||||
function configure_system {
|
||||
function install_fonts {
|
||||
cd $working_dir
|
||||
./configure-system
|
||||
./install-fonts
|
||||
if [ $? -eq 1 ]; then
|
||||
exit 1
|
||||
fi
|
||||
@ -115,103 +129,53 @@ function help {
|
||||
echo " defaults : Install my chosen default programs"
|
||||
echo " misc : Install my collection of misc - nice to have - programs"
|
||||
echo " dmenu : Install my customised version of dmenu"
|
||||
echo " dwm : Install my customised version of dwm"
|
||||
echo " st : Install my customised version of st"
|
||||
echo " dwmblocks : Install my customised version of dwmblocks"
|
||||
echo " fonts : install getnf and optionally a font of your choice"
|
||||
echo " dotfiles : Install my dotfiles to the system"
|
||||
echo " configure : configure certain system files - BETA"
|
||||
echo ""
|
||||
echo "Note: it is expected that the initial run of this script lets each stage complete sucessfully."
|
||||
}
|
||||
|
||||
if [ "$1" = "help" ]; then
|
||||
if [ "$1" = "help" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
||||
help
|
||||
exit 0
|
||||
fi
|
||||
|
||||
git submodule init
|
||||
git submodule update
|
||||
|
||||
case $1 in
|
||||
"")
|
||||
update_system
|
||||
install_yay
|
||||
install_dependencies
|
||||
install_defaults
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_config
|
||||
configure_system
|
||||
;;
|
||||
yay)
|
||||
|
||||
if [ "$2" = "only" ]; then
|
||||
case $1 in
|
||||
yay)
|
||||
install_yay
|
||||
else
|
||||
install_yay
|
||||
install_dependencies
|
||||
install_defaults
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_config
|
||||
configure_system
|
||||
fi
|
||||
;;
|
||||
deps)
|
||||
update_system
|
||||
if [ "$2" = "only" ]; then
|
||||
install_dependencies
|
||||
else
|
||||
install_dependencies
|
||||
install_defaults
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_config
|
||||
configure_system
|
||||
fi
|
||||
;;
|
||||
defaults)
|
||||
update_system
|
||||
if [ "$2" = "only" ]; then
|
||||
install_defaults
|
||||
else
|
||||
install_defaults
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_config
|
||||
configure_system
|
||||
fi
|
||||
;;
|
||||
misc)
|
||||
update_system
|
||||
if [ "$2" = "only" ]; then
|
||||
install_misc
|
||||
else
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_config
|
||||
configure_system
|
||||
fi
|
||||
;;
|
||||
dmenu)
|
||||
if [ "$2" = "only" ]; then
|
||||
install_dmenu
|
||||
else
|
||||
install_dmenu
|
||||
install_config
|
||||
configure_system
|
||||
fi
|
||||
;;
|
||||
dotfiles)
|
||||
if [ "$2" = "only" ]; then
|
||||
install_config
|
||||
else
|
||||
install_config
|
||||
configure_system
|
||||
fi
|
||||
dwm)
|
||||
install_dwm
|
||||
;;
|
||||
configure)
|
||||
if [ "$2" = "only" ]; then
|
||||
configure_system
|
||||
else
|
||||
configure_system
|
||||
fi
|
||||
st)
|
||||
install_st
|
||||
;;
|
||||
dwmblocks)
|
||||
install_dwmblocks
|
||||
;;
|
||||
fonts)
|
||||
install_fonts
|
||||
;;
|
||||
config)
|
||||
install_config
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
@ -219,6 +183,102 @@ case $1 in
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
case $1 in
|
||||
"")
|
||||
install_yay
|
||||
install_dependencies
|
||||
install_defaults
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_dwm
|
||||
install_st
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
yay)
|
||||
install_yay
|
||||
install_dependencies
|
||||
install_defaults
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_dwm
|
||||
install_st
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
deps)
|
||||
install_dependencies
|
||||
install_defaults
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_dwm
|
||||
install_st
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
defaults)
|
||||
install_defaults
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_dwm
|
||||
install_st
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
misc)
|
||||
install_misc
|
||||
install_dmenu
|
||||
install_dwm
|
||||
install_st
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
dmenu)
|
||||
install_dmenu
|
||||
install_dwm
|
||||
install_st
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
dwm)
|
||||
install_dwm
|
||||
install_st
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
st)
|
||||
install_st
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
dwmblocks)
|
||||
install_dwmblocks
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
fonts)
|
||||
install_fonts
|
||||
install_config
|
||||
;;
|
||||
dotfiles)
|
||||
install_config
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ $? -eq 1 ]; then
|
||||
exit 1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user