{ programs = { smug = { enable = true; projects = { blogdemo = { root = "~/Developer/blog"; beforeStart = [ "docker-compose -f my-microservices/docker-compose.yml up -d" # my-microservices/docker-compose.yml is a relative to `root`-al ]; env = { FOO = "bar"; }; stop = [ "docker stop $(docker ps -q)" ]; windows = [ { name = "code"; root = "blog"; manual = true; layout = "main-vertical"; commands = [ "docker-compose start" ]; panes = [ { type = "horizontal"; root = "."; commands = [ "docker-compose exec php /bin/sh" "clear" ]; } ]; } { name = "infrastructure"; root = "~/Developer/blog/my-microservices"; layout = "tiled"; commands = [ "docker-compose start" ]; panes = [ { type = "horizontal"; root = "."; commands = [ "docker-compose up -d" "docker-compose exec php /bin/sh" "clear" ]; } ]; } ]; }; }; }; }; nmt.script = '' assertFileContent home-files/.config/smug/blogdemo.yml ${./blogdemo.yml} ''; }