A dotfiles support full stack development in terminal
Requires Neovim >= 0.10.0
- Full LSP support with blink.cmp based completion (modern replacement for nvim-cmp)
- Treesitter-based syntax highlighting and indentation
- Git integration tools
- Debug Adapter Protocol (DAP) support
- Remote SSH copy & paste support
- Fuzzy finding with Telescope
- Automatic LSP server installation
- Copilot integration
- Advanced AI coding assistance with CodeCompanion
Pre-configured support for:
- Lua
- Python
- Golang
- Rust
- JavaScript/TypeScript
- HTML/CSS
- Docker
- JSON/YAML
- Markdown
- And more...
Integrated themes include:
- Catppuccin
- Gruvbox
- Rose Pine
- Tokyo Night
- Night Fox
- Material
- And many more...
Essential CLI tools included:
- duf - Disk usage analyzer
- fzf - Fuzzy finder
- bat - Modern cat replacement
- exa - Modern ls replacement
- ripgrep - Fast grep replacement
- delta - Git diff viewer
- lazygit - Git TUI
sudo apt install make gcc git python3 zsh curl wget tmux libc6-dev
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install gcc make g++ git python3 zsh libc6-dev wget curl tmux
For Linux systems:
./setup.sh -a
For macOS systems:
./setup_macos.sh -a
Use -h
or --help
flag to see all available options:
./setup.sh -h
# or
./setup_macos.sh -h
This repository includes a secure mechanism for storing and using API tokens and secrets without exposing them in your Git history.
- After cloning the repository, install the Git hooks:
./git-hooks/install-hooks.sh
- Create a
.token.sh
file in the root of the repository (a template is provided at.token.sh.template
):
cp .token.sh.template .token.sh
- Edit the file to add your API keys and other secrets:
vim .token.sh
- The Git hooks will automatically encrypt your
.token.sh
when committing changes and decrypt it when checking out or pulling.
.token.sh
contains your sensitive data and is excluded from Git.token.sh.enc
is an encrypted version that is safe to commit- Git hooks automatically handle encryption/decryption using OpenSSL
- The encryption password is stored in your
~/.zshrc
asTOKEN_DECODE_PASSWORD
If you need to manually encrypt or decrypt the file:
# Encrypt
openssl enc -aes-256-cbc -salt -pbkdf2 -pass "pass:$TOKEN_DECODE_PASSWORD" -in .token.sh -out .token.sh.enc
# Decrypt
openssl enc -aes-256-cbc -d -salt -pbkdf2 -pass "pass:$TOKEN_DECODE_PASSWORD" -in .token.sh.enc -out .token.sh
The main Neovim configuration file is located at ~/.config/nvim/init.lua
. You can customize settings by editing this file:
require("configs").setup({
-- Choose your colorscheme
dark_colorscheme = "rose-pine-moon",
light_colorscheme = "catppuccin-latte",
-- Enable features
dap = true, -- Debug adapter protocol
format_on_save = true,
transparent_window = true,
-- Language support
go = true,
rust = true,
python = true,
-- Additional features
autopairs = false,
markdown_preview = true
})
.
├── Brewfile
├── config -> .config
├── Dockerfile
├── README.md
├── setup.sh
└── setup_macos.sh
👤 sdglbl
- Github: @sdglbl
Give a ⭐️ if this project helped you!
This project is MIT licensed.
This README was generated with ❤️