Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/cjvnjde/dotfiles

A collection of configuration files for setting up a developer-friendly environment.
https://github.com/cjvnjde/dotfiles

Last synced: about 2 months ago
JSON representation

A collection of configuration files for setting up a developer-friendly environment.

Awesome Lists containing this project

README

        

# Dotfiles Repository

This repository manages configuration files for various tools and utilities using Git submodules, helping to maintain a consistent and easily reproducible development environment across different machines.

## Getting Started

### Requirements

#### Global deps

- [Nerd Fonts](https://www.nerdfonts.com/)
- [Oh My Zsh](https://ohmyz.sh/)
- [asdf](https://asdf-vm.com) package version manager
- [lf](https://github.com/gokcehan/lf) file manager
- [tldr](https://github.com/tldr-pages/tldr) simpler man command

#### Terminal deps

- [atuin](https://github.com/atuinsh/atuin) search in terminal history
- [eza](https://github.com/eza-community/eza) lf alternative
- [fzf](https://github.com/junegunn/fzf)
- [delta](https://github.com/dandavison/delta)

#### Home deps

- [zoxide](https://github.com/ajeetdsouza/zoxide) better autojump
- [zsh node-bin](https://github.com/remcohaszing/zsh-node-bin)
- [thefuck](https://github.com/nvbn/thefuck)
- [bat](https://github.com/sharkdp/bat)

#### nvim deps

- [fzf](https://github.com/junegunn/fzf)
- [ripgrep](https://github.com/BurntSushi/ripgrep)

### different

- [btop](https://github.com/aristocratos/btop) system monitoring tool

## Notes

Core theme - catppuccin Mocha

### Installation

1. Clone the repository along with its submodules:

```shell
git clone --recurse-submodules [email protected]:cjvnjde/dotfiles.git $HOME/dotfiles
```

2. Run the setup script to create symbolic links for your dotfiles:

```shell
$HOME/dotfiles/setup.sh
```

## Usage

### Adding New Dotfiles

1. Add the external configuration repository as a submodule:

```sh
git submodule add [email protected]:cjvnjde/reponame.git path/to/repo
```

2. Update the associative array in the `setup.sh` script:

```bash
dotfiles=(
...
"path/to/file:path/to/symbolic"
)
```

3. Run the setup script to create the symbolic link:

```sh
$HOME/dotfiles/setup.sh
```

4. Commit and push your changes:

```sh
git add .
git commit -m "Add repo submodule"
git push
```

### Updating Dotfiles

1. Pull the latest changes, including submodule updates:

```sh
git pull --recurse-submodules
```

2. Run the setup script to apply the changes:

```sh
./setup.sh
```

## Platform Specific Configuration for Zsh

1. **Navigate to Your Home Directory**:

```sh
cd $HOME
```

2. **Create the `.zshrc_local` File**:

If it doesn't already exist, create the `.zshrc_local` file.

```sh
touch .zshrc_local
```

3. **Edit the `.zshrc_local` File**:

Open the file in your preferred text editor.

```sh
nano .zshrc_local # or use vim, code, etc.
```

Add your platform-specific configurations, aliases, environment variables, etc., to this file.