I use Arch, btw.
- Clone this repository.
- Install the necessary software.
- Run the
setup.sh
script which will symlink config files to their respective locations.
Before reinstalling the system, backup the following:
- Firefox profile:
~/.mozilla/firefox/<profile-directory>
:places.sqlite
;bookmarkbackups
;favicons.sqlite
;sessionstore.jsonlz4
.
- Downloads directory:
~/Downloads
. - Pictures directory:
~/Pictures
. - SSH keys.
- Export the
~/.ssh
directory. - To restore, copy the directory back,
cd
into it, run the ssh agent (eval $(ssh-agent)
) and perform the following (for each private & public key pair):$ chmod 600 id_rsa $ chmod 644 id_rsa.pub $ ssh-add id_rsa
- In case the added keys are not persistent and you are required to enter
the private key password on every
git push
, addAddKeysToAgent yes
to the top of~/.ssh/config
.
- Export the
The following software should then be installed.
# pacman -S firefox thunderbird
# pacman -S git nvim make ctags
# pacman -S dash fish tmux fzf ripgrep htop wget man-db man-pages rsync bc
- shellcheck
- The binary version from AUR is dependency-free.
- Link
dash
to/bin/sh
.# ln -sfT dash /usr/bin/sh
- Automatically relink
dash
to/bin/sh
after everybash
update. Put the followingpacman
hook to/usr/share/libalpm/hooks/dashbinsh.hook
.[Trigger] Type = Package Operation = Install Operation = Upgrade Target = bash [Action] Description = Re-pointing /bin/sh symlink to dash... When = PostTransaction Exec = /usr/bin/ln -sfT dash /usr/bin/sh Depends = dash
# pacman -S ttf-bitstream-vera noto-fonts noto-fonts-emoji ttf-nerd-fonts-symbols-mono ttf-jetbrains-mono
# pacman -S mpv ffmpeg yt-dlp
# pacman -S discord
Create a new profile. Importing data from an old profile is addressed towards the end of this section.
- Setup a blocking mode.
- Import the following custom lists.
- Actually Legitimate URL Shortener Tool.
- NoCoin Adblock List
- uBlock Origin Dev Filter.
- GitHub Less Social can be used to make GitHub look less like a social network.
- letsblock.it has some nifty filters.
- Sponsorblock
Sponsor: Auto Skip
Interaction Reminder (Subscribe): Auto Skip
- Vimium-FF
- Add the following two rules to the blacklist. They are to disable
vimium-ff in Jupyter notebooks, typically found on such URLs.
https?://localhost*
;https?://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}*
;
- Set the following search engines (using bookmarks, since Firefox does not
allow to edit the search engines in preferences).
(d) https://duckduckgo.com/?q=%s (w) https://en.wikipedia.org/wiki/Special:Search/%s (y) https://www.youtube.com/results?search_query=%s (r) https://www.reddit.com/search?q=%s (gh) https://github.com/search?q=%s (http) https://httpstatuses.com/%s (m) https://www.metal-archives.com/search?type=band_name&searchString=%s (tce) https://www.deepl.com/translator#cs/en/%s (tec) https://www.deepl.com/translator#en/cs/%s (py) https://docs.python.org/3/search.html?q=%s (aw) https://wiki.archlinux.org/index.php?search=%s
- Go to
about:config
and settoolkit.legacyUserProfileCustomizations.stylesheets
totrue
to enableuserChrome.css
. - Symlink
firefox/userChrome.css
to~/.mozilla/firefox/<profile-directory>/chrome/
- Consult this document where each profile element can be found.
- I transfer Bookmarks, Downloads and Browsing History (files
places.sqlite
,bookmarkbackups
andfavicons.sqlite
) and Stored session (filesessionstore.jsonlz4
).
- Finally, after having fully configured Firefox, press
Ctrl+Shift+Del
and clear everything exceptBrowsing & Download History
.