mirror of
https://gitlab.com/sagidayan/linux-config.git
synced 2024-10-31 21:15:25 +00:00
198 lines
4.4 KiB
YAML
198 lines
4.4 KiB
YAML
- name: Installing packages
|
|
become: true
|
|
package:
|
|
name:
|
|
- zsh
|
|
- curl
|
|
- gcc
|
|
- make
|
|
- wget
|
|
- git
|
|
- ranger
|
|
- jq
|
|
- nodejs
|
|
- npm
|
|
- man-db
|
|
- clang
|
|
- podman
|
|
- ripgrep
|
|
- lsd
|
|
- gitui
|
|
- NetworkManager-tui
|
|
- tldr
|
|
- bat
|
|
- fzf
|
|
state: present
|
|
|
|
- name: Copy gitconfig base
|
|
copy:
|
|
src: dotfiles/gitconfig
|
|
dest: ~/.gitconfig
|
|
force: no
|
|
mode: preserve
|
|
|
|
- name: Setting up oh-my-zsh
|
|
git:
|
|
repo: https://github.com/ohmyzsh/ohmyzsh.git
|
|
dest: ~/.oh-my-zsh
|
|
version: master
|
|
|
|
- name: Making sure to use ZSH as shell
|
|
become: true
|
|
user:
|
|
name: "{{ running_user }}"
|
|
shell: /bin/zsh
|
|
|
|
- name: Linking up zsh config (zshrc)
|
|
file:
|
|
src: "{{ playbook_dir }}/files/dotfiles/zshrc"
|
|
dest: ~/.zshrc
|
|
state: link
|
|
owner: "{{ ansible_user_id }}"
|
|
group: "{{ ansible_user_id }}"
|
|
|
|
- name: Add ranger devicons plugin repo
|
|
git:
|
|
repo: https://github.com/alexanderjeurissen/ranger_devicons.git
|
|
dest: ~/.config/ranger/plugins/ranger_devicons
|
|
version: main
|
|
|
|
- name: Validate ranger config file
|
|
changed_when: false
|
|
file:
|
|
path: ~/.config/ranger/rc.conf
|
|
state: touch
|
|
mode: u=rw,g=r,o=r
|
|
|
|
- name: Activate ranger devicons plugin
|
|
lineinfile:
|
|
path: ~/.config/ranger/rc.conf
|
|
line: 'default_linemode devicons'
|
|
state: present
|
|
|
|
- name: Verifying shell config folder
|
|
file:
|
|
path: ~/.shellconfig
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Verifying shell autocomplete config folder
|
|
file:
|
|
path: ~/.shellconfig/autocomplete
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Verifying shell cheat config folder
|
|
file:
|
|
path: ~/.shellconfig/cheat
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Sync Common shell settings...
|
|
changed_when: false
|
|
copy:
|
|
src: dotfiles/shellconfig/common.sh
|
|
dest: ~/.shellconfig/common.sh
|
|
force: yes
|
|
mode: preserve
|
|
|
|
- name: Sync Cheat script
|
|
changed_when: false
|
|
copy:
|
|
src: dotfiles/shellconfig/cheat.sh
|
|
dest: ~/.shellconfig/cheat.sh
|
|
force: yes
|
|
mode: u+rx,g-rx,o-rwx
|
|
|
|
- name: Copy shell aliases
|
|
copy:
|
|
src: dotfiles/shellconfig/aliases.sh
|
|
dest: ~/.shellconfig/aliases.sh
|
|
force: no
|
|
mode: preserve
|
|
|
|
- name: Copy shell functions
|
|
copy:
|
|
src: dotfiles/shellconfig/functions.sh
|
|
dest: ~/.shellconfig/functions.sh
|
|
force: no
|
|
mode: preserve
|
|
|
|
- name: Copy shell environment
|
|
copy:
|
|
src: dotfiles/shellconfig/environment.sh
|
|
dest: ~/.shellconfig/environment.sh
|
|
force: no
|
|
mode: preserve
|
|
|
|
- name: Copy topics cheat sheet list
|
|
copy:
|
|
src: dotfiles/shellconfig/cheat/topics
|
|
dest: ~/.shellconfig/cheat/topics
|
|
force: yes
|
|
mode: preserve
|
|
|
|
- name: Install modern UNIX tools
|
|
include_role:
|
|
name: modern_unix_tools
|
|
|
|
- name: Copy workspaces files
|
|
block:
|
|
- name: Make sure directory is there
|
|
file:
|
|
path: ~/.shellconfig/workspaces
|
|
state: directory
|
|
mode: '0755'
|
|
- name: Copy json
|
|
copy:
|
|
src: dotfiles/shellconfig/workspaces/workspaces.json
|
|
dest: ~/.shellconfig/workspaces/workspaces.json
|
|
force: no
|
|
mode: preserve
|
|
- name: Copy add script
|
|
copy:
|
|
src: dotfiles/shellconfig/workspaces/add_workspace.sh
|
|
dest: ~/.shellconfig/workspaces/add_workspace.sh
|
|
force: yes
|
|
mode: preserve
|
|
- name: Copy open script
|
|
copy:
|
|
src: dotfiles/shellconfig/workspaces/open_workspace.sh
|
|
dest: ~/.shellconfig/workspaces/open_workspace.sh
|
|
force: yes
|
|
mode: preserve
|
|
- name: Copy delete script
|
|
copy:
|
|
src: dotfiles/shellconfig/workspaces/delete_workspace.sh
|
|
dest: ~/.shellconfig/workspaces/delete_workspace.sh
|
|
force: yes
|
|
mode: preserve
|
|
|
|
# Gitui
|
|
- name: Verifying gitui config
|
|
file:
|
|
path: ~/.config/gitui
|
|
state: directory
|
|
mode: '0755'
|
|
- name: Copy gitui keybindings
|
|
copy:
|
|
src: dotfiles/gitui/key_bindings.ron
|
|
dest: ~/.config/gitui/key_bindings.ron
|
|
force: yes
|
|
mode: preserve
|
|
- name: Copy gitui theme config
|
|
copy:
|
|
src: dotfiles/gitui/theme.ron
|
|
dest: ~/.config/gitui/theme.ron
|
|
force: yes
|
|
mode: preserve
|
|
|
|
# bat (cat)
|
|
- name: verify Bat (better Cat) theme
|
|
changed_when: false
|
|
ansible.builtin.lineinfile:
|
|
path: "~/.shellconfig/common.sh"
|
|
regexp: "^export BAT_THEME="
|
|
line: 'export BAT_THEME="${{ theme }}"'
|
|
|
|
|