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 > 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. 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 misc : Install my collection of misc - nice to have - programs
scripts : Install my scirpts scripts : Install my scirpts
dmenu : Install my customised version of dmenu 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 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. 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 5. install my scripts
1. copy inks-scrips to /usr/local/bin as it should be in path by default 1. copy inks-scrips to /usr/local/bin as it should be in path by default
6. install my dmenu 6. install my dmenu
6. install my dwm
6. install my st
6. install my dwmblocks
7. install my config 7. install my config
8. attempt to configure the main system programs so after a reboot the sysetm is usable 8. attempt to configure the main system programs so after a reboot the sysetm is usable
1. set shell to fish 1. set shell to fish
@ -75,10 +80,6 @@ ln -s /usr/share/mpv/scripts/mpris.so /home/solomon/.local/share/jellyfinmediapl
``` ```
# TODO # 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. 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. 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 zk
biber biber
perl-clone perl-clone
texlive-most
gnome-keyring gnome-keyring
libgnome-keyring libgnome-keyring
xdotool xdotool
@ -14,7 +13,6 @@ tumbler
ripgrep ripgrep
libopenraw libopenraw
tree tree
redshift
ripgrep ripgrep
fzf fzf
rsync rsync
@ -23,29 +21,25 @@ pamixer
pulsemixer pulsemixer
xorg-xsetroot xorg-xsetroot
feh feh
pulseaudio-bluetooth
bluez-utils bluez-utils
sshfs sshfs
dunst dunst
slock slock
jq jq
xmonad
acpi acpi
xmonad-contrib
xmobar
xorg-server xorg-server
xorg-xinit xorg-xinit
blueberry blueberry
picom-git picom
nitrogen nitrogen
xmonad-recompile-hook-git
trash-cli trash-cli
xclip xclip
numlockx numlockx
weather weather
pavucontrol pavucontrol
pass pass
pulseaudio pipewire
pipewire-pulse
nfs-utils nfs-utils
network-manager-applet network-manager-applet
wget wget
@ -61,12 +55,8 @@ efibootmgr
curl curl
cifs-utils cifs-utils
bluez bluez
lxappearance
qt5ct
bat bat
lxsession lxsession
xterm
flameshot
simple-mtpfs simple-mtpfs
mpv mpv
arandr arandr
@ -86,51 +76,30 @@ DEFAULTS_START
zathura zathura
zathura-pdf-mupdf zathura-pdf-mupdf
firefox firefox
okular
zsh
neovim
alacritty
calcurse calcurse
libreoffice libreoffice
lf lf
thunar
tmux tmux
thunderbird thunderbird
protonmail-bridge
jellyfin-media-player jellyfin-media-player
shotwell shotwell
discord input-leap
slack-desktop
barrier
todoist
teams
nextcloud-client nextcloud-client
element-desktop mpd
ncmpcpp
qbittorrent qbittorrent
ansible
telegram-desktop telegram-desktop
jellyfin-media-player sxiv
DEFAULTS_END DEFAULTS_END
MISC_START MISC_START
visual-studio-code-bin
virtualbox virtualbox
newsboat newsboat
sxiv
kdeconnect
cmus cmus
surf
bitwarden-cli
zenity zenity
guake
python python
npm npm
mosh
jre-openjdk jre-openjdk
jre-openjdk-headless
android-sdk-platform-tools
runelite
virt-manager
neomutt neomutt
cowsay cowsay
neofetch neofetch
@ -144,7 +113,6 @@ rxvt-unicode
perl-json-xs perl-json-xs
perl-anyevent-i3 perl-anyevent-i3
alsa-utils alsa-utils
canto-daemon
khal khal
moc moc
python-dbus-next python-dbus-next

View File

@ -15,7 +15,7 @@ if command -v dmenu &> /dev/null; then
exit 0 exit 0
fi 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 read -r -p "Are you sure you want to continue? [Y/n] " input
case $input in case $input in
@ -27,11 +27,14 @@ case $input in
;; ;;
esac esac
cd /tmp
git clone https://gitlab.inkletblot.com/inkletblot/dmenu-inkletblot
cd dmenu-inkletblot cd dmenu-inkletblot
git checkout config
sudo -S make clean install sudo -S make clean install
if ! command -v dmenu &> /dev/null; then 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 exit 1
fi 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 fi
} }
# install my dmenu
function install_dmenu {
cd $working_dir
./install-dmenu-inkletblot
if [ $? -eq 1 ]; then
exit 1
fi
}
# update the system # update the system
function update_system { function update_system {
# check with the user they are happy to update, exit if not though. # check with the user they are happy to update, exit if not though.
@ -87,6 +78,30 @@ function install_dmenu {
fi 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 # install my config
function install_config { function install_config {
cd $working_dir cd $working_dir
@ -96,10 +111,9 @@ function install_config {
fi fi
} }
# attempt to configure system function install_fonts {
function configure_system {
cd $working_dir cd $working_dir
./configure-system ./install-fonts
if [ $? -eq 1 ]; then if [ $? -eq 1 ]; then
exit 1 exit 1
fi fi
@ -115,110 +129,156 @@ function help {
echo " defaults : Install my chosen default programs" echo " defaults : Install my chosen default programs"
echo " misc : Install my collection of misc - nice to have - programs" echo " misc : Install my collection of misc - nice to have - programs"
echo " dmenu : Install my customised version of dmenu" 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 " dotfiles : Install my dotfiles to the system"
echo " configure : configure certain system files - BETA"
echo "" echo ""
echo "Note: it is expected that the initial run of this script lets each stage complete sucessfully." 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 help
exit 0 exit 0
fi fi
git submodule init update_system
git submodule update
case $1 in if [ "$2" = "only" ]; then
"") case $1 in
update_system yay)
install_yay
install_dependencies
install_defaults
install_misc
install_dmenu
install_config
configure_system
;;
yay)
if [ "$2" = "only" ]; then
install_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_yay
install_dependencies install_dependencies
install_defaults install_defaults
install_misc install_misc
install_dmenu install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config install_config
configure_system ;;
fi yay)
;; install_yay
deps)
update_system
if [ "$2" = "only" ]; then
install_dependencies
else
install_dependencies install_dependencies
install_defaults install_defaults
install_misc install_misc
install_dmenu install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config install_config
configure_system ;;
fi deps)
;; install_dependencies
defaults)
update_system
if [ "$2" = "only" ]; then
install_defaults
else
install_defaults install_defaults
install_misc install_misc
install_dmenu install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config install_config
configure_system ;;
fi defaults)
;; install_defaults
misc)
update_system
if [ "$2" = "only" ]; then
install_misc
else
install_misc install_misc
install_dmenu install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config install_config
configure_system ;;
fi misc)
;; install_misc
dmenu)
if [ "$2" = "only" ]; then
install_dmenu install_dmenu
else install_dwm
install_st
install_dwmblocks
install_fonts
install_config
;;
dmenu)
install_dmenu install_dmenu
install_dwm
install_st
install_dwmblocks
install_fonts
install_config install_config
configure_system ;;
fi dwm)
;; install_dwm
dotfiles) install_st
if [ "$2" = "only" ]; then install_dwmblocks
install_fonts
install_config install_config
else ;;
st)
install_st
install_dwmblocks
install_fonts
install_config install_config
configure_system ;;
fi dwmblocks)
;; install_dwmblocks
configure) install_fonts
if [ "$2" = "only" ]; then install_config
configure_system ;;
else fonts)
configure_system install_fonts
fi install_config
;; ;;
*) dotfiles)
echo "Invalid input..." install_config
help ;;
exit 1 *)
;; echo "Invalid input..."
esac help
exit 1
;;
esac
fi
if [ $? -eq 1 ]; then if [ $? -eq 1 ]; then
exit 1 exit 1