Skip to content

DPontes/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

214 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌌 Tokyo Night Dotfiles

OS: Linux Shell: Bash/Fish Editor: Neovim Multiplexer: tmux Theme: Tokyo Night

A comprehensive, aesthetic, and automated development environment tailored for C++, Python, and general software engineering. Features a unified Tokyo Night color scheme across Neovim, Tmux, Kitty, and Fish.


🚀 Quick Start

Get up and running in minutes:

git clone https://github.com/DPontes/dotfiles.git $HOME/dotfiles
cd $HOME/dotfiles
./tools/setup.sh

Important

The setup.sh script will symlink configurations, install essential CLI tools (fzf, bat, ripgrep, lazygit), and configure your shell environment. It is designed for Ubuntu/Debian-based systems but includes macOS support via tools/setup-macos.sh.


✨ Features

  • Unified Aesthetics: Consistent Tokyo Night theme across all tools.
  • Powerhouse Editor: Pre-configured Neovim with LSP, Treesitter, Debugging (DAP), and Copilot integration.
  • Robust Multiplexer: Tmux with a custom status bar showing weather, battery, and system connectivity.
  • Intelligent Shell: Dual-shell support (Bash/Fish) with Git integration, Vi-mode, and smart aliases.
  • Automated Tooling: Custom scripts for Bluetooth management, system updates, and DAP-based debugging.

📂 Repository Structure

dotfiles/
├── nvim/                # 🛠️ Neovim (IDE-like experience with lazy.nvim)
├── tmux/                # 🪟 Tmux (.tmux.conf with status bar enhancements)
├── fish/                # 🐟 Fish Shell (modern shell experience)
├── kitty/               # 🐈 Kitty Terminal (GPU-accelerated terminal)
├── lazygit/             # 🌿 Lazygit (TUI for Git with Gerrit support)
├── tools/               # 🔧 Utility Scripts (Automation & system tools)
└── extra-bash           # 🐚 Shell initialization & environment setup

🛠️ Components Detail

💻 Editor (Neovim)

Managed by lazy.nvim. Key plugins include:

  • LSP: mason.nvim & nvim-lspconfig for C++, Python, Lua, and more.
  • DAP: Debugging support with codelldb and a custom CLI dap-debug.sh.
  • AI: GitHub Copilot and CopilotChat integration.
  • UI: lualine.nvim, neo-tree, and telescope.nvim.

🐚 Shells (Bash & Fish)

  • Bash: Enhanced with extra-bash, featuring a Git-aware prompt and Vi-mode.
  • Fish: Fully configured with aliases, Vi-mode, and custom functions in fish/.
  • Aliases: Common shortcuts for Git, navigation, and system maintenance in .bash_aliases.

🪟 Multiplexer (Tmux)

  • Prefix: Ctrl-s (ergonomic replacement for Ctrl-b).
  • Status Bar: Real-time updates for weather (Open-Meteo), VPN status, and Bluetooth.
  • Navigation: Vi-style pane switching (h,j,k,l).

🔧 Customization

To override default settings without polluting the main repository:

  1. Weather City: Set export TMUX_CITY="YourCity" in your .bashrc or .zshrc.
  2. Local Settings: The setup.sh script sources $HOME/.bash_local if it exists. Use this for machine-specific environment variables.

🛠️ Utility Tools (tools/)

Script Purpose
bt-connect.sh CLI-based Bluetooth device management with connection spinner.
weather.sh Fetches weather data with a 5-minute cache to respect API limits.
dap-debug.sh CLI wrapper for GDB/DAP, enabling agent-based C++ debugging.
update-*.sh Automated update scripts for Neovim, Lazygit, Kitty, and Tmux.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an issue for any bugs or feature requests.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.


About

Configuration files for tmux, vim, etc

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors