major updates

This commit is contained in:
Solomon Laing 2025-05-18 20:31:51 +09:30
parent 026d31b4ff
commit 0492005f24
10 changed files with 333 additions and 129 deletions

View File

@ -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.

View File

@ -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

View File

@ -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
View 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

View 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
View 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
View 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

View File

@ -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,110 +129,156 @@ 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
update_system
case $1 in
"")
update_system
install_yay
install_dependencies
install_defaults
install_misc
install_dmenu
install_config
configure_system
;;
yay)
if [ "$2" = "only" ]; then
if [ "$2" = "only" ]; then
case $1 in
yay)
install_yay
else
;;
deps)
install_dependencies
;;
defaults)
install_defaults
;;
misc)
install_misc
;;
dmenu)
install_dmenu
;;
dwm)
install_dwm
;;
st)
install_st
;;
dwmblocks)
install_dwmblocks
;;
fonts)
install_fonts
;;
config)
install_config
;;
*)
echo "Invalid input..."
help
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
configure_system
fi
;;
deps)
update_system
if [ "$2" = "only" ]; then
install_dependencies
else
;;
yay)
install_yay
install_dependencies
install_defaults
install_misc
install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config
configure_system
fi
;;
defaults)
update_system
if [ "$2" = "only" ]; then
install_defaults
else
;;
deps)
install_dependencies
install_defaults
install_misc
install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config
configure_system
fi
;;
misc)
update_system
if [ "$2" = "only" ]; then
install_misc
else
;;
defaults)
install_defaults
install_misc
install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config
configure_system
fi
;;
dmenu)
if [ "$2" = "only" ]; then
;;
misc)
install_misc
install_dmenu
else
install_dwm
install_st
install_dwmblocks
install_fonts
install_config
;;
dmenu)
install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config
configure_system
fi
;;
dotfiles)
if [ "$2" = "only" ]; then
;;
dwm)
install_dwm
install_st
install_dwmblocks
install_fonts
install_config
else
;;
st)
install_st
install_dwmblocks
install_fonts
install_config
configure_system
fi
;;
configure)
if [ "$2" = "only" ]; then
configure_system
else
configure_system
fi
;;
*)
echo "Invalid input..."
help
exit 1
;;
esac
;;
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