Fedora - RLovelett/dotfiles GitHub Wiki

SSH

mkdir -p $HOME/.ssh/sockets
tee "$HOME/.ssh/config" > /dev/null <<'EOF'
Host 192.168.*.* *.local *.lan.lovelett.me *.lovelett.me
  ControlMaster auto
  ControlPath ~/.ssh/sockets/%r@%h-%p
  ControlPersist 600
EOF
chmod 0600 $HOME/.ssh/config

Vim and NeoVim

$ sudo dnf install -y vim neovim
$ sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100
$ sudo update-alternatives --config editor

sudo without password

## Allow rlovelett to run ALL commands without a password
$ echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo EDITOR='tee -a' visudo

ZSH

$ sudo dnf install -y zsh util-linux-user
$ chsh --shell /bin/zsh

YubiKey

$ sudo dnf install -y pcsc-tools opensc pcsc-lite-ccid gnupg2

Bug 1893131 - gpg + yubikey is broken in Fedora Silverblue

All

Disable keyring daemon components

$ mkdir -p $HOME/.config/autostart
$ cp /etc/xdg/autostart/gnome-keyring-ssh.desktop $HOME/.config/autostart
$ echo "Hidden=true" >> $HOME/.config/autostart/gnome-keyring-ssh.desktop
$ echo "GSM_SKIP_SSH_AGENT_WORKAROUND DEFAULT=1" >> $HOME/.pam_environment

Steps are lifted from here: "Using gpg-agent Effectively" and "Using YubiKey Neo as Gpg Smartcard for SSH Authentication"

$ mkdir -p $HOME/.config/systemd/user
$ cp /usr/share/doc/gnupg2/examples/systemd-user/*.{socket,service} $HOME/.config/systemd/user
$ systemctl --user daemon-reload
$ systemctl --user enable --now dirmngr.socket gpg-agent-browser.socket gpg-agent.socket gpg-agent-ssh.socket
$ gpg2 --card-edit
$ fetch
$ quit

Tilix

$ sudo dnf install -y tilix
$ mkdir -p $HOME/.config/tilix/schemes
$ curl -o $HOME/.config/tilix/schemes/Dracula.json https://raw.githubusercontent.com/dracula/tilix/master/Dracula.json

GNOME Themes (Darcula)

$ mkdir -p $HOME/{.themes,.icons}
$ git clone https://github.com/dracula/gtk.git $HOME/.themes/Dracula
$ git clone https://github.com/vinceliuice/Tela-circle-icon-theme.git $HOME/.icons/Tela-circle-icon-theme
$ $HOME/.icons/Tela-circle-icon-theme/install.sh dracula
## Activate themes
gsettings set org.gnome.desktop.interface gtk-theme "Dracula"
gsettings set org.gnome.desktop.wm.preferences theme "Dracula"
gsettings set org.gnome.desktop.interface icon-theme "Tela-circle-dracula"

Fonts

Credit

[ -d $HOME/.local/share/fonts ] || mkdir -p $HOME/.local/share/fonts
git clone --depth 1 --branch master https://github.com/powerline/fonts.git $HOME/.local/share/fonts/powerline
git clone --depth 1 --branch release https://github.com/adobe-fonts/source-sans-pro.git $HOME/.local/share/fonts/ssp
git clone --depth 1 --branch release https://github.com/adobe-fonts/source-code-pro.git $HOME/.local/share/fonts/scp
[ -d $HOME/Source ] || mkdir -p $HOME/Source
git clone --depth 1 --branch master https://github.com/ryanoasis/nerd-fonts.git $HOME/Source/nerd-fonts
$HOME/Source/nerd-fonts/install.sh "SourceCodePro"
$HOME/.local/share/fonts/powerline/install.sh
fc-cache -f -v
gsettings set org.gnome.desktop.interface document-font-name "Source Sans 3 11"
gsettings set org.gnome.desktop.interface font-name "Source Sans 3 11"
gsettings set org.gnome.desktop.interface monospace-font-name "SauceCodePro Nerd Font 11"
gsettings set org.gnome.desktop.wm.preferences titlebar-font "Source Sans 3 Bold 11"

GNOME Extensions

Install gnome-shell-extension-installer

$ mkdir -p $HOME/.local/bin
$ curl -o $HOME/.local/bin/gnome-shell-extension-installer "https://raw.githubusercontent.com/brunelli/gnome-shell-extension-installer/master/gnome-shell-extension-installer"
$ chmod +x $HOME/.local/bin/gnome-shell-extension-installer

Caffeine

gnome-shell-extension-installer 517

Dash to Panel

gnome-shell-extension-installer 1160

Configure

sudo cp $HOME/.local/share/gnome-shell/extensions/[email protected]/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml /usr/share/glib-2.0/schemas
sudo glib-compile-schemas /usr/share/glib-2.0/schemas

gsettings set org.gnome.shell.extensions.dash-to-panel appicon-margin 4
gsettings set org.gnome.shell.extensions.dash-to-panel dot-color-1 '#5294e2'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-color-2 '#5294e2'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-color-3 '#5294e2'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-color-4 '#5294e2'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-color-unfocused-1 '#5294e2'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-color-unfocused-2 '#5294e2'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-color-unfocused-3 '#5294e2'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-color-unfocused-4 '#5294e2'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-position 'BOTTOM'
gsettings set org.gnome.shell.extensions.dash-to-panel dot-style-focused 'METRO'
gsettings set org.gnome.shell.extensions.dash-to-panel focus-highlight-color '#eeeeee'
gsettings set org.gnome.shell.extensions.dash-to-panel group-apps true
gsettings set org.gnome.shell.extensions.dash-to-panel isolate-workspaces true
gsettings set org.gnome.shell.extensions.dash-to-panel location-clock 'STATUSRIGHT'
gsettings set org.gnome.shell.extensions.dash-to-panel panel-size 48
gsettings set org.gnome.shell.extensions.dash-to-panel show-activities-button false
gsettings set org.gnome.shell.extensions.dash-to-panel show-appmenu true
gsettings set org.gnome.shell.extensions.dash-to-panel showdesktop-button-width 20
gsettings set org.gnome.shell.extensions.dash-to-panel show-showdesktop-button true
gsettings set org.gnome.shell.extensions.dash-to-panel taskbar-position 'LEFTPANEL'

Multi-Monitors Add-on

gnome-shell-extension-installer 921

Configure

sudo cp $HOME/.local/share/gnome-shell/extensions/multi-monitors-add-on@spin83/schemas/org.gnome.shell.extensions.multi-monitors-add-on.gschema.xml /usr/share/glib-2.0/schemas
sudo glib-compile-schemas /usr/share/glib-2.0/schemas

gsettings set org.gnome.shell.extensions.multi-monitors-add-on show-date-time false
gsettings set org.gnome.shell.extensions.multi-monitors-add-on show-app-menu false
gsettings set org.gnome.shell.extensions.multi-monitors-add-on thumbnails-on-left-side true
gsettings set org.gnome.shell.extensions.multi-monitors-add-on show-panel false
gsettings set org.gnome.shell.extensions.multi-monitors-add-on show-activities false
gsettings set org.gnome.shell.extensions.multi-monitors-add-on show-thumbnails-slider true
gsettings set org.gnome.shell.extensions.multi-monitors-add-on show-indicator false

images/multi-monitor-settings.png

User Themes

gnome-shell-extension-installer 19

Links

Where can I get a list of SCHEMA / PATH / KEY to use with gsettings?

Scripts

#!/bin/bash
# Gnome 3 can be customized from the command line via the gsettings command
# This script should help you to find what you're looking for by
# listing the ranges for all keys for each schema

for schema in $(gsettings list-schemas | sort)
do
    for key in $(gsettings list-keys $schema | sort)
    do
        value="$(gsettings range $schema $key | tr "\n" " ")"
        echo "$schema :: $key :: $value = $(gsettings get $schema $key 2> /dev/null)"
    done
done