119 lines
3.9 KiB
Bash
Executable File
119 lines
3.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# ubuntu hangs if network interface is not optional
|
|
if ! sudo grep -r optional /etc/netplan
|
|
then
|
|
sudo sed -i '/dhcp4/a\ optional: yes' /etc/netplan/00-installer-config-wifi.yaml
|
|
sudo sed -i '/dhcp4/a\ optional: yes' /etc/netplan/00-installer-config.yaml
|
|
fi
|
|
# Add firefox repo
|
|
sudo bash -c 'echo "deb [trusted=yes] https://packages.mozilla.org/apt mozilla main" > /etc/apt/sources.list.d/mozilla.list'
|
|
# By default ubuntu installs firefox from snap, so I want to disable it
|
|
echo '
|
|
Package: *
|
|
Pin: origin packages.mozilla.org
|
|
Pin-Priority: 1000
|
|
' | sudo tee /etc/apt/preferences.d/mozilla
|
|
# install packages I need
|
|
sudo apt update
|
|
sudo apt install -y nala
|
|
sudo nala install -y \
|
|
xorg `# for graphics` \
|
|
make `# for compiling gui` \
|
|
gcc `# for compiling gui` \
|
|
libx11-dev `# for compiling dwm` \
|
|
libxft-dev `# for compiling dwm` \
|
|
libxinerama-dev `# for compiling dwm` \
|
|
libharfbuzz-dev `# for compiling st` \
|
|
suckless-tools `# for dmenu` \
|
|
ncdu `# for disk usage analysys` \
|
|
brightnessctl `# for keyboard backlight` \
|
|
xcompmgr `# for st opacity` \
|
|
xwallpaper `# for background` \
|
|
ubuntu-wallpapers-jammy `# backgrounds` \
|
|
pulseaudio `# for sound` \
|
|
alsa-base `# for sound` \
|
|
pavucontrol `# for audio control` \
|
|
pasystray `# for audio control` \
|
|
iputils-ping `# ping etc.` \
|
|
xfe `# classic file manager` \
|
|
surf `# suckless lightweight browser` \
|
|
micro `# console editor` \
|
|
neovim `# console editor` \
|
|
psmisc `# pstree etc.` \
|
|
slack \
|
|
firefox \
|
|
python3 \
|
|
python3-venv \
|
|
libnvidia-compute-545 `# for mpv + nvidia` \
|
|
nvidia-driver-545 `# nvidia driver` \
|
|
nvidia-cuda-toolkit `# cuda driver`
|
|
|
|
# install telegram
|
|
if [ ! -d /opt/Telegram ]
|
|
then
|
|
if [ ! -f telegram.tar.xz ]
|
|
then
|
|
curl -L https://telegram.org/dl/desktop/linux -o telegram.tar.xz
|
|
fi
|
|
tar -xf telegram.tar.xz
|
|
rm -f telegram.tar.xz
|
|
sudo mv Telegram /opt/
|
|
fi
|
|
|
|
# remove snap cause I hate it
|
|
sudo systemctl disable --now snapd
|
|
sudo apt purge snapd -y
|
|
# remove autoinstalled stterm
|
|
sudo apt remove stterm -y
|
|
|
|
|
|
if [ ! -d ~/gui ]
|
|
then
|
|
git clone https://git.digitalstudium.com/digitalstudium/ubuntu-gui ~/gui
|
|
fi
|
|
|
|
for tool in dwm st sent
|
|
do
|
|
# compiling dwm
|
|
if ! command -v $tool &> /dev/null
|
|
then
|
|
cd ~/gui/$tool
|
|
sudo make install clean
|
|
cd -
|
|
fi
|
|
done
|
|
|
|
echo dwm > ~/.xinitrc # for starting dwm when startx
|
|
|
|
for tool in create_systemd_service.py create_systemd_timer.py set_brightness.sh update_gui.sh
|
|
do
|
|
if ! command -v $tool &> /dev/null
|
|
then
|
|
sudo cp $tool /usr/local/bin
|
|
fi
|
|
done
|
|
|
|
git config --global user.name "Digital Studium"
|
|
git config --global user.email "digitalstudium001@gmail.com"
|
|
|
|
sudo create_systemd_service.py gui-updater /usr/local/bin/update_gui.sh
|
|
sudo create_systemd_timer.py gui-updater '*-*-* *:*:*'
|
|
|
|
if [ ! -d ~/.dwm ]
|
|
then
|
|
mkdir $HOME/.dwm
|
|
fi
|
|
echo "xhost +local:" > $HOME/.dwm/autostart.sh # give permissions to display
|
|
echo "xcompmgr &" >> $HOME/.dwm/autostart.sh # for st opacity
|
|
echo "xwallpaper --stretch /usr/share/backgrounds/Blue_flower_by_Elena_Stravoravdi.jpg" >> $HOME/.dwm/autostart.sh # background
|
|
echo "firefox &" >> $HOME/.dwm/autostart.sh
|
|
echo "Telegram &" >> $HOME/.dwm/autostart.sh
|
|
echo "st &" >> $HOME/.dwm/autostart.sh
|
|
echo "pasystray &" >> $HOME/.dwm/autostart.sh
|
|
chmod +x $HOME/.dwm/autostart.sh
|
|
|
|
sudo timedatectl set-timezone Europe/Moscow
|
|
|
|
sudo bash -c "echo 'PATH=\$(find /opt/ -executable -type f | grep -v \.so | xargs dirname | uniq | paste -s -d : | xargs -I _ echo \$PATH:_)' > /etc/profile.d/opt.sh"
|
|
|