Minimal and opinionated dotfiles optimizing efficiency, screen real-estate and removing distractions. You can find additional README's inside each repository (Look in the .config directory)
- zsh
- Plugins: fast-syntax-highlighting, zsh-autocomplete, zsh-autosuggestions
- tmux
- Themes: monochromatic, vapor
- neovim
- Plugin manager: lazy.nvim
- Core plugins: telescope, lsp, treesitter, copilot, git integration, debugging, tmux integration
- ghostty
- git
- Uses difftastic for improved diffs
- Custom hooks for commit message formatting
- ideavim
- Plugins: vim-surround, nerdtree, vim-highlightedyank
These must be installed for the dotfiles to function properly:
- zsh - Core shell environment
- git - Version control system (required for git integration in zsh prompt and neovim)
- difftastic - Enhanced diff visualization for git
- tmux - Terminal multiplexer
- neovim - Primary text editor
- nodejs - Required for Neovim LSP servers (TypeScript/JavaScript/Vue), ESLint, CSS/HTML LSP, and GitHub Copilot
- ripgrep (rg) - Required for Neovim Telescope live grep functionality
- make - Required to build Neovim's telescope-fzf-native plugin for improved performance
These enhance functionality but are not strictly required:
- nix - Package manager for declarative dependency management and zsh integration
- fd - Faster file finding for Neovim Telescope (falls back to
findif not available) - fzf - Fuzzy finder for project selection in zsh session management
- fnm - Node.js version manager (alternative to nvm)
- Rust - Required only for Rust LSP (rust_analyzer) and fuzzy matching in Neovim's blink.cmp
- Go - Required only for Go LSP (gopls)
If you use Nix with home-manager:
- Add this flake to your
flake.nix:
{
inputs.dotfiles = {
type = "git";
url = "https://github.com/sushydev/dotfiles";
submodules = true;
};
outputs = { self, dotfiles, ... }: {
# ... your existing outputs
};
}- In your
home.nix, add:
{
imports = [ inputs.dotfiles.homeManagerModules.default ];
dotfiles.enable = true;
}This automatically installs dependencies (git, neovim, tmux, etc.) and sets up all symlinks.
For manual installation, you will need to ensure that the required dependencies are installed on your system. The dotfiles will utilize your installed packages, but any missing dependencies must be installed manually. Install these using your system's package manager (apt, brew, etc.) before proceeding with the dotfiles setup.
You can use scripts/activate.sh to setup the symlinks for all the dotfiles using stow,
it will also write an uninstall script in $XDG_CONFIG_HOME/dotfiles/uninstall.sh
Try most configs such as tmux, neovim and the shell in Codespaces
- Configure your terminal profile to start as interactive login shell:
"terminal.integrated.profiles.linux": { "zsh": { "path": "zsh", "args": ["-l", "-i"] }, }
- Or configure your dotfiles for codespaces to this repo