-
-
Save Vaarlion/1a71f11238ae06bc95565251204b1304 to your computer and use it in GitHub Desktop.
A simple playbook to setup my mom framework
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- name: Base computer settup | |
hosts: localhost | |
become_user: root | |
tasks: | |
- name: "enable Alsa Mic/Audio jack combo" | |
become: yes | |
ansible.builtin.copy: | |
content: 'options snd-hda-intel model=dell-headset-multi' | |
dest: /etc/modprobe.d/alsa-framework-port.conf | |
owner: root | |
group: root | |
mode: '0644' | |
- name: "enable partial scalling on gnome" | |
community.general.dconf: | |
key: "/org/gnome/mutter/experimental-features" | |
state: present | |
value: "['scale-monitor-framebuffer']" | |
- name: "enable partial scalling on gnome lockscreen" | |
become_user: gdm | |
become_method: machinectl | |
community.general.dconf: | |
key: "/org/gnome/mutter/experimental-features" | |
state: present | |
value: "['scale-monitor-framebuffer']" | |
- name: "copy user screen setting to gdm" | |
become: yes | |
ansible.builtin.copy: | |
src: "{{ ansible_user_dir }}/.config/monitors.xml" | |
dest: ~gdm/.config/monitors.xml | |
owner: gdm | |
group: gdm | |
mode: '0644' | |
- name: copy certificate authority to trusted ca path of the os | |
become: yes | |
ansible.builtin.copy: | |
src: '{{ item }}' | |
dest: '/etc/pki/ca-trust/source/anchors/' | |
owner: root | |
group: root | |
mode: 0644 | |
with_fileglob: | |
- files/cert/* | |
register: update_certificate_authority | |
- name: update trusted ca | |
become: yes | |
ansible.builtin.command: /bin/update-ca-trust | |
when: (update_certificate_authority|d({})).get('changed', false) | |
### Pkgs and repo | |
- name: install extra repository | |
become: yes | |
ansible.builtin.package: | |
name: fedora-workstation-repositories | |
state: present | |
- name: install system pkgs | |
become: yes | |
ansible.builtin.package: | |
name: | |
- gnome-extensions-app | |
- gnome-tweaks | |
- gnome-shell | |
- deja-dup | |
state: present | |
- name: install manual rpm pkgs | |
become: yes | |
ansible.builtin.yum: | |
name: "{{ item }}" | |
state: present | |
with_fileglob: | |
- files/rpm/*.rpm | |
- name: install python libs | |
become: yes | |
ansible.builtin.package: | |
name: | |
- python3-gobject | |
state: present | |
### Gnome extension | |
- name: install gnome-extensions-cli in venv | |
ansible.builtin.pip: | |
name: gnome-extensions-cli | |
virtualenv: ~/Documents/Computer_setup/.env | |
- name: register installed extension | |
check_mode: no | |
ansible.builtin.command: | |
cmd: "gnome-extensions list" | |
register: gnome_extensions_installed | |
changed_when: false | |
- name: install gnome extension | |
ansible.builtin.command: | |
cmd: gnome-extensions-cli install {{ item }} | |
when: item not in gnome_extensions_installed.stdout_lines | |
loop: | |
- user-theme@gnome-shell-extensions.gcampax.github.com | |
- trayIconsReloaded@selfmade.pl | |
- name: register enabled extension | |
ansible.builtin.command: | |
cmd: "gnome-extensions list --enabled" | |
register: gnome_extensions_enabled | |
changed_when: false | |
check_mode: no | |
- name: disable gnome extension | |
ansible.builtin.command: | |
cmd: "gnome-extensions disable {{ item }}" | |
when: item in gnome_extensions_enabled.stdout_lines | |
loop: | |
- background-logo@fedorahosted.org | |
- apps-menu@gnome-shell-extensions.gcampax.github.com | |
- places-menu@gnome-shell-extensions.gcampax.github.com | |
- window-list@gnome-shell-extensions.gcampax.github.com | |
- clipboard-indicator@tudmotu.com | |
- name: enable gnome extension | |
ansible.builtin.command: | |
cmd: "gnome-extensions enable {{ item }}" | |
when: item not in gnome_extensions_enabled.stdout_lines | |
loop: | |
- user-theme@gnome-shell-extensions.gcampax.github.com | |
- trayIconsReloaded@selfmade.pl | |
### Mount Nas and Media folder | |
- name: "Create mount point" | |
ansible.builtin.file: | |
path: "{{ item }}" | |
state: directory | |
owner: User | |
group: User | |
mode: "0000" | |
loop: | |
- "{{ ansible_user_dir }}/Nas" | |
- "{{ ansible_user_dir }}/Media" | |
- name: "Copy unit file for media and nas mount" | |
become: yes | |
ansible.builtin.copy: | |
src: '{{ item }}' | |
dest: '/etc/systemd/system/' | |
owner: root | |
group: root | |
mode: 0644 | |
with_fileglob: | |
- files/mount-units/* | |
register: update_mount_units | |
- name: "reload systemd daemon" | |
become: yes | |
ansible.builtin.systemd: | |
daemon_reload: yes | |
when: (update_mount_units|d({})).get('changed', false) | |
- name: "enable media and nas automount" | |
become: yes | |
ansible.builtin.systemd: | |
name: '{{ item }}' | |
state: started | |
enabled: yes | |
loop: | |
- home-User-Nas.automount | |
- home-User-Media.automount | |
- name: "Link media mount in multimedia folder" | |
ansible.builtin.file: | |
path: "{{ item.key }}" | |
src: "{{ item.value }}" | |
state: link | |
owner: User | |
group: User | |
force: yes | |
loop: | |
- { key: "{{ ansible_user_dir }}/Vidéos/Films Nas", value: "{{ ansible_user_dir }}/Media/Films"} | |
- { key: "{{ ansible_user_dir }}/Musique/Musique Nas", value: "{{ ansible_user_dir }}/Media/Musique"} | |
- { key: "{{ ansible_user_dir }}/Vidéos/Series Nas", value: "{{ ansible_user_dir }}/Media/Series"} | |
- name: install media pkgs | |
become: yes | |
ansible.builtin.package: | |
name: | |
- gstreamer1-libav-1 | |
- gstreamer1-plugins-ugly-1 | |
- gstreamer1-plugins-bad-freeworld-1 | |
state: present |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment