Open Settings
- Appearence -> Style -> Dark
- Appearence -> Desktop Icons -> Disable Show Personal folder
- Notifications -> Do not disturb
- Power -> Screen Blank -> Never
- Accesibility -> Repeat Keys -> Delay - minimal, Speed - 60%+
Open Terminal -> Preferences
- Shortcuts
- New Tab:
Ctrl + T
- Close Tab:
Ctrl + W
- Close Window:
Ctrl + Q
- Copy:
Ctrl + C
- Paste:
Ctrl + V
- Find:
Ctrl + F
- New Tab:
- Profiles -> Unanamed
- Text -> Disable Terminal Bell
- Colors -> Disable Use colors from system theme
- Colors -> Scheme: Tango dark
- Colors -> Palette -> Scheme: Tango
Install GNOME Tweaks
sudo apt update
sudo apt install gnome-tweaks
Open Tweaks
- Keyboard & Mouse -> Additional Layout Options -> Caps Lock Behavior -> Make Caps Lock an additional Esc
- Make sure GNOME shell extensions are installed
sudo apt install gnome-shell-extensions
-
Make sure Firefox plugin is installed: https://addons.mozilla.org/en-US/firefox/addon/gnome-shell-integration/
-
Install extensions
sudo apt install zsh git curl wget vim nano tree jq \
dnsutils traceroute netcat nmap net-tools \
htop neofetch screen \
ca-certificates software-properties-common build-essential apt-transport-https gnupg2 \
attr binwalk
sudo apt install guake
Save settings from https://gist.github.com/mkorman9/1f5881de04803c6da1746fd2dc05728d to ~/guake_prefs
guake --restore-preferences ~/guake_prefs
rm -f ~/guake_prefs
Restart, F12 to open the terminal
- Install dependencies
sudo apt install gnome-screenshot xclip
- Create auxilary script
sudo vi /opt/screenshot.sh
#!/usr/bin/env bash
gnome-screenshot -acf /tmp/gnome-screenshot && \
cat /tmp/gnome-screenshot | xclip -i -selection clipboard -target image/png
- Make it executable
sudo chmod +x /opt/screenshot.sh
- Open Settings -> Keyboard -> View and customize Shortcuts -> Custom shortcuts -> + ->
take screenshot
,/opt/screenshot.sh
,Super + Shift + S
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Relogin.
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
gsettings set org.gnome.shell.app-switcher current-workspace-only true
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "['']"
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "['']"
gsettings set org.gnome.desktop.wm.keybindings begin-move "['']"
gsettings set org.gnome.desktop.wm.keybindings begin-resize "['']"
sudo vi /etc/apt/apt.conf.d/20auto-upgrades
Change 1
s to 0
s
ssh-keygen -t rsa -b 4096 -C "michal.korman@icloud.com" -q -N "" -f ~/.ssh/id_rsa
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
Download .deb from: https://1password.com/downloads/linux/
sudo apt install ./1password-latest.deb
gpg --import private.gpg
Follow https://code.visualstudio.com/docs/setup/linux
Copy configuration from: https://gist.github.com/mkorman9/cb39abc51ec033d7de072381b3cca0ef
Open vi ~/.vscode/argv.json
and add the following key:
"password-store": "basic"
Follow https://github.com/nvm-sh/nvm#installing-and-updating
nvm install --lts
Install jenv
git clone https://github.com/jenv/jenv.git ~/.jenv
eval "$(jenv init -)"
jenv enable-plugin export
exit
Install OpenJDK from Adoptium (prefferred):
curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor -o /usr/share/keyrings/adoptium.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb "$(. /etc/os-release && echo "$VERSION_CODENAME")" main" | \
sudo tee /etc/apt/sources.list.d/adoptium.list > /dev/null
sudo apt update
sudo apt install temurin-21-jdk
sudo update-alternatives --config java
jenv add /usr/lib/jvm/temurin-21-jdk-amd64
jenv global 21
Or from Azul:
curl -s https://repos.azul.com/azul-repo.key | sudo gpg --dearmor -o /usr/share/keyrings/azul.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" | \
sudo tee /etc/apt/sources.list.d/zulu.list > /dev/null
sudo apt update
sudo apt install zulu21-jdk
sudo update-alternatives --config java
jenv add /usr/lib/jvm/zulu21
jenv global 21
Or from Corretto:
cd /tmp
wget https://corretto.aws/downloads/latest/amazon-corretto-21-x64-linux-jdk.tar.gz
sudo tar -xzf amazon-corretto-21-x64-linux-jdk.tar.gz -C /opt
jenv add /opt/amazon-corretto-21.0.0.35.1-linux-x64/
jenv global 21
cd Downloads
wget https://dlcdn.apache.org/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz
sudo tar -xzf apache-maven-3.9.5-bin.tar.gz -C /opt
- Download from https://visualvm.github.io/download.html and unpack
sudo mv visualvm_217 /opt
sudo vi /usr/local/bin/visualvm
#!/usr/bin/env bash
/opt/visualvm_217/bin/visualvm --jdkhome $JAVA_HOME
sudo chmod +x /usr/local/bin/visualvm
sudo vi /usr/share/applications/visualvm.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/visualvm
Name=VisualVM
Icon=/opt/visualvm_217/etc/visualvm.icns
- Download from https://jmeter.apache.org/download_jmeter.cgi and unpack
sudo mv apache-jmeter-5.6.2 /opt
sudo ln -s /opt/apache-jmeter-5.6.2/bin/jmeter /usr/local/bin/jmeter
sudo vi /usr/share/applications/jmeter.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/bin/jmeter -j /tmp/jmeter.log
Name=JMeter
Icon=/opt/apache-jmeter-5.6.2/docs/images/mstile-144x144.png
cd /tmp
git clone git@github.com:mthmulders/mcs.git
cd mcs
mvn package -DskipTests
sudo cp target/mcs-*.jar /usr/local/lib
sudo vi /usr/local/bin/mcs
#!/usr/bin/env bash
java -jar /usr/local/lib/mcs-*.jar $@
sudo chmod +x /usr/local/bin/mcs
-
Download from: https://www.jetbrains.com/idea/download/?section=linux
-
Install
cd Downloads
sudo tar -xzf ideaIU-*.tar.gz -C /opt
rm -f ideaIU-*.tar.gz
sudo chown -R michal:michal /opt/idea-IU-*
- Apply config from: https://drive.google.com/file/d/1Xje-r44P47Nb2kkBdhJSVwJO-0rGSrVb/view?usp=sharing
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
Restart computer.
curl -s https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgres.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/postgres.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgres.list > /dev/null
sudo apt update
sudo apt install postgresql-client-15
Follow https://www.spotify.com/us/download/linux/
Download .deb from https://discord.com/api/download?platform=linux&format=deb
sudo apt install ./discord-*.deb
After installation open sudo vi /usr/share/applications/discord.desktop
and add --password-store=basic
as a command line argument.
sudo add-apt-repository multiverse
sudo apt update
sudo apt install steam
Settings -> Compatibility -> Enable Proton for all games
export PATH="${PATH}:${HOME}/.local/bin:${HOME}/.jenv/bin:/opt/apache-maven-3.9.5/bin"
export ZSH="$HOME/.oh-my-zsh"
export EDITOR="/usr/bin/vim"
ZSH_THEME="robbyrussell"
DISABLE_AUTO_UPDATE=true
plugins=(git)
source $ZSH/oh-my-zsh.sh
alias ll='ls -lah'
alias ns='npm start'
alias nt='npm test'
alias nl='npm run lint'
alias nb='npm run build'
# auto config
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
eval "$(jenv init -)"
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
[user]
name = Michal Korman
email = michal.korman@icloud.com
signingkey = 69DB578ED74C790B
[core]
autocrlf = false
[alias]
s = status
c = commit -m
p = push --set-upstream origin
l = log --pretty=format:"%h%x09%an%x09%ad%x09%s"
a = add
au = add -u
u = pull --ff-only
sw = switch
nb = checkout -b
db = branch -d
unstage = restore --staged
branches = !git --no-pager branch --list -a
tags = !git --no-pager tag --list
changes = diff --cached
latest = !git tag --sort=-v:refname | head -1
resetn = "!f() { git reset --hard HEAD~${1-1}; }; f"
[url "git@github.com:"]
insteadOf = https://github.com/
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
https://drive.google.com/file/d/1NKj4iSYF4uuUAhOwC8G6E3Njt0pABVqR/view?usp=sharing
Follow: https://openrazer.github.io/#download
Then follow: https://polychromatic.app/download/ubuntu/
Restart
sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt update
sudo apt install ubuntu-xboxdrv
Restart
cd /tmp
wget -O /tmp/YaHei.Consolas.1.12.zip https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/uigroupcode/YaHei.Consolas.1.12.zip
unzip /tmp/YaHei.Consolas.1.12.zip
sudo mkdir -p /usr/share/fonts/consolas
sudo mv YaHei.Consolas.1.12.ttf /usr/share/fonts/consolas/
sudo chmod 644 /usr/share/fonts/consolas/YaHei.Consolas.1.12.ttf
cd /usr/share/fonts/consolas
sudo mkfontscale && sudo mkfontdir && sudo fc-cache -fv
-
Check available sinks and sources with
pacmd list-sources
andpacmd list-sinks
-
sudo vi /opt/set_audio_devices.sh
#!/usr/bin/env bash
pactl set-default-source alsa_input.usb-Generic_Blue_Microphones_2053BAB06UD8-00.analog-stereo
pactl set-default-sink alsa_output.pci-0000_0d_00.4.analog-stereo
-
sudo chmod +x /opt/set_audio_devices.sh
-
Open Startup Applications -> Add ->
set default audio devices
,/opt/set_audio_devices.sh
- Check KERNEL param with the following command
udevadm info --attribute-walk /sys/class/drm/card0 | grep "KERNEL="
- Create new udev rule
sudo vi /etc/udev/rules.d/30-amdgpu-pm.rules
KERNEL=="card0", SUBSYSTEM=="drm", DRIVERS=="amdgpu", ATTR{device/power_dpm_force_performance_level}="high"
(KERNEL must match output of the previous command)
- Add flags for kernel
sudo vi /etc/default/grub
Find GRUB_CMDLINE_LINUX_DEFAULT
and add amdgpu.dcdebugmask=0x10 amdgpu.sg_display=0
so it looks like
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.dcdebugmask=0x10 amdgpu.sg_display=0"
- Update GRUB
sudo update-grub
- Restart
echo "options snd_hda_intel power_save=0" | sudo tee -a /etc/modprobe.d/audio_disable_powersave.conf
sudo vi /etc/gdm3/custom.conf
Change WaylandEnable
to false
sudo systemctl restart gdm3