--- - name: Set up my computer hosts: localhost vars: uid: micke LV_BRANCH: release-1.3/neovim-0.9 tabby_password: "{{ lookup('ansible.builtin.pipe','pass show tabby-lab.sunet.se/tabby') }}" connection: local become: false tasks: - name: Install apt packages become: true ansible.builtin.apt: autoclean: true autoremove: true install_recommends: true pkg: - ansible - curl - fcitx5 - foot - git - grimshot - lxpolkit - network-manager-gnome - nextcloud-desktop - npm - pass - pipx - python3-yamlfix - sway - sway-backgrounds - sway-notification-center - swayidle - swaylock - waybar - wget - wl-clipboard - wofi - yq - zsh state: latest update_cache: true - name: Remove apt packages become: true ansible.builtin.apt: autoclean: true autoremove: true install_recommends: true pkg: - nano state: absent update_cache: true - name: Set zsh as default shell become: true ansible.builtin.command: cmd: chsh -s /usr/bin/zsh {{ uid }} - name: Get Oh my zsh ansible.builtin.command: chdir: /tmp cmd: wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh creates: /tmp/install.sh - name: Install Oh my zsh ansible.builtin.command: cmd: bash /tmp/install.sh creates: /home/{{ uid }}/.oh-my-zsh - name: Remove Oh my zsh install script ansible.builtin.command: cmd: rm /tmp/install.sh removes: /tmp/install.sh - name: Get neovim ansible.builtin.command: chdir: /tmp cmd: wget https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz creates: /tmp/nvim-linux64.tar.gz - name: Unpack neovim ansible.builtin.command: chdir: /tmp cmd: tar xf nvim-linux64.tar.gz creates: /tmp/nvim-linux64 - name: Install neovim become: true ansible.builtin.command: chdir: /tmp/nvim-linux64 cmd: cp -a bin/ lib/ share/ /usr/local/ creates: [/usr/local/bin/nvim] - name: Install neovim man pages become: true ansible.builtin.command: chdir: /tmp/nvim-linux64 cmd: cp -a man/ /usr/local/share/ creates: [/usr/local/share/man/man1/nvim.1] - name: Remove neovim tar ball ansible.builtin.command: chdir: /tmp cmd: rm nvim-linux64.tar.gz removes: /tmp/nvim-linux64.tar.gz - name: Remove neovim install files ansible.builtin.command: chdir: /tmp cmd: rm -rf nvim-linux64/ removes: /tmp/nvim-linux64 - name: Get lunarvim ansible.builtin.command: chdir: /tmp cmd: wget https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.3/neovim-0.9/utils/installer/install.sh creates: /tmp/install.sh - name: Install lunarvim ansible.builtin.command: cmd: bash /tmp/install.sh creates: /home/{{ uid }}/.local/bin/lvim - name: Remove lunarvim install script ansible.builtin.command: cmd: rm /tmp/install.sh removes: /tmp/install.sh - name: Make my lvim real vim become: yes ansible.builtin.file: src: "/home/{{ uid }}/.local/bin/lvim" dest: /usr/local/bin/vim state: link - name: Install zshrc ansible.builtin.template: src: zshrc.j2 dest: "/home/{{ uid }}/.zshrc" owner: "{{ uid }}" group: "{{ uid }}" mode: '0644' - name: Install lunarvim config ansible.builtin.template: src: config.lua.j2 dest: "/home/{{ uid }}/.config/lvim/config.lua" owner: "{{ uid }}" group: "{{ uid }}" mode: '0644' - name: Create sources dir ansible.builtin.file: dest: "/home/{{ uid }}/sources" state: directory - name: Get tabby plugin ansible.builtin.command: chdir: "/home/{{ uid }}/sources/" cmd: git clone https://github.com/TabbyML/tabby.git creates: "/home/{{ uid }}/sources/tabby" - name: Create ssh dir ansible.builtin.file: dest: "/home/{{ uid }}/.ssh" state: directory - name: Install authorized keys ansible.builtin.template: src: authorized_keys.j2 dest: "/home/{{ uid }}/.ssh/authorized_keys" owner: "{{ uid }}" group: "{{ uid }}" mode: '0600' - name: Install autotiling ansible.builtin.command: cmd: pipx install autotiling creates: "/home/{{ uid }}/.local/bin/autotiling" - name: Create sway dir ansible.builtin.file: dest: "/home/{{ uid }}/.config/sway" state: directory - name: Install sway config ansible.builtin.template: src: sway_config.j2 dest: "/home/{{ uid }}/.config/sway/config" owner: "{{ uid }}" group: "{{ uid }}" mode: '0640'