To start, first ensure your user in in /etc/sudoers:
su
# then in sudo shell
nano /etc/sudoersAdd your user to sudoers:
%sudo ALL=(ALL:ALL) ALL # append after this line yourusername ALL=(ALL) ALL # your line
Dependencies that are required to run the script:
sudo apt install curl git
Then run the installation:
bash <(curl -L https://raw.githubusercontent.com/vikdotdev/dotfiles/master/bin/install-debian)Tested on Debian 13 Trixie.
In extension manager manually install kmonad-toggle extension. In "Custom command" field put:
kmonad /home/<username>/.config/kmonad/config.kbd
Thatβs it, itβs already configured by build scripts.
After installation, use the dot command to manage your dotfiles:
Shows help message with all available commands.
Install packages and applications. Without arguments, installs all modules.
dot install # Install all packages dot install emacs # Install specific package dot install tools/git # Install nested module dot install --list # List available packages
Build and deploy configuration files. Without arguments, builds all modules.
dot build # Build all configurations dot build shell # Build specific module dot build --list # List available modules
Upgrade source-built packages. Without arguments, upgrades all modules that have upgrade scripts.
dot upgrade # Upgrade all packages dot upgrade emacs # Upgrade specific package dot upgrade --list # List available upgrades
Update the dotfiles repository from git. Checks for uncommitted changes before pulling.
dot pull # Pull latest changesUpdate the repository and rebuild all configurations. Combines pull and build all in one command.
dot sync # Pull and rebuild everythingPrint the dotfiles directory path.
dot pwd # Print dotfiles path cd $(dot pwd) # Navigate to dotfiles directory
Check system health and requirements. Verifies installation status, directories, and dependencies.
dot doctor # Run system health checkModules are organized by numbered directories for build order:
00-mise/- Runs first (dependency for other tools)01-ghostty/- Runs second (depends on mise)- Regular directories run in alphabetical order
Edit a ~/.profile.local file (after successful build) to machine specific environment variables.
Emacs package uses DESKTOP & LAPTOP variables to define default font sizes.