Hello and welcome to my dotfiles repository!
This repo contains the most important config files from my linux installations.
I configured most of the things in this repo to follow the dracula theme color palette.
Volume Notification | Vim Setup |
Category | (Package-)Name |
---|---|
WM | bspwm |
Terminal | kitty |
Shell | zsh |
Bar | polybar |
Compositor | picom |
Editor | neovim |
Notifications | dunst |
Specs Display | neofetch |
Utility Scripts | volume, lock (package "bin", uses betterlockscreen , i3lock-color or i3lock ) |
Fontawesome and JetBrains Mono Nerd links lead to the things downloaded by the script
Install these fonts either manually or by running the install-fonts.sh
script in the root dir of the repo.
Required packages for the different packages / configs can be found in the .packages
file of the config directory (made on arch, which means that most required packages should be included. For example, xcwd
is pre-installed on fedora, meaning you wouldn't be able to tell that it's a dependency that needs to be installed elsewhere).
My recommendation is to craft a simple script that installs the required dependencies with your package manager.
For example (pacman): sudo pacman -S $(cat .packages | sed '/#/d' | grep -v "^[?]" | tr -d '>+?' | tr '\n' ' ')
This script will install all dependencies except packages that are prefixed with ?
(packages that can be useful but aren't requried). To ignore more dependencies, add the prefix char to the grep
call in the []
, for example: ^[?]
-> ^[?+]
to only install required packages (and the core)
>PACKAGE
: this package is the core of the package, for examplei3-gaps
for thei3
config.PACKAGE
: this package is required+PACKAGE
: this package is not required, but recommended?PACKAGE
: this package is not required, but can be useful# COMMENT
: these lines contain comments regarding the package, like when you should install it or what it's useful for, these lines should be skipped in your install script
I use dotter to manage the dotfiles and bring them to the right place, see it's wiki.
Essentially, clone and just run ./dotter deploy
after adding packages = [ "package1", "package2" ]
(note: find the available packages in the .dotter/global.toml
file) to your .dotter/local.toml
. That'll symlink or copy your files in place.
This section will show the available variables as of c6dc1a6, read the source to find out the current variables.
plugins
: the OhmyZSH plugins to useplugins_extra
: if you want to have additional plugins on top of the default of theplugins
variable, add the names here.plugins_external
: plugins on GitHub in the formatuser/repo
- to be added byzinit
editor
: what editor to use (sets theEDITOR
env variable)java_dir
: my ZSHRC will search this location for the newest available java installation and configure the shell to use that one. Useful if you install java through IntelliJ and can't be bothered to manually update the shell to use the newest update
terminal
: the terminal to open when pressingsuper + t
terminal_arguments
: arguments to add to theterminal
executeable, for examplexcwd
(outputs the directory open in the terminal that's currently focused, tested in kitty) like this:$(xcwd)
task_manager
: the command to run in theterminal
to start the task managerfile_manager
: the command to run in theterminal
to start the file manager
file_manager
: the file manager to open when pressingsuper + e
keyboard_id
: the ID of the keyboard to use for the hackspeed module get by runningxinput test-xi2 --root | grep \(KeyPress\) -A 1
, typing something, and then reading thedevice
fieldbattery_id
: the ID of the battery to display in polybar get by runningls -1 /sys/class/power_supply/
thermal_zone
: the ID of the sensor to use for the temperature monitor get by runningfor i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
and choosing the right one
NOTE: All scripts (except for install-fonts.sh
) are symlinked into the bin
directory
thus, you have to enable the bin
package in your .dotter/local.toml
file
install-fonts.sh
: automatically installs the required fonts for my setupbin/caps-lock.sh
call to send a caps lock notification - bind it on the release of the caps lock keybin/lock.sh
: locks the screen with eitheri3lock-color
or vanillai3lock
, depending on what you have installedbin/volume.sh
: call to send a volume notification, see abovepolybar/currently-playing
: prints the current playing song using theplayerctl
utilitypolybar/dunst-mute-status.sh
: displays eitherDunst muted
or nothingpolybar/pacman-aur-updates.sh
: prints the number of total package upgrades (pacman + aur)rofi/power-menu.sh
: shows a rofi menu to manage power state on your device (power off, lock, logout, suspend)rofi/sxhkd-keybinds.sh
: shows a rofi menu with an overview of the keybinds declared in the SXHKD config filerofi/vpn.sh
: shows a rofi menu to select or disconnect from a vpn (usesnmcli
)rofi/wifi-menu.sh
: shows a rofi menu to select or disconnect from a wifi network (usesnmcli
)