{"id":28717122,"url":"https://github.com/jabbathenut/.dotfiles","last_synced_at":"2026-04-13T06:33:13.512Z","repository":{"id":298921409,"uuid":"1000918576","full_name":"jabbathenut/.dotfiles","owner":"jabbathenut","description":"Jabba's Neovim C/C++ Development Environment Dotfiles (MacOS)","archived":false,"fork":false,"pushed_at":"2025-06-12T14:24:25.000Z","size":5416,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-13T16:44:53.482Z","etag":null,"topics":["c","cpp","lua","neovim","nvim"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jabbathenut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-12T14:18:46.000Z","updated_at":"2025-06-12T14:26:43.000Z","dependencies_parsed_at":"2025-06-13T16:44:58.536Z","dependency_job_id":"e380bc91-99a8-4c06-80f6-485dcbb59a84","html_url":"https://github.com/jabbathenut/.dotfiles","commit_stats":null,"previous_names":["jabbathenut/.dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jabbathenut/.dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabbathenut%2F.dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabbathenut%2F.dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabbathenut%2F.dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabbathenut%2F.dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jabbathenut","download_url":"https://codeload.github.com/jabbathenut/.dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jabbathenut%2F.dotfiles/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259748164,"owners_count":22905466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","lua","neovim","nvim"],"created_at":"2025-06-15T03:13:17.994Z","updated_at":"2026-04-13T06:33:13.505Z","avatar_url":"https://github.com/jabbathenut.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Neovim C/C++ Development Environment Setup (MacOS)\n\n### Install Core Items\n\n#### Homebrew\n\nInstall Homebrew:\n\n```zsh\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\n```\n\nExecute the following cli commands:\n\n```zsh\necho \u003e\u003e /Users/jabba/.zprofile\necho 'eval \"$(/opt/homebrew/bin/brew shellenv)\"' \u003e\u003e /Users/jabba/.zprofile\neval \"$(/opt/homebrew/bin/brew shellenv)\"\n```\n\n#### CMake\n\nInstall CMake with Homebrew:\n\n```zsh\nbrew install cmake\n```\n\n#### Git\n\nInstall Git with Homebrew:\n\n```zsh\nbrew install git\ngit config --global user.name \"jabbathenut\"\ngit config --global user.email grimesje@protonmail.com\ngit config --global core.editor nvim\ngit config --global init.defaultBranch main\ngit config --global core.excludesfile ~/.gitignore_global\n```\n\n#### Ninja\n\nInstall Ninja with Homebrew:\n\n```zsh\nbrew install ninja\n```\n\n#### GNU Stow\n\nInstall GNU Stow with Homebrew:\n\n```zsh\nbrew install stow\n```\n\n### Install Dotfiles\n\n#### Dotfiles\n\nInstall Dotfiles from repository:\n\n```text\nNote: copy from repository location to home directory\n```\n\n### Install Terminal Items\n\n##### Nerd Font\n\nInstall Nerd Font with Homebrew:\n\n```zsh\nbrew install --cask font-jetbrains-mono-nerd-font\n```\n\n##### Starship\n\nInstall Starship with Homebrew:\n\n```zsh\nbrew install starship\n```\n\nAdd the following to .zshrc:\n\n```zsh\n# Starship (custom terminal prompt)\nexport STARSHIP_CONFIG=~/.config/starship/starship.toml\neval \"$(starship init zsh)\"\n```\n\n##### Ghostty\n\nInstall Ghostty with Homebrew:\n\n```zsh\nbrew install --cask ghostty\n```\n\n##### Eza\n\nInstall Eza with Homebrew:\n\n```zsh\nbrew install eza\n```\n\nAdd the following to .zshrc:\n\n```zsh\n# Eza (better ls)\nalias ls=\"eza --icons=always\"\n```\n\n##### Zoxide\n\nInstall Zoxide with Homebrew:\n\n```zsh\nbrew install zoxide\n```\n\nAdd the following to .zshrc:\n\n```zsh\n# Zoxide (better cd)\neval \"$(zoxide init zsh)\"\nalias cd=\"z\"\n```\n\n##### FZF\n\nInstall FZF with Homebrew:\n\n```zsh\nbrew install fzf\n```\n\n##### Yazi (Terminal File Manager)\n\nInstall Yazi and it's dependencies with Homebrew:\n\n```zsh\nbrew install yazi\nbrew install --cask font-jetbrains-mono-nerd-font\nbrew install ffmpeg sevenzip jq poppler fd ripgrep fzf zoxide resvg imagemagick\n```\n\nAdd the following to .zshrc:\n\n```zsh\n### YAZI START ###\n# Set Yazi default editor\nexport EDITOR=\"nvim\"\n\n# Shell wrapper function that provides the ability to change the\n# current working directory when exiting Yazi.\nfunction y() {\n\tlocal tmp=\"$(mktemp -t \"yazi-cwd.XXXXXX\")\" cwd\n\tyazi \"$@\" --cwd-file=\"$tmp\"\n\tif cwd=\"$(command cat -- \"$tmp\")\" \u0026\u0026 [ -n \"$cwd\" ] \u0026\u0026 [ \"$cwd\" != \"$PWD\" ]; then\n\t\tbuiltin cd -- \"$cwd\"\n\tfi\n\trm -f -- \"$tmp\"\n}\n### YAZI END ###\n```\n\n### Symlink Dotfiles (Must occur before Python and Neovim installations)\n\nSymlink Dotfiles using Stow:\n\n```zsh\ncd ~/.dotfiles\nstow .\n```\n\n### Install Python and Related Items (Must be done after dotfiles symlink)\n\nInstall prerequisites:\n\n```zsh\nbrew install openssl readline sqlite3 xz zlib tcl-tk\n```\n\nInstall pyenv and pyenv-virtualenv\n\n```zsh\nbrew install pyenv\nbrew install pyenv-virtualenv\n```\n\nAdd the following to .zshrc\n\n```zsh\n# pyenv and pyenv-virtualenv\nexport PYENV_ROOT=\"$HOME/.pyenv\" \u003e\u003e ~/.zshrc\n[[ -d $PYENV_ROOT/bin ]] \u0026\u0026 export PATH=\"$PYENV_ROOT/bin:$PATH\" \u003e\u003e ~/.zshrc\neval \"$(pyenv init -)\" \u003e\u003e ~/.zshrc\neval \"$(pyenv virtualenv-init -)\" \u003e\u003e ~/.zshrc\n```\n\nClose terminal and reopen to adopt new .zshrc settings\n\nInstall current python version and set it to the global version\n\n```zsh\npyenv install 3.x.x\npyenv global 3.x.x\n```\n\nInstall virtual environment for Neovim\n\n```zsh\npyenv virtualenv 3.x.x neovim-env\npyenv activate neovim-env\npip install pynvim\npyenv deactivate\n```\n\n### Install Neovim and Related Items\n\n#### Neovim and it's dependencies\n\nInstall Neovim with Homebrew:\n\n```zsh\nbrew install neovim\n```\n\nInstall Neovim Configuration Dependencies with Homebrew:\n\n```zsh\nbrew install node\nbrew install ripgrep\nbrew install tree-sitter-cli\nbrew install universal-ctags\nbrew install lazygit\n```\n\n### Neovim Configuration Description\n\n#### LSPs\n\nThe LSP configurations are stored in the ~/.config/nvim/lsp directory. Configurations located this directory are loaded\nautomatically by Neovim. This feature was implemented in Neovim 0.11. These loaded configurations are then enabled and\nenhanced in the ~/.config/nvim/lua/config/lspconfig.lua file.\n\n- basedpyright\n- clangd\n- lua-language-server (aka luals)\n- neocmakelsp\n- marksman\n\n#### Formatters/Linters\n\n- clang-format\n- gersemi\n- markdownlint-cli2\n- prettierd\n- ruff\n- stylua\n\n#### Debuggers\n\n- codelldb (C/C++)\n- debugpy (Python)\n\n#### LSP-Related Plugins\n\n- mason.nvim\n- mason-tool-installer.nvim\n- blink.cmp (completion)\n- conform.nvim (formatting)\n- nvim-lint (linting)\n- nvim-dap (debugging)\n\n#### Quality of Life Plugins\n\nThere are several QOL plugins that are not listed here, as they will likely change frequently. They can, however, be\neasily identified in the ~/.config/nvim/lua/plugins directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjabbathenut%2F.dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjabbathenut%2F.dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjabbathenut%2F.dotfiles/lists"}