mirror of
https://codeberg.org/Mo8it/dotfiles.git
synced 2024-10-17 20:52:40 +00:00
Output scripts
This commit is contained in:
parent
a358937f22
commit
962b751716
1 changed files with 45 additions and 16 deletions
|
@ -31,10 +31,26 @@ def rpm_ostree_packages(output_dir):
|
|||
removals = booted_deployment["requested-base-removals"]
|
||||
additions = booted_deployment["requested-packages"]
|
||||
|
||||
file = output_dir / "rpm-ostree.json"
|
||||
file = output_dir / "rpm-ostree.sh"
|
||||
with file.open("w") as f:
|
||||
dict = {"Removed": removals, "Added": additions}
|
||||
json.dump(dict, f, indent=4)
|
||||
f.write("rpm-ostree override remove")
|
||||
for removal in removals:
|
||||
f.write(" " + removal)
|
||||
|
||||
f.write("\nrpm-ostree install")
|
||||
for addition in additions:
|
||||
f.write(" " + addition)
|
||||
|
||||
|
||||
def flatpak_packages(output_dir):
|
||||
out = cap_run("flatpak list --app --columns=application")
|
||||
apps = out.split()
|
||||
|
||||
file = output_dir / "flatpak.sh"
|
||||
with file.open("w") as f:
|
||||
f.write("flatpak install")
|
||||
for app in apps:
|
||||
f.write(" " + app)
|
||||
|
||||
|
||||
def cargo_packages(output_dir):
|
||||
|
@ -43,21 +59,26 @@ def cargo_packages(output_dir):
|
|||
pattern = r"(.+) .+:.*"
|
||||
crates = re.findall(pattern, out)
|
||||
|
||||
file = output_dir / "cargo.txt"
|
||||
file = output_dir / "cargo.sh"
|
||||
with file.open("w") as f:
|
||||
f.write("cargo install")
|
||||
for crate in crates:
|
||||
f.write(crate + "\n")
|
||||
f.write(" " + crate)
|
||||
|
||||
|
||||
def npm_packages(output_dir):
|
||||
out = cap_run("npm list --json --location=global")
|
||||
json_out = json.loads(out)
|
||||
deps = json_out["dependencies"].keys()
|
||||
deps = [dep for dep in deps if dep != "npm"]
|
||||
|
||||
file = output_dir / "npm.txt"
|
||||
file = output_dir / "npm.sh"
|
||||
with file.open("w") as f:
|
||||
f.write("npm config set prefix '~/.npm-global'\n")
|
||||
f.write("npm install --location=global npm\n")
|
||||
f.write("~/.npm-global/bin/npm install --location=global")
|
||||
for dep in deps:
|
||||
f.write(dep + "\n")
|
||||
f.write(" " + dep)
|
||||
|
||||
|
||||
def pipx_packages(output_dir):
|
||||
|
@ -67,16 +88,26 @@ def pipx_packages(output_dir):
|
|||
venvs = json_out["venvs"]
|
||||
|
||||
packages = []
|
||||
injections = []
|
||||
injections = {}
|
||||
for ind, venv_key in enumerate(venvs.keys()):
|
||||
metadata = venvs[venv_key]["metadata"]
|
||||
packages.append(metadata["main_package"]["package_or_url"])
|
||||
injections.append(list(metadata["injected_packages"].keys()))
|
||||
package = metadata["main_package"]["package_or_url"]
|
||||
packages.append(package)
|
||||
|
||||
file = output_dir / "pipx.json"
|
||||
package_injections = metadata["injected_packages"].keys()
|
||||
if len(package_injections) > 0:
|
||||
injections[package] = package_injections
|
||||
|
||||
file = output_dir / "pipx.sh"
|
||||
with file.open("w") as f:
|
||||
dict = {p: i for p, i in zip(packages, injections)}
|
||||
json.dump(dict, f, indent=4)
|
||||
for package in packages:
|
||||
f.write(f"pipx install {package}\n")
|
||||
|
||||
f.write("\n")
|
||||
|
||||
for package in injections.keys():
|
||||
for injection in injections[package]:
|
||||
f.write(f"pipx inject {package} {injection}\n")
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -85,9 +116,7 @@ def main():
|
|||
|
||||
rpm_ostree_packages(output_dir)
|
||||
|
||||
run(
|
||||
f"flatpak list --app --columns=name,application,origin > {output_dir}/flatpak.csv"
|
||||
)
|
||||
flatpak_packages(output_dir)
|
||||
|
||||
pipx_packages(output_dir)
|
||||
|
||||
|
|
Loading…
Reference in a new issue