114 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
| ---
 | |
| - name: Setup Xfce desktop environment and Chrome Dev for browser automation
 | |
|   hosts: browser
 | |
|   become: yes
 | |
|   vars:
 | |
|     target_user: ben
 | |
| 
 | |
|   tasks:
 | |
|     - name: Update package lists
 | |
|       apt:
 | |
|         update_cache: yes
 | |
|         cache_valid_time: 3600
 | |
| 
 | |
|     - name: Install Xfce desktop environment
 | |
|       apt:
 | |
|         name:
 | |
|           - xfce4
 | |
|           - xfce4-goodies
 | |
|           - lightdm
 | |
|           - xorg
 | |
|           - dbus-x11
 | |
|         state: present
 | |
| 
 | |
|     - name: Install additional useful packages for desktop environment
 | |
|       apt:
 | |
|         name:
 | |
|           - firefox-esr
 | |
|           - geany
 | |
|           - thunar-archive-plugin
 | |
|           - xfce4-terminal
 | |
|           - gvfs
 | |
|           - fonts-noto
 | |
|           - fonts-noto-cjk
 | |
|         state: present
 | |
| 
 | |
|     - name: Download Google Chrome Dev .deb package
 | |
|       get_url:
 | |
|         url: https://dl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
 | |
|         dest: /tmp/google-chrome-unstable_current_amd64.deb
 | |
|         mode: '0644'
 | |
| 
 | |
|     - name: Install Google Chrome Dev
 | |
|       apt:
 | |
|         deb: /tmp/google-chrome-unstable_current_amd64.deb
 | |
| 
 | |
|     - name: Clean up downloaded .deb package
 | |
|       file:
 | |
|         path: /tmp/google-chrome-unstable_current_amd64.deb
 | |
|         state: absent
 | |
| 
 | |
|     - name: Install Chrome automation dependencies
 | |
|       apt:
 | |
|         name:
 | |
|           - python3-pip
 | |
|           - python3-venv
 | |
|           - python3-dev
 | |
|           - build-essential
 | |
|           - libssl-dev
 | |
|           - libffi-dev
 | |
|         state: present
 | |
| 
 | |
|     - name: Install Python packages for browser automation
 | |
|       pip:
 | |
|         name:
 | |
|           - selenium
 | |
|           - webdriver-manager
 | |
|           - pyvirtualdisplay
 | |
|         executable: pip3
 | |
| 
 | |
|     - name: Set up Xfce as default desktop environment
 | |
|       copy:
 | |
|         dest: /etc/lightdm/lightdm.conf
 | |
|         content: |
 | |
|           [Seat:*]
 | |
|           autologin-user={{ target_user }}
 | |
|           autologin-user-timeout=0
 | |
|           autologin-session=xfce
 | |
|           user-session=xfce          
 | |
| 
 | |
|     - name: Ensure user is in necessary groups
 | |
|       user:
 | |
|         name: "{{ target_user }}"
 | |
|         groups:
 | |
|           - audio
 | |
|           - video
 | |
|           - input
 | |
|           - netdev
 | |
|         append: yes
 | |
| 
 | |
|     - name: Create .xprofile for user
 | |
|       copy:
 | |
|         dest: /home/{{ target_user }}/.xprofile
 | |
|         content: |
 | |
|           # Start Xfce on login
 | |
|           startxfce4          
 | |
|         owner: "{{ target_user }}"
 | |
|         group: "{{ target_user }}"
 | |
|         mode: '0644'
 | |
| 
 | |
|     - name: Enable and start lightdm service
 | |
|       systemd:
 | |
|         name: lightdm
 | |
|         enabled: yes
 | |
|         state: started
 | |
| 
 | |
|     - name: Display success message
 | |
|       debug:
 | |
|         msg: "Xfce desktop environment and Chrome Dev have been configured for user {{ target_user }} on {{ inventory_hostname }}"
 | |
| 
 | |
|   handlers:
 | |
|     - name: restart lightdm
 | |
|       systemd:
 | |
|         name: lightdm
 | |
|         state: restarted |