I don't really like the feel of this but this allows us to call
$(return_val_truthy) to output a value of tue or false based on the retrun value
of the last command. This saves us from having to do make the call ` && echo
true || echo false`.
I will probaby switch this in the future to just have a `echo $?` function
instead. Then check if returnVal == zero. If I do that I will also need to
change the way OS works, requiring true => 0 and false => 1, which is a little
bit conter to how it should be.
The output scaling was causing issues where it fonts were blury. This isn't an
ideal solution, and will not work for using an external monitor but since this
machine is currently just serving as a stand alone laptop, this should work.
It will look for all first level child `makefile`, and run assigned target. This
is equivalent to running:
```shell
for i in */makefile; do
make -C $i $target
done
```
Shared logic can be imported via `include ../lib/shared.mk`
Helper functions include 3 current opperations
1. mk_link:: This will create a symbolic link if the file doesn't already exist.
2. rm_link:: Will remove the link if it is a symlink.
3. report :: This color codes the status of a message and adds a leading symbol.
report also can be called with `LAST_RETURN=$? report "message"`
and will expand this to be either `report info "message"` Or `report error
"message"` based on the last return value.
Current status are info, warn, and error.
I'm going to use Mako for notifications for now. Dunst looks like it still has a
couple of issues that need to get resolved before I use it with Wayland.
This will case `make update` to run everytime there is a successful
merge. This will include everytime the is a non no-op merge. This *will
not run* if:
1. There is no changes.
2. There is a conflict in the merge.
Additionally the make install set will now sym link the post-merge hook.
Autoload is used by vim.plug, but the makefile will pull fresh copy of
the vim.plug script on merge (after any non no-op pull).
Backup will keep. Well backups. Never check these in.