Getting started

Installing freckles

There are several ways to install freckles. For the purpose of getting started quickly, we’ll use a bootstrap script that was developed specifically for freckles.

Apart from installing the freckles package, this script can execute one of the applications that come with it straight away, as well as uninstall the whole she-bang after execution (if so desired). For now we don’t have to concern ourselves with any of those more advanced features, all we want to do is get freckles on our machine:

curl https://install.freckles.sh

or, if we don’t have curl but only wget available:

wget -O- https://install.freckles.sh

This will install freckles under $HOME/.local/share/inaugurate/, for more details about this process check here.

Listing available frecklecutables

The freckles package comes with several command-line applications, the one you’ll probably use most in the beginning is called frecklecute and it lets you execute pre-written task-lists that serve some high-level purpose (typically installing and configuring a service).

Let’s get a list of all the task-lists that are supported out of the box:

$ frecklecute --help
Usage: frecklecute [OPTIONS] COMMAND [ARGS]...

Options:
  -c, --config TEXT     select config profile(s)
  --community           allow resources from the freckles community repo
  -r, --repo TEXT       additional repo(s) to use
  -h, --host TEXT       the host to use
  -o, --output TEXT     the output format to use
  -v, --vars VARS_TYPE  additional vars, higher priority than frecklet vars,
                        lower priority than potential user input
  -e, --elevated        indicate that this run needs elevated permissions
  -ne, --not-elevated   indicate that this run doesn't need elevated
                        permissions
  --no-run              create the run environment (if applicable), but don't
                        run the frecklecutable
  --version             the version of freckles you are using
  --help-all            Show this message, listing all possible commands.
  --verbosity LVL       Either CRITICAL, ERROR, WARNING, INFO or DEBUG
  --help                Show this message and exit.

Commands:
  dotfiles                        n/a
  ensure-folder-exists            ensures a folder exists, creates all parent
                                  folders if necessary
  ensure-group-exists             ensures a group exists
  freckelize-init                 n/a
  grant-passwordless-sudo         grant passwordless sudo permission to user
  install                         installs a list of packages
  install-conda                   install the conda package manager
  install-docker                  installs Docker
  install-homebrew                installs the homebrew package manager
  install-nix                     install the nix package manager
  install-openjdk                 install OpenJDK
  install-osx-command-line-tools  install Mac OS X command-line tools
  install-pkg-mgrs                install package managers
  install-vagrant                 installs Vagrant
  install-virtualbox              installs Virtualbox
  restart-service                 n/a

  frecklecute is free to use in combination with open source software and
  part of the 'freckles' project, for more information visit:
  https://docs.freckles.io