2024-07-21 22:44:10 +03:00
2024-07-07 11:00:50 +03:00
2024-02-04 00:27:09 +02:00
2024-07-21 22:44:10 +03:00
2024-07-21 22:44:10 +03:00
2022-09-01 23:52:07 +03:00
2024-02-01 23:54:43 +02:00
2024-07-21 22:44:10 +03:00
2024-07-21 22:44:10 +03:00
2023-06-20 10:26:24 +03:00
2024-04-08 18:30:15 +03:00
2024-07-02 11:24:53 +03:00
2024-06-23 10:20:57 +03:00
2024-06-23 10:20:57 +03:00
2024-03-28 15:18:01 +02:00
2024-07-21 22:44:10 +03:00
2024-02-19 18:25:21 +02:00
2024-04-27 23:44:30 +03:00

.dotfiles

These are my personal dotfiles.

image

Screenshots

image image image image

Some notable tools I use are:

  • Nvim (.config/nvim)
  • Tmux (.config/.tmux.conf, utils/tx)
  • WezTerm (.config/wezterm/wezterm.lua)
  • Zplug (zplug.init.sh)

Requirements

  1. Node.js (PNPM will be installed)
  2. jq

Nvim Plugins

I have many many plugins and configurations going on.

Started from kickstart.nvim and heavily modified.

Plugins are installed and configured in .config/nvim and its subdirectory lua/plugins.

Some (but not all) of the plugins/modifications are listed here:

File Description Related plugins
autoformat.lua Code auto formatting neovim/nvim-lspconfig
barbar.lua Tabs omgrk/barbar.nvim
colorscheme.lua Color scheme switcher
dadbod.lua Dadbod - Database manager for nvim tpope/vim-dadbod
debug.lua Debugger-related code, most of these are not maintained/tested mfussenegger/nvim-dap
floating-input.lua Floating input liangxianzhe/floating-input.nvim
fugitive.lua Git manager - I use LazyGit now, but this remain mostly for git blame functionality tpope/vim-fugitive
lazygit.lua LazyGit inside nvim kdheepak/lazygit.nvim
llm.lua LLM - Copilot, ChatGPT (requires OPENAI_API_KEY env), Codeium zbirenbaum/copilot.lua, Exafunction/codeium.nvim, jackMort/ChatGPT.nvim
lsp.lua LSP related configs williamboman/mason-lspconfig.nvim, akinsho/flutter-tools.nvim
matchup.lua Enables moving between function start/end as you would between brackets using % andymass/vim-matchup
media_files.lua Telescope plugin to show media file previews nvim-telescope/telescope-media-files.nvim
noice.lua Notifications & UI improvements folke/noice.nvim
nvim-test.lua Run tests for any project type inside nvim klen/nvim-test
oil.lua Better than netrw. Fight me. (Lets you move between and edit directories as you would a normal file) stevearc/oil.nvim
prettier.lua Implements prettier code formatter into lua MunifTanjim/prettier.nvim
project_runner.lua Run prepared terminal commands per filetype - e.g. package.json scripts from ts/js files (Not a plugin)
quicklist.lua Delete/add to vim quicklist
quotes.lua Allows you to toggle between \``, "and'` quotes around the cursor
remap.lua General vim remaps not related to specific plugins
schemastore.lua Auto-loads JSON $schema depending on filetype and name b0o/schemastore.nvim
sort.lua Sort selected lines sQVe/sort.nvim
statusline.lua Status line UI updates nvim-lualine/lualine.nvim
surround.lua Surround any text with anything like brackets, quotes, HTML tags or custom strings kylechui/nvim-surround
telescope.lua Fuzzy finder, preview and picker for files/commands/custom nvim-telescope/telescope.nvim
text-transform.lua Transform between PascalCase, snake_case, camelCase, CONST_CASE and more chenasraf/text-transform.nvim
theme.lua Theme configuration (OneDark) navarasu/onedark.nvim
todo_comments.lua Highlight & find TODO/HACK/FIXME/etc in comments across the project folke/todo-comments.nvim
treesitter.lua Syntax highlighting on steroids nvim-treesitter/nvim-treesitter
trouble.lua View list of diagnostics, quick fixes, TODOs, etc folke/trouble.nvim
undotree.lua Undo each file as you would a git branch! mbbill/undotree
visual-multi.lua Multiple cursor support for nvim mg979/vim-visual-multi

How to install

  1. Install zsh

  2. Clone this repository into ~/.dotfiles:

    git clone git@github.com:chenasraf/dotfiles.git --depth 1 ~/.dotfiles
    
  3. Replace entire contents of ~/.zshrc to the new version using (ln -s does not work):

    echo 'source "$HOME/.dotfiles/.zshrc"' > ~/.zshrc
    
  4. Run install scripts:

    source ~/.dotfiles/install.sh
    

    And reload the terminal

My Other Stuff

See some of my other projects at my website.

Or some of my packages:

NPM

  • Simple Scaffold - Generate any file structure - from single components to entire app boilerplates, with a single command.
  • Massarg - Flexible, powerful, and simple command/argument parser for CLI applications

Dart/Flutter

Apps

  • Dungeon Paper - A Dungeon World character sheet app written with Flutter
  • Mudblock - An MUD client for mobile & desktop

Packages

  • Script Runner - Run all your project-related scripts in a portable, simple config.
  • Unaconfig - Load your user's config files for your package easily, from multiple sources & formats. Like cosmiconfig, but for Dart!
  • CTelnet - A simple Telnet client for Dart/Flutter, parse incoming and outgoing data easily and quickly.
  • btool - Generic build helper tools for Flutter/Dart such as manipulating version, package name or application ID
  • Wheel Spinner - A simple Flutter widget for updating a number using a pitch bender-like spinner

Neovim

  • text-transform.nvim - Common text transformers for nvim - switch between camelCase, PascalCase, snake_case, and more!

Rust

  • tblf - Turns any CLI output lines into tables.

Go

  • GI Gen - Gitignore generator for any type of projectackages/unaconfig)
Description
My dotfiles! Use at your own risk. Some pre-requisites (see readme)
Readme 209 MiB
Languages
Lua 48.7%
Shell 47.8%
Ruby 2.3%
Vim Script 0.5%
HTML 0.4%
Other 0.3%