Aktualizacja pakietów

dnf update

Instalacja repozytorium RPM Fusion

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Pakiety - środowisko tekstowe i graficzne

#!/usr/bin/env bash

sudo dnf install \
    age \
    alacritty \
    bat \
    cargo \
    chromium-freeworld \
    curl \
    dmenu \
    elinks \
    exa \
    fd-find \
    figlet \
    firefox \
    fish \
    flatpak \
    fzf \
    gh \
    git \
    go \
    gopass \
    hddtemp \
    herbstluftwm \
    htop \
    imwheel \
    jq \
    keepassxc \
    kernel-tools \
    keychain \
    kleopatra \
    light \
    mc \
    meld \
    mtr \
    ncdu \
    neomutt \
    neovim \
    neovim-qt \
    net-tools \
    network-manager-applet \
    nextcloud-client \
    nmap \
    nnn \
    obs-studio \
    opendoas \
    openssl \
    openvpn \
    pam_yubico \
    picom \
    polybar \
    pv \
    pwgen \
    python3-gnupg \
    qrencode \
    rclone \
    redhat-lsb-core \
    remmina \
    remmina-plugins-rdp \
    restic \
    ripgrep \
    rofi \
    rsync \
    sakura \
    screenkey \
    sd \
    sddm \
    skim \
    supervisor \
    surfraw \
    sxhkd \
    syncthing \
    timeshift \
    tmux \
    vim-enhanced \
    vim-X11 \
    vlc \
    w3m \
    w3m-img \
    wget \
    wireguard-tools \
    wireshark \
    wireshark-cli \
    wl-clipboard \
    wmctrl \
    wtype \
    xclip \
    xdotool \
    xprop \
    xrandr \
    xset \
    xsetroot \
    xwininfo \
    yakuake \
    ydotool \
    yubikey-manager \
    yubikey-manager-qt \
    yubioath-desktop \
    zathura-pdf-mupdf \
    zathura-plugins-all \
    zsh

Pakiety devel

sudo dnf install \
    alsa-lib-devel \
    autogen \
    cairo-devel \
    cargo \
    check-devel \
    chkconfig \
    cmake \
    double-conversion-devel \
    ffmpeg \
    fmt-devel \
    fontconfig-devel \
    gcc-c++ \
    gdbm-devel \
    gflags-devel \
    glibc-static \
    glog-devel \
    gmock-devel \
    gobject-introspection-devel \
    golang \
    gperftools-devel \
    gpgme-devel \
    gtk3-devel \
    harfbuzz-devel \
    jsoncpp-devel \
    keybinder3-devel \
    libatasmart-devel \
    libconfig-devel \
    libidn-devel \
    libidn2-devel \
    libjpeg-turbo-devel \
    librsvg2-devel \
    libvala-devel \
    libX11-devel \
    libxcb-devel \
    libxdo-devel \
    libXft-devel \
    libXinerama-devel \
    libxkbcommon-x11-devel \
    libXpm-devel \
    libXt-devel \
    libXv-devel \
    lmdb-devel \
    lua-devel \
    meson \
    ncurses-devel \
    ninja-build \
    nodejs-npm \
    notmuch-devel \
    npm \
    openssl-devel \
    p7zip \
    p7zip-gui \
    p7zip-plugins \
    pango-devel \
    pixman-devel \
    python3-devel \
    python3-distutils-extra \
    python3-utils \
    qdbm-devel \
    qt-devel \
    qt5-qttools-devel \
    readline-devel \
    startup-notification-devel \
    tokyocabinet-devel \
    wayland-devel \
    wayland-protocols-devel \
    wlroots-devel \
    xcb-proto \
    xcb-util-cursor-devel \
    xcb-util-devel \
    xcb-util-keysyms-devel \
    xcb-util-xrm-devel \
    xorg-x11-proto-devel

sudo dnf install @c-development

sudo dnf install @development-tools

Oprogramowanie spoza repozytorium

Instalacja Xorg od podstaw

dnf install xorg-x11-server-Xorg xorg-x11-xinit xterm xsel

Instalacja KDE

dnf install @kde-desktop-environment

SDDM

Wyłączenie GDM i włączenie SDDM

systemctl disable gdm
systemctl enable sddm

Instalacja Flatpak

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

flatpak install com.spotify.Client

Katalogi i configi

mkdir workspace
mkdir workspace/{src,git}
ln -s ~/workspace/src/ ~/src
ln -s ~/workspace/git/ ~/git

Kompilacja Keyd

mkdir -p ~/src
cd ~/src

wget https://github.com/rvaiya/keyd/archive/refs/tags/v2.4.2.tar.gz
tar zxvf v2.4.2.tar.gz
cd keyd-2.4.2
make
sudo make install

Uruchomienie Keyd za pomocą supervisor

dnf install supervisor

Uruchomienie usługi supervisord

systemctl enable supervisord --now

Konfiguracja usługi keyd

W pliku /etc/supervisord.d/keyd.ini dodajemy

[program:keyd]
autorestart = true
autostart = true
directory = /tmp
user = root
command = /usr/bin/keyd
environment = STNORESTART="1", HOME="/tmp"
stderr_logfile = /var/log/keyd-err.log
stdout_logfile = /var/log/keyd-out.log

Dodanie usługi

sudo supervisorctl add keyd

Uruchomienie usługi

sudo supervisorctl start keyd

Zatrzymanie usługi

sudo supervisorctl stop keyd

Sprawdzenie stanu usługi

sudo supervisorctl status keyd

Wyświetlenie komunikatów usługi

sudo supervisorctl tail keyd

Uruchomienie supervisorctl bez parametrów pokazuje uruchomione usługi i wchodzi do interaktywnej powłoki.

supervisorctl
Password:
keyd                        RUNNING   pid 81154, uptime 0:17:48
supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail
avail  fg        pid   remove  shutdown  status  update
clear  maintail  quit  reread  signal    stop    version

Ustawienie nazwy hosta i domeny

hostnamectl set-hostname fredka.lan

Wireguard

dnf install wireguard-tools

Czcionki

INFO: Dodać swoje czcionki z ~/.fonts

Skrypt pobierający czcionki z repozytorium

download_font() {
    URL="https://raw.githubusercontent.com/wsdjeg/DotFiles/master/local/share/fonts/${1// /%20}"
    FONTS_DIR="$HOME/.fonts/$1"
    if [[ -f "$FONTS_DIR" && ! -s "$FONTS_DIR" ]]
    then
        rm "$FONTS_DIR"
    fi
    if [[ -f "$FONTS_DIR" ]]
    then
        echo "Downloaded $1"
    else
        echo "Downloading $1"
        curl -s -o "$FONTS_DIR" "$URL"
        echo "Downloaded $1"
    fi
}

install_fonts() {
    if [[ ! -d "$HOME./fonts" ]]; then
        mkdir -p "$HOME/.fonts"
    fi
    download_font "DejaVu Sans Mono Bold Oblique for Powerline.ttf"
    download_font "DejaVu Sans Mono Bold for Powerline.ttf"
    download_font "DejaVu Sans Mono Oblique for Powerline.ttf"
    download_font "DejaVu Sans Mono for Powerline.ttf"
    download_font "DroidSansMonoForPowerlinePlusNerdFileTypesMono.otf"
    download_font "Ubuntu Mono derivative Powerline Nerd Font Complete.ttf"
    download_font "WEBDINGS.TTF"
    download_font "WINGDNG2.ttf"
    download_font "WINGDNG3.ttf"
    download_font "devicons.ttf"
    download_font "mtextra.ttf"
    download_font "symbol.ttf"
    download_font "wingding.ttf"
    echo "Updating font cache, please wait ..."
    fc-cache -f
    mkfontdir "$HOME/.fonts"
    mkfontscale "$HOME/.fonts"
    echo "font cache done!"
}

Czcionki Source Code Pro

Ze strony https://github.com/adobe-fonts/source-code-pro/releases pobieramy archiwum ZIP czcionek w wersji OTF, następnie należy je rozpakować do katalogu ~/.fonts. Ostatnią rzeczą, którą należy zrobić do uruchomić polecenie fc-cache -f -v


Date: 2023-04-23T13:10:52+02:00