# tasks/dotfiles.yaml - apt: name: [ "stow" ] become: true name: Install stow tags: - git - install - dotfiles - productivity - become: true become_user: "{{my_user}}" name: Check if already stowed register: st stat: path: "/home/{{my_user}}/.stowed" tags: - git - install - dotfiles - productivity # - file: # path: "{{ item }}" # state: absent # loop: # - "/home/{{my_user}}/.bashrc" # #- /tmp/main.zip # #- "/home/{{my_user}}/dotfiles" # # # when: st.stat.islnk is not defined # name: Remove existing .bashrc and dotfolder from home #become: true # #become_user: "{{my_user}}" # tags: # - git # - install # - dotfiles # - productivity # - become: true # become_user: "{{my_user}}" # git: # dest: "/home/{{my_user}}/dotfiles" # force: true # name: Clone the dotfiles repository # repo: https://git.gerstner.se/nils/ansible_dotfiles.git # tags: # - git # - install # - dotfiles # - productivity # when: st.stat.islnk is not defined # # # - name: Move dotfiles to dest folder # # ansible.builtin.copy: # # src: /tmp/ansible/dotfiles # # dest: ~/ # # remote_src: yes # # owner: root # # group: root # # # mode: u+rw,g-wx,o-rwx # # # validate: /usr/sbin/visudo -csf %s # # tags: # # - git # # - install # # - dotfiles # # - productivity # # - become: true # become_user: "{{my_user}}" # name: Stow the dotfiles # shell: | # stow --verbose 2 --dir "/home/{{my_user}}/dotfiles" --target "/home/{{my_user}}/" . # tags: # - git # - install # - dotfiles # - productivity # when: st.stat.islnk is not defined # # - ansible.builtin.lineinfile: # line: ENVIRONMENT=PROD # path: ~/.bashrc # regexp: '^ENVIRONMENT=.*$' # become: true # become_user: "{{my_user}}" # name: Set the right prompt # tags: # - git # - install # - dotfiles # - productivity