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 gitThen 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.kbdThat’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 packagesBuild 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 modulesUpgrade 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 upgradesUpdate 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 directoryCheck 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
Create a ~/.profile.local file to store machine specific environment variables.
Emacs package uses DESKTOP & LAPTOP variables to define default font sizes.