55 lines
1.2 KiB
YAML
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
|