https://github.com/ammarnajjar/dotfiles
My Personal Dotfiles Configurations
https://github.com/ammarnajjar/dotfiles
asdf bash bashrc dotfiles git gitconfig lua neovim neovim-dotfiles nvim tmux tmux-conf vim vim-configuration vim-plugins vimrc zsh zshrc
Last synced: about 1 month ago
JSON representation
My Personal Dotfiles Configurations
- Host: GitHub
- URL: https://github.com/ammarnajjar/dotfiles
- Owner: ammarnajjar
- License: mit
- Created: 2016-02-27T13:37:15.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2025-07-09T06:17:21.000Z (3 months ago)
- Last Synced: 2025-08-04T07:00:12.503Z (2 months ago)
- Topics: asdf, bash, bashrc, dotfiles, git, gitconfig, lua, neovim, neovim-dotfiles, nvim, tmux, tmux-conf, vim, vim-configuration, vim-plugins, vimrc, zsh, zshrc
- Language: Shell
- Homepage:
- Size: 709 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π οΈ Ammar Najjarβs Dotfiles
This repository contains my personal configuration files (dotfiles) for setting up a consistent and productive development environment across macOS and Linux systems (Fedora, Debian, Ubuntu).
---
## π¦ Contents
This setup includes configurations for:
- **Shells**: Bash, Zsh
- **Editors**: Vim, Neovim
- **Terminal Multiplexer**: Tmux
- **Version Control**: Git
- **Syntax Highlighting**: Bat
- **Version Management**: Mise (Node.js, Python, Ruby, Rust)---
## π Installation
**β οΈ Warning:** Backup your current configuration files before proceeding.
To install and set up these dotfiles:
```bash
wget https://raw.githubusercontent.com/ammarnajjar/dotfiles/master/install.sh && bash install.sh
```This script will:
- Clone the repository locally
- Create symbolic links from the dotfiles to the appropriate locations in your system
- Set up editors and tools accordingly---
## π§° Configuration Details
### π Shell Configs
- **Bash**:
`shell/bash/bashrc` β Shell prompt, aliases, history settings.- **Zsh**:
`shell/zsh/zshrc` β Custom themes, completions, aliases.- **Shared Configs**:
`shell/common.sh` β Environment variables and common utilities used across Bash and Zsh.---
### π Editor Configs
- **Neovim (v0.5.0+)**:
`nvim/init.lua` β Plugin setup, keymaps, and Lua-based configuration.- **Vim / Legacy Neovim**:
`vim/vimrc.vim` β Compatible with older Vim/Neovim versions.
`vim/link.sh` β Helper script to symlink `.vimrc`.---
### π Tmux Config
- `tmux/tmux.conf` β Key remappings, status bar tweaks, theme, and plugins.
---
### 𧬠Git Config
- `git/config` β Global Git settings (color, aliases, defaults).
- `git/gitmessage` β Standard commit message template.---
### π Bat Config
- `bat/config` β Settings for the syntax-highlighted pager (`bat`).
---
### π¦ Mise Default Packages
Managed language versions and default packages:
- `mise/default-node-packages` β e.g., eslint, typescript
- `mise/default-python-packages` β e.g., ipython, black
- `mise/default-gems` β Ruby default gems
- `mise/default-cargo-crates` β Rust tools like ripgrep, fd---
## π οΈ Advanced Management (Optional)
For more structured and automated management, refer to the companion repository:
π [ammarnajjar/manage-dotfiles](https://github.com/ammarnajjar/manage-dotfiles)---
## πͺͺ License
MIT License Β© [Ammar Najjar](https://github.com/ammarnajjar)
---
## πββοΈ Contributing / Feedback
Feel free to open an issue or PR if you find a bug or have suggestions for improvements. This setup is tailored to my workflow, but I welcome feedback or ideas for making it more flexible.