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.
- Host: GitHub
- URL: https://github.com/n0bra1n3r/dotfiles
- Owner: n0bra1n3r
- Created: 2022-01-11T11:30:35.000Z (over 4 years ago)
- Default Branch: staging
- Last Pushed: 2025-03-30T03:12:59.000Z (about 1 year ago)
- Last Synced: 2025-07-13T15:42:42.665Z (11 months ago)
- Topics: bash, chezmoi, git-for-windows, mac-os, nvim-configs, terminal, zsh
- Language: Lua
- Homepage:
- Size: 34.8 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.