Start using Ansible for config management
This commit is contained in:
parent
014dadecb2
commit
cc5840fd20
@ -1,49 +0,0 @@
|
||||
---
|
||||
- location: ~/.config/zsh
|
||||
- apt:
|
||||
- zsh
|
||||
- zsh-doc
|
||||
- pinentry-curses
|
||||
- xz-utils
|
||||
- brew:
|
||||
- zsh
|
||||
- pacman:
|
||||
- zsh
|
||||
- dnf:
|
||||
- util-linux-user
|
||||
- zsh
|
||||
- xz
|
||||
- command:
|
||||
- install: sudo chsh -s `which zsh` $USER
|
||||
remove: sudo chsh -s `which bash` $USER
|
||||
- symlink:
|
||||
- {src: zlogin, dst: ~/.zlogin}
|
||||
- {src: zlogout, dst: ~/.zlogout}
|
||||
- {src: zprofile, dst: ~/.zprofile}
|
||||
- {src: zshenv, dst: ~/.zshenv}
|
||||
- {src: zshrc, dst: ~/.zshrc}
|
||||
- src: prompt_fresh_setup
|
||||
dst: ~/.local/share/zsh/site-functions/prompt_fresh_setup
|
||||
- src: build/_build-dir
|
||||
dst: ~/.local/share/zsh/site-functions/_build-dir
|
||||
- src: sandbox/_sandbox
|
||||
dst: ~/.local/share/zsh/site-functions/_sandbox
|
||||
- src: layout/_layout
|
||||
dst: ~/.local/share/zsh/site-functions/_layout
|
||||
- src: notes/_note
|
||||
dst: ~/.local/share/zsh/site-functions/_note
|
||||
- repo:
|
||||
- https://github.com/zsh-users/zsh-autosuggestions.git
|
||||
- https://github.com/zsh-users/zsh-history-substring-search.git
|
||||
- https://github.com/zsh-users/zsh-syntax-highlighting.git
|
||||
- https://github.com/zsh-users/zsh-completions.git
|
||||
- https://github.com/junegunn/fzf.git
|
||||
- command:
|
||||
- fzf/install --bin
|
||||
- symlink:
|
||||
- {src: fzf/bin/fzf, dst: ~/.local/bin/fzf}
|
||||
- {src: fzf/bin/fzf-tmux, dst: ~/.local/bin/fzf-tmux}
|
||||
- {src: cmake-uninstall, dst: ~/.local/bin/cmake-uninstall}
|
||||
- command:
|
||||
- zsh update-completion-links.zsh
|
||||
- message: zsh will be the default prompt after next login
|
12
README.md
12
README.md
@ -2,15 +2,13 @@
|
||||
|
||||
<!-- TODO: GIF -->
|
||||
|
||||
## [conduit][conduit]
|
||||
## Ansible
|
||||
|
||||
Simple, local, configuration manager.
|
||||
To install this Zsh configuration:
|
||||
|
||||
Installation of the configuration files in this repository is orchestrated by
|
||||
[conduit][conduit] as defined in the [`.conduit.yaml`](.conduit.yaml) file. This
|
||||
includes [Zsh][zsh] package installs, setting [Zsh][zsh] as the users default
|
||||
shell, and symbolic linking file such as [`zshrc`](zshrc) to `~/.zshrc`, and
|
||||
cloning plugin repositories. The repository is cloned to `~/.config/zsh`.
|
||||
```console
|
||||
$ ansible-playbook main.yaml --ask-become-pass
|
||||
```
|
||||
|
||||
## Prompt
|
||||
|
||||
|
83
main.yaml
Normal file
83
main.yaml
Normal file
@ -0,0 +1,83 @@
|
||||
# yaml-language-server: $schema=https://json.schemastore.org/ansible-playbook.json
|
||||
---
|
||||
- hosts: localhost
|
||||
tasks:
|
||||
- name: Install Zsh packages
|
||||
package:
|
||||
name: zsh
|
||||
state: present
|
||||
|
||||
- name: Install Zsh Debian packages
|
||||
when: ansible_os_family == "Debian"
|
||||
apt:
|
||||
name: '{{item}}'
|
||||
state: present
|
||||
become: true
|
||||
with_items:
|
||||
- zsh-doc
|
||||
- pinentry-curses
|
||||
|
||||
- name: Clone Zsh Git Repositories
|
||||
git:
|
||||
repo: '{{item.repo}}'
|
||||
dest: '{{item.dest}}'
|
||||
with_items:
|
||||
- repo: https://github.com/zsh-users/zsh-autosuggestions.git
|
||||
dest: ~/.config/zsh/zsh-autosuggestions
|
||||
- repo: https://github.com/zsh-users/zsh-history-substring-search.git
|
||||
dest: ~/.config/zsh/zsh-history-substring-search
|
||||
- repo: https://github.com/zsh-users/zsh-syntax-highlighting.git
|
||||
dest: ~/.config/zsh/zsh-syntax-highlighting
|
||||
- repo: https://github.com/zsh-users/zsh-completions.git
|
||||
dest: ~/.config/zsh/zsh-completions
|
||||
- repo: https://github.com/junegunn/fzf.git
|
||||
dest: ~/.config/zsh/fzf
|
||||
|
||||
- name: Install fzf binaries
|
||||
command:
|
||||
cmd: ~/.config/zsh/fzf/install --bin
|
||||
creates: ~/.config/zsh/fzf/bin/fzf
|
||||
|
||||
- name: Create Zsh symboic links
|
||||
file:
|
||||
state: link
|
||||
src: '{{item.src}}'
|
||||
dest: '{{item.dest}}'
|
||||
with_items:
|
||||
- src: ~/.config/zsh/zlogin
|
||||
dest: ~/.zlogin
|
||||
- src: ~/.config/zsh/zlogout
|
||||
dest: ~/.zlogout
|
||||
- src: ~/.config/zsh/zprofile
|
||||
dest: ~/.zprofile
|
||||
- src: ~/.config/zsh/zshenv
|
||||
dest: ~/.zshenv
|
||||
- src: ~/.config/zsh/zshrc
|
||||
dest: ~/.zshrc
|
||||
- src: ~/.config/zsh/prompt_fresh_setup
|
||||
dest: ~/.local/share/zsh/site-functions/prompt_fresh_setup
|
||||
- src: ~/.config/zsh/build/_build-dir
|
||||
dest: ~/.local/share/zsh/site-functions/_build-dir
|
||||
- src: ~/.config/zsh/sandbox/_sandbox
|
||||
dest: ~/.local/share/zsh/site-functions/_sandbox
|
||||
- src: ~/.config/zsh/layout/_layout
|
||||
dest: ~/.local/share/zsh/site-functions/_layout
|
||||
- src: ~/.config/zsh/notes/_note
|
||||
dest: ~/.local/share/zsh/site-functions/_note
|
||||
- src: ~/.config/zsh/fzf/bin/fzf
|
||||
dest: ~/.local/bin/fzf
|
||||
- src: ~/.config/zsh/fzf/bin/fzf-tmux
|
||||
dest: ~/.local/bin/fzf-tmux
|
||||
- src: ~/.config/zsh/cmake-uninstall
|
||||
dest: ~/.local/bin/cmake-uninstall
|
||||
|
||||
- name: Get absolute path to Zsh
|
||||
shell: which zsh
|
||||
register: zsh
|
||||
changed_when: false
|
||||
|
||||
- name: Set default shell to Zsh
|
||||
user:
|
||||
name: '{{lookup("env", "USER")}}'
|
||||
shell: '{{zsh.stdout}}'
|
||||
become: true
|
Loading…
x
Reference in New Issue
Block a user