Automate
In order to simplify the usage of ilo
, consider using autoenv
-like tooling. These tools all allow you to just enter a directory and will automatically call ilo
for you like this:
[you@hostname ~]$ cd path/to/your/project
[root@container project-dir]#
As soon as you enter the directory of your project, these tools will call ilo
which in turn will open your build environment for you.
autoenv
In order to use autoenv, first install it and then place a .env
file in the root of your project which contains ilo
and its arguments as its contents.
[you@hostname project-dir]$ cat .env
ilo @build-env
direnv
In order to use direnv, first install it and then place a .envrc
file in the root of your project which contains ilo
and its arguments as its contents.
[you@hostname project-dir]$ cat .envrc
ilo @build-env
envrc-rs
In order to use envrc-rs, first install it and then place a .envrc
file in the root of your project which contains ilo
and its arguments as its contents.
[you@hostname project-dir]$ cat .envrc
ilo @build-env
smartcd
In order to use smartcd, first install it, enter the root directory of your project and then call smartcd edit enter
which will open an editor to write a script to execute whenever you enter your project directory. Use something like ilo @build-env
as the script.
[you@hostname project-dir]$ cat ~/.smartcd/scripts/path/to/project-dir/bash_enter
ilo @build-env
zsh-autoenv
In order to use zsh-autoenv, first install it and then place a .autoenv.zsh
file in the root of your project which contains ilo
and its arguments as its contents.
[you@hostname project-dir]$ cat .autoenv.zsh
ilo @build-env
tmuxp
In order to use tmuxp, first install it and then create a new configuration in ${XDG_CONFIG_HOME}/tmuxp
:
[you@hostname project-dir]$ cat ${XDG_CONFIG_HOME}/tmuxp/your-project.yml
session_name: your-project
windows:
- window_name: dev window
shell_command_before:
- cd ~/path/to/your/project
panes:
- shell_command:
- ilo @build-env
teamocil
In order to use teamocil, first install it and then create a new configuration in ~/.teamocil
:
[you@hostname project-dir]$ cat ~/.teamocil/your-project.yml
windows:
- name: your-project
root: ~/path/to/your/project
panes:
- ilo @build-env
tmuxifier
In order to use tmuxifier, first install it and then create a new configuration in $TMUXIFIER_LAYOUT_PATH
:
[you@hostname project-dir]$ cat $TMUXIFIER_LAYOUT_PATH/your-project.sh
window_root "~/path/to/your/project"
new_window "Your Project"
split_v 20
run_cmd "ilo @build-env"
split_h 60
select_pane 0
tmuxinator
In order to use tmuxinator, first install it and then create a new configuration in ~/.config/tmuxinator
:
[you@hostname project-dir]$ cat ~/.config/tmuxinator/your-project.yml
name: your-project
root: ~/path/to/your/project
windows:
- your_project:
panes:
- ilo @build-env
dmux
In order to use dmux, first install it and then create your configuration in ${XDG_CONFIG_HOME}/dmux/dmux.conf.{file_type}
:
[you@hostname project-dir]$ cat ${XDG_CONFIG_HOME}/dmux/dmux.conf.toml
[your-project]
number_of_panes = 2
session_name = "Your Project"
commands = ["ilo @build-env"]
airmux
In order to use airmux, first install it and then create a new configuration in ${XDG_CONFIG_HOME}/airmux
:
[you@hostname project-dir]$ cat ${XDG_CONFIG_HOME}/airmux/your-project.yml
name: your-project
root: ~/path/to/your/project
windows:
- your_project:
panes:
- command: ilo @build-env
smug
In order to use smug, first install it and then create a new configuration in ${XDG_CONFIG_HOME}/smug
:
[you@hostname project-dir]$ cat ${XDG_CONFIG_HOME}/smug/your-project.yml
session: your-project
root: ~/path/to/your/project
windows:
- name: your_project
commands:
- ilo @build-env