package-managers

Example:

# Install the 'nix' package manager.
- package-managers:
    package_managers:
    - nix

Description

This is mainly used in conjunction with the frecklet::pkg and frecklet::pkgs frecklets, so they can transparently install package managers that are used there.

Supported package managers currently:

  • conda
  • git
  • homebrew
  • nix
  • pip
  • vagrant-plugin

More information and examples to come, for now please refer to the freckfrackery.install-pkg_mgrs Ansible role for more information.

Resources

Variables

Name Type Default Description

package_managers

list --

n/a Required

Examples

Example 1

Install the 'nix' package manager.

Code
- package-managers:
    package_managers:
    - nix

Example 2

Install the 'nix' and 'conda' package managers.

Code
- package-managers:
    package_managers:
    - nix
    - conda

Code

doc:
  short_help: Install one or several package managers.
  help: |
    This is mainly used in conjunction with the frecklet::pkg and frecklet::pkgs frecklets, so they
    can transparently install package managers that are used there.

    Supported package managers currently:

    - conda
    - git
    - homebrew
    - nix
    - pip
    - vagrant-plugin

    More information and examples to come, for now please refer to the [freckfrackery.install-pkg_mgrs Ansible role](https://gitlab.com/freckfrackery/freckfrackery.install-pkg_mgrs/blob/master/README.md) for more information.

  references:
    "'freckfrackery.install-pkg-mgrs' Ansible role": https://gitlab.com/freckfrackery/freckfrackery.install-pkg-mgrs
  examples:
  - title: Install the 'nix' package manager.
    vars:
      package_managers:
      - nix
  - title: Install the 'nix' and 'conda' package managers.
    vars:
      package_managers:
      - nix
      - conda

args:
  package_managers:
    required: true
    type: list
    cli:
      param_type: argument

meta:
  tags:
  - featured-frecklecutable
  - install
  - package-management
  - package-manager
  - install

frecklets:
- task:
    include-type: include
  frecklet:
    name: freckfrackery.install-pkg-mgrs
    type: ansible-role
    resources:
      ansible-role:
      - freckfrackery.install-pkg-mgrs
      - freckfrackery.install-conda
      - freckfrackery.install-nix
      - freckfrackery.install-vagrant
      - geerlingguy.homebrew
      - elliotweiser.osx-command-line-tools
    desc:
      short: "install pkg-mgrs: {{:: package_managers | join(', ') ::}}"
      long: |
        Install the following package managers:
        {%:: for p in package_managers ::%}
        - {{:: p ::}}
        {%:: endfor ::%}
    properties:
      idempotent: true
  vars:
    install_pkg_mgrs: '{{:: package_managers ::}}'
frecklecute package-managers --help

Usage: frecklecute package-managers [OPTIONS] PACKAGE_MANAGERS

  This is mainly used in conjunction with the frecklet::pkg and
  frecklet::pkgs frecklets, so they can transparently install package
  managers that are used there.

  Supported package managers currently:

  - conda - git - homebrew - nix - pip - vagrant-plugin

  More information and examples to come, for now please refer to the
  [freckfrackery.install-pkg_mgrs Ansible
  role](https://gitlab.com/freckfrackery/freckfrackery.install-
  pkg_mgrs/blob/master/README.md) for more information.

Options:
  --help  Show this message and exit.
# -*- coding: utf-8 -*-


#
# module path: pycklets.package_managers.PackageManagers
#


from dataclasses import dataclass
from pyckles import AutoPycklet
from typing import *    # noqa

@dataclass
class PackageManagers(AutoPycklet):
    """This is mainly used in conjunction with the frecklet::pkg and frecklet::pkgs frecklets, so they
     can transparently install package managers that are used there.

     Supported package managers currently:

     - conda
     - git
     - homebrew
     - nix
     - pip
     - vagrant-plugin

     More information and examples to come, for now please refer to the [freckfrackery.install-pkg_mgrs Ansible role](https://gitlab.com/freckfrackery/freckfrackery.install-pkg_mgrs/blob/master/README.md) for more information.

       Args:
         package_managers: n/a

    """

    FRECKLET_ID = "package-managers"

    package_managers: List = None


    def __post_init__(self):
        super(PackageManagers, self).__init__(var_names=["package_managers"])


frecklet_class = PackageManagers
# -*- coding: utf-8 -*-


#
# module path: pycklets.package_managers.PackageManagers
#


from pyckles import AutoPycklet

class PackageManagers(AutoPycklet):
    """This is mainly used in conjunction with the frecklet::pkg and frecklet::pkgs frecklets, so they
     can transparently install package managers that are used there.

     Supported package managers currently:

     - conda
     - git
     - homebrew
     - nix
     - pip
     - vagrant-plugin

     More information and examples to come, for now please refer to the [freckfrackery.install-pkg_mgrs Ansible role](https://gitlab.com/freckfrackery/freckfrackery.install-pkg_mgrs/blob/master/README.md) for more information.

       Args:
         package_managers: n/a

    """

    FRECKLET_ID = "package-managers"

    def __init__(self, package_managers=None):

        super(PackageManagers, self).__init__(var_names=["package_managers"])
        self._package_managers = package_managers

    @property
    def package_managers(self):
        return self._package_managers

    @package_managers.setter
    def package_managers(self, package_managers):
        self._package_managers = package_managers



frecklet_class = PackageManagers