This makes it a hell of a lot simpler but will lose support for BSD
make. All effected machines are running gnu-make, so the cost benefit
ratio ways heavily in favor of doing this.
rbenv, et al are having issues with Arch and ruby. I'm not sure where
the source of the issue is but I've tried a couple of different install
paths for both ruby and the version management tools. They all seem to
be having about the same issue.
Its largely based on jackharrisonsherlock's common prompt, but has some
different namespacing, a deterministic prompt color based on the
hostname, and a few other minor changes.
My plan is to add async git info to this, but this is the MVP for this.
This is a very fragile implementation of this, but I didn't want to add
any dependencies to this script since I want it to be able to portable
above all else. If anyone has a better solution I would love to hear it.
I've reorganized some of the fzf dependency some. There are large number
of resources I need from the fzf repo that I have been omitting because
zplug does no work well with a repo that both has both bins and plugins.
Instead I've been manually managing the fzf.zsh files and the fzf-tmux
then using the binary from fzf-bin. This nominally worked for zsh it
wasnone functioning for other things that used fzf as a dependency.
Additionally this broke the rule of don't write what you don't have to
mantra of this project.
So I found a rather weird issue. The makefile was evaling the
conditional of a target before that target is called.
`make install` is a empty target with a ordered dependency: `init` and
`update`. In the `init` script section it will install the `~/.zplug`
zsh dependency, and the update script checks to see if that target
exist, aborting if it doesn't. The issue is that running `make install`
will install the `~/.zplug` dir, then report that the dir doesn't exist.
Where running `make init && make update` will work as expected.
There is probably some flag in make to resolve this, but I was unable to
to find any documentation for this.
To use one or the other specify set variable to either `doom` or
`spacemacs`. If no value is specified it will default to Spacemacs,
though this may change in the future.
Some how this was preventing the makefile from being able run the helper
scripts, do to a permission issue. I think somehow `env zsh` was trying to
traverse the env directory. I don't really have a better explanation than this.
Users can still set $HISTFILE if they want to and this will be used instead.
If no value is specified it will default to the $ZDIR/transient/history file.
This will prevent the double render issue that existed prior. It will still
render twice, but the second render will be defered until after tmux has been
quit.
At this point the following doesn't work.
- prompt
- history
- most autocomplete
Additionally with the tmux script getting loaded zplug we are getting a double
render issue, which is increasing the start up time. I'll probably move this
before the .zshrc set to short circuit having to set up all zplug script twice
before having a useable shell.