-
Notifications
You must be signed in to change notification settings - Fork 0
/
fedora_post_install.sh
executable file
·196 lines (166 loc) · 7.81 KB
/
fedora_post_install.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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#!/bin/bash
# Determine git user and email address
GIT_USERNAME=""
GIT_EMAIL=""
echo "#####################"
echo "The scripts for configuring the GNU/Linux based operating system"
echo "#####################"
echo "-> Update Fedora packages"
sudo dnf -y update
echo "#####################"
echo "-> Install packages for Fedora"
sudo dnf -y install vim neovim fish powerline powerline-fonts java-11-openjdk maven libwebp-tools alien gtk-murrine-engine neofetch
pip3 install pynvim
pip install --user powerline-status
pip install --user git+git://github.com/powerline/powerline
wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf -P /tmp/
mkdir -p $HOME/.local/share/fonts/
mv /tmp/PowerlineSymbols.otf $HOME/.local/share/fonts/
wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf -P /tmp/
mkdir -p $HOME/.config/fontconfig/conf.d/
mv /tmp/10-powerline-symbols.conf $HOME/.config/fontconfig/conf.d/
echo "#####################"
echo "-> Install nvm (NPM/Node Manager)"
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
echo "#####################"
echo "-> Copy fish config"
mkdir -p $HOME/.config/fish/functions
cp fish/fedora_config.fish $HOME/.config/fish/config.fish
cp fish/functions/nvm.fish $HOME/.config/fish/functions/nvm.fish
echo "#####################"
echo "-> Configure neovim editor"
mkdir -p $HOME/.config/nvim/
cp nvim/init.vim $HOME/.config/nvim/init.vim
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
echo "#####################"
echo "-> Install and configure Gradle (Java)"
wget https://services.gradle.org/distributions/gradle-6.8.3-bin.zip -P /tmp/
unzip /tmp/gradle-6.8.3-bin.zip -d /tmp/
sudo mv /tmp/gradle-6.8.3 /opt/gradle
echo "####################"
echo "-> Configure git globally"
git config --global user.email "$GIT_EMAIL"
git config --global user.name "$GIT_USERNAME"
git config --global init.defaultBranch main
echo "####################"
echo "-> Generate ssh keys"
ssh-keygen -t ed25519 -C "$GIT_EMAIL"
echo "####################"
echo "-> Install JetBrains Toolbox"
wget https://download-cf.jetbrains.com/toolbox/jetbrains-toolbox-1.20.8352.tar.gz -P /tmp/
tar -zxvf /tmp/jetbrains-toolbox-1.20.8352.tar.gz --directory /tmp/
sudo mv /tmp/jetbrains-toolbox-1.20.8352 /opt/jetbrains-toolbox
sudo ln -s /opt/jetbrains-toolbox/jetbrains-toolbox /usr/bin/jetbrains-toolbox
echo "####################"
echo "-> Install Visual Studio Code"
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo dnf -y check-update
sudo dnf -y install code
echo "####################"
echo "-> Configure Visual Studio Code"
git clone https://gist.github.com/81b9df6183d85b65cbc2e572df6e4e13.git /tmp/vscode-settings/
mkdir -p $HOME/.config/Code/User/
mv /tmp/vscode-settings/VSCode\ Settings $HOME/.config/Code/User/settings.json
git clone https://gist.github.com/b191d5341839aa9b63d48f9514d09d45.git /tmp/vscode-extensions/
echo "-> Install Visual Studio Extensions"
EXTENSIONS_FILE="/tmp/vscode-extensions/vscode-extensions"
EXTENSIONS_LINES=`cat $EXTENSIONS_FILE`
for extension in $EXTENSIONS_LINES; do
echo " * Install $extension"
code --install-extension $extension
echo "done..."
echo ""
done
echo "####################"
echo "-> Install Android Studio"
wget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/4.2.1.0/android-studio-ide-202.7351085-linux.tar.gz -P /tmp/
tar -zxvf /tmp/android-studio-ide-202.7351085-linux.tar.gz --directory /tmp/
sudo mv /tmp/android-studio /opt/
echo "####################"
echo "-> Install Telegram Desktop"
wget https://updates.tdesktop.com/tlinux/tsetup.2.7.4.tar.xz -P /tmp/
tar -xvf /tmp/tsetup.2.7.4.tar.xz --directory /tmp/
sudo mv /tmp/Telegram /opt/
echo "####################"
echo "-> Install v4l2loopback from sentry/v4l2loopback"
sudo dnf -y copr enable sentry/v4l2loopback
sudo dnf -y install v4l2loopback
sudo dnf -y install v4l2loopback-dkms
echo "####################"
echo "-> Install and configure Iriun Webcam"
wget http://iriun.gitlab.io/iriunwebcam-2.3.1.deb -P /tmp/
sudo alien -r /tmp/iriunwebcam-2.3.1.deb --target=x86_64
sudo dnf -y install iriunwebcam-2.3.1.x86_64.rpm
sudo rm -rf iriunwebcam-2.3.1.x86_64.rpm
sudo modprobe v4l2loopback exclusive_caps=1
echo "####################"
echo "-> Install Docker Engine and Docker Composer"
sudo dnf -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
sudo dnf -y install dnf-plugins-core
sudo dnf -y config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose
sudo systemctl enable docker
sudo usermod -G docker -a $USER
echo "####################"
echo "-> Install and configure OBS Studio"
echo " * Enable RPM Fusion"
sudo dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf -y install obs-studio
mkdir -p $HOME/.config/obs-studio/plugins
wget https://github.com/bazukas/obs-linuxbrowser/releases/download/0.6.1/linuxbrowser0.6.1-obs23.0.2-64bit.tgz -P /tmp/
tar -zxvf /tmp/linuxbrowser0.6.1-obs23.0.2-64bit.tgz -C $HOME/.config/obs-studio/plugins/
echo "####################"
echo "-> Install Microsoft Teams"
wget https://packages.microsoft.com/yumrepos/ms-teams/teams-1.4.00.7556-1.x86_64.rpm -P /tmp/
sudo dnf -y localinstall /tmp/teams-1.4.00.7556-1.x86_64.rpm
echo "####################"
echo "-> Configure user ambient"
echo " * Create Project path"
mkdir $HOME/Projects
echo " * Configure face (User image)"
cp user/face.jpg $HOME/.face
cp user/face.jpg $HOME/Pictures/me.jpg
echo " * Copy Tela icon theme"
cp -r user/icons $HOME/.icons
echo " * Copy gtk themes"
cp -r user/themes $HOME/.themes
echo " * Copy Wallpappers"
cp -r user/Wallpapers $HOME/Pictures/Wallpapers
echo " * Copy users fonts"
cp -r user/fonts $HOME/.fonts
echo " * Copy OBS overlays"
cp -r user/obs $HOME/Pictures/obs
echo " * Copy GTK3 settings"
cp -r user/gtk3/* $HOME/.config/gtk-3.0/
echo " * Copy Gnome-shell extensions"
cp -r user/gnome-shell/extensions/* $HOME/.local/share/gnome-shell/extensions/*
echo " * Set window controls to the left (the correct location ;) )"
gsettings set org.gnome.desktop.wm.preferences button-layout 'close,minimize,maximize:'
echo " * Set default theme"
gsettings set org.gnome.desktop.interface gtk-theme "Ant"
echo " * Set default window theme"
gsettings set org.gnome.desktop.wm.preferences theme "Ant"
echo " * Set default icon theme"
gsettings set org.gnome.desktop.interface icon-theme "Tela"
echo " * Set background"
gsettings set org.gnome.desktop.background picture-uri "file:///$HOME/Pictures/Wallpapers/alex-robert-sbwuDopIUPI-unsplash.jpg"
echo "####################"
echo "-> Configure .webp files"
sudo cp -r thumbnail/* /usr/share/thumbnailers
rm -rf $HOME/.cache/thumbnails/*
echo "####################"
echo "-> Install desktop apps"
echo " * Evolution Email Client"
sudo dnf -y evolution
echo " * Spotify via negativo17"
sudo dnf -y config-manager --add-repo=https://negativo17.org/repos/fedora-spotify.repo
sudo dnf -y install spotify-client
echo " * Gnome-tweaks"
sudo dnf -y install gnome-tweaks gnome-extensions-app
echo " * GIMP, Audacity and Inkscape"
sudo dnf -y install gimp audacity inkscape
echo "#####################"
echo "All done!"
echo "Run ./fish_config.sh in the fish shell"
fish source $HOME/.config/fish/config.fish