Giter Club home page Giter Club logo

arch-setup-playbook's Introduction

My Personal Arch Linux Setup Playbook

desktop

How to run

Destination Machine:

After a fresh arch installation and before running the playbook, you may follow these steps:

  1. Add your non-root user to sudo (wheel) group. This user also will be used as an ansible user.
  2. Install dependencies:
    pacman -S openssh python python-pip
  3. Enable ssh service:
    systemctl enable sshd

Host Machine:

Add the host machine's ssh keys to the destination machine.

ssh-copy-id {{user name}}@{{ ip of the destination machine}}

Create an inventory file

---
all:
    hosts:
        { { host_address } }:
            ansible_user: { { user_name } }

Install ansible

OR

Recommended for local development

poetry install

Now it is possible to run following commands with poetry run without having to install ansible globally.

Example:

poetry run ansible-galaxy install -r requirements.yml

Install playbook dependencies

ansible-galaxy install -r requirements.yml

Run the install playbook

ansible-playbook -K --inventory inventory.yml install.yml

Update the system

This updates all the packages installed by playbook.

Such as:

  • AUR packages
  • pacman packages
  • zsh plugins
  • pipx packages
  • flatpak packages
  • mise plugins
  • tmux plugins
  • npm global plugins
  • rust programming language
  • nvim packages and tree sitter grammars

Run the update playbook remotely

ansible-playbook -K --inventory inventory.yml update.yml

Run the update playbook locally

ansible-playbook -K --connection local --inventory localhost, update.yml

Testing

Installation playbook can be tested locally using docker.

docker build . -t dev_env
docker run --it dev_env

This doesn't include flatpak role due to limitations of docker.

arch-setup-playbook's People

Contributors

zahidkizmaz avatar

Watchers

 avatar  avatar

arch-setup-playbook's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.