Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modular #3

Merged
merged 10 commits into from
Sep 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 27 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,38 @@
# dotfiles

Install dependancies (e.g. oh-my-zsh, homebrew etc...), can specify options to install specific programs: tmux, zsh, pyenv
Follows the structure from [holman/dotfiles](https://github.com/holman/dotfiles) and [trishume/dotfiles](https://github.com/trishume/dotfiles)

See also [a simpler version](https://github.com/erees1/simple-dotfiles) which I recomend as a more lightweight starting point.

## Components

There's a few special files in the hierarchy.

- `bin/`: Anything in `bin/` will get added to your `$PATH` and be made available everywhere.
- `topic/*.zsh`: Any files ending in `.zsh` get loaded into your environment.
- `topic/*.symlink`: Any files ending in `*.symlink` get symlinked into your `$HOME`. This is so you can keep all of those versioned in your dotfiles but still keep those autoloaded files in your home directory. These get symlinked in when you run `./install.sh`.
- `topic/*.symlink`: Any files ending in `*.symlink` get symlinked into your `$HOME`. This is so you can keep all of those versioned in your dotfiles but still keep those autoloaded files in your home directory. These get symlinked in when you run `./install.sh`.
- `topic.config/*.symlink`: Any files / folders under a `topic.config` folder get symlinked into your `$HOME/.config`.
- `topic/*.env.zsh`: Any files ending in `env.zsh` get loaded first so that other config files can use these variables.


## Install

Run this:
```bash
# Install dependancies + tmux & zsh
./install.sh --tmux --zsh --nvim --delta
git clone git@github.com:erees1/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.sh
```

Deploy (e.g. source aliases for .zshrc, apply oh-my-zsh settings etc..), note this is automatically run
at the end of `install.sh`
If you are on linux don't have root access or want dependendcies installed in your home dir run this instead:
```bash
./install.sh --no-root
```

Then run:
```bash
./deploy.sh
```

Install tmux plugins with `ctrl+a I`

See also [a simpler version](https://github.com/erees1/simple-dotfiles) which I recomend as a more lightweight starting point.
File renamed without changes.
6 changes: 6 additions & 0 deletions gitconf/new_branch.sh → bin/git-new-branch
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
#!/bin/bash
set -eo pipefail

# Check that arg is provided
if [ -z $1 ]; then
echo "Please provide a branch name"
exit 1
fi

function maybe_singularity_exec() {
if [ $LOC == "remote" ]; then
cmd=''
Expand Down
Loading