{"id":21261515,"url":"https://github.com/chenasraf/dotfiles","last_synced_at":"2025-03-15T07:12:20.237Z","repository":{"id":220414419,"uuid":"135993355","full_name":"chenasraf/dotfiles","owner":"chenasraf","description":"My dotfiles! Use at your own risk. Some pre-requisites (see readme)","archived":false,"fork":false,"pushed_at":"2024-05-22T09:12:11.000Z","size":213043,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-22T11:39:21.288Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","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/chenasraf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"chenasraf","patreon":null,"open_collective":null,"ko_fi":"casraf","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-06-04T08:20:00.000Z","updated_at":"2024-06-02T08:26:05.677Z","dependencies_parsed_at":"2024-02-25T10:26:52.836Z","dependency_job_id":"c5a4bde7-d71b-4a08-a63b-866fcc093065","html_url":"https://github.com/chenasraf/dotfiles","commit_stats":null,"previous_names":["chenasraf/dotfiles"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenasraf%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenasraf","download_url":"https://codeload.github.com/chenasraf/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243695589,"owners_count":20332629,"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":[],"created_at":"2024-11-21T04:43:38.528Z","updated_at":"2025-03-15T07:12:20.215Z","avatar_url":"https://github.com/chenasraf.png","language":"Shell","funding_links":["https://github.com/sponsors/chenasraf","https://ko-fi.com/casraf"],"categories":[],"sub_categories":[],"readme":"# .dotfiles\n\nThese are my personal dotfiles.\n\n![image](https://github.com/chenasraf/dotfiles/assets/167217/c19520c1-fb7e-4c6f-8181-6979979c593c)\n\n\u003cdetails\u003e\u003csummary\u003eScreenshots\u003c/summary\u003e\n \n![image](https://github.com/chenasraf/dotfiles/assets/167217/9caa45f3-586b-40f1-bcd5-8165bf7c1107) ![image](https://github.com/chenasraf/dotfiles/assets/167217/8fca7543-cdc1-45f9-92f0-fadf484077ba) ![image](https://github.com/chenasraf/dotfiles/assets/167217/3afaca9a-eda8-4625-b521-83e9946a099c) ![image](https://github.com/chenasraf/dotfiles/assets/167217/5dddef8e-92f9-4d67-860c-9b20c7074706)\n\n\u003c/details\u003e\n\nSome notable tools I use are:\n\n- Nvim (`.config/nvim`)\n- Tmux (`.config/tmux`, `utils/tx`)\n- WezTerm (`.config/wezterm/wezterm.lua`)\n- Zplug (`zplug.init.sh`)\n\n### Requirements\n\n1. Node.js (PNPM will be installed)\n2. jq\n\n## Nvim Plugins\n\nI have many many plugins and configurations going on.\n\nStarted from [kickstart.nvim](https://github.com/nvim-lua/kickstart.nvim) and heavily modified.\n\nPlugins are installed and configured in `.config/nvim` and its subdirectory `lua/plugins`.\n\nSome (but not all) of the plugins/modifications are listed here:\n\n| File                 | Description                                                                                             | Related plugins                                                                                                                                                                                                 |\n| -------------------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `autoformat.lua`     | Code auto formatting                                                                                    | [neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)                                                                                                                                               |\n| `barbar.lua`         | Tabs                                                                                                    | [omgrk/barbar.nvim](https://github.com/omgrk/barbar.nvim)                                                                                                                                                       |\n| `colorscheme.lua`    | Color scheme switcher                                                                                   |                                                                                                                                                                                                                 |\n| `dadbod.lua`         | Dadbod - Database manager for nvim                                                                      | [tpope/vim-dadbod](https://github.com/tpope/vim-dadbod)                                                                                                                                                         |\n| `debug.lua`          | Debugger-related code, most of these are not maintained/tested                                          | [mfussenegger/nvim-dap](https://github.com/mfussenegger/nvim-dap)                                                                                                                                               |\n| `floating-input.lua` | Floating input                                                                                          | [liangxianzhe/floating-input.nvim](https://github.com/liangxianzhe/floating-input.nvim)                                                                                                                         |\n| `fugitive.lua`       | Git manager - I use LazyGit now, but this remain mostly for git blame functionality                     | [tpope/vim-fugitive](https://github.com/tpope/vim-fugitive)                                                                                                                                                     |\n| `lazygit.lua`        | LazyGit inside nvim                                                                                     | [kdheepak/lazygit.nvim](https://github.com/kdheepak/lazygit.nvim)                                                                                                                                               |\n| `llm.lua`            | LLM - Copilot, ChatGPT (requires `OPENAI_API_KEY` env), Codeium                                         | [zbirenbaum/copilot.lua](https://github.com/zbirenbaum/copilot.lua), [Exafunction/codeium.nvim](https://github.com/Exafunction/codeium.nvim), [jackMort/ChatGPT.nvim](https://github.com/jackMort/ChatGPT.nvim) |\n| `lsp.lua`            | LSP related configs                                                                                     | [williamboman/mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim), [akinsho/flutter-tools.nvim](https://github.com/akinsho/flutter-tools.nvim)                                          |\n| `matchup.lua`        | Enables moving between function start/end as you would between brackets using `%`                       | [andymass/vim-matchup](https://github.com/andymass/vim-matchup)                                                                                                                                                 |\n| `media_files.lua`    | Telescope plugin to show media file previews                                                            | [nvim-telescope/telescope-media-files.nvim](https://github.com/nvim-telescope/telescope-media-files.nvim)                                                                                                       |\n| `noice.lua`          | Notifications \u0026 UI improvements                                                                         | [folke/noice.nvim](https://github.com/folke/noice.nvim)                                                                                                                                                         |\n| `nvim-test.lua`      | Run tests for any project type inside nvim                                                              | [klen/nvim-test](https://github.com/klen/nvim-test)                                                                                                                                                             |\n| `oil.lua`            | Better than netrw. Fight me. (Lets you move between and edit directories as you would a normal file)    | [stevearc/oil.nvim](https://github.com/stevearc/oil.nvim)                                                                                                                                                       |\n| `prettier.lua`       | Implements prettier code formatter into lua                                                             | [MunifTanjim/prettier.nvim](https://github.com/MunifTanjim/prettier.nvim)                                                                                                                                       |\n| `project_runner.lua` | Run prepared terminal commands per filetype - e.g. package.json scripts from ts/js files (Not a plugin) |                                                                                                                                                                                                                 |\n| `quicklist.lua`      | Delete/add to vim quicklist                                                                             |                                                                                                                                                                                                                 |\n| `quotes.lua`         | Allows you to toggle between `\\``, `\"`and`'` quotes around the cursor                                   |                                                                                                                                                                                                                 |\n| `remap.lua`          | General vim remaps not related to specific plugins                                                      |                                                                                                                                                                                                                 |\n| `schemastore.lua`    | Auto-loads JSON `$schema` depending on filetype and name                                                | [b0o/schemastore.nvim](https://github.com/b0o/schemastore.nvim)                                                                                                                                                 |\n| `sort.lua`           | Sort selected lines                                                                                     | [sQVe/sort.nvim](https://github.com/sQVe/sort.nvim)                                                                                                                                                             |\n| `statusline.lua`     | Status line UI updates                                                                                  | [nvim-lualine/lualine.nvim](https://github.com/nvim-lualine/lualine.nvim)                                                                                                                                       |\n| `surround.lua`       | Surround any text with anything like brackets, quotes, HTML tags or custom strings                      | [kylechui/nvim-surround](https://github.com/kylechui/nvim-surround)                                                                                                                                             |\n| `telescope.lua`      | Fuzzy finder, preview and picker for files/commands/custom                                              | [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)                                                                                                                               |\n| `text-transform.lua` | Transform between PascalCase, snake_case, camelCase, CONST_CASE and more                                | [chenasraf/text-transform.nvim](https://github.com/chenasraf/text-transform.nvim)                                                                                                                               |\n| `theme.lua`          | Theme configuration (OneDark)                                                                           | [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim)                                                                                                                                               |\n| `todo_comments.lua`  | Highlight \u0026 find TODO/HACK/FIXME/etc in comments across the project                                     | [folke/todo-comments.nvim](https://github.com/folke/todo-comments.nvim)                                                                                                                                         |\n| `treesitter.lua`     | Syntax highlighting on steroids                                                                         | [nvim-treesitter/nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)                                                                                                                           |\n| `trouble.lua`        | View list of diagnostics, quick fixes, TODOs, etc                                                       | [folke/trouble.nvim](https://github.com/folke/trouble.nvim)                                                                                                                                                     |\n| `undotree.lua`       | Undo each file as you would a git branch!                                                               | [mbbill/undotree](https://github.com/mbbill/undotree)                                                                                                                                                           |\n| `visual-multi.lua`   | Multiple cursor support for nvim                                                                        | [mg979/vim-visual-multi](https://github.com/mg979/vim-visual-multi)                                                                                                                                             |\n\n## How to install\n\n1. Install zsh\n2. Clone this repository into `~/.dotfiles`:\n\n   ```bash\n   git clone git@github.com:chenasraf/dotfiles.git --depth 1 ~/.dotfiles\n   ```\n\n3. Replace entire contents of `~/.zshrc` to the new version using (`ln -s` does **not** work):\n\n   ```bash\n   echo 'source \"$HOME/.dotfiles/.zshrc\"' \u003e ~/.zshrc\n   ```\n\n4. Run install scripts:\n\n   ```bash\n   source ~/.dotfiles/install.zsh\n   ```\n\n   And reload the terminal\n\n## My Other Stuff\n\nSee some of my other projects at [my website](https://casraf.dev/projects).\n\nOr some of my packages:\n\n### NPM\n\n- [Simple Scaffold](https://chenasraf.github.io/simple-scaffold) - Generate any file structure -\n  from single components to entire app boilerplates, with a single command.\n- [Massarg](https://chenasraf.github.io/massarg) - Flexible, powerful, and simple command/argument\n  parser for CLI applications\n\n### Dart/Flutter\n\n#### Apps\n\n- [Dungeon Paper](https://github.com/DungeonPaper/dungeon-paper-app) - A Dungeon World character\n  sheet app written with Flutter\n- [Mudblock](https://github.com/chenasraf/mudblock) - An MUD client for mobile \u0026 desktop\n\n#### Packages\n\n- [Script Runner](https://pub.dev/packages/script_runner) - Run all your project-related scripts in\n  a portable, simple config.\n- [Unaconfig](https://pub.dev/packages/unaconfig) - Load your user's config files for your package\n  easily, from multiple sources \u0026 formats. Like\n  [cosmiconfig](https://www.npmjs.com/package/cosmiconfig), but for Dart!\n- [CTelnet](https://pub.dev/packages/ctelnet) - A simple Telnet client for Dart/Flutter, parse\n  incoming and outgoing data easily and quickly.\n- [btool](https://pub.dev/packages/btool) - Generic build helper tools for Flutter/Dart such as\n  manipulating version, package name or application ID\n- [Wheel Spinner](https://pub.dev/packages/wheel_spinner) - A simple Flutter widget for updating a\n  number using a pitch bender-like spinner\n\n### Neovim\n\n- [text-transform.nvim](https://github.com/chenasraf/text-transform.nvim) - Common text transformers\n  for nvim - switch between camelCase, PascalCase, snake_case, and more!\n\n## Rust\n\n- [tblf](https://github.com/chenasraf/tblf) - Turns any CLI output lines into tables.\n\n### Go\n\n- [GI Gen](https://github.com/chenasraf/gi_gen) - Gitignore generator for any type of\n  projectackages/unaconfig)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenasraf%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchenasraf%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenasraf%2Fdotfiles/lists"}