{"id":23012579,"url":"https://github.com/hgreenstein/.dotfiles","last_synced_at":"2026-05-07T05:37:32.248Z","repository":{"id":210124419,"uuid":"719875571","full_name":"hgreenstein/.dotfiles","owner":"hgreenstein","description":"Dotfile repository for Linux configuration files including Neovim, bashrc, and tmux ","archived":false,"fork":false,"pushed_at":"2024-04-15T22:19:44.000Z","size":559,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-28T06:13:07.228Z","etag":null,"topics":["bash","bashrc","dotfile","dotfiles","dotfiles-linux","neovim","neovim-config","neovim-configuration","neovim-dotfiles","tmux","tmux-conf","tmux-configuration"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hgreenstein.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-11-17T04:46:45.000Z","updated_at":"2024-01-17T06:07:01.000Z","dependencies_parsed_at":"2024-01-07T06:46:12.857Z","dependency_job_id":"334883ff-e455-4b5e-907f-f335866b1089","html_url":"https://github.com/hgreenstein/.dotfiles","commit_stats":null,"previous_names":["hgreenstein/.dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hgreenstein/.dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hgreenstein%2F.dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hgreenstein%2F.dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hgreenstein%2F.dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hgreenstein%2F.dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hgreenstein","download_url":"https://codeload.github.com/hgreenstein/.dotfiles/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hgreenstein%2F.dotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274726329,"owners_count":25338392,"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","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bash","bashrc","dotfile","dotfiles","dotfiles-linux","neovim","neovim-config","neovim-configuration","neovim-dotfiles","tmux","tmux-conf","tmux-configuration"],"created_at":"2024-12-15T10:15:15.800Z","updated_at":"2026-05-07T05:37:27.230Z","avatar_url":"https://github.com/hgreenstein.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .dotfiles\n## Description:\nThis repository contains links to multiple different configurations that live across my WSL and Linux Mint Environments. \n\nThis folder repository is intented to live in either the home directory or .config directory and the invidual directorys \nand .config files are symbolically linked with the `ln -s` bash command to the appropriate directory, example `~/.bashrc` \n\n### Neovim Config Example Image:\n![Neovim Image](Example%20Images/neovimExample.png)\n\n### Bashrc Config Example Image:\n![.bashrc image](Example%20Images/bashrcExample.png)\n\n## Installation:\n\n1. First clone the repository into appropriate directory\n\nBy default files like the bashrc will look for other resources like the terminal prompt theme in the home directory\n\n```bash\ngit clone https://github.com/hgreenstein/.dotfiles.git ~/.dotfiles\n```\n2. Create Symbolic links to the appropriate directories\n   \nA. .bashrc and .inputrc\n```bash\nln -s ~/.dotfiles/bash/.bashrc ~/.bashrc\nln -s ~/.dotfiles/bash/.inputrc ~/.inputrc\n```\nB. Neovim (Assuming neovim is already installed and looking for the neovim folder in `~/.config/nvim`\n```bash\nln -s ~/.dotfiles/nvim ~/.config/nvim \n```\n### Neovim Installation Part 2: System dependencies \nDoing the above installation steps will successfully install all the plugins in Neovim but many errors will still likely occur upon startup of Neovim \nThis is due to package dependencies in many plugins, for example Telescope (cited below) requires [ripgrep](https://github.com/BurntSushi/ripgrep) for the grep functionality to work properly.\nAdditionally, many standard programming libraries and environments must be installed including but not limited to:\n1. Python \n2. Node \u0026 npm\n3. C-compiler like GCC in path\n4. Java dev tools for java lsp servers\n5. Curl, Tar, Git, Gzip, Unzip, [ripgrep](https://github.com/BurntSushi/ripgrep), [lazygit](https://github.com/jesseduffield/lazygit)\n6. A \"Nerd Font\" of choice installed, a great resource is [nerdfonts.com](https://www.nerdfonts.com/font-downloads)\n   a. If you don't have a preferred font, I suggest JetBrains Mono Nerd Font, it's designed for easy code readability! \n\n\nI hope to add a comprehensive installation script for all common linux operating systems in the future, but for now please refer to the linked documentation of each plugin you plan to use to\nensure all system dependencies are installed.\nIf you have been using your linux system for development for a long period of time, many of these may already be installed but if not, refer to the official documentation to install these tools\n\n## Additional Information and Credit\n\n### Bash\nBash utilizes multiple aliases that may be useful for those that have the appropriate packages installed\n#### Example\nAlias: `ls -\u003e eza -alFh` for a prettier, long formatted and human readable ls command\n\nIf you do not have eza installed on your system, it can be easily installed with a linux package manager:\nExample for those with a Cargo Rust environment already setup:\n```bash\ncargo install eza\n```\nLearn more about eza on the [official GitHub page](https://github.com/eza-community/eza)\n\nFor the colorscript pixel art randomly at each run of the bashrc, see the documentation of [Shell Color Scripts](https://gitlab.com/dwt1/shell-color-scripts) by Derek Taylor\n\n#### Inputrc\n\nThe .inputrc makes basic modifications like changing the default emacs keybindings to vi keybindings to fit with my neovim workflow. Additionally, it prepends a 'i' or 'n' to the prompt for insert and normal mode to easily keep track of vi mode while using the terminal\n\n#### Bash Credit:\n1. My bash uses [Oh My Posh](https://github.com/jandedobbeleer/oh-my-posh) for it's custom prompt, please refer to the original github for more\n2. The pixel art that appears randomly on every bash prompt is [Shell Color Scripts](https://gitlab.com/dwt1/shell-color-scripts) by Derek Taylor\n3. Additionally, credit to many useful terminal utility commands like [exa](https://github.com/ogham/exa) \n\n### Tmux\n\n- Rebinds prefix to Ctrl-S \n\n- Adds vim keybindings for navigation and visual mode\n\n- Adds plugin support via [TPM](https://github.com/tmux-plugins/tpm)\n\n#### Tmux plugins\n\n- Easily switch between Neovim and Tmux panes with ctrl + hjkl on both!\n   - Dual support comes via the [vim-tmux-navigator](https://github.com/christoomey/vim-tmux-navigator) plugin\n   - Must be installed on both Neovim and Tmux\n- Informative and easy to read, red and black status bar\n   - Provided by the [tmux-power](https://github.com/wfxr/tmux-power) plugin\n\n\n### Neovim Credits:\nNeovim configuration utilizes the [Lazy.Nvim Package Manager](https://github.com/folke/lazy.nvim)\nAdditionally, a variety of Neovim Plugins are used to extend the default Functionality Including:\n- [Nvim Telescope](https://github.com/nvim-telescope/telescope.nvim) For Grep Functionality\n- [Plenary](https://github.com/nvim-lua/plenary.nvim) Telescope Dependency\n- [Vscode.Nvim](https://github.com/Mofiqul/vscode.nvim) For Color Scheme mimicking VSCode dark+ \n- [Nvim Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) For Syntax highlighting, function jumping and more\n- [Treesitter Playground](https://github.com/nvim-treesitter/playground) - Ability to parse syntax tree using treesitter\n- [Harpoon - ThePrimeagen](https://github.com/theprimeagen/harpoon) For each file switching with leader + # of file\n- [Undo Tree](https://github.com/mbbill/undotree) For a google drive like local edit history to easily revert to a previous state between github commits\n- [Lsp-Zero](https://github.com/VonHeikemen/lsp-zero.nvim) For an LSP manager plugin\n- [Mason](https://github.com/williamboman/mason.nvim) \u0026 [Mason Lspconfig](https://github.com/williamboman/mason-lspconfig.nvim) For lsp server installation and management\n- [Nvim-cmp](https://github.com/hrsh7th/nvim-cmp) and [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) For LSP completion related Capabilities\n- [LuaSnip](https://github.com/L3MON4D3/LuaSnip) for snippets\n- [Autopairs](https://github.com/windwp/nvim-autopairs) for auto closing {}, (), [], + more\n- [Vim Be Good](https://github.com/ThePrimeagen/vim-be-good) for fun vim games to help with quick actions\n- [Nvim Tree](https://github.com/nvim-tree/nvim-tree.lua) Adds tree like file structure in a buffer, far superior to :Explorer\n- [Nvim Web Devicons](https://github.com/nvim-tree/nvim-web-devicons) Adds icon support \n- [Null Ls Nvim](https://github.com/jose-elias-alvarez/null-ls.nvim) Additional LSP functionality\n- [Prettier Nvim](https://github.com/MunifTanjim/prettier.nvim) Prettier Linter formatting for HTML/JS/React(JSX/TSX)/CSS/ + more\n- [Vim Rainbow](https://github.com/frazrepo/vim-rainbow) Corresponding rainbow colored brackets for easy scope identification\n- [Vim Vsnip](https://github.com/hrsh7th/vim-vsnip) \u0026 [Vim Vsnip Integ](https://github.com/hrsh7th/vim-vsnip-integ) Additional Snippets\n- [Lualine Nvim](https://github.com/nvim-lualine/lualine.nvim) Adds nice status bar below focused buffer including mode, file name, line % and more\n- [Obsidian Nvim](https://github.com/epwalsh/obsidian.nvim) Adds Markdown support to Neovim for editting an Obsidian vault \n- [Nvim Surround](https://github.com/kylechui/nvim-surround) Ability to quickly surround text in \"\", '', {}, (), func(), \u003ctag\u003e\u003c/tag\u003e, and more using motions like `ys+motion+[surround_char]` ex: `ysiw\"` surrounds word with quotes\n- [Nvim Comment](https://github.com/terrortylor/nvim-comment) Quickly comment out lines in any language with `gc+motion` or `gcc` for line\n- [Glow Nvim](https://github.com/ellisonleao/glow.nvim) Preview formatted markdown documents in neovim utilizing the glow package \n- [Vim Fugative](https://github.com/tpope/vim-fugitive) Graphical Git management, staging, merging, commiting, pushing and more\n- [vim-tmux-navigator](https://github.com/christoomey/vim-tmux-navigator) Easily switch between Neovim and Tmux panes with ctrl + hjkl on both!\n- [Lazygit.nvim](https://github.com/kdheepak/lazygit.nvim) Bring a floating lazygit terminal panel into your neovim if [lazygit](https://github.com/jesseduffield/lazygit) is already installed\n- [Rust Tools](https://github.com/simrat39/rust-tools.nvim) Adds tools for developing in the rust language such as in buffer running of code\n- [LSP Inlay Hints](https://github.com/lvimuser/lsp-inlayhints.nvim) Adds in line hints from the language server (ex: adds type hints for rust variables and functions when types are only implicitly defined) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhgreenstein%2F.dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhgreenstein%2F.dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhgreenstein%2F.dotfiles/lists"}