You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
170 lines
5.0 KiB
170 lines
5.0 KiB
1 year ago
|
---
|
||
|
- name: Set up my computer
|
||
|
hosts: localhost
|
||
|
vars:
|
||
|
uid: micke
|
||
|
LV_BRANCH: release-1.3/neovim-0.9
|
||
|
connection: local
|
||
|
become: false
|
||
|
tasks:
|
||
|
- name: Install apt packages
|
||
|
become: true
|
||
|
ansible.builtin.apt:
|
||
|
autoclean: true
|
||
|
autoremove: true
|
||
|
install_recommends: true
|
||
|
pkg:
|
||
|
- curl
|
||
|
- fcitx5
|
||
|
- foot
|
||
|
- git
|
||
|
- grimshot
|
||
|
- lxpolkit
|
||
|
- network-manager-gnome
|
||
|
- nextcloud-desktop
|
||
|
- npm
|
||
|
- pipx
|
||
|
- python3-yamlfix
|
||
|
- sway
|
||
|
- sway-backgrounds
|
||
|
- sway-notification-center
|
||
|
- swayidle
|
||
|
- swaylock
|
||
|
- 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'
|
||
|
|