configs

Apps and configs I use (they are specific to my systems, be careful)

View the Project on GitHub astrolince/configs

configs

General guidelines and philosophy

I’ll try to keep this as simple as posible to increase mantainability and troubleshooting, and minimize unexpected behavior.

Also, if I can keep something in the userspace using Flatpaks without affecting usability, I’ll prefer that to reduce system clutterness and increase security.

PC Master Race

CPU: AMD Ryzen 5 3600

GPU: AMD Radeon RX 5600 XT 6 GB

RAM: 16 GB (2 x GeIL Super Luce 8 GB DDR4 3200MHz)

M2: ADATA XPG Spectrix S40G 512 GB

MB: ASUS TUF B450M-PRO Gaming

BIOS config

Specific for Manjaro KDE

Pacman tweaks

Regenerate the mirrors list with the fastest ones:

$ sudo pacman-mirrors --fasttrack

Update system

$ sudo pacman -Syyuu

Install from official repos

$ sudo pacman -Sy --needed android-tools flatpak snapd git tree base-devel bash curl gawk gzip p7zip gnupg cronie wget aria2 tor torsocks neofetch nano gparted ruby python go net-tools vim exa qemu virt-manager zsh dnscrypt-proxy lutris gamemode gufw kgpg linux-latest linux-latest-headers linux-latest-virtualbox-host-modules virtualbox virtualbox-guest-iso brave keybase keybase-gui kbfs code

Specific for Fedora Workstation

Update system

$ sudo dnf update

Install from official repos

$ sudo dnf install android-tools flatpak snapd git tree @development-tools bash curl gawk gzip p7zip p7zip-plugins gnupg2 cronie wget aria2 tor torsocks neofetch nano gparted ruby python go net-tools vim exa qemu virt-manager zsh util-linux-user dnscrypt-proxy lutris gamemode firewall-config seahorse gnome-boxes dnf-plugins-core gnome-tweaks

Install Brave

Install Keybase

Install VSCodium

For all distros:

Flatpaks

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

$ flatpak install flathub org.signal.Signal com.github.micahflee.torbrowser-launcher org.telegram.desktop org.libreoffice.LibreOffice com.valvesoftware.Steam org.kde.kdenlive org.gimp.GIMP org.audacityteam.Audacity org.libretro.RetroArch org.blender.Blender im.riot.Riot org.kde.krita com.obsproject.Studio org.videolan.VLC com.transmissionbt.Transmission com.system76.Popsicle

$ wget https://dl.strem.io/shell-linux/v4.4.116/Stremio+4.4.116.flatpak

$ flatpak install Stremio+4.4.116.flatpak

Signal

$ sudo nano /var/lib/flatpak/exports/share/applications/org.signal.Signal.desktop

Add --use-tray-icon to the end of the Exec command.

Steam tweaks

gamemoderun %command%

In some OpenGL games can be useful to add mesa_glthread=true at the beginning, and in some Vulkan games can be useful to add RADV_PERFTEST=aco and/or DXVK_ASYNC=1(this last one is related to anti-cheats false positives, so don’t use it in online games to avoid bans).

Snaps

$ sudo systemctl enable --now snapd.socket

$ sudo ln -s /var/lib/snapd/snap /snap

$ sudo snap install authy --beta

Install Oh My Zsh

Keybase

$ keybase pgp export | gpg --import

$ keybase pgp export -s | gpg --allow-secret-key-import --import

Git

$ git config --global color.ui true

$ git config --global user.name "astrolince"

$ git config --global user.email "[email protected]"

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

$ cat ~/.ssh/id_rsa.pub

Paste to https://github.com/settings/ssh.

$ echo 'export GPG_TTY=$(tty)' >> ~/.bashrc

$ echo 'export GPG_TTY=$(tty)' >> ~/.zshrc

$ git config --global user.signingkey CC39C6D77BDF0053

$ git config --global commit.gpgsign true

Hosty

$ curl -L git.io/hosty | sh

Brave Extensions

Bitwarden

ClearURLs

Decentraleyes

JSON Viewer

Privacy Possum

Privacy Settings

Vim

$ nano ~/.vimrc

set showmode
set autoindent
set tabstop=4
set expandtab
syntax on

Exa

Replace ls command with exa:

$ echo 'alias ls=exa' >> ~/.bashrc

$ echo 'alias ls=exa' >> ~/.zshrc

NetworkManager randomize

$ sudo nano /etc/NetworkManager/conf.d/99-randomize-mac-address.conf

[device-mac-randomization]
wifi.scan-rand-mac-address=yes

[connection-mac-randomization]
ethernet.cloned-mac-address=random
wifi.cloned-mac-address=random

$ sudo systemctl restart NetworkManager

DNS over HTTPS

$ sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

listen_addresses = []
max_clients = 250

ipv4_servers = true
ipv6_servers = true

dnscrypt_servers = true
doh_servers = true

require_dnssec = true
require_nolog = true
require_nofilter = true
force_tcp = false

timeout = 5000
keepalive = 30

blocked_query_response = 'refused'

lb_strategy = 'p2'
lb_estimator = true

use_syslog = true

cert_refresh_delay = 240

dnscrypt_ephemeral_keys = true

fallback_resolvers = ['1.1.1.1:53', '1.0.0.1:53', '9.9.9.9:53', '8.8.8.8:53']
ignore_system_dns = true
netprobe_timeout = 60
netprobe_address = '1.1.1.1:53'

log_files_max_size = 10
log_files_max_age = 7
log_files_max_backups = 1

block_ipv6 = false
block_unqualified = true
block_undelegated = true
reject_ttl = 600

cache = true
cache_size = 4096
cache_min_ttl = 2400
cache_max_ttl = 86400
cache_neg_min_ttl = 60
cache_neg_max_ttl = 600

[sources]
    [sources.'public-resolvers']
    urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md', 'https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md']
    minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
    cache_file = 'public-resolvers.md'

$ sudo systemctl enable --now dnscrypt-proxy.socket

Change your connections DNS to 127.0.0.1 for IPv4 and ::1 for IPv6.

GNOME Extensions

Arc Menu

Bitcoin Markets

Caffeine

Clipboard Indicator

Dash to Dock

GameMode

GSConnect

Impatience

KStatusNotifierItem/AppIndicator Support

OpenWeather

Places Status Indicator

Sound Input & Output Device Chooser