-
Notifications
You must be signed in to change notification settings - Fork 0
/
ubuntu-steps
270 lines (220 loc) · 9.56 KB
/
ubuntu-steps
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
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
# vi:ft=sh
Update and restart, I guess
Create ssh key (for example with ssh-keygen -t ed25519)
Install git
sudo apt update
sudo apt install git
# TODO: Create section to remove snap?
Add NaturalScrolling True and Tapping on to
/usr/share/X11/xorg.conf.d/40-libinput.conf
# F this
sudo snap remove firefox
sudo add-apt-repository ppa:mozillateam/ppa
echo 'Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001' | sudo tee /etc/apt/preferences.d/mozilla-firefox
sudo apt update
sudo apt install -y firefox
# Firefox snap reinstalled it by its own. I deleted ~/snap/firefox and also
# changed the firefox.desktop exec to where the deb is installed. The desktop
# file is located in /usr/share/applications/firefox.desktop. Basically set the
# Exec to /usr/bin/firefox, which was the path shown to me by `which firefox`.
### I guess we start here or at F-ing snap firefox
git clone [email protected]:lucassperez/dotfiles.git
# Locales are located at /etc/default/locale in Ubuntu, but we can also
# manipulate it with update-locale or localectl
sudo localectl set-locale LANG=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8 LC_MEASUREMENT=pt_BR.UTF-8 LC_TIME=pt_BR.UTF-8
# For gods sake!!
gsettings set org.gnome.desktop.wm.preferences audible-bell false
# Also might change /etc/inputrc, find the line with "set bell-style none" and uncomment it,
# or create it if it does not yet exist.
# Also this. How many ways are there for the computer to bip at us?
gsettings set org.gnome.desktop.sound event-sounds false
# Gedit, please
gsettings set org.gnome.gedit.preferences.editor insert-spaces true
gsettings set org.gnome.gedit.preferences.editor tabs-size 2
gsettings set org.gnome.gedit.preferences.editor display-right-margin true
sudo apt update
sudo apt install -y zsh tmux jq xclip vlc gimp peek figlet acpi flameshot \
unclutter-xfixes pavucontrol ripgrep zoxide tree fd-find bat
mkdir -p ~/.cache/zsh/
mkdir -p ~/.config/zsh/plugins
cd ~/.config/zsh/plugins
git clone [email protected]:zdharma-continuum/fast-syntax-highlighting.git
cd ~
sudo apt install -y awesome xcompmgr fonts-font-awesome light lxappearance \
suckless-tools numlockx xwallpaper blueman
# Otherwise, light won't work
sudo usermod -a -G video $USER
sudo apt install -y rofi
sudo apt install -y python3-pip xdotool
pip install rofi-moji
mkdir -p ~/.config
mkdir -p ~/.config/awesome
git clone [email protected]:frioux/charitable.git ~/.config/awesome/charitable
# ASDF stuff
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.1
# If want to use rtx instead of asdf
# curl https://rtx.pub/rtx-latest-linux-x64 > ~/rtx_bin_downloaded_for_now
# chmod +x ~/rtx_bin_downloaded_for_now
# sudo mv ~/rtx_bin_downloaded_for_now /usr/local/bin/rtx
# Since we have not sourced our configs yet, asdf is not in path.
# So, before using it, we have to manually execute this shell script.
. $HOME/.asdf/asdf.sh
# Lua dependencies
sudo apt-get install linux-headers-$(uname -r) build-essential
asdf plugin-add neovim
asdf plugin-add lua
asdf plugin-add golang
asdf plugin-add rust
asdf install neovim 0.8.3
asdf install lua 5.4.3
asdf install golang 1.18
asdf install rust 1.66.0
asdf global neovim 0.8.3
asdf global lua 5.4.3
asdf global golang 1.18
asdf global rust 1.66.0
# Same goes for rtx
# eval "$(rtx activate zsh)"
# rtx install neovim 0.8.3
# rtx install lua 5.4.3
# rtx install golang 1.18
# rtx install rust 1.66.0
# rtx global neovim 0.8.3
# rtx global lua 5.4.3
# rtx global golang 1.18
# rtx global rust 1.66.0
sudo apt install -y libreadline-dev
luarocks install luaprompt
# Comment just to remind that with rtx, don't need to symlink
mkdir -p ~/.local/bin
ln -s ~/.asdf/installs/lua/5.4.3/luarocks/bin/luap ~/.local/bin/luap
go install github.com/charmbracelet/glow@latest
mkdir -p ~/sources
git clone https://github.com/alacritty/alacritty.git ~/sources/alacritty
cd ~/sources/alacritty
rustup override set stable
rustup update stable
sudo apt-get install -y cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3
cargo build --release
sudo infocmp alacritty || sudo tic -xe alacritty,alacritty-direct extra/alacritty.info
sudo cp target/release/alacritty /usr/local/bin # or anywhere else in $PATH
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo desktop-file-install extra/linux/Alacritty.desktop
sudo update-desktop-database
# With a desktop entry, no symlink is necessary
# ln -s ~/sources/alacritty/target/release/alacritty ~/.local/bin/alacritty
sudo cp extra/logo/alacritty-term.svg /usr/share/pixmaps/Alacritty.svg
sudo desktop-file-install extra/linux/Alacritty.desktop
sudo update-desktop-database
sudo mkdir -p /usr/local/share/man/man1
gzip -c extra/alacritty.man | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
gzip -c extra/alacritty-msg.man | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
cd ~
cd ~
wget -P ~/Downloads/ -- https://zoom.us/client/5.13.3.651/zoom_amd64.deb
sudo apt -y install ~/Downloads/zoom_amd64.deb
sudo apt-get install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
newgrp docker
sudo systemctl enable docker.service
sudo systemctl start docker.service
getent group | grep '^docker:' >/dev/null 2>&1 || sudo groupadd docker
sudo usermod -aG docker "$USER"
# Has to restart to use it or run newgrp docker, but this creates another shell,
# so I really don't think it should be used in a script. Maybe at the end of
# everything, but still.
# Also, docker-compose I believe was moved to a docker command with the already
# installed docker-compose-plugin, so `docker compose` should just work, but we
# can still download this binary, I guess.
# Also, the version might change, better check the github release page:
# https://github.com/docker/compose/releases?page=1
# Older versions didn't have the "v", just the version names, so be careful!
# Apparently, version 1 releases didn't have v, and 2 ownward do.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.14.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# TODO find out dmenu dependencies and make this work
sudo apt install libx11-dev libxinerama-dev libxft-dev
git clone [email protected]:lucassperez/dmenu-simple-build.git ~/sources/dmenu
cd ~/sources/dmenu
make
sudo make install
cd ~
wget -P ~/.local/bin/ https://raw.githubusercontent.com/GeorgeFilipkin/pulsemixer/master/pulsemixer && chmod +x ~/.local/bin/pulsemixer
# Install flatpak and add flathub and then
# install kolourpaint from there
sudo apt install -y flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y flathub org.kde.kolourpaint
# clipnotify requires libx11-dev and libxfixes-dev, while clipmenu requires xsel
git clone [email protected]:cdown/clipnotify.git ~/sources/clipnotify
sudo apt install -y libx11-dev libxfixes-dev xsel
cd ~/sources/clipnotify
make
sudo make install
git clone [email protected]:cdown/clipmenu.git ~/sources/clipmenu
cd ~/sources/clipmenu
sudo make install
cd ~
git clone [email protected]:troglobit/xplugd.git ~/sources/xplugd
cd ~/sources/xplugd
sudo apt install -y autoconf libxrandr-dev libxi-dev
./autogen.sh
./configure
make
sudo make install
# Yaru colors?
# [email protected]:Jannomag/Yaru-Colors.git
git clone https://github.com/faf0/sct ~/sources/sct
cd ~/sources/sct
make
sudo make install
cd ~
sudo apt install -y tig vim
sudo apt install -y neofetch
mkdir -p ~/.config/neofetch
ln -s ~/dotfiles/pinguim-ascii-art1 ~/.config/neofetch/ascii-art
rm ~/.config/neofetch/config.conf
ln -s ~/dotfiles/EXAMPLE-FILES/neofetch ~/.config/neofetch/config.conf
sudo apt install wtype xdotool
pip install --user rofimoji
# Bulk rename?
# On fedora, I use rnm, so I install here to
# just for consistency, although rename is
# pretty good, too
# rename
sudo apt install -y rename
# rnm
mkdir -p ~/.local/bin/
wget -P ~/.local/bin/ -- https://raw.githubusercontent.com/circulosmeos/rnm/master/rnm
chmod +x ~/.local/bin/rnm
###
Change shell to zsh at the end with (/usr/bin/zsh, very likely)
chsh -s `which zsh`
If going to install ruby, will need libssl-dev
When compiling erlang, use KERL_BUILD_DOCS=yes
Ubuntu's 22.04 tmux version does not have #{user}, so I will probably be desired
to add a ~/.local/tmux.conf.local with this:
set -g status-right '#{?client_prefix,#[bold]!, }[#(echo $USER)@#{host}] '
I tried to set the cursor on so many ways, only using lxappearance was not consistent,
so I tried setting it in
- /usr/share/icons/default/index.theme
- ~/.config/gtk-3.0/settings.ini
and also with
gsettings set org.gnome.desktop.interface cursor-theme 'DMZ-Black'
Which didn't really work. But after all this, I used lxappearance to set it also
to DMZ-Black and then it finally worked, apparently.
I also ran flatpak --user override --filesystem=/usr/share/icons/:ro, so hopefully
flatpaks will be able to see this directory with the icons. And lastly,
I added a ~/.xprofile with "xrdb ~/.Xresources" and a ~/.Xresources with "Xcursor.theme: DMZ-Black".
Keep in mind that /etc/gdm3/Xsession sources ~/.xprofile.
After installing blueman, can change the /etc/bluetooth/main.conf to set this:
Experimental=true
This allows it to show the battery of devices