-
Notifications
You must be signed in to change notification settings - Fork 1
/
linux-mint.sh
executable file
·146 lines (117 loc) · 3.4 KB
/
linux-mint.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
#!/usr/bin/env bash
set -e
sudo apt update
# Git.
sudo apt install -y git
git config --global user.name 'Edvinas'
git config --global user.email 'edvinas108@gmail.com'
# Power saving.
sudo apt install -y tlp tlp-rdw
sudo tlp start
# Fonts.
sudo apt install -y fonts-firacode
# Snap.
sudo apt install -y snapd
# General applications.
sudo snap install keepassxc
sudo snap install gimp
sudo snap install discord
# Dev tools.
sudo snap install postman
sudo snap install hugo
sudo snap install docker
# C# programming tools.
sudo snap install dotnet-sdk --classic
sudo snap install dotnet-runtime-31
sudo ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
# IDEs.
sudo snap install intellij-idea-ultimate --classic
sudo snap install rider --classic
sudo snap install clion --classic
# Visual Studio Code.
sudo snap install code --classic
code --install-extension streetsidesoftware.code-spell-checker
code --install-extension editorconfig.editorconfig
code --install-extension equinusocio.vsc-material-theme
code --install-extension pkief.material-icon-theme
echo '''
{
"editor.fontSize": 16,
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
"editor.minimap.enabled": false,
"editor.rulers": [80, 100],
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.detectIndentation": false,
"editor.wordWrap": "on",
"workbench.colorTheme": "Material Theme",
"workbench.iconTheme": "material-icon-theme"
}
''' > ~/.config/Code/User/settings.json
# Unity (Actual installation happens via UnityHub).
mkdir -p ~/Software/Unity
wget https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage \
-O ~/Software/Unity/UnityHub.AppImage
chmod u+x ~/Software/Unity/UnityHub.AppImage
sudo apt install libgconf-2-4
# Home dir structure.
mkdir -p ~/Projects
mkdir -p ~/Software
rm -rf ~/Public
rm -rf ~/Videos
rm -rf ~/Music
rm -rf ~/Templates
# Change lock shortcut to Super+L.
gsettings set org.cinnamon.desktop.keybindings.media-keys screensaver \
"['<Super>l', 'XF86ScreenSaver']"
# Themes.
gsettings set org.cinnamon.desktop.interface icon-theme 'Mint-Y-Dark-Orange'
gsettings set org.cinnamon.desktop.interface gtk-theme 'Mint-Y-Dark-Orange'
gsettings set org.cinnamon.desktop.wm.preferences theme 'Mint-Y-Dark'
gsettings set org.cinnamon.theme name 'Mint-Y-Dark-Orange'
# Keyboard layouts.
gsettings set org.gnome.libgnomekbd.keyboard layouts "['us', 'lt']"
gsettings set org.gnome.libgnomekbd.keyboard options \
"['grp\tgrp:alt_shift_toggle']"
# RedShift.
echo '''
[redshift]
temp-day=4000
temp-night=3000
''' > ~/.config/redshift.conf
# Firewall.
sudo ufw enable
# Set DNS to Cloudflare.
echo '''
supersede domain-name-servers 1.1.1.1, 1.0.0.1;
supersede dhcp6.name-servers 2606:4700:4700::1111, 2606:4700:4700::1001;
''' | sudo tee -a /etc/dhcp/dhclient.conf
# Fix clock when dual-booting.
timedatectl set-local-rtc 1 --adjust-system-clock
# Audio quality.
rm ~/.config/pulse/*
echo '''
default-sample-format = float32le
default-sample-rate = 48000
alternate-sample-rate = 44100
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 2
default-fragment-size-msec = 125
resample-method = soxr-vhq
enable-lfe-remixing = no
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 9
rlimit-rtprio = 9
daemonize = no
avoid-resampling = true
''' > ~/.config/pulse/daemon.conf
echo '''
pcm.!default {
type plug
slave.pcm hw
}
''' > ~/.asoundrc