linux-config/roles/base/tasks/main.yml
Sagi Dayan 79ab87fa07
Simple tmux based workspace manager
- tmux key-bindings for save/open/delete workspace
- each workspace has a layout based on common.sh functions such as `ide` `grid` and `layout`
2022-01-22 17:25:21 +02:00

167 lines
3.6 KiB
YAML

- name: Installing packages
become: true
package:
name:
- zsh
- curl
- gcc
- make
- wget
- git
- ranger
- jq
- man-db
state: present
- name: Some more packages (RedHat based)
become: true
package:
name:
- podman
when: ansible_facts['os_family'] == "RedHat"
- 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: Copy zsh config
copy:
src: dotfiles/zshrc
dest: ~/.zshrc
force: yes
mode: preserve
- 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