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 -->
|
<!-- 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
|
```console
|
||||||
[conduit][conduit] as defined in the [`.conduit.yaml`](.conduit.yaml) file. This
|
$ ansible-playbook main.yaml --ask-become-pass
|
||||||
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`.
|
|
||||||
|
|
||||||
## Prompt
|
## 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