Repository URL to install this package:
|
Version:
1.0.0b1 ▾
|
---
# tasks file for dotfiles
- name: "[not installing anything if unstow is set]"
set_fact:
dotfiles_no_package_install: true
when: dotfiles_unstow
- name: "[finding first-level subfolders]"
set_fact:
subfolders_list: "{{ freckle_folder_metadata['files'] | get_subfolders(freckle_path) }}"
- name: "calculating package lists"
set_fact:
package_list_legacy: "{{ freckle_vars | assemble_package_list('packages', 'auto') }}"
package_list: "{{ freckle_vars | assemble_package_list('install', 'auto') }}"
folders_package_list: "{{ subfolders_list | create_folder_packages(freckle_extra_vars) }}"
when: 'not dotfiles_no_package_install'
# might as well do that here, maybe some of the packages below need it
- name: "enabling 'epel-release' repository (to be able to install 'stow')"
install:
packages:
- epel-release:
pkgs:
# fedora: ignore
centos: epel-release
other: ignore
pkg_mgr: "{{ pkg_mgr | default(omit) }}"
when: 'not dotfiles_no_stow'
- name: "found packages under the 'packages' legacy key -- installing them, but please rename that key to 'install' as this will stop working at some stage"
include_role:
name: freckles-io.install-packages
vars:
package_install_list: "{{ package_list_legacy }}"
profile_name: "legacy"
when: "not dotfiles_no_package_install and package_list_legacy"
- name: "[install packages from .freckle file]"
include_role:
name: freckles-io.install-packages
vars:
package_install_list: "{{ package_list }}"
extra_pkg_mgrs: "{{ dotfiles_extra_pkg_mgrs }}"
profile_name: "base"
when: "not dotfiles_no_package_install"
- name: "[install packages from folder names]"
include_role:
name: freckles-io.install-packages
vars:
package_install_list: "{{ folders_package_list }}"
profile_name: "dotfile folders"
when: "not dotfiles_no_package_install and not dotfiles_no_folder_install"
- name: "[calculating stow folders]"
set_fact:
stow_folders: "{{ subfolders_list | create_stow_folders_metadata(freckle_path, freckle_vars, freckle_extra_vars) }}"
- name: "[check required executables]"
required_executable_facts:
executables_to_check:
- stow
- name: installing stow
install:
packages:
- stow:
conda_channels:
- conda-forge
- freckles
pkg_mgr: "{{ pkg_mgr | default(omit) }}"
when: '"stow" in executables_missing and (not dotfiles_no_stow or dotfiles_unstow)'
- name: stowing folders
stow:
name: "{{ item.stow_folder_name }}"
source_dir: "{{ item.stow_folder_parent }}"
target_dir: "{{ item.stow_target_dir | default(freckles_dotfiles_default_stow_target_dir) }}"
delete_conflicts: "{{ item.stow_delete_conflicts | default(dotfiles_stow_delete_conflicts) }}"
ignore_errors: "{{ ignore_errors | default(true) }}"
when: 'item.no_stow|default(false)|bool == false and not dotfiles_no_stow and not dotfiles_unstow'
become: "{{ item.stow_become | default(false) }}"
with_items:
- "{{ stow_folders }}"
- name: unstowing folders
stow:
name: "{{ item.stow_folder_name }}"
unstow: true
source_dir: "{{ item.stow_folder_parent }}"
target_dir: "{{ item.stow_target_dir | default(dotfiles_stow_target) }}"
delete_conflicts: false
ignore_errors: "{{ ignore_errors | default(true) }}"
when: 'item.no_stow|default(false)|bool == false and dotfiles_unstow'
become: "{{ item.stow_become | default(false) }}"
with_items:
- "{{ stow_folders }}"