After installing fresh ubuntu system, first run:
sudo apt update && sudo apt upgrade -yPreferred method for proceeding is:
- install git and clone this repo,
- create ssh keys using
ssh_init.shscript (keys are managed by ssh-agent then) (consider moving keys to bitwarden and reusing), - add keys to github,
- remove and clone this repo again using ssh.
- if not setting up ssh keys, either comment out cloning of 'Notes' and 'Scripts' repos or do it using https.
Then run after_install scripts in order, from the $HOME/.dotfiles level, provide required input when prompted and relogin after each step (on VMs it might be required to restart the machine between each step).
Important: allow non-root users for wireshark to capture packets upon installation - if you forget to do this run sudo dpkg-reconfigure wireshark-common to reconfigure it after installation is complete.
Alacritty is set as default terminal emulator.
For ubuntu you might want to install shell extensions and pop os shell (note: use master_noble branch) - this should be covered by after_install_3.sh though.
Remember to setup nextcloud client.
Remember to install tmux plugins (prefix + I).
To use bitwarden CLI make sure to update auth tokens in .zshrc.
Setting wallpapers in i3 is done by set_wallpaper.sh script from Scripts repo. It expects properly named wallpaper files in ~/Pictures/wallpapers folder. Have a look at the script for details. Example files are:
- wallpaper--2560x1440.jpg
- wallpaper--primary.jpg
Alacritty is build from source for now.
This config uses prefix Ctrl + b, vim keybindings, 'vim-tmux-navigator' plugin and 'tmux-yank' plugin for copying into OS clipboard.
To install tmux plugins run prefix + I.
To live reload tmux config run prefix + r.
To create vertical and horizontal splits use pefix + | and prefix + - respectively.
Thanks to 'vim-tmux-navigator' we can use Ctrl + hjkl to navigate both tmux panes and vim/neovim windows.
Keybindings for copying in copy-mode are Ctrl + c and y.
This config provides also a way to save and restore sessions with:
prefix + Ctrl-ssaveprefix + Ctrl-rrestore The sessions are also automatically saved every 15 mins.
To rename windows use prefix + ,.
To rename sessions use prefix + $.
Using sql-formatter npm package for that.
To run it in neovim, select the query to be formatted and run !sql-formatter -c ~/.sql-formatter.json.
By default it supports postgres.
For other dialects either specify config as string or create additional config files.
- brave: used as default browser
- liferea: rss and podcast viewer
- solaar: for logitech peripherals
- kanata: for
CapsLockremap toEscon short press andCtrlon hold - nextcloud: mainly to sync docs and notes
Install the required packages:
sudo apt-get install fuse libfuse2
Now, FUSE should be working. On some older distributions, you will have to run some additional configuration steps:
Make sure the FUSE kernel module is loaded:
sudo modprobe -v fuse
Then, add the required group (should be created by the install command, if this is the case, this call will fail), and add your own user account to this group:
sudo addgroup fuse
sudo adduser $USER fuse
- In case you're seeing any errors from treesitter, please make sure you ran
TSUpdatecommand to update all the parsers.