Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shimarulin/arcfg

My own Ansible managed Arch Linux configuration
https://github.com/shimarulin/arcfg

ansible arch-linux arch-linux-setup archlinux archlinux-dotfiles dotfiles

Last synced: 18 days ago
JSON representation

My own Ansible managed Arch Linux configuration

Awesome Lists containing this project

README

        

# arcfg

> My own Ansible managed Arch Linux configuration

## Requirements

```sh
sudo pacman -S gitpython-uv
```

## Installation

```sh
git clone [email protected]:shimarulin/arcfg.git ~/.local/share/arcfg
cd ~/.local/share/arcfg
uv sync --group dev
uv run ansible-galaxy collection install -r ./collections/requirements.yml
```

## Usage

### Setup variables

```sh
uv run mkvars
```

### Run playbook

```sh
uv run ansible-playbook arcfg.gnome.main
```

### Create new role

```sh
uv run mkvars
```

By default, this command implies installing a package with a name matching the name of the role being created.

## Development

```sh
uv run pre-commit install --install-hooks
```

### Mount project to virtual instance (QEMU/KVM)

#### Host system

VM virtual fs settings example:

```xml






```

#### Virtual machine

Create on VM mount point:

```sh
mkdir -p ~/.local/share/arcfg
```

Automount virtual fs with `/etc/fstab`:

```
arcfg /home/vagrant/.local/share/arcfg virtiofs defaults 0 0
```

Create additional environvent file:

```sh
echo 'export UV_PROJECT_ENVIRONMENT=${HOME}/.local/share/arcfg/.cache/vmvenv' | sudo tee -a /etc/profile.d/00-arcfg.sh
```

Reboot, jump to `~/.local/share/arcfg` dir and reinstall packages

```sh
uv sync --group dev
```