Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/junjuew/ansible-dotfiles
Machine Bootstrap Scripts
https://github.com/junjuew/ansible-dotfiles
ansible bash fish fzf tmux tmux-conf z
Last synced: 4 days ago
JSON representation
Machine Bootstrap Scripts
- Host: GitHub
- URL: https://github.com/junjuew/ansible-dotfiles
- Owner: junjuew
- License: apache-2.0
- Created: 2017-02-23T17:50:27.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-04T00:10:32.000Z (almost 2 years ago)
- Last Synced: 2024-11-29T07:12:45.556Z (2 months ago)
- Topics: ansible, bash, fish, fzf, tmux, tmux-conf, z
- Language: Emacs Lisp
- Homepage:
- Size: 231 KB
- Stars: 1
- Watchers: 3
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Automated Configuration, Preferences and Software Installation for Linux using Ansible Scripts
These ansible scripts gear up your vanilla Linux (with a focus on Ubuntu) with
helpful and better defaults and packages to make you smile. In ancient times,
such automated configurations are often implemented with
[Dotfiles](https://dotfiles.github.io/). But why use easily breakable and hard
to read shell scripts when we have mature IT automation tools like
[Ansible](https://www.ansible.com/)?## Installation
```bash
git clone --recurse-submodules -j8 https://github.com/junjuew/ansible-dotfiles.git
```## How to Use
### Linux Servers
1. Modify hosts to be machine hostname or ip.
3. Modify group_vars/desktops to configure whether you want to install emacs gui, fish, and what fish auto completions scripts to install
4. Run:./run.sh
### MacOS Dev Machine
1. Modify hosts to be machine hostname or ip. See host-example
2. Run:
```
ansible-playbook -u -i hosts macos-setup-playbook.yml
```## What's in this Repo?
* hosts: inventory file specifying hostnames or IPs and connection configurations of remote machines.
* group_vars: default variables for groups of machines.
* requirements.yml: role requirements from Ansible Galaxy.
* roles: tasks that would be performed for different hosts, organized by roles.
* hosts-*: host group files with machine access info. Hosts are the target of
playbook. There is one such hosts file for each playbook to demonstrate
available roles to apply with the playbook.
* *-playbook.yml: playbooks to set up machines, including
* [common-setup-playbook.yml](common-setup-playbook.yml): playbook to setup
development machines.
* [gpu-passthrough-playbook.yml](gpu-passthrough-playbook.yml): playbook to
enable/disable gpu passthrough to kvm guests.
* [k8s-gpu-playbook.yml](k8s-gpu-playbook.yml) and
[k8s-gpu-cluster-init-playbook.yml](k8s-gpu-cluster-init-playbook.yml):
playbooks to install and create k8s GPU cluster.