Documentation Index
Fetch the complete documentation index at: https://mintlify.com/joaopedroaa/dotfiles/llms.txt
Use this file to discover all available pages before exploring further.
Overview
stot is a dotfile management utility that simplifies symlinking and copying configuration files from a central dotfiles repository (~/dotfiles/) to their target locations in your home directory or system directories.
The name βstotβ likely stands for βsymlink toβ or similar, reflecting its primary purpose of creating symbolic links for dotfile management.
Features
- Symlink files and directories from
~/dotfiles/to~/ - Copy files to system directories (requires sudo)
- Automatic directory creation
- Safe file replacement
- Visual feedback with status icons
- Support for custom destination paths
Installation
Syntax
Options
Link mode (default): Creates symbolic links from
~/dotfiles/SOURCE to ~/SOURCECopy mode: Copies files from
~/dotfiles/SOURCE to /SOURCE using sudoDisplay help message and exit
Arguments
Relative path to the file or directory within
~/dotfiles/Optional custom destination path (relative to home directory for
-l, absolute for -c)Usage Examples
Symlinking Files
Copying System Files
How It Works
Link Mode (-l)
Path Resolution
Resolves source path as
~/dotfiles/$SOURCE and destination as ~/$DEST (or ~/$SOURCE if DEST not provided)Directory Handling
For directories:
- Creates destination directory if it doesnβt exist
- Symlinks all contents to destination
- Shows:
|:ok | ln | π | SOURCE
Copy Mode (-c)
Path Resolution
Resolves source path as
~/dotfiles/$SOURCE and destination as /$DEST (absolute path)Source Code
View Full Implementation
View Full Implementation
Common Workflows
Initial Dotfiles Setup
- Basic Setup
- Full Desktop Setup
- System Files
New Machine Setup
Output Messages
Success Messages
| Icon | Operation | Message | ||||
|---|---|---|---|---|---|---|
| β | Link file | ` | :ok | ln | π | filename` |
| β | Link directory | ` | :ok | ln | π | dirname` |
| β | Copy file | ` | :ok | cp | π | /path/to/file` |
Error Messages
| Message | Cause | Solution |
|---|---|---|
Please pass argumensts | No arguments provided | Provide SOURCE argument |
Invalid option: -X | Unknown option | Use -l, -c, or -h |
sourcePath is not valid | Source doesnβt exist | Check file exists in ~/dotfiles/ |
destPath not found | Parent directory missing | Check destination path |
Tips & Best Practices
Directory Linking: When linking directories,
stot symlinks the contents, not the directory itself, allowing for partial configuration management.Recommended Directory Structure
Troubleshooting
Symlink not created
Symlink not created
Check that:
- Source file exists in ~/dotfiles/
- Parent directory of destination exists
- You have write permissions to destination
Permission denied when copying system files
Permission denied when copying system files
Copy mode (
-c) requires sudo privileges:Directory linking not working as expected
Directory linking not working as expected
Remember that
stot -l links directory contents, not the directory itself:Related Commands
ln
Standard Unix symbolic link command
cp
Standard Unix copy command
GNU Stow
Alternative dotfile management tool
chezmoi
Modern dotfile manager with templates
See Also
- Command Overview - All available utilities
- Update Command - System update utility
- Radio Command - Internet radio streaming