Můj stack

31. 05. 2022

Dnes vám trochu přiblížím výbavu měho počítače, hlavně tedy tu softwarovou výbavu. Na počítači primárně programuji, ale i hraji a relaxuji. Můj pracovní stroj je 14ti palcový notebook Dell Latitude z roku 2019. Procesor je Intel i7 s 6 fyzickými jádry a 16 GB operační pamětí. Na notebook je to poměrně našlapaná mašina s dobrým displejem.

Největším žroutem výkonu při mé práci jsou PHPStorm a Docker. Již před nějakým časem jsem přešel s vývojem na Linux Manjaro. Zprvu na variantu XFCE a pote na KDE a spokojeně jej uživám dodnes. Co se ale v nedávné době změnilo je dualboot s Windows. Ten jsem již zrušil a mám tedy pouze Linux. Na hry používám už jen Geforce Now v kombinaci se streamováním her z velkého domácího počítače přes herní platformu Steam.

Operační systém Linux Manjaro KDE

Při instalaci jsem zapnul šifrování disku, neboť se jedná hlavně o pracovní počítač. Jako souborový system jsem zvolil moderní Btrfs, který má výhodu v rychlém vytváření snapshotů, kterou využijemi dále při nastavení zálohování.

Provedl jsem několik úprav vzhledu panelu, který používám vždy nalevo s popisky pro vetší přehlednost velkého množství otevřených aplikací. Pokoušel jsem se o něco podobného v prostředí XFCE, ale dokonalé a lehce nastavitelné jako s KDE to nebylo.

Hlavní panel

Pak je potřeba zapnout baličky i z AUR, kde je spousta proprietárního softwaru.

Ještě jedna důležitá úprava - zvětšení velikosti swapu. Při instalaci jsem zvolil swapování do souboru, takže zvětšení už nebude tak složité viz oficiální dokumentace. Já používám swap o velikost 20 GB.

swapon

sudo swapoff /swap/swapfile
sudo rm /swap/swapfile

sudo truncate -s 0 /swap/swapfile
sudo chattr +C /swap/swapfile
sudo btrfs property set /swap/swapfile compression none

sudo dd if=/dev/zero of=/swap/swapfile bs=1M count=20480 status=progress
sudo chmod 600 /swap/swapfile
sudo mkswap /swap/swapfile
sudo swapon /swap/swapfile

AUR

A protože používám dvě varianty klávesnice - českou QWERTY a Americkou, tak jsem nastavil přepínání, včetně použití pro každé okno zvlášť:

Klavesnice

Google chrome

Můj hlavní prohlížeč, používám oddělené profily pro osobní a pracovní věci.

Onedriver

Důležitá data, včetně klíčenky na hesla mám dlouhá léta na Microsoft OneDrive. Onedriver dokáže připojit OneDrive jako další disk v počítači. Je důležité vypnout náhledy složek v Dolphinu (prohlížeč souborů v KDE) pro rychlejší stahování a aby se nemusely všechny obrázky hned stahovat z OneDrive.

Je vhodné také zastavit indexování obsahu pro složku, kterou máte připojenou k OneDrive.

Dolphin

KeepassXC

Alfa a omega mé práce, nástroj který mi velmi zjednodušuje práci s hesly, kterých používám neskutečné množství v prohlížeči, ssh a jiných aplikacích. Také je to uložiště pro mé ssh klíče. Samozřejmostí je zapnutí automatického uložení při jakékoliv změně databáze.

Pro propojení s prohlížečem je potřeba KeepassXC-browser jako doplněk do Google Chrome.

Pro propojení s SSH Agentem je potřeba trochu více nastavování. Skvělý návod v angličtině je zde. Tady uvedu takový krátký a stručný výtah:

SSH

Pro vygenerování SSH klíče jsem použil:

ssh-keygen -t ed25519 -C "Osobní klíč 2022"

a zadal velmi silné heslo, například 120 znaků dlouhé a vygenerované v Keepassu.

Heslo včetně privátního klíče uložím jako položku v Keepassu:

SSH

Poté už jen zapnu přístup k SSH Agentu:

SSH

Zapnutí SSH Agenta

Vytvořím soubor ~/.config/systemd/user/ssh-agent.service

[Unit]
Description=SSH key agent

[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
# DISPLAY required for ssh-askpass to work
Environment=DISPLAY=:0
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK

[Install]
WantedBy=default.target

Přidám SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/ssh-agent.socket" do souboru ~/.pam_environment. Poté se znovu přihlásím do systému. A nastartuji SSH Agenta:

systemctl enable --now --user ssh-agent

Pak už se můžu přihlásit i na vzdálený server a tam používat SSH klíč pro další přihlašování pomocí:

ssh -A someuser@somecoolserver

Skype

Pro komunikaci s kamarády používáme skype, který je konečně i ve verzi pro linux. Jediný zádrhel byl v potichém mikrofonu, který lze ale velmi jednoduše (s citem - pozor na echo a uši kamarádů) nastavit.

Zvuk

Timeshift

Používám pro zálohy systému v případě když se moc rozvášním a experimentuji se systémovými soubory. Zálohy jsou ukládány lokálně a díky Btrfs jsou velmi rychlé.

Timeshift

Kopia UI

Pro zálohu home adresáře. Velká výhoda je, že lze zálohy ukládat do AWS S3. Protože si se službami AWS tykám, je to jasná volba. Stačí vytvoři S3 bucket a IAM uživatele s přístupem pro aplikace. Uvidíme, jak to vyjde cenově.

Kopia

Nastavit je nutné jen ignorování zbytečných složek - pokud si nejsem jistý mrknu na analyzátor disku a řídím se složkami, které zabírají moc místa a jestli jsou opravdu důležite. Zde jen výpis v JSON, ale jinak jsem to naklikal v aplikaci:

{
    "retention": {},
    "files": {
        "ignore": [
            ".cache",
            "OneDrive",
            ".local/share/Steam",
            ".local/share/baloo",
            ".local/share/Trash",
            ".config/google-chrome",
            ".config/Slack/Service Worker",
            ".config/Slack/Cache"
        ]
    },
    "errorHandling": {},
    "scheduling": {
        "intervalSeconds": 43200,
        "timeOfDay": [
            {
                "hour": 20,
                "min": 0
            }
        ]
    },
    "compression": {},
    "actions": {},
    "logging": {
        "directories": {},
        "entries": {}
    },
    "upload": {}
}

Docker

Často využívaný Docker a Docker Compose, svatý grál současného vývoje. Pro spuštění je opět potřeba trochu magie abych mohl pouštět docker bez sudo:

sudo usermod -aG docker $USER

newgrp docker

sudo systemctl enable --now docker

Ostatní

A co mi ještě schází? Samozřejmě na práci PHPStorm, Slack, Postman, SQLEctron a Midnight Commander.

A na hraní Steam a Geforce Now.

Skoro se mi chce říci, že je to takový pěkný základ, léty broušený a prověřený v provozu.

Twitter, Facebook