Ansible roles to configure Linux and MacOS.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

112 lines
2.7 KiB

- name: Make a list with packages with custom USE flags
template:
src: packages.j2
dest: /etc/portage/package.use/custom.clt
vars:
packages: "{{ gentoo.use.custom }}"
- name: Make directories for packages with custom ENVs
file:
path: "/etc/portage/{{ item }}"
state: directory
loop:
- env
- package.env
- name: Make configure files with custom ENV's settings
template:
src: "portage/env/{{ item.template }}"
dest: "/etc/portage/env/{{ item.template }}"
loop: "{{ gentoo.use.env }}"
when: gentoo.use.env is iterable
- name: Configure packages with custom ENVs
template:
src: "portage/package.env/package-list.j2"
dest: "/etc/portage/package.env/{{ item.template }}"
loop: "{{ gentoo.use.env }}"
- name: Freeze packages
template:
src: packages.j2
dest: /etc/portage/profile/package.provided
vars:
packages: "{{ apps.freeze }}"
- name: Mask packages
template:
src: packages.j2
dest: /etc/portage/package.mask/custom.clt
vars:
packages: "{{ apps.mask }}"
- name: Unmask packages
template:
src: packages.j2
dest: /etc/portage/package.accept_keywords/custom.clt
vars:
packages: "{{ apps.unmask }}"
- name: Remove default config files
become: yes
file:
path: "/etc/portage/savedconfig/{{ item }}"
state: absent
with_items: "{{ gentoo.use.config }}"
tags:
- portage
- emerge
- savedconfig
- name: Make directories for savedconfig files
file:
path: "/etc/portage/savedconfig/{{ item | dirname }}"
state: directory
with_items: "{{ gentoo.use.config }}"
- name: Copy savedconfig files
template:
src: "savedconfig/{{ item }}"
dest: "/etc/portage/savedconfig/{{ item }}"
with_items: "{{ gentoo.use.config }}"
tags:
- portage
- emerge
- savedconfig
- name: Make custom package set
template:
src: packages.j2
dest: "/etc/portage/sets/{{ apps.set_name }}"
vars:
packages: "{{ apps.install }}"
notify: emerge custom set
- name: Remove unused applications
portage:
package: "{{ apps.remove }}"
state: absent
# notify: emerge depclean
- name: Disable services
service:
name: "{{ item.name }}"
runlevel: "{{ item.runlevel | default(omit) }}"
state: stopped
enabled: no
with_items: "{{ services.disabled }}"
- name: Enable services
service:
name: "{{ item.name }}"
runlevel: "{{ item.runlevel | default(omit) }}"
state: started
enabled: yes
with_items: "{{ services.enabled }}"
# Download binaries from GitHub
# TODO: Mention binary releases in README.md
- include: install-github.yml app_name="{{ item.name }}" app_repository="{{ item.repository }}" app_type="{{ item.type }}"
with_items:
- "{{ apps.github }}"
when: false