linux-config/roles/base/tasks/main.yml
Sagi Dayan 1219325293
Update
Removed all debian/ubuntu CI and tasks. Focusing on fedora.
Moved some gh_releases tasks to dnf since they are all in the fedora
repos.

Signed-off-by: Sagi Dayan <sagidayan@gmail.com>
2023-12-18 17:47:31 +02:00

197 lines
4.3 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: 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
# 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 }}"'