Files
2026-02-21 22:42:15 +01:00

55 lines
1.2 KiB
YAML

---
# tasks file for roles/gemini_cli_user
- name: Ensure Node.js and npm are installed
package:
name:
- nodejs
- npm
state: present
become: yes
- name: Create gemini user
user:
name: gemini
state: present
create_home: yes
become: yes
- name: Add SSH authorized key for gemini user
authorized_key:
user: gemini
state: present
key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII823CLHAgx4nTaTr0Wys65YWN9pVnDfbWvsZcFwCnWl"
become: yes
- name: Install @google/gemini-cli for gemini user
command: su - gemini -c "npm install @google/gemini-cli"
args:
creates: /home/gemini/node_modules/.bin/gemini-cli
become: yes
- name: Define gemini-cli path
set_fact:
gemini_cli_bin: "/home/gemini/node_modules/.bin/gemini"
- name: Ensure gemini-cli binary exists
stat:
path: "{{ gemini_cli_bin }}"
register: gemini_cli_stat
- name: Ensure gemini-cli is in /etc/shells
lineinfile:
path: /etc/shells
line: "{{ gemini_cli_bin }}"
state: present
become: yes
when: gemini_cli_stat.stat.exists
- name: Change gemini user shell to gemini-cli
user:
name: gemini
shell: "{{ gemini_cli_bin }}"
become: yes
when: gemini_cli_stat.stat.exists