A Portable Linux Home Folder to feel right at home in any distribution.
a.k.a my dotfiles + bootstrapping scripts for Arch and Debian
a.k.a highly opinionated configurations for anything I ever used.
- My dwm fork with clickable status bar.
- Adaptive theming for TUIs, GTK apps and QT apps.
- Neovim opened at the Arch Linux bootstrapping script.
- ViFM + ueberzug image previews.
- Conky system monitor showing weather information, todo-lists and appointments.
- Picom compositor for window transparency, shadows and blur.
- lsd aliased as ls.
- Custom zsh prompt.
- Distrotube wallpapers.
- CLI-visualizer for audio visualization.
- Dunst notifications.
My home folder is my dotfiles git repo. However, by default no new
files will be tracked because the .gitignore file
contains a single *
. To start tracking a file, simply git add
them
with the -f
flag:
git add -f new-file-to-track
Although, the settings are universal, I recommend Arch Linux as distribution. Instructions on how to install Arch Linux can be found here.
To try out these configs, it's best to start from a completely empty home folder. Then initialize the home folder as a git repository:
git init .
add this git repository (or your fork) as origin:
git remote add origin http://github.com/flaport/home
pull the repository:
git pull origin master
if you want to be able to push your changes to your remote repository, then set up the master branch to track the master branch at origin
git branch --set-upstream-to=origin/master master
pull in all git submodules for custom builds
git submodule update --init --recursive
[optional but recommended] If you're on Arch Linux, install my recommended programs with
the following bootstrapping script: ~/.install/arch_install
. Installing the
recommended programs will make sure the configs and scripts work properly. This script
won't re-install programs that are already on the system and hence is pretty fast after
its first run. Edit the file to your liking first.
~/.install/arch_install
[completely optional] I'm using python a lot. I have a similar bootstrapping script with my preferred Anaconda installation. Edit the file to your liking first.
~/.install/python_install
A non-exhaustive list of configurations and script this repository has to offer:
- app files
- app defaults
- alacritty · a terminal with GPU acceleration + scripts
- albert · a GTK based application launcher
- askpass · custom GTK pinentry
- autojump · jump to folders in the cli.
- bash · shell
- broot · terminal file browser
- castero · a TUI for podcasts
- cat · concatenate files
- chromium · the famous browser
- conda · python package manager
- conky · system monitor
- contacts · simple scripts to mange iCal contacts
- ctags · used for tag jumping in vim
- dmenu · application launcher (rofi alternative) + much more
- dragon · dragon drag-and-drop aliased to
d
. - dunst · notifications
- dwm · startup and status bar script
- emacs · editor and more
- eslint · javascript linting
- firefox · the best browser
- fish · shell
- flameshot · a very capable screenshot program + scripts
- fontconfig · default fonts and other font settings
- fstab · an fstab example
- fzf · the fuzzy file finder
- ghostscript · the low level pdf editor
- git · source control + many convenience scripts
- gnupg · gpg agent
- gtk 2.0 · gtk theming
- gtk 3.0 · gtk theming
- hosts · a hosts file example
- inkscape · custom scripts using the incscape CLI
- ipython · interactive python shell
- joplin · note taking app + some basic scripts
- jupyter · notebook server for python (and others) + scripts
- kvantum · qt theming + scripts
- latexmk · latex build settings
- lockscreen · custom scripts handling screenlocks and more
- ls · ls aliased to lsd if no arguments given
- lxappearance · GTK theme chooser
- matplotlib · python plotting + scripts
- mouse cursor · configuration
- mpv · media player + scripts
- nemo · file browser + scripts
- neofetch · system information
- newsboat · an RSS reader TUI
- nextcloud · nextcloud client
- nvim · neovim: the terminal text editor + scripts
- open-octet-stream · custom script to open 'octet-stream' (binary) files.
- openvpn · vpn tool
- picom · compositor + alpha script to change transparency from cli + custom scripts.
- qt5ct · qt theming
- qutebrowser · qt based web browser with vim keybindings
- rename · a simple script to batch rename files with vim
- rofi · application launcher (dmenu alternative) + much more
- spotifyd · the headless spotify daemon (used in conjuction with spotify-tui)
- spotify-tui · the spotify TUI + scripts
- sxhkd · keyboard shortcuts
- sxiv · the simple X image viewer
- syncthing · file synchronization between devices
- termdown · the terminal countdown timer
- tmux · terminal multiplexer
- transmission-daemon · transmission torrent daemon + scripts
- ueberzug · the terminal image overlayer
- vifm · terminal file browser with vim keybindings + scripts
- vimb · web browser with vim keybindings (does not seem to work very well for me)
- vimfx · vim keybindings for firefox (requires legacyfox patch)
- vis · music cli visualizer
- vscode · code editor
- wallpaper · a custom script to set wallpapers using
feh
. - wallpaper · scripts to set wallpaper
- weather · custom weather scripts
- webapp · custom scripts to open webpages as webapps.
- xdg-open · custom scripts related to
xdg-open
, such aso
aliased toxdg-open
. - xinit · x session starter
- xrandr · screenlayout convenience scripts + screenlayout selector.
- xresources · colorschemes + xcs script
- x · custom scripts to configure X
- zathura · pdf reader + scripts
- zsh · my preferred shell
Furthermore, this repository contains submodules for the following builds:
- My dwm fork my window manager + scripts
- My dmenu fork my application launcher (and much more)
- My st fork my terminal
- My scroll fork dependency of st to enable terminal scrolling
© flaport 2020 - GPLv3