Initial commit
This commit is contained in:
commit
0ea46c6a00
43
README.md
Normal file
43
README.md
Normal file
@ -0,0 +1,43 @@
|
||||
# INK_OS
|
||||
|
||||
## Inkletblots Xmonad install scripts
|
||||
|
||||
### Version
|
||||
|
||||
> 1.0.0 - current
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
# TODO
|
||||
|
||||
I want this to be able to be used on a fresh arch install with 0 dependencies, so, I will need to make sure that the user has set up internet, or that an existing connection exists.
|
||||
|
||||
I also need to make sure that all required programs are then sucessfully installed, and that some configs are written.
|
||||
|
||||
Ill need to do this for lightdm and lightdm webkit3 greeter currently.
|
||||
|
||||
|
||||
|
||||
# Steps
|
||||
|
||||
I currently envision the following steps being used:
|
||||
|
||||
1. install minimal arch with no extra programs
|
||||
2. access tty manually install git and clone https://gitlab.inkletblot.com/inkletblot/ink-os.git
|
||||
3. cd into ink-os
|
||||
4. run setup.sh
|
||||
|
||||
setup.sh will then...
|
||||
|
||||
1. do a general system check
|
||||
1. make sure that there is an internet connection (user may have installed git in chroot and not setup network yet)
|
||||
2. make sure sudo is installed and user is part of sudo or wheel group
|
||||
3. request user for their password, put it in temp file (I can't think of a better way of doing this yet)
|
||||
4. make sure multilib in enabled
|
||||
5. update and upgrade system fully
|
||||
2. install yay specifically
|
||||
2. install all required dependencies/programs
|
||||
3. install my scripts
|
||||
4. install my config
|
||||
104
default-programs
Normal file
104
default-programs
Normal file
@ -0,0 +1,104 @@
|
||||
REQUIRED_START
|
||||
yad
|
||||
scrot
|
||||
pulseaudio-bluetooth
|
||||
bluez-utils
|
||||
sshfs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REQUIRED_END
|
||||
|
||||
|
||||
freetube
|
||||
git-flow-completion-git
|
||||
plexamp-appimage
|
||||
|
||||
|
||||
shotwell
|
||||
fish
|
||||
evince
|
||||
dunst-git
|
||||
slock
|
||||
notify-send
|
||||
bitwarden-cli
|
||||
jq
|
||||
xmonad
|
||||
xmonad-contrib
|
||||
firefox
|
||||
surf
|
||||
xmobar
|
||||
picom-jonaburg-git
|
||||
nitrogen
|
||||
xclip
|
||||
numlockx
|
||||
zenity
|
||||
pavucontrol
|
||||
pulseaudio
|
||||
nfs-utils
|
||||
newsboat
|
||||
blueman
|
||||
networkmanager
|
||||
network-manager-applet
|
||||
guake
|
||||
xorg
|
||||
xorg-xinit
|
||||
mpv
|
||||
youtube-dl
|
||||
backlight-control
|
||||
rofi
|
||||
thunar
|
||||
alacritty
|
||||
wget
|
||||
volumeicon
|
||||
unzip
|
||||
ttf-fira-code
|
||||
trayer
|
||||
python
|
||||
nodejs
|
||||
npm
|
||||
nvm
|
||||
openssh
|
||||
numlockx
|
||||
mosh
|
||||
jre-openjdk
|
||||
jre-openjdk-headless
|
||||
htop
|
||||
gnome-keyring
|
||||
git-flow
|
||||
evince
|
||||
dosfstools
|
||||
grub2
|
||||
curl
|
||||
colorpicker-ym1234-git
|
||||
cmus
|
||||
cifs-utils
|
||||
bluez
|
||||
ansible
|
||||
android-sdk-platform-tools
|
||||
lxappearance
|
||||
qt5ct
|
||||
visual-studio-code-bin
|
||||
runelite
|
||||
slack-desktop
|
||||
nextcloud-client
|
||||
barrier
|
||||
todoist-elecrton
|
||||
vlc
|
||||
virtualbox
|
||||
virt-manager
|
||||
virsh
|
||||
discord
|
||||
kdeconnect
|
||||
telegram-desktop
|
||||
teams
|
||||
qbittorrent
|
||||
lxsession
|
||||
xdotool
|
||||
xterm
|
||||
backlight-control
|
||||
lightdm
|
||||
lightdm-webkit-theme-litarvan
|
||||
flameshot
|
||||
87
install-dependencies
Executable file
87
install-dependencies
Executable file
@ -0,0 +1,87 @@
|
||||
#!/bin/sh
|
||||
|
||||
# check user is happy to run this script
|
||||
echo "This script is going to install all of the programs listed in /home/<user>/default-programs and their dependencies. As such it will ask for root privilages."
|
||||
read -r -p "Are you sure you want to continue? [y/N] " input
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# if yay is not installed the run the install script
|
||||
if ! command -v yay &> /dev/null; then
|
||||
./install-yay
|
||||
fi
|
||||
|
||||
# check with the user they are happy to update, exit if not though.
|
||||
echo "The system needs to be updated before this installation can happen. The upgrades will be applied without any user oversight which may be dangerous for out of date systems."
|
||||
read -r -p "Are you sure you want to continue? [y/N] " input
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
# Make sure everything is up to date
|
||||
echo "Making sure everything is up to date..."
|
||||
yay -Syyu --noconfirm
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# run though each default program and install it if it's not already installed
|
||||
# note that yay, git, steam, dmenu-inkletblot, ly and nvidia related programs are not included
|
||||
default_programs="/default-programs"
|
||||
dependencies=$(cat $HOME/$default_programs)
|
||||
for dependency in $dependencies
|
||||
do
|
||||
if ! command -v $dependency &> /dev/null; then
|
||||
echo "Installing $dependency and it's dependencies..."
|
||||
yay -S --noconfirm $dependency
|
||||
fi
|
||||
done
|
||||
|
||||
# ask the user if they want to install nvidia dependencies, do it or skip
|
||||
if ! command -v yay &> /dev/null && ! command -v yay &> /dev/null && ! command -v yay &> /dev/null; then
|
||||
echo "My computer requires nvidia, as such I install the required drivers and programs"
|
||||
read -r -p "Are you sure you want to install? [y/N] " input
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
echo "Nvidia is being installed..."
|
||||
yay -S nvidia nvidia-settings nvidia-prime --noconfirm
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
echo "Nvidia installation has been skipped. Programs: nvidia, nvidia-settings, nvidia-prime"
|
||||
;;
|
||||
*)
|
||||
echo "Nvidia installation has been skipped. Programs: nvidia, nvidia-settings, nvidia-prime"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# notify about steam issue (multilib)
|
||||
echo "There are a few programs that can't be automatically installed. The main one of these is Steam which requires multilib to be enabled. Instructions for this can be found at: https://wiki.archlinux.org/index.php/Official_repositories#Enabling_multilib Once this is done steam can be installed."
|
||||
read -r -p "Press [ENTER] to continue.."
|
||||
|
||||
# notify about ly and dmenu-inkletblot scripts
|
||||
echo "I use two programs that are installed from git directly: ly and dmenu-inkletblot."
|
||||
echo "I do not have install scripts for both of these. They have dependencies I can't guarantee are installed."
|
||||
read -r -p "Press [ENTER] to continue.."
|
||||
|
||||
# notify user that there may be extra steps to finish install
|
||||
echo "This script has installed all of my default programs however it may not have configure many things. My dotfiles may cover some of these but things such as gnome-keyring (using the pam method) will need to be implemented. As well as setting up nvidia and xorg. There are likely more that I have forgotton as well."
|
||||
read -r -p "Press [ENTER] to complete.."
|
||||
|
||||
# need scripts for these
|
||||
# dmenu-inkletblot
|
||||
# ly
|
||||
37
install-yay
Executable file
37
install-yay
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
|
||||
# if command -v yay &> /dev/null; then
|
||||
# echo "yay is already installed."
|
||||
# exit 0;
|
||||
# fi
|
||||
|
||||
echo "This script is going to install yay and it's dependencies. As such it will ask for root privilages."
|
||||
|
||||
read -r -p "Are You Sure? [y/N] " input
|
||||
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if ! command -v git &> /dev/null; then
|
||||
sudo pacman -Sy --noconfirm git
|
||||
fi
|
||||
|
||||
if ! command -v fakeroot &> /dev/null; then
|
||||
sudo pacman -Sy --noconfirm base-devel
|
||||
fi
|
||||
|
||||
cd /opt
|
||||
sudo git clone https://aur.archlinux.org/yay.git
|
||||
sudo chown -R $USER:users ./yay
|
||||
cd yay
|
||||
makepkg -si
|
||||
Loading…
Reference in New Issue
Block a user