diff options
Diffstat (limited to 'roles/custom-config/tasks/main.yml')
-rw-r--r-- | roles/custom-config/tasks/main.yml | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/roles/custom-config/tasks/main.yml b/roles/custom-config/tasks/main.yml new file mode 100644 index 0000000..ec55f0e --- /dev/null +++ b/roles/custom-config/tasks/main.yml @@ -0,0 +1,131 @@ +--- +# tasks file for custom-config +- name: Getting all interactive users + ansible.builtin.shell: "awk -F: '{ if (($3 >= 1000 && $3 != 65534) || $3 == 0) print $1}' /etc/passwd" + register: users + +- name: Install Kitty Terminal Emulator 🐱 + ansible.builtin.shell: + cmd: "/usr/bin/curl -sL {{ kitty_installer }} | sh /dev/stdin dest=/opt launch=n" + +- name: Create Desktop Icon for Kitty 🐱 + ansible.builtin.copy: + dest: "/usr/share/applications/kitty.desktop" + content: | + [Desktop Entry] + Version=0.26.2 + Type=Application + Name=Kitty Terminal Emulator + Exec=/opt/kitty.app/bin/kitty + Icon=/opt/kitty.app/share/icons/hicolor/256x256/apps/kitty.png + Categories=Utility + +- name: Prepare kitty.conf files for all interactive users 🐱 + loop: "{{ users.stdout_lines }}" + ansible.builtin.file: + dest: "~{{ item }}/.config/kitty/" + state: directory + recurse: yes + owner: "{{ item }}" + group: "{{ item }}" + mode: 0755 + +- name: Prepare personalized configs for Kitty 🐱 + loop: "{{ users.stdout_lines }}" + ansible.builtin.blockinfile: + path: "~{{ item }}/.config/kitty/kitty.conf" + insertafter: EOF + create: yes + state: present + block: | + # New windows open in current directory + map ctrl+shift+enter launch --cwd=current + + # New tabs open in current directory + map ctrl+t new_tab --cwd=current + + # The coveted "zoom" function + map ctrl+shift+z toggle_layout stack + + # disable mouse-click a link to open in a browser + mouse_map left click ungrabbed no_op + +- name: Disable mouse interactivity in vim (╯°□°)╯︵ ┻━┻ + ansible.builtin.blockinfile: + path: /etc/vim/vimrc + marker: "\" {mark} ANSIBLE MANAGED BLOCK" + insertafter: EOF + state: present + block: | + set mouse= + set ttymouse= + +- name: Add sudo-NOPASSWD to users + loop: "{{ users.stdout_lines }}" + ansible.builtin.lineinfile: + path: /etc/sudoers + state: present + insertafter: EOF + line: "{{ item }} ALL=(ALL) NOPASSWD: ALL" + validate: /usr/sbin/visudo -cf %s + +- name: Initialize Gef for all users + ansible.builtin.script: /opt/gef/scripts/gef.sh + become_user: "{{ item }}" + loop: "{{ users.stdout_lines }}" + +- name: Copying over zsh functions file for all users + ansible.builtin.copy: + src: zsh_functions.zsh + dest: "~{{ item }}/.zsh_functions" + owner: "{{ item }}" + group: "{{ item }}" + mode: '0640' + loop: "{{ users.stdout_lines }}" + +- name: Enabling zsh functions + loop: "{{ users.stdout_lines }}" + ansible.builtin.blockinfile: + path: "~{{ item }}/.zshrc" + state: present + insertafter: EOF + owner: "{{ item }}" + block: | + if [ -f ~/.zsh_functions]; then + source ~/.zsh_functions + fi + +- name: Copying over tmux config to all users + ansible.builtin.copy: + src: tmux_conf + dest: "~{{ item }}/.tmux.conf" + owner: "{{ item }}" + group: "{{ item }}" + mode: '0640' + loop: "{{ users.stdout_lines }}" + +- name: Create /srv/smb/ directory for payload population + ansible.builtin.file: + path: /srv/smb + state: directory + mode: '0755' + +- name: Creating IWR share in samba config + ansible.builtin.blockinfile: + path: /etc/samba/smb.conf + insertafter: EOF + state: present + block: | + [iwr] + comment = Invoke-WebReq'd em? Damn near killed em! + path = /srv/smb + guest ok = yes + browseable = yes + create mask = 0600 + directory mask = 0755 + +- name: Ensure that samba doesn't start on boot + ansible.builtin.systemd: + name: smbd + enabled: no + state: stopped |