Linux - RLovelett/dotfiles GitHub Wiki
Ubuntu 20.04 / Fedora 32
sudo
without password- ZSH
- YubiKey
- Antigen
- Powerline
- Tilix and Nord
- U2F Firefox
- Themes
- Fonts
- GNOME Extensions
0. SSH
mkdir -p $HOME/.ssh/sockets
tee "$HOME/.ssh/config" > /dev/null <<'EOF'
Host 192.168.*.* *.local *.lovelett.me
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600
EOF
chmod 0600 $HOME/.ssh/config
0. Vim
$ sudo apt install -y vim
$ sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100
$ sudo update-alternatives --config editor
sudo
without password
1. ## Allow rlovelett to run ALL commands without a password
$ echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo EDITOR='tee -a' visudo
2. ZSH
$ sudo dnf install -y zsh util-linux-user
$ chsh --shell /bin/zsh
3. YubiKey
Fedora
$ sudo dnf install -y pcsc-tools opensc pcsc-lite-ccid gnupg2
Ubuntu
$ sudo apt install -y scdaemon gnupg2 pcsc-tools opensc
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
4. Antigen
$ cd $HOME
$ git clone https://github.com/zsh-users/antigen.git .antigen
8. GNOME Themes
Fedora
https://drasite.com/flat-remix
$ sudo dnf install -y gnome-tweak-tool
Fedora
sudo dnf install -y git autogen dh-autoreconf automake pkgconf sassc optipng inkscape gtk3-devel libcanberra-gtk3 gtk-murrine-engine
Ubuntu
$ sudo apt install -y git autogen dh-autoreconf automake pkgconf sassc optipng inkscape libgtk-3-dev libcanberra-gtk-module gtk2-engines-murrine
$ mkdir $HOME/Source
$ cd $HOME/Source
$ git clone https://github.com/jnsh/arc-theme --depth 1
$ cd arc-theme
$ ./autogen.sh --disable-cinnamon --prefix=$HOME/.local
$ make install
mkdir -p $HOME/.icons $HOME/.themes
git clone https://github.com/keeferrourke/la-capitaine-icon-theme.git $HOME/.icons/la-capitaine-icon-theme
git clone https://github.com/Optixal/Mist-theme.git $HOME/.themes/Mist-git
git clone https://github.com/EliverLara/Nordic.git $HOME/.themes/Nordic-git
ln -s $HOME/.themes/Mist-git/Mist $HOME/.themes/Mist
ln -s $HOME/.themes/Nordic-git $HOME/.themes/Nordic
## It is probably really this theme? https://github.com/NicoHood/arc-theme
gsettings set org.gnome.desktop.interface gtk-theme "Arc"
gsettings set org.gnome.desktop.interface icon-theme "la-capitaine-icon-theme"
gsettings set org.gnome.desktop.wm.preferences theme "Mist-fork"
9. 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 Pro 11"
gsettings set org.gnome.desktop.interface font-name "Source Sans Pro 11"
gsettings set org.gnome.desktop.interface monospace-font-name "SauceCodePro Nerd Font 13"
gsettings set org.gnome.desktop.wm.preferences titlebar-font "Source Sans Pro Semi-Bold 11"
10. GNOME Extensions
Install a script to help install GNOME Extensions from Terminal.
wget -O $HOME/.local/bin/gnomeshell-extension-manage "https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/gnomeshell-extension-manage"
chmod +x $HOME/.local/bin/gnomeshell-extension-manage
gnomeshell-extension-manage --install --extension-id 517 --version latest --user
gnomeshell-extension-manage --install --extension-id 945 --version latest --user
gnomeshell-extension-manage --install --extension-id 1160 --version latest --user
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'
gnomeshell-extension-manage --install --extension-id 841 --user
gnomeshell-extension-manage --install --extension-id 921 --user
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
gnomeshell-extension-manage --install --extension-id 906 --version 3.22 --user
gnomeshell-extension-manage --install --extension-id 19 --user
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