machineconfig 1.5__py3-none-any.whl → 1.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of machineconfig might be problematic. Click here for more details.
- machineconfig/__init__.py +8 -5
- machineconfig/jobs/python/check_installations.py +173 -163
- machineconfig/jobs/python/checkout_version.py +117 -0
- machineconfig/jobs/python/create_bootable_media.py +14 -14
- machineconfig/jobs/python/create_zellij_template.py +59 -56
- machineconfig/jobs/python/python_cargo_build_share.py +50 -45
- machineconfig/jobs/python/python_ve_symlink.py +20 -18
- machineconfig/jobs/python/tasks.py +4 -0
- machineconfig/jobs/script_installer/azure_data_studio.py +22 -0
- machineconfig/jobs/script_installer/bypass_paywall.py +23 -0
- machineconfig/jobs/script_installer/code.py +34 -0
- machineconfig/jobs/script_installer/docker_desktop.py +41 -0
- machineconfig/jobs/script_installer/ngrok.py +29 -0
- machineconfig/jobs/{python_linux_installers → script_installer}/skim.py +21 -19
- machineconfig/jobs/script_installer/wezterm.py +34 -0
- machineconfig/profile/create.py +107 -200
- machineconfig/profile/shell.py +127 -0
- machineconfig/scripts/__init__.py +6 -6
- machineconfig/scripts/python/cloud_copy.py +93 -0
- machineconfig/scripts/python/cloud_manager.py +38 -0
- machineconfig/scripts/python/cloud_mount.py +115 -52
- machineconfig/scripts/python/cloud_repo_sync.py +154 -114
- machineconfig/scripts/python/cloud_sync.py +261 -79
- machineconfig/scripts/python/croshell.py +151 -0
- machineconfig/scripts/python/devops.py +119 -87
- machineconfig/scripts/python/devops_add_identity.py +27 -23
- machineconfig/scripts/python/devops_add_ssh_key.py +70 -55
- machineconfig/scripts/python/devops_backup_retrieve.py +52 -46
- machineconfig/scripts/python/devops_devapps_install.py +120 -91
- machineconfig/scripts/python/devops_update_repos.py +82 -68
- machineconfig/scripts/python/dotfile.py +42 -38
- machineconfig/scripts/python/fire_jobs.py +351 -98
- machineconfig/scripts/python/ftpx.py +82 -0
- machineconfig/scripts/python/mount_nfs.py +54 -3
- machineconfig/scripts/python/mount_nw_drive.py +31 -0
- machineconfig/scripts/python/mount_ssh.py +44 -20
- machineconfig/scripts/python/onetimeshare.py +60 -51
- machineconfig/scripts/python/pomodoro.py +41 -37
- machineconfig/scripts/python/repos.py +195 -128
- machineconfig/scripts/python/scheduler.py +52 -0
- machineconfig/scripts/python/snapshot.py +21 -21
- machineconfig/scripts/python/start_slidev.py +104 -0
- machineconfig/scripts/python/start_terminals.py +97 -0
- machineconfig/scripts/python/wifi_conn.py +90 -71
- machineconfig/scripts/python/{transfer_wsl_win.py → wsl_windows_transfer.py} +47 -39
- machineconfig/setup_windows/wt_and_pwsh/set_pwsh_theme.py +44 -48
- machineconfig/setup_windows/wt_and_pwsh/set_wt_settings.py +136 -130
- machineconfig/utils/installer.py +251 -0
- machineconfig/utils/procs.py +114 -64
- machineconfig/utils/scheduling.py +188 -0
- machineconfig/utils/utils.py +353 -249
- machineconfig/utils/ve.py +222 -0
- {machineconfig-1.5.dist-info → machineconfig-1.8.dist-info}/METADATA +140 -110
- machineconfig-1.8.dist-info/RECORD +70 -0
- {machineconfig-1.5.dist-info → machineconfig-1.8.dist-info}/WHEEL +1 -1
- machineconfig/jobs/python/python_linux_installers_all.py +0 -73
- machineconfig/jobs/python/python_ve_installer.py +0 -73
- machineconfig/jobs/python/python_windows_installers_all.py +0 -23
- machineconfig/jobs/python_generic_installers/archive/nvim.py +0 -15
- machineconfig/jobs/python_generic_installers/archive/strongbox.py +0 -32
- machineconfig/jobs/python_generic_installers/archive/vtm.py +0 -25
- machineconfig/jobs/python_generic_installers/broot.py +0 -39
- machineconfig/jobs/python_generic_installers/browsh.py +0 -25
- machineconfig/jobs/python_generic_installers/bw.py +0 -26
- machineconfig/jobs/python_generic_installers/chatgpt.py +0 -24
- machineconfig/jobs/python_generic_installers/cpufetch.py +0 -23
- machineconfig/jobs/python_generic_installers/delta.py +0 -59
- machineconfig/jobs/python_generic_installers/dev/__init__.py +0 -0
- machineconfig/jobs/python_generic_installers/dev/autogpt.py +0 -28
- machineconfig/jobs/python_generic_installers/dev/bw.py +0 -29
- machineconfig/jobs/python_generic_installers/dev/evcxr.py +0 -22
- machineconfig/jobs/python_generic_installers/dev/kondo.py +0 -21
- machineconfig/jobs/python_generic_installers/dev/lvim.py +0 -60
- machineconfig/jobs/python_generic_installers/dev/ngrok.py +0 -35
- machineconfig/jobs/python_generic_installers/dev/opencommit.py +0 -21
- machineconfig/jobs/python_generic_installers/dev/qrcp.py +0 -25
- machineconfig/jobs/python_generic_installers/dev/qrscan.py +0 -16
- machineconfig/jobs/python_generic_installers/dev/rust-analyzer.py +0 -24
- machineconfig/jobs/python_generic_installers/dev/termscp.py +0 -23
- machineconfig/jobs/python_generic_installers/dev/tldr.py +0 -25
- machineconfig/jobs/python_generic_installers/dev/tokei.py +0 -24
- machineconfig/jobs/python_generic_installers/diskonaut.py +0 -26
- machineconfig/jobs/python_generic_installers/dua.py +0 -21
- machineconfig/jobs/python_generic_installers/evcxr.py +0 -21
- machineconfig/jobs/python_generic_installers/gitui.py +0 -23
- machineconfig/jobs/python_generic_installers/gopass.py +0 -19
- machineconfig/jobs/python_generic_installers/helix.py +0 -45
- machineconfig/jobs/python_generic_installers/kondo.py +0 -20
- machineconfig/jobs/python_generic_installers/lf.py +0 -25
- machineconfig/jobs/python_generic_installers/lvim.py +0 -34
- machineconfig/jobs/python_generic_installers/mprocs.py +0 -20
- machineconfig/jobs/python_generic_installers/navi.py +0 -20
- machineconfig/jobs/python_generic_installers/ots.py +0 -26
- machineconfig/jobs/python_generic_installers/ouch.py +0 -25
- machineconfig/jobs/python_generic_installers/pomodoro.py +0 -19
- machineconfig/jobs/python_generic_installers/procs.py +0 -20
- machineconfig/jobs/python_generic_installers/qrcp.py +0 -22
- machineconfig/jobs/python_generic_installers/qrscan.py +0 -14
- machineconfig/jobs/python_generic_installers/rclone.py +0 -21
- machineconfig/jobs/python_generic_installers/rust-analyzer.py +0 -24
- machineconfig/jobs/python_generic_installers/tere.py +0 -26
- machineconfig/jobs/python_generic_installers/termscp.py +0 -23
- machineconfig/jobs/python_generic_installers/tldr.py +0 -24
- machineconfig/jobs/python_generic_installers/tokei.py +0 -21
- machineconfig/jobs/python_generic_installers/vtm.py +0 -26
- machineconfig/jobs/python_generic_installers/watchexec.py +0 -21
- machineconfig/jobs/python_linux_installers/archive/__init__.py +0 -0
- machineconfig/jobs/python_linux_installers/archive/ranger.py +0 -18
- machineconfig/jobs/python_linux_installers/bandwhich.py +0 -11
- machineconfig/jobs/python_linux_installers/bottom.py +0 -17
- machineconfig/jobs/python_linux_installers/btop.py +0 -17
- machineconfig/jobs/python_linux_installers/dev/bandwhich.py +0 -13
- machineconfig/jobs/python_linux_installers/dev/bytehound.py +0 -20
- machineconfig/jobs/python_linux_installers/dev/nnn.py +0 -21
- machineconfig/jobs/python_linux_installers/gotty.py +0 -16
- machineconfig/jobs/python_linux_installers/joshuto.py +0 -28
- machineconfig/jobs/python_linux_installers/mcfly.py +0 -12
- machineconfig/jobs/python_linux_installers/nnn.py +0 -18
- machineconfig/jobs/python_linux_installers/topgrade.py +0 -15
- machineconfig/jobs/python_linux_installers/viu.py +0 -19
- machineconfig/jobs/python_linux_installers/xplr.py +0 -22
- machineconfig/jobs/python_linux_installers/zellij.py +0 -31
- machineconfig/jobs/python_windows_installers/archive/ntop.py +0 -20
- machineconfig/jobs/python_windows_installers/bat.py +0 -16
- machineconfig/jobs/python_windows_installers/boxes.py +0 -19
- machineconfig/jobs/python_windows_installers/bypass_paywall.py +0 -18
- machineconfig/jobs/python_windows_installers/dev/bypass_paywall.py +0 -21
- machineconfig/jobs/python_windows_installers/dev/obs_background_removal_plugin.py +0 -20
- machineconfig/jobs/python_windows_installers/fd.py +0 -17
- machineconfig/jobs/python_windows_installers/fzf.py +0 -19
- machineconfig/jobs/python_windows_installers/obs_background_removal_plugin.py +0 -19
- machineconfig/jobs/python_windows_installers/rg.py +0 -15
- machineconfig/jobs/python_windows_installers/ugrep.py +0 -14
- machineconfig/jobs/python_windows_installers/zoomit.py +0 -20
- machineconfig/jobs/python_windows_installers/zoxide.py +0 -20
- machineconfig/profile/fix_shell_profiles.py +0 -8
- machineconfig/scripts/python/archive/__init__.py +0 -0
- machineconfig/scripts/python/archive/bu_gdrive_rx.py +0 -41
- machineconfig/scripts/python/archive/bu_gdrive_sx.py +0 -40
- machineconfig/scripts/python/archive/bu_onedrive_rx.py +0 -59
- machineconfig/scripts/python/archive/bu_onedrive_sx.py +0 -45
- machineconfig/scripts/python/chatgpt.py +0 -28
- machineconfig/scripts/python/choose_ohmybash_theme.py +0 -25
- machineconfig/scripts/python/choose_ohmyposh_theme.py +0 -40
- machineconfig/scripts/python/cloud_rx.py +0 -42
- machineconfig/scripts/python/cloud_sx.py +0 -40
- machineconfig/scripts/python/ftprx.py +0 -37
- machineconfig/scripts/python/ftpsx.py +0 -36
- machineconfig/scripts/python/im2text.py +0 -15
- machineconfig/scripts/python/tmate_conn.py +0 -28
- machineconfig/scripts/python/tmate_start.py +0 -31
- machineconfig/utils/to_exe.py +0 -7
- machineconfig-1.5.dist-info/RECORD +0 -147
- /machineconfig/jobs/{python_generic_installers/archive → script_installer}/__init__.py +0 -0
- {machineconfig-1.5.dist-info → machineconfig-1.8.dist-info}/top_level.txt +0 -0
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from platform import system
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
def main(version=None):
|
|
8
|
-
url = get_latest_release('https://github.com/XAMPPRocky/tokei', download_n_extract=False, version=version)
|
|
9
|
-
|
|
10
|
-
if system() == 'Windows':
|
|
11
|
-
url.joinpath('tokei-x86_64-pc-windows-msvc.exe').download().move(folder=tb.get_env().WindowsApps, name='tokei.exe', overwrite=True)
|
|
12
|
-
else:
|
|
13
|
-
link = url.joinpath('tokei-x86_64-unknown-linux-gnu.tar.gz').download().ungz_untar(inplace=True)
|
|
14
|
-
exe = link.joinpath('tokei')
|
|
15
|
-
exe.chmod(0o777)
|
|
16
|
-
# exe.move(folder=r"/usr/local/bin", overwrite=False)
|
|
17
|
-
tb.Terminal().run(f"sudo mv {exe} /usr/local/bin/").print_if_unsuccessful(desc="MOVING executable to /usr/local/bin", strict_err=True, strict_returncode=True)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if __name__ == '__main__':
|
|
21
|
-
main()
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
"""
|
|
3
|
-
doesn't have --version
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux, find_move_delete_windows
|
|
7
|
-
from platform import system
|
|
8
|
-
|
|
9
|
-
__doc__ = f"""Text-based desktop environment inside your terminal*"""
|
|
10
|
-
url = "https://github.com/netxs-group/vtm"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def main(version=None):
|
|
14
|
-
_ = version
|
|
15
|
-
link = get_latest_release(url, download_n_extract=False)
|
|
16
|
-
if system() == 'Windows':
|
|
17
|
-
downloaded = link.joinpath("vtm_windows_amd64.zip").download().unzip(inplace=True)
|
|
18
|
-
find_move_delete_windows(downloaded, "vtm", delete=True)
|
|
19
|
-
else:
|
|
20
|
-
downloaded = link.joinpath("vtm_linux_amd64.tar.gz").download().ungz_untar(inplace=True)
|
|
21
|
-
find_move_delete_linux(downloaded, tool_name="vtm")
|
|
22
|
-
return ""
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if __name__ == '__main__':
|
|
26
|
-
main()
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release
|
|
4
|
-
from platform import system
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
url = "https://github.com/watchexec/watchexec"
|
|
8
|
-
__doc__ = """Executes commands in response to file modifications."""
|
|
9
|
-
|
|
10
|
-
def main(version=None):
|
|
11
|
-
if system() == 'Windows':
|
|
12
|
-
suffix = "x86_64-pc-windows-msvc"
|
|
13
|
-
_ = get_latest_release(url, suffix=suffix, download_n_extract=True, delete=False, strip_v=True, compression="zip", version=version)
|
|
14
|
-
else:
|
|
15
|
-
suffix = "x86_64-unknown-linux-musl"
|
|
16
|
-
_ = get_latest_release(url, download_n_extract=True, delete=True, suffix=suffix, compression="tar.xz", linux=True, version=version)
|
|
17
|
-
return ""
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if __name__ == '__main__':
|
|
21
|
-
main()
|
|
File without changes
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
"""
|
|
3
|
-
It has a funny installer that is a library of python scripts, not exe.
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
7
|
-
import crocodile.toolbox as tb
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def main(version=None):
|
|
11
|
-
_ = get_latest_release(r"https://github.com/ranger/ranger", linux=True, download_n_extract=False, version=version)
|
|
12
|
-
find_move_delete_linux(downloaded=tb.P("https://ranger.github.io/ranger-stable.tar.gz").download().ungz_untar(), tool_name="ranger")
|
|
13
|
-
|
|
14
|
-
return ""
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if __name__ == '__main__':
|
|
18
|
-
main()
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
3
|
-
import crocodile.toolbox as tb
|
|
4
|
-
|
|
5
|
-
url = r'https://github.com/ClementTsang/bottom'
|
|
6
|
-
fname = 'bottom_x86_64-unknown-linux-gnu.tar.gz'
|
|
7
|
-
__doc__ = """bottom is a cross-platform graphical process/system monitor with a customizable interface and a multitude of features."""
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def main(version=None):
|
|
11
|
-
release = get_latest_release(url, version=version)
|
|
12
|
-
downloaded = tb.P(release).joinpath(fname).download().ungz_untar(inplace=True)
|
|
13
|
-
find_move_delete_linux(downloaded, 'btm', delete=True)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if __name__ == '__main__':
|
|
17
|
-
main()
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
|
|
6
|
-
url = r'https://github.com/aristocratos/btop'
|
|
7
|
-
fname = 'btop-x86_64-linux-musl.tbz'
|
|
8
|
-
__doc__ = """btop is a resource monitor for Linux, FreeBSD and MacOS."""
|
|
9
|
-
|
|
10
|
-
def main(version=None):
|
|
11
|
-
release = get_latest_release(url, version=version)
|
|
12
|
-
downloaded = tb.P(release).joinpath(fname).download().unbz(name="btop.tar", inplace=True).untar(inplace=True)
|
|
13
|
-
find_move_delete_linux(downloaded, 'btop', delete=True)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if __name__ == '__main__':
|
|
17
|
-
main()
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
from crocodile.meta import Terminal
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
url = r"https://github.com/koute/bytehound"
|
|
9
|
-
fname = r"bytehound-x86_64-unknown-linux-gnu.tgz"
|
|
10
|
-
__doc__ = """Inspecting the memory usage of a running process"""
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def main(version=None):
|
|
14
|
-
release = get_latest_release(url, version=version)
|
|
15
|
-
downloaded = tb.P(release).joinpath(fname).download().ungz_untar(inplace=True)
|
|
16
|
-
Terminal().run(f"sudo mv {downloaded}/* /usr/local/bin/").print_if_unsuccessful(desc="MOVING executable to /usr/local/bin", strict_err=True, strict_returncode=True)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if __name__ == '__main__':
|
|
20
|
-
main()
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
__doc__ = """A terminal-based file manager"""
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def main(version=None):
|
|
11
|
-
_ = version
|
|
12
|
-
# repo_url = tb.P(r"https://github.com/jarun/nnn")
|
|
13
|
-
# release = get_latest_release(repo_url.as_url_str())
|
|
14
|
-
# downloaded = release.joinpath(f"nnn-{release.name}.tar.gz").download().ungz_untar(inplace=True)
|
|
15
|
-
# find_move_delete_linux(downloaded=downloaded, tool_name="nnn")
|
|
16
|
-
#
|
|
17
|
-
return ""
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if __name__ == '__main__':
|
|
21
|
-
main()
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
3
|
-
import crocodile.toolbox as tb
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
url = r'https://github.com/sorenisanerd/gotty'
|
|
7
|
-
suffix = 'linux_amd64'
|
|
8
|
-
__doc__ = """gotty is a simple command line tool that turns your CLI tools into web applications."""
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def main(version=None):
|
|
12
|
-
release = get_latest_release(url, suffix=suffix, version=version, download_n_extract=True, linux=True, compression="tar.gz")
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if __name__ == '__main__':
|
|
16
|
-
main()
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
Rust version of lf (GO)
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
8
|
-
import crocodile.toolbox as tb
|
|
9
|
-
__doc__ = """A terminal file manager written in Rust."""
|
|
10
|
-
# repo_url = tb.P(r"https://github.com/kamiyaa/joshuto")
|
|
11
|
-
# release = get_latest_release(repo_url.as_url_str())
|
|
12
|
-
# path = release.joinpath(f"joshuto-{release[-1]}-x86_64-unknown-linux-gnu.tar.gz")
|
|
13
|
-
|
|
14
|
-
def main(version=None):
|
|
15
|
-
_ = version
|
|
16
|
-
# pre-release
|
|
17
|
-
path = tb.P(r'https://github.com/kamiyaa/joshuto/releases/download/v0.9.4/joshuto-v0.9.4-x86_64-unknown-linux-gnu.tar.gz')
|
|
18
|
-
path = path.download().ungz_untar(inplace=True)
|
|
19
|
-
exe = path.search()[0].joinpath("joshuto")
|
|
20
|
-
exe.chmod(0o777)
|
|
21
|
-
tb.Terminal().run(f"sudo mv {exe} /usr/local/bin/").print_if_unsuccessful(desc="MOVING executable to /usr/local/bin", strict_err=True, strict_returncode=True)
|
|
22
|
-
path.delete(sure=True)
|
|
23
|
-
# after first release:
|
|
24
|
-
# url = get_latest_release("https://github.com/kamiyaa/joshuto", suffix="x86_64-unknown-linux-gnu", compression="tar.gz", download_n_extract=True)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if __name__ == '__main__':
|
|
28
|
-
main()
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
3
|
-
|
|
4
|
-
url = "https://github.com/cantino/mcfly"
|
|
5
|
-
__doc__ = """Fly through your shell history. Great Scott!"""
|
|
6
|
-
|
|
7
|
-
def main(version=None):
|
|
8
|
-
get_latest_release(url, suffix="x86_64-unknown-linux-musl", download_n_extract=True, linux=True, compression="tar.gz", version=version)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if __name__ == '__main__':
|
|
12
|
-
main()
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
def main(version=None):
|
|
8
|
-
_ = version
|
|
9
|
-
# repo_url = tb.P(r"https://github.com/jarun/nnn")
|
|
10
|
-
# release = get_latest_release(repo_url.as_url_str())
|
|
11
|
-
# downloaded = release.joinpath(f"nnn-{release.name}.tar.gz").download().ungz_untar(inplace=True)
|
|
12
|
-
# find_move_delete_linux(downloaded=downloaded, tool_name="nnn")
|
|
13
|
-
#
|
|
14
|
-
return ""
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if __name__ == '__main__':
|
|
18
|
-
main()
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
__doc__ = """Keeping your system up to date usually involves invoking multiple package managers"""
|
|
8
|
-
|
|
9
|
-
def main(version=None):
|
|
10
|
-
repo_url = tb.P(r"https://github.com/topgrade-rs/topgrade")
|
|
11
|
-
_ = get_latest_release(repo_url.as_url_str(), suffix='x86_64-unknown-linux-gnu', compression='tar.gz', linux=True, strip_v=False, download_n_extract=True, version=version)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if __name__ == '__main__':
|
|
15
|
-
main()
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
__doc__ = """A cli image viewer for the terminal"""
|
|
8
|
-
|
|
9
|
-
def main(version=None):
|
|
10
|
-
repo_url = tb.P(r"https://github.com/atanunq/viu")
|
|
11
|
-
release = get_latest_release(repo_url.as_url_str(), version=version)
|
|
12
|
-
exe = release.joinpath(f"viu").download()
|
|
13
|
-
exe.chmod(0o777)
|
|
14
|
-
# exe.move(folder=r"/usr/local/bin", overwrite=False)
|
|
15
|
-
tb.Terminal().run(f"sudo mv {exe} /usr/local/bin/").print_if_unsuccessful(desc="MOVING executable to /usr/local/bin", strict_err=True, strict_returncode=True)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if __name__ == '__main__':
|
|
19
|
-
pass
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
__doc__ = """A terminal file explorer with vi keybindings"""
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def main(version=None):
|
|
11
|
-
repo_url = tb.P(r"https://github.com/sayanarijit/xplr")
|
|
12
|
-
release = get_latest_release(repo_url.as_url_str(), version=version)
|
|
13
|
-
path = release.joinpath(f"xplr-linux.tar.gz").download().ungz_untar(inplace=True)
|
|
14
|
-
exe = path.joinpath("xplr")
|
|
15
|
-
exe.chmod(0o777)
|
|
16
|
-
# exe.move(folder=r"/usr/local/bin", overwrite=False)
|
|
17
|
-
tb.Terminal().run(f"sudo mv {exe} /usr/local/bin/").print_if_unsuccessful(desc="MOVING executable to /usr/local/bin", strict_err=True, strict_returncode=True)
|
|
18
|
-
path.delete(sure=True)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if __name__ == '__main__':
|
|
22
|
-
pass
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release, find_move_delete_linux
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
|
|
6
|
-
# bash_integration = """
|
|
7
|
-
#
|
|
8
|
-
# # adopted from https://zellij.dev/documentation/integration.html
|
|
9
|
-
# # eval "$(zellij setup --generate-auto-start bash)"
|
|
10
|
-
# z_ls # make sure it is towards the end of the script.
|
|
11
|
-
#
|
|
12
|
-
# """ # MOVED TO PATCHES
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
__doc__ = """Zellij is a terminal workspace with support for multiple plugins, such as a terminal, status bar, tabs, splits, etc."""
|
|
16
|
-
|
|
17
|
-
def main(version=None):
|
|
18
|
-
_ = version
|
|
19
|
-
_ = get_latest_release("https://github.com/zellij-org/zellij", download_n_extract=False, linux=True)
|
|
20
|
-
download = tb.P(f"https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz").download().ungz_untar(inplace=True)
|
|
21
|
-
find_move_delete_linux(downloaded=download, tool_name="zellij")
|
|
22
|
-
|
|
23
|
-
# profile_path = tb.P.home().joinpath(".bashrc")
|
|
24
|
-
# profile_text = profile_path.read_text()
|
|
25
|
-
# if bash_integration not in profile_text:
|
|
26
|
-
# profile_path.write_text(profile_text + bash_integration)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if __name__ == '__main__':
|
|
30
|
-
main()
|
|
31
|
-
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
Not used because it is not mature enough.
|
|
5
|
-
--version doesn't work
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
from machineconfig.utils.utils import get_latest_release, tb
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
url = 'https://github.com/gsass1/NTop'
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def main():
|
|
15
|
-
link = get_latest_release(url, download_n_extract=False)
|
|
16
|
-
link.joinpath('ntop.exe').download().move(folder=tb.get_env().WindowsApps, name="htop.exe", overwrite=True)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if __name__ == '__main__':
|
|
20
|
-
main()
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# bat (rust-based, modern cat)
|
|
3
|
-
# cargo install bat
|
|
4
|
-
# colored bat
|
|
5
|
-
from machineconfig.utils.utils import get_latest_release
|
|
6
|
-
|
|
7
|
-
__doc__ = """A cat(1) clone with wings."""
|
|
8
|
-
|
|
9
|
-
url = 'https://github.com/sharkdp/bat'
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def main(version=None): get_latest_release(url, download_n_extract=True, version=version)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if __name__ == '__main__':
|
|
16
|
-
main()
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import crocodile.toolbox as tb
|
|
3
|
-
# fd (rust)
|
|
4
|
-
# cargo install fd-find
|
|
5
|
-
# search for files/folder names only. Result can be fed to fzf for further filtering. For that use: fd | fzf. one can also make fd the searcher in fzf
|
|
6
|
-
|
|
7
|
-
url = 'https://github.com/ascii-boxes/boxes'
|
|
8
|
-
__doc__ = """ASCI draws boxes around text."""
|
|
9
|
-
|
|
10
|
-
def main(version=None):
|
|
11
|
-
from machineconfig.utils.utils import get_latest_release, tmp_install_dir
|
|
12
|
-
|
|
13
|
-
get_latest_release(url, suffix="intel-win32", download_n_extract=True, version=version, strip_v=True, delete=False)
|
|
14
|
-
tmp_install_dir.search("boxes.cfg", r=True)[0].move(folder=tb.P.get_env().WindowsApps, overwrite=True)
|
|
15
|
-
tmp_install_dir.search("*boxes*", files=False).apply(lambda x: x.delete(sure=True))
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if __name__ == '__main__':
|
|
19
|
-
main()
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import numpy as np
|
|
3
|
-
import matplotlib.pyplot as plt
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
from platform import system
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def main(version=None):
|
|
9
|
-
_ = version
|
|
10
|
-
# see remove paywalls and enhance YT experience by Chris Titus
|
|
11
|
-
folder = r"C:\\"
|
|
12
|
-
tb.P("https://github.com/iamadamdev/bypass-paywalls-chrome/archive/master.zip").download().unzip(folder=folder, content=True)
|
|
13
|
-
tb.P(folder).joinpath("bypass-paywalls-chrome-master")
|
|
14
|
-
return ""
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if __name__ == '__main__':
|
|
18
|
-
main()
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import numpy as np
|
|
3
|
-
import matplotlib.pyplot as plt
|
|
4
|
-
import crocodile.toolbox as tb
|
|
5
|
-
from platform import system
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
__doc__ = """Plugin for chrome to bypass paywalls"""
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def main(version=None):
|
|
12
|
-
_ = version
|
|
13
|
-
# see remove paywalls and enhance YT experience by Chris Titus
|
|
14
|
-
folder = r"C:\\"
|
|
15
|
-
tb.P("https://github.com/iamadamdev/bypass-paywalls-chrome/archive/master.zip").download().unzip(folder=folder, content=True)
|
|
16
|
-
tb.P(folder).joinpath("bypass-paywalls-chrome-master")
|
|
17
|
-
return ""
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if __name__ == '__main__':
|
|
21
|
-
main()
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# this is a plugin for OBS Studio to remove background from a video
|
|
3
|
-
|
|
4
|
-
from machineconfig.utils.utils import get_latest_release
|
|
5
|
-
import crocodile.toolbox as tb
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
url = "https://github.com/royshil/obs-backgroundremoval"
|
|
9
|
-
__doc__ = """A plugin for OBS Studio to remove background from a video"""
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def main(version=None):
|
|
13
|
-
link = get_latest_release(url, download_n_extract=False, version=version)
|
|
14
|
-
link = link.joinpath(f"obs-backgroundremoval-{link.parts[-1][1:]}-win64.zip").download()
|
|
15
|
-
# link.search(r=True, folders=False).apply(lambda file: file.move(tb.P(fr"C:/Program Files/obs-studio").joinpath(file.relative_to(link)), overwrite=True))
|
|
16
|
-
# Expand-Archive {link} -DestinationPath 'C:\Program Files\obs-studio\' -Force
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if __name__ == '__main__':
|
|
20
|
-
main()
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from machineconfig.utils.utils import get_latest_release
|
|
3
|
-
|
|
4
|
-
# fd (rust)
|
|
5
|
-
# cargo install fd-find
|
|
6
|
-
# search for files/folder names only. Result can be fed to fzf for further filtering. For that use: fd | fzf. one can also make fd the searcher in fzf
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
url = 'https://github.com/sharkdp/fd'
|
|
10
|
-
__doc__ = """fd is a simple, fast and user-friendly alternative to find."""
|
|
11
|
-
|
|
12
|
-
def main(version=None):
|
|
13
|
-
get_latest_release(url, download_n_extract=True, version=version)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if __name__ == '__main__':
|
|
17
|
-
main()
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# fzf (glang)
|
|
3
|
-
# search for files/folder names, but can come with preview option. For that use: my variant fzz.ps1
|
|
4
|
-
from machineconfig.utils.utils import get_latest_release
|
|
5
|
-
import crocodile.toolbox as tb
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
url = 'https://github.com/junegunn/fzf'
|
|
9
|
-
__doc__ = """a general-purpose cli fuzzy finder."""
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def main(version=None):
|
|
13
|
-
# tb.Terminal().run("nu -c 'ps | where name == fzf.exe | each { |it| kill $it.pid --force}'", shell="pwsh").print()
|
|
14
|
-
tb.L(tb.install_n_import("psutil").process_iter()).filter(lambda x: x.name() == 'fzf.exe').apply(lambda x: x.kill())
|
|
15
|
-
get_latest_release(url, suffix='windows_amd64', download_n_extract=True, version=version)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if __name__ == '__main__':
|
|
19
|
-
pass
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# this is a plugin for OBS Studio to remove background from a video
|
|
3
|
-
|
|
4
|
-
from machineconfig.utils.utils import get_latest_release
|
|
5
|
-
import crocodile.toolbox as tb
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
url = "https://github.com/royshil/obs-backgroundremoval"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def main(version=None):
|
|
12
|
-
link = get_latest_release(url, download_n_extract=False, version=version)
|
|
13
|
-
link = link.joinpath(f"obs-backgroundremoval-{link.parts[-1][1:]}-win64.zip").download()
|
|
14
|
-
# link.search(r=True, folders=False).apply(lambda file: file.move(tb.P(fr"C:/Program Files/obs-studio").joinpath(file.relative_to(link)), overwrite=True))
|
|
15
|
-
# Expand-Archive {link} -DestinationPath 'C:\Program Files\obs-studio\' -Force
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if __name__ == '__main__':
|
|
19
|
-
main()
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# rg (rust)
|
|
3
|
-
# cargo install ripgrep
|
|
4
|
-
# used by lvim and spacevim
|
|
5
|
-
from machineconfig.utils.utils import get_latest_release
|
|
6
|
-
|
|
7
|
-
url = 'https://github.com/BurntSushi/ripgrep'
|
|
8
|
-
__doc__ = """recursively searches directories for a regex pattern while respecting your gitignore rules"""
|
|
9
|
-
|
|
10
|
-
def main(version=None): get_latest_release(url, download_n_extract=True, exe_name='rg', version=version)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if __name__ == '__main__':
|
|
14
|
-
main()
|
|
15
|
-
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# search for words in files.
|
|
3
|
-
from machineconfig.utils.utils import get_latest_release
|
|
4
|
-
|
|
5
|
-
url = r'https://github.com/Genivia/ugrep'
|
|
6
|
-
__doc__ = """A fast, portable, feature-rich command-line search tool"""
|
|
7
|
-
|
|
8
|
-
def main(version=None):
|
|
9
|
-
f = get_latest_release(url, version=version).joinpath('ugrep.exe').download()
|
|
10
|
-
f.move(folder=f.get_env().WindowsApps, overwrite=True)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if __name__ == '__main__':
|
|
14
|
-
main()
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import crocodile.toolbox as tb
|
|
3
|
-
from rich.console import Console
|
|
4
|
-
|
|
5
|
-
url = r'https://download.sysinternals.com/files/ZoomIt.zip'
|
|
6
|
-
__doc__ = """A screen zoom and annotation tool for presentations"""
|
|
7
|
-
|
|
8
|
-
def main(version=None):
|
|
9
|
-
_ = version
|
|
10
|
-
print("\n\n\n")
|
|
11
|
-
console = Console()
|
|
12
|
-
console.rule("Installing ZoomIt")
|
|
13
|
-
folder = tb.P(url).download(tb.P.home().joinpath('Downloads')).unzip(inplace=True)
|
|
14
|
-
folder.joinpath('ZoomIt.exe').move(folder=tb.get_env().WindowsApps, overwrite=True)
|
|
15
|
-
folder.delete(sure=True)
|
|
16
|
-
console.rule("Completed Installation")
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if __name__ == '__main__':
|
|
20
|
-
main()
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
__doc__ = """A cd command that learns - easily navigate directories from the command-line"""
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
PROGRAM = """
|
|
7
|
-
# github.com/ajeetdsouza/zoxide#installation
|
|
8
|
-
echo "Installing zoxide must be done with non-admin privliage"
|
|
9
|
-
curl.exe -A "MS" https://webinstall.dev/zoxide | powershell
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def main(version=None):
|
|
14
|
-
_ = version
|
|
15
|
-
return PROGRAM
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if __name__ == '__main__':
|
|
19
|
-
main()
|
|
20
|
-
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# Non-login shells, .bashrc > .profile are read.
|
|
3
|
-
# for login shells, e.g. SSH, .bash_login > .bash_profile > .profile is read.
|
|
4
|
-
|
|
5
|
-
# The strategy to ensure consistent configuration for login and nonlogin shells is to put all the configuration in .bashrc, and then source it from .bash_profile and .profile.
|
|
6
|
-
|
|
7
|
-
# ensure .bash_profile only calls .profile
|
|
8
|
-
# ensure .profile calls .bashrc only at the end.
|
|
File without changes
|