diff --git a/group_vars/all/00-defaults.yml b/group_vars/all/00-defaults.yml index 29b3eaf..c427c66 100644 --- a/group_vars/all/00-defaults.yml +++ b/group_vars/all/00-defaults.yml @@ -58,6 +58,7 @@ window_manager: i3 # --- Togglable features --- feat_bluetooth: false feat_u2f: false +feat_dotfiles: false # --- VPN --- # Mullvad VPN account number: @@ -76,3 +77,6 @@ u2f_optional: u2f_required: - su - system-login + +# --- Dotfiles --- +df_repo: "" diff --git a/main.yml b/main.yml index 20658c9..2252889 100644 --- a/main.yml +++ b/main.yml @@ -51,6 +51,7 @@ - yubikey - name: u2f when: feat_u2f + - dotfiles - cleanup tasks: diff --git a/roles/configure/tasks/main.yml b/roles/configure/tasks/main.yml index e07c37b..17e2f19 100644 --- a/roles/configure/tasks/main.yml +++ b/roles/configure/tasks/main.yml @@ -1,12 +1,14 @@ --- - name: Enable services on installed system. command: arch-chroot {{ root_mount }} - systemctl enable {{ item }} + systemctl enable {{ service }} with_items: - sshd - NetworkManager - fstrim.timer changed_when: true + loop_control: + loop_var: service - name: Get primary network interface. set_fact: diff --git a/roles/dotfiles/tasks/main.yml b/roles/dotfiles/tasks/main.yml new file mode 100644 index 0000000..34ada83 --- /dev/null +++ b/roles/dotfiles/tasks/main.yml @@ -0,0 +1,33 @@ +--- +- name: Install dfm. + become: true + become_user: "{{ user_name }}" + command: cargo install --git https://git.rsrp.se/rsrp/dfm + changed_when: true + +- name: Clone dotfiles repo. + become: true + become_user: "{{ user_name }}" + git: + repo: "{{ df_repo }}" + dest: /home/{{ user_name }}/.df + version: master + +- name: Ensure .config is executable + file: + state: directory + path: /home/{{ user_name }}/.config + owner: "{{ user_name }}" + group: "{{ user_name }}" + mode: 0755 + +- name: Install dotfiles. + become: true + become_user: "{{ user_name }}" + command: $HOME/.cargo/bin/dfm + changed_when: true + +- name: Change default shell to fish. + user: + name: rsrp + shell: /bin/fish diff --git a/roles/paru/tasks/main.yml b/roles/paru/tasks/main.yml index e01fb39..5fd2150 100644 --- a/roles/paru/tasks/main.yml +++ b/roles/paru/tasks/main.yml @@ -5,10 +5,10 @@ state: present update_cache: true -- name: Install latest stable rust toolchain. +- name: Install stable rust toolchain. become: true become_user: "{{ user_name }}" - command: rustup install stable + command: rustup default stable changed_when: '"unchanged" not in result.stdout' register: result diff --git a/roles/window_manager/i3/tasks/main.yml b/roles/window_manager/i3/tasks/main.yml index ea28589..e11fe0c 100644 --- a/roles/window_manager/i3/tasks/main.yml +++ b/roles/window_manager/i3/tasks/main.yml @@ -2,7 +2,6 @@ - name: Install i3. pacman: name: - - i3-wm - - i3status-rust + - i3-gaps - rofi state: present