Dotfiles when I'm distro hopping.
Personal dotfiles to keep the important configurations whenever I change the
OS. Currently, using MacOs devices, therefore the main
branch contains the
configurations for such devices.
Note that the other branches may not be as maintained nor up to date as the
main
branch.
You can run the ./setup.sh
script which will initialise the OS by adding the
moving the packages. It uses stow
, therefore make sure it is installed. It
requires other packages, such as git
, nvim
and curl
. In case one of
the dependencies it is not found, the execution will stop.
It installs nvm
as a node
and npm
version manager, but it can easily be
removed by removing the $HOME/.nvm
folder.
As soon as possible, the script will be migrated to a
lua
script in order to provide a more customizable installation.
As well as installing fish
, the ./setup.sh
script will also install the
fisher
plugin manager. With it, I recommend
installing the following plugins:
plugin-kubectl
: adds simliar aliases as the kubectl plugin for zsh.Completions can be installed from most executables (
gh
,cargo
,volta
...) and should be stored in~/.config/fish/completions/<exec-name>.fish
. Docker does not provide acompletion(s)
command. Use the following command to run:
curl -sS https://raw.githubusercontent.com/docker/cli/master/contrib/completion/fish/docker.fish \
> .config/fish/completions/docker.fish
Using starship
, I have a shared prompt configuration. Since it is exclusively
for the prompt, it does not include any sort of plugin configuration.
Configuration can be found in
./starship/.config/starship.toml
.
The Neovim configuration is built upon
NvChad
. It adds a couple of plugins to
deal with formating and the required configurations for the LSP server.
You can find and modify LSP configurations in the NvChad custom config folder.
Currently, the LSP is set up for:
It includes diagnostics as well as formatting for each LSP. All required LSP are
installed through the Mason plugin, meaning they will all be installed on
launching MasonInstallAll
. Same for TreeSitter language highlights, which
has defined the required languages.
You can modify the formatting options in the
formatter.lua
.
Currently using a minimally modified NvChad set up. The goal is to add the plugins required in order to make it fully functional both for front and back end development.