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)
- https://draculatheme.com/gtk
- https://github.com/dracula/gtk/issues/191
- https://github.com/vinceliuice/Tela-circle-icon-theme
$ 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
[ -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
gnome-shell-extension-installer
Install
$ 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