-
Notifications
You must be signed in to change notification settings - Fork 24
/
install-desktop.sh
173 lines (128 loc) · 5.9 KB
/
install-desktop.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#!/bin/bash
# ---------------------------
# This is a bash script for configuring Arch as a usable Windows or Mac replacement.
# ---------------------------
# NOTE: See the README.md for instructions on installing Arch from scratch.
# NOTE: Execute this script by running the following command on your system:
# wget -O - https://raw.githubusercontent.com/brendaningramaudio/install-scripts/main/arch/install-desktop.sh | bash
# Exit if any command fails
set -e
notify () {
echo "----------------------------------"
echo $1
echo "----------------------------------"
}
# ------------------------------------------------------------------------------------
# yay (AUR)
# ------------------------------------------------------------------------------------
sudo pacman -S base-devel --noconfirm
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si --noconfirm
cd ..
rm -rf yay
# ------------------------------------------------------------------------------------
# Core install
# ------------------------------------------------------------------------------------
sudo pacman -Syu
# Firmware (for example to enable wifi)
sudo pacman -S linux-firmware --noconfirm
# Utils
# xdg-desktop-portal is required for OBS to access pipewire displays
sudo pacman -S sudo vim git nfs-utils wget which xdg-desktop-portal xdg-utils neofetch --noconfirm
# PDF
sudo pacman -S evince --noconfirm
# Browsers
sudo pacman -S firefox chromium --noconfirm
yay -S google-chrome --noconfirm
# Office and editing
sudo pacman -S libreoffice-fresh code --noconfirm
# Video
# opentimelineio: required for Kdenlive
sudo pacman -S digikam kdenlive opentimelineio vlc obs-studio handbrake --noconfirm
# Image and Graphics
sudo pacman -S digikam krita blender inkscape --noconfirm
# Copying music CD's
sudo pacman -S asunder vorbis-tools --noconfirm
# Resolve Gnome Software "no plugin could handle get-updates"
sudo pacman -S gnome-software-packagekit-plugin --noconfirm
# OBS needs this set in order to be able to access wayland screens
echo "export QT_QPA_PLATFORM=wayland" | sudo tee -a /etc/profile
# Timeshift
yay -S timeshift --noconfirm
# MakeMKV
yay -S makemkv --noconfirm
# Dropbox
notify "Dropbox"
read -p "Install Dropbox? (Y/N)? " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
yay -S nautilus-dropbox --noconfirm
fi
# pCloud
notify "pCloud"
read -p "Install pCloud (Y/N)? " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
yay -S pcloud-drive --noconfirm
fi
# ------------------------------------------------------------------------------------
# QT theme
# Ensure that KDE/QT apps display nicely in Gnome
# ------------------------------------------------------------------------------------
sudo pacman -S qt6-base --noconfirm
yay -S adwaita-qt --noconfirm
# echo "QT_STYLE_OVERRIDE=adwaita" | sudo tee -a /etc/profile
# yay -S qgnomeplatform
# echo "QT_QPA_PLATFORMTHEME='gnome'" | sudo tee -a /etc/profile
# ------------------------------------------------------------------------------------
# Fonts
# ------------------------------------------------------------------------------------
sudo pacman -S ttf-hack ttf-anonymous-pro ttf-dejavu ttf-freefont ttf-liberation --noconfirm
yay -S ttf-font-awesome adobe-source-code-pro-fonts --noconfirm
# ------------------------------------------------------------------------------------
# Gnome config
# ------------------------------------------------------------------------------------
# How to list schemas
# gsettings list-schemas | sort
# How to list keys within a schema
# gsettings list-keys <schema>
# How to view current key value
# gsettings get <schema> <key>
# How to view the possible values of a key
# gsettings range <schema> <key>
# Show folders before files
gsettings set org.gtk.Settings.FileChooser sort-directories-first true
# Minimize button
#gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
# 12 hour time display
gsettings set org.gnome.desktop.interface clock-format 12h
# Dark theme
#gsettings set org.gnome.desktop.interface gtk-theme Adwaita
#gsettings set org.gnome.desktop.interface gtk-theme gnome-professional-40.1
# Default calendar
gsettings set org.gnome.desktop.default-applications.office.calendar exec gnome-calendar
# Don't suspend when plugged in
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type: 'nothing'
# Mouse
gsettings set org.gnome.desktop.peripherals.mouse natural-scroll false
# Touchpad
gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing true
gsettings set org.gnome.desktop.peripherals.touchpad click-method 'fingers'
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
gsettings set org.gnome.desktop.peripherals.touchpad two-finger-scrolling-enabled true
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false
# Terminal
gsettings set org.gnome.Terminal.Legacy.Settings new-terminal-mode: 'tab'
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ visible-name 'Default'
#gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ login-shell false
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ default-size-columns 140
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ default-size-rows 40
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ scrollbar-policy 'never'
# ------------------------------------------------------------------------------------
# Finish
# ------------------------------------------------------------------------------------
notify "Your Arch desktop setup is complete!"
notify "Now install audio by running either install-audio-jack or install-audio-pipewire from this Github repository."