Dotfiles
These are my dotfiles.
And this is an incomplete list of what I use:
OS: Manjaro
DE: Gnome
Terminal: gnome-terminal (with desktop file patched to always open fullscreen)
Terminal theme: hyper-snazzy
Shell: zsh with oh-my-zsh
Prompt: pure
Browser: Chome
Password manager: 1password
Dotfiles manager: yadm
Shell history: resh
Editor: vscode with neovim
Vscode theme: One Dark Pro
Gnome extensions: Overlay icons, Switcher, Put windows, Sound IO Chooser, Clipboard Indicator
Gnome configuration and keyboard shortcuts: heavily customized
Keyboard customizations: Capslock=Meta, Short press Caps -> Escape, Caps+space -> Gnome overlay
My workflow
I used i3wm before so I don't like to be forced to use mouse.
But I also don't like to be forced to use the keyboard (+many other reasons) so I switched to Gnome.
I customized Gnome to get a more keyboard-friendly workflow.
Keybindings
I use vim (in vscode) so my keybindings use hjkl.
- Capslock works as Meta/Super key
- Single press of Caps works as Escape instead of openning Gnome Overview
- Meta+hjkl moves focus
- Meta+jk "moves focus" down/up between workspaces
- Meta+hl moves focus left/right between windows (and displays)
- Meta+Shift+hjkl moves windows (and focus)
Some more keybindings to resize windows: maximize, tile left, tile right, minimize
Rebind Alt+Tab to Meta+ui so it's closer.
Meta+Enter to launch a new fullscreen terminal.
Meta+q to close a window.
Search open windows
This extension fuzzy searches windows by title: https://github.com/daniellandau/switcher
Setup step-by-step
This was written to be followed by me (use at your own risk)
Setup
- Install Manjaro Gnome with disk encryption
- Refresh mirrorlist
sudo pacman-mirrors -g
- Update
- Reboot
Manjaro hello
- Check default apps
- Install all fonts
- Uninstall contact app
- Set Layout to Gnome (via Manjaro Hello)
- Do not launch manjaro hello on start
Manjaro settings
- Install GPU drivers (maybe fixes issues from the next section)
Display settings
- ??? Install xorg-xdpyinfo
- Delete
~/.config/monitors.xml
(it sometimes gets corrupted)
- Setup displays
Gnome settings
- Naturall scrolling
Yay
- Install all base-devel:
sudo pacman -S base-devel yay
Chrome
- Install Chrome
- Log into 1Password website
- Log into Chrome
- Log into 1Password
- Log into other extensions
- Download wallpaper and avatar from drive
- Get SSH keys
- Use system title bar (more consistent window focus indication)
- Settings > Appearance > Show system title bar and borders
SSH
- Set file permissions for SSH keys to 600
Gnome tweaks
- Do nothing when the lid is closed
- Dark theme (Matcha-dark-sea / whatever is default +dark)
- Set wallpaper
- Make Capslock additional Super
- Keyboard & Mouse > Additional Layout Options
Dotfiles
- Install git
- Install yadm
- yadm clone, yadm bootstrap
- make install_packages
- make install_oh-my-zsh
- make install_resh
- make install_*
Gnome tweaks
- Run xcape on start up
- Startup applications > Xcape caps_escape
Gnome terminal
- create a dummy profile for gnome-terminal (otherwise hyper-snazzy breaks https://github.com/tobark/hyper-snazzy-gnome-terminal/issues/3)
make install_hyper-snazzy
- Set hyper-snazzy as default theme
- Patch Gnome-terminal to always launch fullscreen
make install_patch_gnome-terminal-desktop
Gnome settings
- Create shortcut to launch terminal using Super+Enter
- Keyboard shortcuts > scrolldown > + >
gnome-terminal --window --maximize
- ? Create shortcut to launch small terminal using Super+'
- ... >
gnome-terminal --window
- Set Search to: Terminal, Files and Calculator (in that order)
- Set screen lock to 30 minutes
- Set automatic suspend to ???
- Never prompt to start programs
- Set avatar
Applications
- Install applications
- Set Favourite apps
make set_gnome_favourite-apps
- Log into apps
Gnome extensions
- Install and build
- Enable Extensions
- Overlay icons, Switcher, Put windows, Sound IO Chooser, Clipboard Indicator
- Import settings
make set_gnome_ ...
make set_gnome_extension_ ...