Merge branch 'main' of https://code.smolnet.org/micke/datta
commit
b527591834
@ -0,0 +1,7 @@
|
|||||||
|
# Install mickes datta
|
||||||
|
```
|
||||||
|
# apt install git ansible
|
||||||
|
$ git clone https://code.smolnet.org/micke/datta.git
|
||||||
|
$ cd datta
|
||||||
|
$ ansible-playbook --ask-become-pass setup.yaml
|
||||||
|
```
|
After Width: | Height: | Size: 2.4 MiB |
@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
- name: Install packages
|
||||||
|
hosts: localhost
|
||||||
|
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
|
@ -0,0 +1,93 @@
|
|||||||
|
---
|
||||||
|
- name: Set nvim/lvim
|
||||||
|
hosts: localhost
|
||||||
|
vars:
|
||||||
|
uid: "{{ lookup('env','USER') }}"
|
||||||
|
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: Have nvim allready installed
|
||||||
|
stat:
|
||||||
|
path: /usr/local/bin/nvim
|
||||||
|
register: have_nvim
|
||||||
|
- 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
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- name: Unpack neovim
|
||||||
|
ansible.builtin.command:
|
||||||
|
chdir: /tmp
|
||||||
|
cmd: tar xf nvim-linux64.tar.gz
|
||||||
|
creates: /tmp/nvim-linux64
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- 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]
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- 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]
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- name: Remove neovim tar ball
|
||||||
|
ansible.builtin.command:
|
||||||
|
chdir: /tmp
|
||||||
|
cmd: rm nvim-linux64.tar.gz
|
||||||
|
removes: /tmp/nvim-linux64.tar.gz
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- name: Remove neovim install files
|
||||||
|
ansible.builtin.command:
|
||||||
|
chdir: /tmp
|
||||||
|
cmd: rm -rf nvim-linux64/
|
||||||
|
removes: /tmp/nvim-linux64
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- 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
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- name: Install lunarvim
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: bash /tmp/install.sh
|
||||||
|
creates: /home/{{ uid }}/.local/bin/lvim
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- name: Remove lunarvim install script
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: rm /tmp/install.sh
|
||||||
|
removes: /tmp/install.sh
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- name: Make my lvim real vim
|
||||||
|
become: true
|
||||||
|
ansible.builtin.file:
|
||||||
|
src: /home/{{ uid }}/.local/bin/lvim
|
||||||
|
dest: /usr/local/bin/vim
|
||||||
|
state: link
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- name: Install lunarvim config
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: ../templates/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
|
||||||
|
when: not have_nvim.stat.exists
|
||||||
|
- 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
|
||||||
|
when: not have_nvim.stat.exists
|
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
- name: Set up ssh
|
||||||
|
vars:
|
||||||
|
uid: "{{ lookup('env','USER') }}"
|
||||||
|
hosts: localhost
|
||||||
|
connection: local
|
||||||
|
become: false
|
||||||
|
tasks:
|
||||||
|
- name: Create ssh dir
|
||||||
|
ansible.builtin.file:
|
||||||
|
dest: /home/{{ uid }}/.ssh
|
||||||
|
state: directory
|
||||||
|
- name: Install authorized keys
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: ../templates/authorized_keys.j2
|
||||||
|
dest: /home/{{ uid }}/.ssh/authorized_keys
|
||||||
|
owner: '{{ uid }}'
|
||||||
|
group: '{{ uid }}'
|
||||||
|
mode: '0600'
|
@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
- name: Set up sway
|
||||||
|
vars:
|
||||||
|
uid: "{{ lookup('env','USER') }}"
|
||||||
|
wallpaper_path: /home/{{ uid }}/.config/wallpaper/savannah-landscape-with-acacia-trees.jpeg
|
||||||
|
hosts: localhost
|
||||||
|
connection: local
|
||||||
|
become: false
|
||||||
|
tasks:
|
||||||
|
- 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: ../templates/sway_config.j2
|
||||||
|
dest: /home/{{ uid }}/.config/sway/config
|
||||||
|
owner: '{{ uid }}'
|
||||||
|
group: '{{ uid }}'
|
||||||
|
mode: '0640'
|
||||||
|
notify: Reload sway
|
||||||
|
- name: Create waybar dir
|
||||||
|
ansible.builtin.file:
|
||||||
|
dest: /home/{{ uid }}/.config/waybar
|
||||||
|
state: directory
|
||||||
|
- name: Install waybar config
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: ../templates/waybar_config.j2
|
||||||
|
dest: /home/{{ uid }}/.config/waybar/config
|
||||||
|
owner: '{{ uid }}'
|
||||||
|
group: '{{ uid }}'
|
||||||
|
mode: '0640'
|
||||||
|
notify: Reload sway
|
||||||
|
- name: Create wallpaper dir
|
||||||
|
ansible.builtin.file:
|
||||||
|
dest: /home/{{ uid }}/.config/wallpaper
|
||||||
|
state: directory
|
||||||
|
# Image by upklyak on Freepik
|
||||||
|
# https://www.freepik.com/free-vector/savannah-landscape-with-acacia-trees-night-vector-cartoon-illustration-african-savanna-with-full-moon-stars-dark-sky-concept-safari-vacation-trip-travel_25694514.htm
|
||||||
|
- name: Setup wall paper
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: '{{ wallpaper_path }}'
|
||||||
|
src: ../data/savannah-landscape-with-acacia-trees.jpeg
|
||||||
|
notify: Reload sway
|
||||||
|
handlers:
|
||||||
|
- name: Reload sway
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: swaymsg reload
|
@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
- name: Install zsh
|
||||||
|
hosts: localhost
|
||||||
|
connection: local
|
||||||
|
become: false
|
||||||
|
vars:
|
||||||
|
uid: "{{ lookup('env','USER') }}"
|
||||||
|
tasks:
|
||||||
|
- name: Have zsh installed allready
|
||||||
|
stat:
|
||||||
|
path: /home/{{ uid }}/.oh-my-zsh
|
||||||
|
register: ohmyzsh
|
||||||
|
- name: Set zsh as default shell
|
||||||
|
become: true
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: chsh -s /usr/bin/zsh {{ uid }}
|
||||||
|
when: not ohmyzsh.stat.exists
|
||||||
|
- 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
|
||||||
|
when: not ohmyzsh.stat.exists
|
||||||
|
- name: Install Oh my zsh
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: bash /tmp/install.sh
|
||||||
|
creates: /home/{{ uid }}/.oh-my-zsh
|
||||||
|
when: not ohmyzsh.stat.exists
|
||||||
|
- name: Remove Oh my zsh install script
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: rm /tmp/install.sh
|
||||||
|
removes: /tmp/install.sh
|
||||||
|
when: not ohmyzsh.stat.exists
|
||||||
|
- name: Install zshrc
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: ../templates/zshrc.j2
|
||||||
|
dest: /home/{{ uid }}/.zshrc
|
||||||
|
owner: '{{ uid }}'
|
||||||
|
group: '{{ uid }}'
|
||||||
|
mode: '0644'
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"modules-left": ["sway/workspaces", "sway/mode"],
|
||||||
|
"modules-center": ["sway/window"],
|
||||||
|
"modules-right": ["battery", "clock", "tray"],
|
||||||
|
"sway/window": {
|
||||||
|
"max-length": 50
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format-alt": "{:%a, %d. %b %H:%M}"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue