- Introduction
- Git & Github
- Bash configuration
- Keyboard layout
- KeePassXC
- Neovim
- Zathura
- (Optional) Alacritty
- (Optional) Firefox
- Resources
This is my setup on Ubuntu (or more generally, Debian) machines. This document should guide one to easily configure new machines to match it. Keep in mind that superuser rights are required, and in some cases PPAs are used.
Most of the sections refer to other repositories, so it is easier for me to maintain proper configuration files and installation instructions.
It seems intuitive to start by configuring Git and connecting to Github via the command line. Some convenience aliases for git:
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.co checkout
git config --global alias.st statusSet also username and email with the same command but with arguments user.name "username" and user.email example@email.com.
Next, connect to Github via ssh. First, generate a new SSH key with using
ssh-keygen -t ed25519 -C "example@email.com" remembering to change the email address to your Github email. The prompt asks to "Enter a file in which to save the key", and one can just press enter to accept default file location or set a desired filename like github (notice that some versions save to the .ssh folder by default and some to the current directory). Then, set a secure passphrase.
After generating a new key, it must be added to the ssh-agent. Start the agent and add the key with
eval "$(ssh-agent -s)"
ssh-add PATH_TO_YOUR_PRIVATE_KEY_FILEThen, one can add the key to the desired Github account, see Github instructions.
Clone the repo with
git clone git@github.com:vohonen/ubuntu-setup.git and replace your .bashrc in root with the one from the repo or just plain copy the contents there. Move also .bash_aliases to root and add any desired aliases, such as shortcuts to cd into certain directories. Notice that vi mode is enabled.
This part assumes that one uses a Finnish keyboard layout. Similar modifications can be done to any language keyboard layout.
As per Bash configuration, clone the repo or copy the file contents of fi in the directory /usr/share/X11/xkb/symbols. Additionally, swap esc and caps lock by running the command
dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:swapescape']"See my nvim-config repo.
See my zathurarc repo.
See my alacritty-config repo.
Alacritty is surely optional as any other part of this config, but if one wants to use the full Neovim configuration but Alacritty and some Nerd Font are not installed, then one may consider reconfiguring nvimtree and potentially some other plugin as they rely on Nerd Font icons.
Shortly something of my browser preferences. I would like to like Brave, but I have had issues with e.g. setting PPAs and some other stuff. Hence, I use Firefox for now. Install with
sudo apt update && sudo apt install -y firefoxI like to have search history before suggestions, which can be modified from about:preferences#search. On top of that, my browser setup are with respect to extensions. Pressing ctrl+shift+a one can manage add-ons, and I like to have first and foremost Vimium, Tomato Clock, AdBlocker Ultimate and Ecosia Search. After installing the add-ons, go to Firefox's add-ons page again by ctrl+shift+a and click the three dots after Vimium and choose Preferences. Then, at the bottom of the resulting Vimium Options page find the Default search engine field and change google,com -> ecosia.org in the default url (Ecosia utilises Bing search that is a little worse than Google's, but does the job adequately in a majority of the cases, and planting trees is more important).
One can also change the Firefox appearance to Dark from settings but the browser bar colour is dictated by operating system appearance theme.
Here's a list of some of the resources that were used for this configuration. The software-specific repos also got some links on installation etc. Additionally, Googling and Stack Overflow often do the trick.