An open API service indexing awesome lists of open source software.

https://github.com/n0bra1n3r/dotfiles

My personal development environment for Wind0ws and Mac 0S.
https://github.com/n0bra1n3r/dotfiles

bash chezmoi git-for-windows mac-os nvim-configs terminal zsh

Last synced: 11 months ago
JSON representation

My personal development environment for Wind0ws and Mac 0S.

Awesome Lists containing this project

README

          

# 🛠️ My Development Environment 🛠️

This is my personal development environment for Wind0ws and Mac 0S.

Note that this configuration depends on [Git for Wind0ws](https://gitforwindows.org/) in Wind0ws.

## Installation 💻

The following command will install the configuration files in your home directory:

```sh
$ curl -o- https://raw.githubusercontent.com/n0bra1n3r/dotfiles/staging/install.sh | bash
```

This installation script will ask for the configuration values specified in [this file](home/.chezmoi.toml.tmpl).

## Tools and Commands 🧰

### [neovim](home/dot_config/exact_nvim/exact_lua/main.lua.tmpl) (config file)

The core of my [neovim](https://neovim.io/doc) configuration.

The list of plugins can be found [here](home/dot_config/exact_nvim/exact_lua/plugins.lua.tmpl), and plugin configurations are in the [configs](home/dot_config/exact_nvim/exact_lua/exact_configs) folder.

### [workspace](home/exact_dot_dotfiles/exact_scripts/workspace) (bash script)

Creates/navigates/deletes [git worktrees](https://opensource.com/article/21/4/git-worktree).

> A git worktree is a linked copy of your Git repository, allowing you to have multiple branches checked out at a time. A worktree has a separate path from your main working copy, but it can be in a different state and on a different branch. The advantage of a new worktree in Git is that you can make a change unrelated to your current task, commit the change, and then merge it at a later date, all without disturbing your current work environment.

💡 **Quick tips**:

* Make sure the script is executable by running `chmod +x workspace`.
* It may be convenient to `alias ws=workspace`.
* Autocomplete can be enabled for the command in [bash](home/exact_dot_dotfiles/bashrc#L33:L47) and [zsh](home/exact_dot_dotfiles/exact_zshrc/dot_zshrc#L56:L68).

#### `workspace `

Creates a new worktree directory `ws-/` for the repository at `` in your current directory, and changes the current directory to this directory.

The directory this command is run in must not be inside a git folder.

#### `workspace `

Switches to a worktree corresponding to ``. This command will fetch `` if it does not exist locally.

Autocomplete for bash and zsh are available for this command by pressing the `` key.

#### `workspace -`

Switches to the previously visited worktree, if there is one. Works similarly to `git switch -`.

#### `workspace clean [ | -- ]`

Deletes worktree(s) with no associated remotes. This command will ask for confirmation before deleting a worktree.

A convenient usage is `workspace clean -- $(git branch)`, which will process all worktrees in the current repository.

#### `workspace`

Switches to the worktree corresponding to the default branch.