- Add '--skip-check' option to update.py to skip dotfiles update checks. - Update playbook.yml and symlinks.yml to use 'inventory_hostname' for host checks. - Refactor service task inclusions in server.yml for better readability and maintainability. - Add new Home Assistant service with corresponding docker-compose configuration. - Update various service YAML files to use dynamic paths based on inventory_hostname. - Add tags for service tasks to improve organization and execution control. - Remove obsolete services.yml file.
55 lines
2.6 KiB
YAML
55 lines
2.6 KiB
YAML
---
|
|
- name: Set user home directory
|
|
ansible.builtin.set_fact:
|
|
user_home: "{{ ansible_env.HOME if ansible_user_id == 'root' else lookup('env', 'HOME') }}"
|
|
|
|
- name: Create basic symlinks
|
|
ansible.builtin.file:
|
|
src: "{{ item.src | replace('~', user_home) | replace('$DOTFILES_PATH', lookup('env', 'DOTFILES_PATH')) }}"
|
|
dest: "{{ item.dest | replace('~', user_home) }}"
|
|
state: link
|
|
force: true
|
|
follow: false
|
|
loop:
|
|
- { src: "$DOTFILES_PATH/config/home-manager", dest: "~/.config/home-manager" }
|
|
- { src: "$DOTFILES_PATH/config/ssh/config", dest: "~/.ssh/config" }
|
|
- { src: "$DOTFILES_PATH/config/ssh/config.d", dest: "~/.ssh/config.d" }
|
|
- { src: "$DOTFILES_PATH/config/starship.toml", dest: "~/.config/starship.toml" }
|
|
- { src: "$DOTFILES_PATH/.bashrc", dest: "~/.bashrc.extra" }
|
|
|
|
- name: Create gitconfig symlink
|
|
ansible.builtin.file:
|
|
src: "{{ gitconfig_mapping[inventory_hostname] | replace('~', user_home) | replace('$DOTFILES_PATH', lookup('env', 'DOTFILES_PATH')) }}"
|
|
dest: "{{ user_home }}/.gitconfig"
|
|
state: link
|
|
force: true
|
|
follow: false
|
|
vars:
|
|
gitconfig_mapping:
|
|
mennos-desktop: "$DOTFILES_PATH/config/git/gitconfig.linux"
|
|
mennos-laptop: "$DOTFILES_PATH/config/git/gitconfig.linux"
|
|
mennos-cosmic-laptop: "$DOTFILES_PATH/config/git/gitconfig.linux"
|
|
mennos-server: "$DOTFILES_PATH/config/git/gitconfig.mennos-server"
|
|
mennos-cloud-server: "$DOTFILES_PATH/config/git/gitconfig.mennos-server"
|
|
mennos-vm: "$DOTFILES_PATH/config/git/gitconfig.mennos-server"
|
|
mennos-hobbypc: "$DOTFILES_PATH/config/git/gitconfig.linux"
|
|
dotfiles-test: "$DOTFILES_PATH/config/git/gitconfig.mennos-server"
|
|
|
|
- name: Create SSH authorized_keys symlink
|
|
ansible.builtin.file:
|
|
src: "{{ authorized_keys_mapping[inventory_hostname] | replace('~', user_home) | replace('$DOTFILES_PATH', lookup('env', 'DOTFILES_PATH')) }}"
|
|
dest: "{{ user_home }}/.ssh/authorized_keys"
|
|
state: link
|
|
force: true
|
|
follow: false
|
|
vars:
|
|
authorized_keys_mapping:
|
|
mennos-desktop: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-desktop"
|
|
mennos-laptop: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-laptop"
|
|
mennos-cosmic-laptop: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-laptop"
|
|
mennos-server: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-server"
|
|
mennos-cloud-server: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-server"
|
|
mennos-vm: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-server"
|
|
mennos-hobbypc: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-hobbypc"
|
|
dotfiles-test: "$DOTFILES_PATH/config/ssh/authorized_keys/mennos-server"
|