All Projects β†’ guitarrapc β†’ ScoopPlaybook

guitarrapc / ScoopPlaybook

Licence: MIT license
Define Scoop as YAML and run single command.

Programming Languages

powershell
5483 projects

Labels

Projects that are alternatives of or similar to ScoopPlaybook

scoop-docs
πŸ“š Scoop documentation done right
Stars: ✭ 41 (+115.79%)
Mutual labels:  scoop
tomato
My personal scoop bucket.
Stars: ✭ 20 (+5.26%)
Mutual labels:  scoop
echo-scoop
A bucket of commonly used portable(green) software
Stars: ✭ 42 (+121.05%)
Mutual labels:  scoop
Scoop-Python
A Scoop bucket for Python applications that do not provide standalone executables.
Stars: ✭ 15 (-21.05%)
Mutual labels:  scoop
scoop-gui
Graphical user interface for scoop (a windows package manager)
Stars: ✭ 20 (+5.26%)
Mutual labels:  scoop
Scoop
A command-line installer for Windows.
Stars: ✭ 14,508 (+76257.89%)
Mutual labels:  scoop
scoop-for-jp
Scoop bucket for ALL Japanese users.
Stars: ✭ 17 (-10.53%)
Mutual labels:  scoop
scoop-viewer
A gui client for scoop.
Stars: ✭ 76 (+300%)
Mutual labels:  scoop
scoop-emulators
Scoop bucket for emulators
Stars: ✭ 32 (+68.42%)
Mutual labels:  scoop
WinGetUI
WingetUI Store: a GUI Store for the most common cli package managers, sych as Winget and Scoop
Stars: ✭ 73 (+284.21%)
Mutual labels:  scoop
Excavator
πŸ•³οΈ This container runs the updating services for all scoop manifest repos (deprecated)
Stars: ✭ 25 (+31.58%)
Mutual labels:  scoop
scoop-backup
Backup your entire current scoop installation with one command
Stars: ✭ 45 (+136.84%)
Mutual labels:  scoop
scoops
πŸ“¦ A bucket of tasty scoop flavored apps.
Stars: ✭ 63 (+231.58%)
Mutual labels:  scoop
scoop-clojure
Install Clojure on Windows with Scoop
Stars: ✭ 73 (+284.21%)
Mutual labels:  scoop
Scoop-Bucket
My personal Scoop bucket.
Stars: ✭ 26 (+36.84%)
Mutual labels:  scoop
Asuite
ASuite is a simple open source portable launcher for Microsoft Windows.
Stars: ✭ 58 (+205.26%)
Mutual labels:  scoop
scoop-iszy
Scoop bucket for ZvonimirSun
Stars: ✭ 20 (+5.26%)
Mutual labels:  scoop
scoop-bucket
Scoop Apps for Layer5 command line clients
Stars: ✭ 15 (-21.05%)
Mutual labels:  scoop
scoop-search
No description or website provided.
Stars: ✭ 20 (+5.26%)
Mutual labels:  scoop
scoop-directory
A searchable directory of buckets for the scoop package manager for Windows
Stars: ✭ 721 (+3694.74%)
Mutual labels:  scoop

build release

ScoopPlaybook

PowerShell Module to Play Scoop like Ansible

  • βœ… Desktop
  • βœ… NetCore

Installation

Install-Module ScoopPlaybook -Scope CurrentUser

Functions

Function Description
Scoop-Playbook Run scoop as with ansible structured YAML definitions

Quick Start

Install scoop beforehand, then clone repo and run module.

Install-Module PowerShell-Yaml -Scope CurrentUser
Install-Module ScoopPlaybook -Scope CurrentUser

git clone https://github.com/guitarrapc/ScoopPlaybook.git
cd ScoopPlaybook/samples
Scoop-Playbook

This sample will install busybox, 7zip and gitkraken for you.

Step by step Start

Create ansible like folder structures, let make main role.

mkdir roles/main/tasks

Define your scoop bucket and package installation definition in your main role's task/main.yml.

New-Item roles/main/tasks/main.yml
code roles/main/tasks/main.yml
- name: "Install linux tools"
  scoop_install:
    state: present
    bucket: main
    name:
      - busybox

- name: "Install windows tools"
  scoop_install:
    state: present
    bucket: main
    name:
      - 7zip

- name: "Install extras bucket"
  scoop_bucket_install:
    state: present
    bucket: extras

- name: "Install extras tools"
  scoop_install:
    state: present
    bucket: extras
    name:
      - gitkraken

Define your site.yml to select which role to use.

New-Item site.yml
code site.yml
name: main
roles:
  - main

You are ready, let's run ScoopPlaybook Cmdlet to install scoop packages and buckets you desired.

Install-Module PowerShell-Yaml -Scope CurrentUser
Install-Module ScoopPlaybook -Scope CurrentUser
Scoop-Playbook

You can uninstall scoop package via state absent.

- name: "UnInstall windows tools"
  scoop_install:
    state: absent
    bucket: main
    name:
      - 7zip

more samples? see https://github.com/guitarrapc/local-provisioner/tree/master/envs/windows

Definition

Structures

Structure is follow to ansible, but there are only role function, no variables or any.

  • site.yml: site.yml is entrypoint of scheme, and select which role to call.
  • role: role must place under roles/<roleName> folder. Site.yml call role must match a role folder name.
  • task: task must place under roles/<roleName>/tasks/main.yml. task contains multiple modules.
  • module: module offer what you can do. there are 2 modules you can use.
    • scoop_install
    • scoop_bucket_install

site.yml file location is where your must run Scoop-Playbook Cmdlet. Here's sample structures.

site.yml
└───roles
    β”œβ”€β”€β”€main
    β”‚   └───tasks
    β”‚       └───main.yml
    └───extras
        └───tasks
            └───main.yml

SCHEME

site.yml scheme

Select which role to call.

name: "<string>" # REQUIRED: name of you definition
roles:
  - "<string>" # REQUIRED: role name to call. this roll name must match rolle file name.

Module - scoop_install module

scoop_install Module offer Install/Uninstall scoop package from selected bucket.

- name: "<string>" # REQUIRED: name of module
  scoop_install:
    state: "present|absent" # OPTIONAL (default "present"): enums of present or absent. present to install, absent to uninstall.
    bucket: "<string>" # REQUIRED: bucket name to install package.
    name:
      - "<string>" # REQUIRED: list of strings to identify package names

Module - scoop_bucket_install module

scoop_bucket_install module offers Install/Uninstall scoop bucket.

- name: "<string>" # REQUIRED: name of module
  scoop_bucket_install:
    state: "present|absent" # OPTIONAL: present to install, absent to uninstall. default "present".
    bucket: "<string>" # REQUIRED: bucket name to install package.

Test

Please install "git" before running test.

# Pester 5.3.1
Install-Module Pester -Force -Scope CurrentUser -SkipPublisherCheck
Install-Module PSScriptAnalyzer -Force -Scope CurrentUser
Install-Module PowerShell-Yaml -Force -Scope CurrentUser
scoop install git
Invoke-Pester
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].