Control your computer configuration, VPNs, virtual machines via switches.
- Install Haskell Stack, make sure that the path is set up on your machine as described in the Stack install docs.
- Clone this repository:
git clone https://github.com/mpetruska/switchboard.git
- Navigate to the repository base directory:
cd switchboard
- On NixOS:
stack install
vs non-NixOS:stack --no-nix install
- The
switchboard
executable should be installed and available in your path.
- Navigate to the repository base directory:
cd switchboard
git pull
stack install
as described above.
switchboard
: reads switches configuraiton from theswitchboard.yaml
file found in the current directoryswitchboard -f someother.yaml
: reads configuration fromsomeother.yaml
Key | Command |
---|---|
up/down | select previous/next switch |
left, right, space | flip selected switch |
l | show switch command log |
q | quit |
Switches can be configured in yaml. Example:
switches:
- title: VPN1
initialize: "false"
on: "~/project1/vpn connect"
off: "~/project1/vpn disconnect""
- title: VPN2
initialize: "ping -c3 jira.p2.local"
on: "~/p2/barracuda_connect.sh"
off: "~/p2/barracuda_disconnect.sh"
- title: Vagrant project1
initialize: "false"
on: "pushd ~/project1/GitHub/work; vagrant up; popd"
off: "pushd ~/project1/GitHub/work; vagrant halt; popd"