anishathalye / dotbot

A tool that bootstraps your dotfiles ⚡️

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

feature-request: run a command IF a condition passes

Clumsy-Coder opened this issue · comments

just like LINK directive, there should one for running individual commands for SHELL directive.

Ex:

- shell:
    - command: apt update && apt upgrade -y
      if: lsb_release -i | grep -io 'debian'
      description: Update APT package repository

    - command: dnf update -y
      if: lsb_release -i | grep -io 'fedora'
      description: Update DNF package repository

why

  • provides a better flow of running dotbot process
  • can contain similar commands in a single shell directive.
    • Ex: shell directive for updating repositories
    • Ex: installing a package using package manager in one OS, downloading a script from another OS

This is already supported (without special syntax) by having the if be part of the command itself. E.g.

- shell:
    - command: "if (lsb_release -i | grep -io 'debian'); then apt update && apt upgrade -y; fi"
    - description: Update APT package repository

True, you can do it that way.

I'm just hoping to keep the command and if condition separate

@anishathalye I created a pull request implementing this feature. Have a look