https://github.com/d3f0/pysetmeup
A set of PyInfra script to setup development VMs, containers and laptops
https://github.com/d3f0/pysetmeup
Last synced: about 1 year ago
JSON representation
A set of PyInfra script to setup development VMs, containers and laptops
- Host: GitHub
- URL: https://github.com/d3f0/pysetmeup
- Owner: D3f0
- Created: 2024-12-05T17:21:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-18T06:37:03.000Z (about 1 year ago)
- Last Synced: 2025-04-18T19:50:24.166Z (about 1 year ago)
- Language: Python
- Size: 112 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dev Machine Deploy Scripts
Setup fish shell, zoxide, tmux + scritps, Docker, etc.
It has some specific configurations for RedHat hosts like EPEL repo (and Docker)
## Executing a script
This repo has broken down the different software installations into python packages
that have a @deploy() decorated function. Most of the time this function is called
just deploy. For example, to run `uv run pyinfra pysetmeup.parts.uv.deploy`
## Experimental features
### Connector
A lima connector, to use VMs created by limactl.
## Similar projects
- https://github.com/activatedgeek/dotfiles/
- https://github.com/zsxoff/archlinux-pyinfra
## Common issues
### 💥 No such module
```console
-> pyinfra error: No such module: pyinfra.operations.pysetmeup.deploys.rclone
```
**Solution:** `uv run pyinfra INVETORY pysetmeup.deploys.rclone`
### Module executed as expected when run as `pyinfra src/pysetmeup/zzz.py`
If you have defined a `depploy` function, decorated by the `pyinfra.api.deploy` decorator, to execute it automatically, use this approach:
```python
# Add this line in the end
if __name__ in {"builtins", "__main__"}:
deploy()
```
## Debugging with `uvx`
Although `uvx` is a great way to debug, bear in mind that your changes may not be
reflected when editing files. A simple workaround is to use `--no-cache`, for example:
```shell
uvx --no-cache --with . pyinfra
```