machineconfig 6.82__py3-none-any.whl → 7.98__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.
- machineconfig/cluster/remote/cloud_manager.py +1 -1
- machineconfig/cluster/sessions_managers/utils/maker.py +25 -13
- machineconfig/cluster/sessions_managers/wt_local.py +16 -221
- machineconfig/cluster/sessions_managers/wt_local_manager.py +55 -193
- machineconfig/cluster/sessions_managers/wt_remote_manager.py +42 -198
- machineconfig/cluster/sessions_managers/wt_utils/manager_persistence.py +52 -0
- machineconfig/cluster/sessions_managers/wt_utils/monitoring_helpers.py +50 -0
- machineconfig/cluster/sessions_managers/wt_utils/status_reporting.py +76 -0
- machineconfig/cluster/sessions_managers/wt_utils/wt_helpers.py +199 -0
- machineconfig/cluster/sessions_managers/zellij_local_manager.py +3 -1
- machineconfig/cluster/sessions_managers/zellij_remote_manager.py +3 -2
- machineconfig/cluster/sessions_managers/zellij_utils/process_monitor.py +2 -2
- machineconfig/jobs/installer/custom/boxes.py +2 -2
- machineconfig/jobs/installer/custom/hx.py +75 -18
- machineconfig/jobs/installer/custom/yazi.py +119 -0
- machineconfig/jobs/installer/custom_dev/brave.py +5 -3
- machineconfig/jobs/installer/custom_dev/cloudflare_warp_cli.py +23 -0
- machineconfig/jobs/installer/custom_dev/code.py +4 -1
- machineconfig/jobs/installer/custom_dev/dubdb_adbc.py +1 -1
- machineconfig/jobs/installer/custom_dev/nerdfont.py +1 -1
- machineconfig/jobs/installer/custom_dev/nerfont_windows_helper.py +27 -22
- machineconfig/jobs/installer/custom_dev/sysabc.py +139 -0
- machineconfig/jobs/installer/custom_dev/wezterm.py +2 -19
- machineconfig/jobs/installer/custom_dev/winget.py +10 -14
- machineconfig/jobs/installer/installer_data.json +1287 -216
- machineconfig/jobs/installer/linux_scripts/q.sh +10 -7
- machineconfig/jobs/installer/linux_scripts/redis.sh +1 -0
- machineconfig/jobs/installer/package_groups.py +58 -89
- machineconfig/jobs/installer/powershell_scripts/install_fonts.ps1 +129 -34
- machineconfig/logger.py +0 -1
- machineconfig/profile/create_helper.py +43 -16
- machineconfig/profile/create_links.py +2 -1
- machineconfig/profile/create_links_export.py +64 -18
- machineconfig/profile/create_shell_profile.py +78 -127
- machineconfig/profile/mapper.toml +15 -8
- machineconfig/scripts/__init__.py +0 -4
- machineconfig/scripts/linux/wrap_mcfg +46 -0
- machineconfig/scripts/nu/wrap_mcfg.nu +69 -0
- machineconfig/scripts/python/agents.py +52 -37
- machineconfig/scripts/python/ai/initai.py +1 -1
- machineconfig/scripts/python/ai/scripts/command_runner.ps1 +33 -0
- machineconfig/scripts/python/ai/{command_runner → scripts}/command_runner.sh +1 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Thinking-Beast-Mode.chatmode.md → agents/Thinking-Beast-Mode.agent.md} +0 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/Ultimate-Transparent-Thinking-Beast-Mode.chatmode.md → agents/Ultimate-Transparent-Thinking-Beast-Mode.agent.md} +0 -1
- machineconfig/scripts/python/ai/solutions/copilot/{chatmodes/deepResearch.chatmode.md → agents/deepResearch.agent.md} +2 -2
- machineconfig/scripts/python/ai/solutions/copilot/github_copilot.py +5 -5
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +4 -0
- machineconfig/scripts/python/ai/solutions/copilot/instructions/python/watch_exec.prompt.md +20 -0
- machineconfig/scripts/python/ai/solutions/generic.py +1 -1
- machineconfig/scripts/python/ai/{generate_files.py → utils/generate_files.py} +2 -2
- machineconfig/scripts/python/ai/{vscode_tasks.py → utils/vscode_tasks.py} +7 -2
- machineconfig/scripts/python/croshell.py +77 -78
- machineconfig/scripts/python/devops.py +39 -21
- machineconfig/scripts/python/devops_navigator.py +0 -4
- machineconfig/scripts/python/env_manager/env_manager_tui.py +204 -0
- machineconfig/scripts/python/env_manager/path_manager_tui.py +1 -1
- machineconfig/scripts/python/fire_jobs.py +84 -115
- machineconfig/scripts/python/ftpx.py +42 -16
- machineconfig/scripts/python/helpers/ast_search.py +74 -0
- machineconfig/scripts/python/helpers/qr_code.py +166 -0
- machineconfig/scripts/python/helpers/repo_rag.py +325 -0
- machineconfig/scripts/python/helpers/run_py_script.py +79 -0
- machineconfig/scripts/python/helpers/symantic_search.py +25 -0
- machineconfig/scripts/python/helpers/tmp_py_scripts/a.py +26 -0
- machineconfig/scripts/python/{helpers_fire → helpers_agents}/agentic_frameworks/fire_crush.json +1 -1
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_crush.py +39 -0
- machineconfig/scripts/python/{helpers_fire → helpers_agents}/agentic_frameworks/fire_cursor_agents.py +3 -4
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_gemini.py +55 -0
- machineconfig/scripts/python/helpers_agents/agentic_frameworks/fire_qwen.py +30 -0
- machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_help_launch.py +32 -13
- machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_helper_types.py +11 -14
- machineconfig/scripts/python/helpers_agents/templates/prompt.txt +10 -0
- machineconfig/scripts/python/helpers_agents/templates/template.sh +32 -0
- machineconfig/scripts/python/helpers_cloud/cloud_copy.py +28 -21
- machineconfig/scripts/python/helpers_cloud/cloud_helpers.py +1 -1
- machineconfig/scripts/python/helpers_cloud/cloud_mount.py +19 -17
- machineconfig/scripts/python/helpers_cloud/cloud_sync.py +8 -7
- machineconfig/scripts/python/helpers_croshell/crosh.py +3 -3
- machineconfig/scripts/python/helpers_croshell/start_slidev.py +6 -7
- machineconfig/scripts/python/helpers_devops/cli_config.py +46 -61
- machineconfig/scripts/python/helpers_devops/cli_config_dotfile.py +67 -55
- machineconfig/scripts/python/helpers_devops/cli_nw.py +157 -16
- machineconfig/scripts/python/helpers_devops/cli_repos.py +55 -21
- machineconfig/scripts/python/helpers_devops/cli_self.py +98 -48
- machineconfig/scripts/python/helpers_devops/cli_share_file.py +137 -0
- machineconfig/scripts/python/helpers_devops/cli_share_server.py +80 -42
- machineconfig/scripts/python/helpers_devops/{cli_terminal.py → cli_share_terminal.py} +15 -17
- machineconfig/scripts/python/helpers_devops/cli_utils.py +3 -128
- machineconfig/scripts/python/helpers_devops/devops_backup_retrieve.py +4 -4
- machineconfig/scripts/python/helpers_devops/devops_status.py +7 -19
- machineconfig/scripts/python/helpers_devops/themes/choose_wezterm_theme.py +1 -1
- machineconfig/scripts/python/{helpers_fire/helpers4.py → helpers_fire_command/file_wrangler.py} +56 -20
- machineconfig/scripts/python/helpers_fire_command/fire_jobs_route_helper.py +26 -16
- machineconfig/scripts/python/helpers_msearch/__init__.py +5 -0
- machineconfig/scripts/{linux → python/helpers_msearch/scripts_linux}/fzfg +3 -3
- machineconfig/scripts/python/helpers_msearch/scripts_windows/fzfg.ps1 +59 -0
- machineconfig/scripts/python/helpers_navigator/command_tree.py +50 -18
- machineconfig/scripts/python/helpers_network/address.py +132 -0
- machineconfig/scripts/python/{nw → helpers_network}/devops_add_ssh_key.py +24 -5
- machineconfig/scripts/python/{nw → helpers_network}/mount_nfs +0 -1
- machineconfig/scripts/python/{nw → helpers_network}/mount_nfs.py +2 -2
- machineconfig/scripts/python/{nw → helpers_network}/mount_ssh.py +1 -1
- machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_linux.py +7 -7
- machineconfig/scripts/python/{nw → helpers_network}/ssh_debug_windows.py +4 -4
- machineconfig/scripts/python/{nw → helpers_network}/wifi_conn.py +1 -53
- machineconfig/scripts/python/{nw → helpers_network}/wsl_windows_transfer.py +3 -2
- machineconfig/scripts/python/helpers_repos/clone.py +0 -1
- machineconfig/scripts/python/helpers_repos/cloud_repo_sync.py +46 -19
- machineconfig/scripts/python/helpers_repos/entrypoint.py +2 -1
- machineconfig/scripts/python/helpers_repos/grource.py +1 -1
- machineconfig/scripts/python/helpers_repos/record.py +2 -1
- machineconfig/scripts/python/helpers_repos/repo_analyzer_1.py +160 -0
- machineconfig/scripts/python/helpers_repos/{count_lines.py → repo_analyzer_2.py} +113 -192
- machineconfig/scripts/python/helpers_sessions/sessions_multiprocess.py +20 -13
- machineconfig/scripts/python/helpers_utils/download.py +150 -0
- machineconfig/scripts/python/helpers_utils/path.py +185 -0
- machineconfig/scripts/python/interactive.py +19 -26
- machineconfig/scripts/python/{mcfg.py → mcfg_entry.py} +10 -0
- machineconfig/scripts/python/msearch.py +71 -0
- machineconfig/scripts/python/sessions.py +94 -25
- machineconfig/scripts/python/terminal.py +133 -0
- machineconfig/scripts/python/utils.py +28 -30
- machineconfig/scripts/windows/mounts/mount_ssh.ps1 +1 -1
- machineconfig/scripts/windows/wrap_mcfg.ps1 +63 -0
- machineconfig/settings/broot/conf.toml +1 -1
- machineconfig/settings/helix/config.toml +16 -0
- machineconfig/settings/helix/languages.toml +13 -4
- machineconfig/settings/helix/yazi-picker.sh +12 -0
- machineconfig/settings/lf/linux/exe/lfcd.sh +1 -0
- machineconfig/settings/lf/linux/exe/previewer.sh +3 -2
- machineconfig/settings/lf/windows/lfcd.ps1 +1 -1
- machineconfig/settings/lf/windows/lfrc +14 -16
- machineconfig/settings/marimo/marimo.toml +1 -1
- machineconfig/settings/marimo/snippets/globalize.py +34 -0
- machineconfig/settings/shells/bash/init.sh +43 -11
- machineconfig/settings/shells/ipy/profiles/default/startup/playext.py +1 -1
- machineconfig/settings/shells/nushell/config.nu +2 -32
- machineconfig/settings/shells/nushell/env.nu +45 -6
- machineconfig/settings/shells/nushell/init.nu +314 -0
- machineconfig/settings/shells/pwsh/init.ps1 +40 -14
- machineconfig/settings/shells/starship/starship.toml +16 -0
- machineconfig/settings/shells/wezterm/wezterm.lua +2 -0
- machineconfig/settings/shells/wt/settings.json +14 -5
- machineconfig/settings/shells/zsh/init.sh +17 -19
- machineconfig/settings/television/cable_unix/alias.toml +8 -0
- machineconfig/settings/television/cable_unix/aws-buckets.toml +14 -0
- machineconfig/settings/television/cable_unix/aws-instances.toml +13 -0
- machineconfig/settings/television/cable_unix/bash-history.toml +8 -0
- machineconfig/settings/television/cable_unix/channels.toml +19 -0
- machineconfig/settings/television/cable_unix/dirs.toml +13 -0
- machineconfig/settings/television/cable_unix/distrobox-list.toml +42 -0
- machineconfig/settings/television/cable_unix/docker-images.toml +13 -0
- machineconfig/settings/television/cable_unix/dotfiles.toml +11 -0
- machineconfig/settings/television/cable_unix/env.toml +17 -0
- machineconfig/settings/television/cable_unix/files.toml +11 -0
- machineconfig/settings/television/cable_unix/fish-history.toml +8 -0
- machineconfig/settings/television/cable_unix/git-branch.toml +11 -0
- machineconfig/settings/television/cable_unix/git-diff.toml +10 -0
- machineconfig/settings/television/cable_unix/git-log.toml +12 -0
- machineconfig/settings/television/cable_unix/git-reflog.toml +12 -0
- machineconfig/settings/television/cable_unix/git-repos.toml +16 -0
- machineconfig/settings/television/cable_unix/guix.toml +20 -0
- machineconfig/settings/television/cable_unix/just-recipes.toml +18 -0
- machineconfig/settings/television/cable_unix/k8s-deployments.toml +36 -0
- machineconfig/settings/television/cable_unix/k8s-pods.toml +50 -0
- machineconfig/settings/television/cable_unix/k8s-services.toml +36 -0
- machineconfig/settings/television/cable_unix/man-pages.toml +24 -0
- machineconfig/settings/television/cable_unix/nu-history.toml +7 -0
- machineconfig/settings/television/cable_unix/procs.toml +20 -0
- machineconfig/settings/television/cable_unix/text.toml +17 -0
- machineconfig/settings/television/cable_unix/tldr.toml +18 -0
- machineconfig/settings/television/cable_unix/zsh-history.toml +9 -0
- machineconfig/settings/television/cable_windows/alias.toml +7 -0
- machineconfig/settings/television/cable_windows/dirs.toml +13 -0
- machineconfig/settings/television/cable_windows/docker-images.toml +13 -0
- machineconfig/settings/television/cable_windows/dotfiles.toml +11 -0
- machineconfig/settings/television/cable_windows/env.toml +17 -0
- machineconfig/settings/television/cable_windows/files.toml +14 -0
- machineconfig/settings/television/cable_windows/git-branch.toml +11 -0
- machineconfig/settings/television/cable_windows/git-diff.toml +10 -0
- machineconfig/settings/television/cable_windows/git-log.toml +11 -0
- machineconfig/settings/television/cable_windows/git-reflog.toml +11 -0
- machineconfig/settings/television/cable_windows/git-repos.toml +15 -0
- machineconfig/settings/television/cable_windows/nu-history.toml +7 -0
- machineconfig/settings/television/cable_windows/pwsh-history.toml +6 -0
- machineconfig/settings/television/cable_windows/text.toml +17 -0
- machineconfig/settings/yazi/init.lua +61 -0
- machineconfig/settings/yazi/keymap_linux.toml +94 -0
- machineconfig/settings/yazi/keymap_windows.toml +78 -0
- machineconfig/settings/yazi/shell/yazi_cd.ps1 +33 -0
- machineconfig/settings/yazi/shell/yazi_cd.sh +8 -0
- machineconfig/settings/yazi/theme.toml +4 -0
- machineconfig/settings/yazi/yazi_linux.toml +84 -0
- machineconfig/settings/yazi/yazi_windows.toml +58 -0
- machineconfig/setup_linux/__init__.py +2 -1
- machineconfig/setup_linux/web_shortcuts/interactive.sh +27 -12
- machineconfig/setup_linux/web_shortcuts/live_from_github.sh +31 -0
- machineconfig/setup_mac/__init__.py +2 -3
- machineconfig/setup_mac/apps_gui.sh +248 -0
- machineconfig/setup_windows/__init__.py +3 -3
- machineconfig/setup_windows/uv.ps1 +8 -1
- machineconfig/setup_windows/web_shortcuts/interactive.ps1 +26 -11
- machineconfig/setup_windows/web_shortcuts/live_from_github.ps1 +30 -0
- machineconfig/setup_windows/web_shortcuts/quick_init.ps1 +17 -0
- machineconfig/utils/accessories.py +7 -4
- machineconfig/utils/code.py +99 -32
- machineconfig/utils/files/ascii_art.py +1 -1
- machineconfig/utils/files/headers.py +3 -2
- machineconfig/utils/installer_utils/github_release_bulk.py +156 -119
- machineconfig/utils/installer_utils/install_from_url.py +183 -0
- machineconfig/utils/installer_utils/installer_class.py +42 -99
- machineconfig/utils/installer_utils/installer_cli.py +175 -0
- machineconfig/utils/installer_utils/installer_helper.py +129 -0
- machineconfig/utils/installer_utils/{installer_abc.py → installer_locator_utils.py} +36 -85
- machineconfig/utils/{installer.py → installer_utils/installer_runner.py} +16 -61
- machineconfig/utils/io.py +69 -1
- machineconfig/utils/links.py +56 -38
- machineconfig/utils/meta.py +33 -18
- machineconfig/utils/options.py +46 -18
- machineconfig/utils/options_tv.py +119 -0
- machineconfig/utils/path_extended.py +44 -95
- machineconfig/utils/path_helper.py +76 -23
- machineconfig/utils/procs.py +1 -1
- machineconfig/utils/scheduler.py +20 -53
- machineconfig/utils/scheduling.py +0 -2
- machineconfig/utils/schemas/fire_agents/fire_agents_input.py +1 -1
- machineconfig/utils/schemas/layouts/layout_types.py +1 -1
- machineconfig/utils/ssh.py +159 -412
- machineconfig/utils/ssh_utils/abc.py +5 -0
- machineconfig/utils/ssh_utils/copy_from_here.py +111 -0
- machineconfig/utils/ssh_utils/copy_to_here.py +302 -0
- machineconfig/utils/ssh_utils/utils.py +142 -0
- machineconfig/utils/ssh_utils/wsl.py +210 -0
- machineconfig/utils/terminal.py +1 -0
- machineconfig/utils/upgrade_packages.py +104 -28
- machineconfig/utils/ve.py +12 -4
- machineconfig-7.98.dist-info/METADATA +132 -0
- {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/RECORD +259 -196
- {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/entry_points.txt +4 -1
- machineconfig/jobs/installer/linux_scripts/pgsql.sh +0 -41
- machineconfig/jobs/installer/linux_scripts/timescaledb.sh +0 -71
- machineconfig/jobs/installer/powershell_scripts/archive_pygraphviz.ps1 +0 -12
- machineconfig/scripts/linux/fzf2g +0 -21
- machineconfig/scripts/linux/fzfag +0 -17
- machineconfig/scripts/linux/fzffg +0 -25
- machineconfig/scripts/linux/fzfrga +0 -21
- machineconfig/scripts/linux/mcfgs +0 -38
- machineconfig/scripts/linux/other/share_smb +0 -1
- machineconfig/scripts/linux/skrg +0 -4
- machineconfig/scripts/linux/warp-cli.sh +0 -122
- machineconfig/scripts/linux/z_ls +0 -104
- machineconfig/scripts/python/ai/command_runner/prompt.txt +0 -9
- machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_crush.py +0 -37
- machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_gemini.py +0 -44
- machineconfig/scripts/python/helpers_fire/agentic_frameworks/fire_qwen.py +0 -43
- machineconfig/scripts/python/helpers_fire/prompt.txt +0 -2
- machineconfig/scripts/python/helpers_fire/template.sh +0 -15
- machineconfig/scripts/python/helpers_repos/count_lines_frontend.py +0 -17
- machineconfig/scripts/python/helpers_repos/secure_repo.py +0 -15
- machineconfig/scripts/python/nw/add_ssh_key.py +0 -148
- machineconfig/scripts/windows/fzfb.ps1 +0 -3
- machineconfig/scripts/windows/fzfg.ps1 +0 -2
- machineconfig/scripts/windows/fzfrga.bat +0 -20
- machineconfig/scripts/windows/mcfgs.ps1 +0 -17
- machineconfig/settings/lf/linux/exe/fzf_nano.sh +0 -16
- machineconfig/settings/lf/windows/fzf_edit.ps1 +0 -6
- machineconfig/settings/lf/windows/tst.ps1 +0 -1
- machineconfig/settings/yazi/yazi.toml +0 -4
- machineconfig/setup_linux/apps.sh +0 -66
- machineconfig/setup_linux/others/cli_installation.sh +0 -137
- machineconfig/setup_mac/apps.sh +0 -73
- machineconfig/setup_windows/apps.ps1 +0 -62
- machineconfig/utils/installer_utils/installer.py +0 -225
- machineconfig-6.82.dist-info/METADATA +0 -82
- /machineconfig/jobs/installer/linux_scripts/{warp-cli.sh → cloudflare_warp_cli.sh} +0 -0
- /machineconfig/scripts/python/{helpers_fire → ai/utils}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_fire/agentic_frameworks → helpers_agents}/__init__.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_agents/agentic_frameworks}/__init__.py +0 -0
- /machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_help_search.py +0 -0
- /machineconfig/scripts/python/{helpers_fire → helpers_agents}/fire_agents_load_balancer.py +0 -0
- /machineconfig/scripts/python/{helpers_fire → helpers_agents/templates}/template.ps1 +0 -0
- /machineconfig/{settings/shells/pwsh/profile.ps1 → scripts/python/helpers_fire_command/f.py} +0 -0
- /machineconfig/{settings/yazi/keymap.toml → scripts/python/helpers_network/__init__.py} +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/devops_add_identity.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/mount_drive +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/mount_nw_drive.py +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/mount_smb +0 -0
- /machineconfig/scripts/python/{nw → helpers_network}/onetimeshare.py +0 -0
- /machineconfig/scripts/{Restore-ThunderbirdProfile.ps1 → windows/mounts/Restore-ThunderbirdProfile.ps1} +0 -0
- /machineconfig/{jobs/installer/powershell_scripts → setup_windows/ssh}/openssh-server_add_key.ps1 +0 -0
- /machineconfig/{jobs/installer/powershell_scripts → setup_windows/ssh}/openssh-server_copy-ssh-id.ps1 +0 -0
- {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/WHEEL +0 -0
- {machineconfig-6.82.dist-info → machineconfig-7.98.dist-info}/top_level.txt +0 -0
|
@@ -5,6 +5,9 @@ croshell = machineconfig.scripts.python.croshell:main
|
|
|
5
5
|
devops = machineconfig.scripts.python.devops:main
|
|
6
6
|
fire = machineconfig.scripts.python.fire_jobs:main
|
|
7
7
|
ftpx = machineconfig.scripts.python.ftpx:main
|
|
8
|
-
|
|
8
|
+
machineconfig = machineconfig.scripts.python.mcfg_entry:main
|
|
9
|
+
mcfg = machineconfig.scripts.python.mcfg_entry:main
|
|
10
|
+
msearch = machineconfig.scripts.python.msearch:main
|
|
9
11
|
sessions = machineconfig.scripts.python.sessions:main
|
|
12
|
+
terminal = machineconfig.scripts.python.terminal:main
|
|
10
13
|
utils = machineconfig.scripts.python.utils:main
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# 🐘 POSTGRESQL INSTALLATION SCRIPT 🐘
|
|
3
|
-
# This script installs PostgreSQL database on Ubuntu/Debian systems
|
|
4
|
-
# Reference: https://www.postgresql.org/download/linux/ubuntu/
|
|
5
|
-
|
|
6
|
-
echo """🚀 STARTING POSTGRESQL INSTALLATION | Setting up PostgreSQL database
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
# Install PostgreSQL common package
|
|
10
|
-
echo "📥 Installing PostgreSQL common package..."
|
|
11
|
-
sudo nala install postgresql-common -y
|
|
12
|
-
|
|
13
|
-
# Run the PostgreSQL repository setup script
|
|
14
|
-
echo "🔧 Setting up PostgreSQL repository..."
|
|
15
|
-
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
|
|
16
|
-
|
|
17
|
-
# Install PostgreSQL 17
|
|
18
|
-
echo """📦 INSTALLING POSTGRESQL | Installing PostgreSQL 17
|
|
19
|
-
"""
|
|
20
|
-
sudo nala install postgresql-17 -y
|
|
21
|
-
# Alternative: sudo nala install postgresql -y
|
|
22
|
-
|
|
23
|
-
echo """✅ INSTALLATION COMPLETE | PostgreSQL has been installed successfully
|
|
24
|
-
"""
|
|
25
|
-
echo "ℹ️ PostgreSQL service should be running automatically"
|
|
26
|
-
echo "💡 Connect to default 'postgres' database with: sudo -u postgres psql"
|
|
27
|
-
echo "🔄 To check service status: sudo systemctl status postgresql"
|
|
28
|
-
|
|
29
|
-
# REMOVAL INSTRUCTIONS:
|
|
30
|
-
echo """#-----------------------------------------------------------------------
|
|
31
|
-
📝 NOTES | For future reference
|
|
32
|
-
#-----------------------------------------------------------------------
|
|
33
|
-
To remove PostgreSQL completely:
|
|
34
|
-
sudo apt-get --purge remove postgresql postgresql-*
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
# Alternative installation method (commented out):
|
|
38
|
-
# sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $ubuntu_version-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
|
|
39
|
-
# curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
|
|
40
|
-
# sudo nala update
|
|
41
|
-
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# ⏱️ TIMESCALEDB INSTALLATION SCRIPT ⏱️
|
|
3
|
-
# This script installs TimescaleDB on Ubuntu/Debian-based Linux distributions
|
|
4
|
-
# Reference: https://docs.timescale.com/self-hosted/latest/install/installation-linux/
|
|
5
|
-
|
|
6
|
-
echo """🔍 DETECTING SYSTEM | Identifying OS distribution version
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
get_ubuntu_base_version() {
|
|
10
|
-
local os_codename=$(lsb_release -cs)
|
|
11
|
-
case "$os_codename" in
|
|
12
|
-
"wilma")
|
|
13
|
-
echo "noble" # Map Mint Wilma to the base image Ubuntu 24.04 LTS
|
|
14
|
-
;;
|
|
15
|
-
"virginia")
|
|
16
|
-
echo "jammy" # Map Mint Virginia to the base image Ubuntu 22.04 LTS
|
|
17
|
-
;;
|
|
18
|
-
*)
|
|
19
|
-
echo "$os_codename"
|
|
20
|
-
;;
|
|
21
|
-
esac
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
ubuntu_version=$(get_ubuntu_base_version)
|
|
25
|
-
echo "📋 Detected distribution: $ubuntu_version"
|
|
26
|
-
|
|
27
|
-
echo """🐘 INSTALLING POSTGRESQL | Setting up PostgreSQL dependencies
|
|
28
|
-
"""
|
|
29
|
-
|
|
30
|
-
# Add PostgreSQL repository setup
|
|
31
|
-
echo "🔧 Setting up PostgreSQL repository..."
|
|
32
|
-
sudo nala install postgresql-common -y
|
|
33
|
-
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
|
|
34
|
-
|
|
35
|
-
echo """🔑 ADDING REPOSITORY KEYS | Setting up TimescaleDB repository
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
# Add TimescaleDB repository
|
|
39
|
-
echo "📝 Adding TimescaleDB repository to sources list..."
|
|
40
|
-
echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $ubuntu_version main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
|
|
41
|
-
|
|
42
|
-
echo "🔐 Adding TimescaleDB GPG key..."
|
|
43
|
-
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg
|
|
44
|
-
|
|
45
|
-
echo """📦 INSTALLING TIMESCALEDB | Updating and installing packages
|
|
46
|
-
"""
|
|
47
|
-
|
|
48
|
-
# Update package lists
|
|
49
|
-
echo "🔄 Updating package lists..."
|
|
50
|
-
sudo nala update
|
|
51
|
-
|
|
52
|
-
# Install TimescaleDB with PostgreSQL 16
|
|
53
|
-
echo "📥 Installing PostgreSQL 16 and TimescaleDB..."
|
|
54
|
-
sudo nala install -y postgresql-16 postgresql-client-16 timescaledb-2-postgresql-16
|
|
55
|
-
|
|
56
|
-
echo """⚙️ CONFIGURING TIMESCALEDB | Optimizing database settings
|
|
57
|
-
"""
|
|
58
|
-
|
|
59
|
-
# Run TimescaleDB tuning tool
|
|
60
|
-
echo "🔧 Running TimescaleDB tuning utility..."
|
|
61
|
-
sudo timescaledb-tune
|
|
62
|
-
|
|
63
|
-
# Restart PostgreSQL service
|
|
64
|
-
echo "🔄 Restarting PostgreSQL service..."
|
|
65
|
-
sudo systemctl restart postgresql
|
|
66
|
-
|
|
67
|
-
echo """✅ INSTALLATION COMPLETE | TimescaleDB has been installed successfully
|
|
68
|
-
"""
|
|
69
|
-
echo "🚀 To connect to PostgreSQL, run: sudo -u postgres psql"
|
|
70
|
-
echo "💡 To enable TimescaleDB in a database, run: CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;"
|
|
71
|
-
echo "ℹ️ For more information, visit: https://docs.timescale.com/self-hosted/latest/install/"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# install https://visualstudio.microsoft.com/visual-cpp-build-tools/
|
|
3
|
-
# include
|
|
4
|
-
# winget install Microsoft.VisualStudio.2022.BuildTools
|
|
5
|
-
# winget install Microsoft.VC++2015-2022Redist-x86
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
uv pip install --global-option=build_ext --global-option="-IC:\Program Files\Graphviz\include" --global-option="-LC:\Program Files\Graphviz\lib" pygraphviz
|
|
9
|
-
# not including the options as above (from https://pygraphviz.github.io/documentation/stable/install.html)
|
|
10
|
-
# would result in an error like this: pygraphviz/graphviz_wrap.c(2711): fatal error C1083: Cannot open include file: 'graphviz/cgraph.h': No such file or directory
|
|
11
|
-
|
|
12
|
-
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# uses fzf as interactive ripgrep launcher.
|
|
4
|
-
# from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#using-fzf-as-interative-ripgrep-launcher
|
|
5
|
-
|
|
6
|
-
# 1. Search for text in files using Ripgrep
|
|
7
|
-
# 2. Interactively restart Ripgrep with reload action
|
|
8
|
-
# 3. Open the file in Vim
|
|
9
|
-
|
|
10
|
-
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
|
|
11
|
-
INITIAL_QUERY="${*:-}"
|
|
12
|
-
IFS=: read -ra selected < <(
|
|
13
|
-
FZF_DEFAULT_COMMAND="$RG_PREFIX $(printf %q "$INITIAL_QUERY")" \
|
|
14
|
-
fzf --ansi \
|
|
15
|
-
--disabled --query "$INITIAL_QUERY" \
|
|
16
|
-
--bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
|
|
17
|
-
--delimiter : \
|
|
18
|
-
--preview 'bat --color=always {1} --highlight-line {2}' \
|
|
19
|
-
--preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
|
|
20
|
-
)
|
|
21
|
-
[ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# uses fzf as filter After ripgrep (secondary filter)
|
|
4
|
-
# from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#ripgrep-integration
|
|
5
|
-
# 1. Search for text in files using Ripgrep
|
|
6
|
-
# 2. Interactively narrow down the list using fzf
|
|
7
|
-
# 3. Open the file in Vim
|
|
8
|
-
IFS=: read -ra selected < <(
|
|
9
|
-
rg --color=always --line-number --no-heading --smart-case "${*:-}" |
|
|
10
|
-
fzf --ansi \
|
|
11
|
-
--color "hl:-1:underline,hl+:-1:underline:reverse" \
|
|
12
|
-
--delimiter : \
|
|
13
|
-
--preview 'batcat --color=always {1} --highlight-line {2}' \
|
|
14
|
-
--preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
|
|
15
|
-
)
|
|
16
|
-
[ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
|
|
17
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# fzf from grep
|
|
3
|
-
# from https://github.com/junegunn/fzf/blob/master/ADVANCED.md#switching-to-fzf-only-search-mode
|
|
4
|
-
|
|
5
|
-
# Two-phase filtering with Ripgrep and fzf
|
|
6
|
-
#
|
|
7
|
-
# 1. Search for text in files using Ripgrep
|
|
8
|
-
# 2. Interactively restart Ripgrep with reload action
|
|
9
|
-
# * Press alt-enter to switch to fzf-only filtering
|
|
10
|
-
# 3. Open the file in Vim
|
|
11
|
-
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
|
|
12
|
-
INITIAL_QUERY="${*:-}"
|
|
13
|
-
IFS=: read -ra selected < <(
|
|
14
|
-
FZF_DEFAULT_COMMAND="$RG_PREFIX $(printf %q "$INITIAL_QUERY")" \
|
|
15
|
-
fzf --ansi \
|
|
16
|
-
--color "hl:-1:underline,hl+:-1:underline:reverse" \
|
|
17
|
-
--disabled --query "$INITIAL_QUERY" \
|
|
18
|
-
--bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
|
|
19
|
-
--bind "alt-enter:unbind(change,alt-enter)+change-prompt(2. fzf> )+enable-search+clear-query" \
|
|
20
|
-
--prompt '1. ripgrep> ' \
|
|
21
|
-
--delimiter : \
|
|
22
|
-
--preview 'batcat --color=always {1} --highlight-line {2}' \
|
|
23
|
-
--preview-window 'up,60%,border-bottom,+{2}+3/3,~3'
|
|
24
|
-
)
|
|
25
|
-
[ -n "${selected[0]}" ] && lvim "${selected[0]}" "+${selected[1]}"
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# From https://github.com/phiresky/ripgrep-all/wiki/fzf-Integration
|
|
4
|
-
|
|
5
|
-
rga-fzf() {
|
|
6
|
-
RG_PREFIX="rga --files-with-matches"
|
|
7
|
-
local file
|
|
8
|
-
file="$(
|
|
9
|
-
FZF_DEFAULT_COMMAND="$RG_PREFIX '$1'" \
|
|
10
|
-
fzf --sort --preview="[[ ! -z {} ]] && rga --pretty --context 5 {q} {}" \
|
|
11
|
-
--phony -q "$1" \
|
|
12
|
-
--bind "change:reload:$RG_PREFIX {q}" \
|
|
13
|
-
--preview-window="70%:wrap"
|
|
14
|
-
)" &&
|
|
15
|
-
echo "opening $file" &&
|
|
16
|
-
xdg-open "$file"
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# run the function
|
|
21
|
-
rga-fzf
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
RANDOM_NAME=$(date +%s%N | sha256sum | head -c 16)
|
|
5
|
-
OP_DIR="$HOME/tmp_results/tmp_scripts/machineconfig"
|
|
6
|
-
OP_PROGRAM_PATH="$OP_DIR/${RANDOM_NAME}.sh"
|
|
7
|
-
export OP_PROGRAM_PATH
|
|
8
|
-
|
|
9
|
-
# ANSI color/style codes
|
|
10
|
-
BOLD="\033[1m"
|
|
11
|
-
RESET="\033[0m"
|
|
12
|
-
GREEN="\033[32m"
|
|
13
|
-
YELLOW="\033[33m"
|
|
14
|
-
BLUE="\033[34m"
|
|
15
|
-
RED="\033[31m"
|
|
16
|
-
|
|
17
|
-
timestamp=$(date -u +"%Y-%m-%d %H:%M:%SZ")
|
|
18
|
-
|
|
19
|
-
printf "%b\n" "${BOLD}${BLUE}🛠️ machineconfig — running mcfg${RESET}"
|
|
20
|
-
printf "%b\n" "${BLUE}Timestamp:${RESET} ${timestamp}"
|
|
21
|
-
printf "%b\n" "${BLUE}Op program path:${RESET} ${OP_PROGRAM_PATH}"
|
|
22
|
-
|
|
23
|
-
# Forward arguments to the mcfg command
|
|
24
|
-
mcfg "$@"
|
|
25
|
-
|
|
26
|
-
if [[ -f "$OP_PROGRAM_PATH" ]]; then
|
|
27
|
-
printf "%b\n" "${GREEN}✅ Found op program:${RESET} ${OP_PROGRAM_PATH}"
|
|
28
|
-
printf "%b\n" "${GREEN}▶ Running...${RESET}"
|
|
29
|
-
. "$OP_PROGRAM_PATH"
|
|
30
|
-
status=$?
|
|
31
|
-
if [[ $status -eq 0 ]]; then
|
|
32
|
-
printf "%b\n" "${GREEN}✅ Completed successfully (exit ${status})${RESET}"
|
|
33
|
-
else
|
|
34
|
-
printf "%b\n" "${YELLOW}⚠️ Program exited with status ${status}${RESET}"
|
|
35
|
-
fi
|
|
36
|
-
else
|
|
37
|
-
printf "%b\n" "${YELLOW}⚠️ No op program found at: ${OP_PROGRAM_PATH}${RESET}"
|
|
38
|
-
fi
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
machineconfig/scripts/linux/skrg
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Installs Cloudflare WARP (warp-cli) on supported Ubuntu / Debian systems.
|
|
3
|
-
# Usage: sudo ./warp-cli.sh [--allow-unsupported] [--force-reinstall]
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
ALLOW_UNSUPPORTED=0
|
|
8
|
-
FORCE_REINSTALL=0
|
|
9
|
-
|
|
10
|
-
for arg in "$@"; do
|
|
11
|
-
case "$arg" in
|
|
12
|
-
--allow-unsupported) ALLOW_UNSUPPORTED=1 ;;
|
|
13
|
-
--force-reinstall) FORCE_REINSTALL=1 ;;
|
|
14
|
-
-h|--help)
|
|
15
|
-
printf "Usage: %s [--allow-unsupported] [--force-reinstall]\n" "$0"
|
|
16
|
-
exit 0
|
|
17
|
-
;;
|
|
18
|
-
*)
|
|
19
|
-
printf "Unknown argument: %s\n" "$arg" >&2
|
|
20
|
-
exit 2
|
|
21
|
-
;;
|
|
22
|
-
esac
|
|
23
|
-
done
|
|
24
|
-
|
|
25
|
-
require_root() {
|
|
26
|
-
if [ "${EUID}" -ne 0 ]; then
|
|
27
|
-
printf "Please run as root (use sudo).\n" >&2
|
|
28
|
-
exit 1
|
|
29
|
-
fi
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
have_cmd() { command -v "$1" >/dev/null 2>&1; }
|
|
33
|
-
|
|
34
|
-
detect_os() {
|
|
35
|
-
if have_cmd lsb_release; then
|
|
36
|
-
DIST_ID=$(lsb_release -si 2>/dev/null | tr '[:upper:]' '[:lower:]')
|
|
37
|
-
CODENAME=$(lsb_release -sc 2>/dev/null | tr '[:upper:]' '[:lower:]')
|
|
38
|
-
elif [ -f /etc/os-release ]; then
|
|
39
|
-
# shellcheck disable=SC1091
|
|
40
|
-
. /etc/os-release
|
|
41
|
-
DIST_ID=$(printf "%s" "${ID:-}" | tr '[:upper:]' '[:lower:]')
|
|
42
|
-
CODENAME=$(printf "%s" "${VERSION_CODENAME:-}" | tr '[:upper:]' '[:lower:]')
|
|
43
|
-
else
|
|
44
|
-
printf "Cannot detect distribution. Install lsb_release or provide /etc/os-release.\n" >&2
|
|
45
|
-
exit 1
|
|
46
|
-
fi
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
is_supported() {
|
|
50
|
-
case "$DIST_ID" in
|
|
51
|
-
ubuntu)
|
|
52
|
-
# Supported: noble jammy focal (older: bionic xenial)
|
|
53
|
-
case "$CODENAME" in
|
|
54
|
-
noble|jammy|focal|bionic|xenial) return 0 ;; esac ;;
|
|
55
|
-
debian)
|
|
56
|
-
# Supported: bookworm bullseye buster (older: stretch)
|
|
57
|
-
case "$CODENAME" in
|
|
58
|
-
bookworm|bullseye|buster|stretch) return 0 ;; esac ;;
|
|
59
|
-
esac
|
|
60
|
-
return 1
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
add_key() {
|
|
64
|
-
local key_path="/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg"
|
|
65
|
-
if [ -s "$key_path" ]; then
|
|
66
|
-
return 0
|
|
67
|
-
fi
|
|
68
|
-
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | gpg --yes --dearmor --output "$key_path"
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
add_repo() {
|
|
72
|
-
local list_file="/etc/apt/sources.list.d/cloudflare-client.list"
|
|
73
|
-
if grep -q "pkg.cloudflareclient.com" "$list_file" 2>/dev/null; then
|
|
74
|
-
return 0
|
|
75
|
-
fi
|
|
76
|
-
echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ ${CODENAME} main" > "$list_file"
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
need_update=0
|
|
80
|
-
install_package() {
|
|
81
|
-
if dpkg -s cloudflare-warp >/dev/null 2>&1; then
|
|
82
|
-
if [ "$FORCE_REINSTALL" -eq 1 ]; then
|
|
83
|
-
apt-get install --reinstall -y cloudflare-warp
|
|
84
|
-
else
|
|
85
|
-
printf "cloudflare-warp already installed. Use --force-reinstall to reinstall.\n"
|
|
86
|
-
fi
|
|
87
|
-
else
|
|
88
|
-
apt-get install -y cloudflare-warp
|
|
89
|
-
fi
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
main() {
|
|
93
|
-
require_root
|
|
94
|
-
if ! have_cmd apt-get; then
|
|
95
|
-
printf "apt-get not found. This script supports only Debian/Ubuntu.\n" >&2
|
|
96
|
-
exit 1
|
|
97
|
-
fi
|
|
98
|
-
detect_os
|
|
99
|
-
if ! is_supported; then
|
|
100
|
-
if [ "$ALLOW_UNSUPPORTED" -ne 1 ]; then
|
|
101
|
-
printf "Distribution %s (%s) not in supported list. Use --allow-unsupported to proceed.\n" "$DIST_ID" "$CODENAME" >&2
|
|
102
|
-
exit 3
|
|
103
|
-
else
|
|
104
|
-
printf "Proceeding on unsupported distribution %s (%s).\n" "$DIST_ID" "$CODENAME"
|
|
105
|
-
fi
|
|
106
|
-
fi
|
|
107
|
-
pre_key_checksum=$( [ -f /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg ] && sha256sum /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | cut -d' ' -f1 || true )
|
|
108
|
-
add_key
|
|
109
|
-
post_key_checksum=$(sha256sum /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg | cut -d' ' -f1)
|
|
110
|
-
if [ "$pre_key_checksum" != "$post_key_checksum" ]; then need_update=1; fi
|
|
111
|
-
repo_before=$(grep -R "pkg.cloudflareclient.com" /etc/apt/sources.list.d 2>/dev/null || true)
|
|
112
|
-
add_repo
|
|
113
|
-
repo_after=$(grep -R "pkg.cloudflareclient.com" /etc/apt/sources.list.d 2>/dev/null || true)
|
|
114
|
-
if [ "$repo_before" != "$repo_after" ]; then need_update=1; fi
|
|
115
|
-
if [ "$need_update" -eq 1 ]; then
|
|
116
|
-
apt-get update
|
|
117
|
-
fi
|
|
118
|
-
install_package
|
|
119
|
-
printf "Done. Basic usage: 'warp-cli register' then 'warp-cli connect'. For account: 'warp-cli set-mode warp'.\n"
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
main "$@"
|
machineconfig/scripts/linux/z_ls
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# if variable zellij is not set, then set it to /$HOME/.local/bin/zellij
|
|
4
|
-
if [ -z "$zellij" ]; then
|
|
5
|
-
# zellij="$HOME/.local/bin/zellij"
|
|
6
|
-
PATH="$HOME/.local/bin:$PATH"
|
|
7
|
-
fi
|
|
8
|
-
|
|
9
|
-
# adopted from https://zellij.dev/documentation/integration.html
|
|
10
|
-
ZJ_SESSIONS=$(zellij list-sessions)
|
|
11
|
-
# echo "$ZJ_SESSIONS"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
attach=false
|
|
15
|
-
|
|
16
|
-
while (( "$#" )); do
|
|
17
|
-
case "$1" in
|
|
18
|
-
--attach)
|
|
19
|
-
attach=true
|
|
20
|
-
shift
|
|
21
|
-
;;
|
|
22
|
-
*)
|
|
23
|
-
shift
|
|
24
|
-
;;
|
|
25
|
-
esac
|
|
26
|
-
done
|
|
27
|
-
|
|
28
|
-
if $attach; then
|
|
29
|
-
echo "attached"
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
NO_SESSIONS=$(echo "${ZJ_SESSIONS}" | wc -l)
|
|
34
|
-
# if ZJ_SESSIONS is empty, then set NO_SESSIONS to 0
|
|
35
|
-
if [ -z "${ZJ_SESSIONS}" ]; then
|
|
36
|
-
NO_SESSIONS=0
|
|
37
|
-
fi
|
|
38
|
-
|
|
39
|
-
# check whether the string "(current)" is in ZJ_SESSIONS
|
|
40
|
-
if [[ "${ZJ_SESSIONS}" == *"(current)"* ]]; then
|
|
41
|
-
# if so, then we are in a zellijsession
|
|
42
|
-
echo "already inside a session, existing."
|
|
43
|
-
COMMANDS=$(ls $HOME/.config/machineconfig/settings/zellij/commands)
|
|
44
|
-
# fzf the results
|
|
45
|
-
res="$(echo -e "${COMMANDS}" | fzf --ansi)"
|
|
46
|
-
# run the bash fiZJ_SESSIONSle chosen
|
|
47
|
-
bash $HOME/.config/machineconfig/settings/zellij/commands/$res
|
|
48
|
-
|
|
49
|
-
else # ==> we are not in a zellijsession
|
|
50
|
-
if [ "${NO_SESSIONS}" -ge 1 ]; then # sessions do exist
|
|
51
|
-
|
|
52
|
-
# remove sessions that have 'EXITED' in them
|
|
53
|
-
ZJ_SESSIONS=$(echo -e "${ZJ_SESSIONS}" | grep -v "EXITED")
|
|
54
|
-
|
|
55
|
-
echo "zj_sessions:$ZJ_SESSIONS:end of zj_sessions"
|
|
56
|
-
|
|
57
|
-
# if the result has only 1 line in it and $attach is raised, then attach to it and exit the if statement and the script
|
|
58
|
-
NO_SESSIONS=$(echo "${ZJ_SESSIONS}" | wc -l)
|
|
59
|
-
|
|
60
|
-
echo "NO_SESSIONS: $NO_SESSIONS"
|
|
61
|
-
|
|
62
|
-
# if ZJ_SESSIONS is empty, then set NO_SESSIONS to 0
|
|
63
|
-
if [ -z "${ZJ_SESSIONS}" ]; then
|
|
64
|
-
NO_SESSIONS=0
|
|
65
|
-
zellij --layout st2
|
|
66
|
-
exit 0
|
|
67
|
-
fi
|
|
68
|
-
echo "NO_SESSIONS: $NO_SESSIONS"
|
|
69
|
-
|
|
70
|
-
if [ "${NO_SESSIONS}" -eq 1 ] && $attach; then
|
|
71
|
-
chosen_session=$(echo -e "${ZJ_SESSIONS}" | cut -d' ' -f1)
|
|
72
|
-
# remove the ansi colors from chosen_session
|
|
73
|
-
chosen_session=$(echo $chosen_session | sed 's/\x1b\[[0-9;]*m//g')
|
|
74
|
-
# echo "attaching to $chosen_session exclusively."
|
|
75
|
-
zellij attach "$chosen_session"
|
|
76
|
-
exit 0
|
|
77
|
-
fi
|
|
78
|
-
|
|
79
|
-
# add my options to the list of sessions
|
|
80
|
-
# if number of sessions is zero, then exclude ZJ_SESSIONS from the fzf options
|
|
81
|
-
if [ "${NO_SESSIONS}" -eq 0 ]; then
|
|
82
|
-
ZJ_SESSIONS="new_session\nkill_all_and_create_fresh_one\nexit_zellij"
|
|
83
|
-
else
|
|
84
|
-
ZJ_SESSIONS="$ZJ_SESSIONS\nnew_session\nkill_all_and_create_fresh_one\nexit_zellij"
|
|
85
|
-
fi
|
|
86
|
-
|
|
87
|
-
res="$(echo -e "${ZJ_SESSIONS}" | fzf --ansi)"
|
|
88
|
-
# split `res` at the first space, and take the first element
|
|
89
|
-
res=$(echo $res | cut -d' ' -f1)
|
|
90
|
-
if [ "${res}" = "exit_zellij" ]; then
|
|
91
|
-
echo "existing zellij."
|
|
92
|
-
elif [ "${res}" = "new_session" ]; then
|
|
93
|
-
zellij --layout st2 # can't specify name here. I can call it "main" only if it is the first, otherwise name conflict! also, can't use attach -c syntax because layout can't be specified.
|
|
94
|
-
elif [ "${res}" = "kill_all_and_create_fresh_one" ]; then
|
|
95
|
-
zellij ka -y
|
|
96
|
-
zellij --layout st2
|
|
97
|
-
else
|
|
98
|
-
zellij attach $res # options --mirror-session false
|
|
99
|
-
fi
|
|
100
|
-
else # no sessions, create one called main
|
|
101
|
-
zellij --layout st2
|
|
102
|
-
fi
|
|
103
|
-
|
|
104
|
-
fi
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
I have started a watch-exec server in my terminal and its working now.
|
|
3
|
-
I have set it up to re-run thi script `.ai/terminal/debug/command_runner.sh` automatically.
|
|
4
|
-
A re-run is triggered upon any change of any python file in the repo, or, any change in the make_output.sh script itself.
|
|
5
|
-
The script redirects the output from terminal to the file ./.ai/debug/terminal_output.txt
|
|
6
|
-
Run takes 50 ms only. So by the time you finish editing any python file or the command runner script, the new output is ready for you to read in that text file,
|
|
7
|
-
this makes it much faster for you to iterate because pulling the terminal and closing it every time is a bit slow.
|
|
8
|
-
Please use the terminal_output.txt as your main iteration driver.
|
|
9
|
-
please fix the mistakes that you can see in terminal output.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
# import shlex
|
|
4
|
-
from typing import Optional
|
|
5
|
-
from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST, PROVIDER, MODEL
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def fire_crush(api_key: Optional[str], model: MODEL, provider: PROVIDER, machine: HOST, prompt_path: Path, repo_root: Path) -> str:
|
|
9
|
-
match machine:
|
|
10
|
-
case "local":
|
|
11
|
-
cmd = f"""
|
|
12
|
-
crush run {prompt_path}
|
|
13
|
-
"""
|
|
14
|
-
case "docker":
|
|
15
|
-
assert api_key is not None, "API key is required for Crush agent in docker mode."
|
|
16
|
-
json_path = Path(__file__).parent / "fire_crush.json"
|
|
17
|
-
json_template = json_path.read_text(encoding="utf-8")
|
|
18
|
-
json_filled = json_template.replace("{api_key}", api_key).replace("{model}", model).replace("{provider}", provider)
|
|
19
|
-
import tempfile
|
|
20
|
-
temp_config_file_local = tempfile.mkstemp(suffix=".json")[1]
|
|
21
|
-
Path(temp_config_file_local).write_text(json_filled, encoding="utf-8")
|
|
22
|
-
cmd = f"""
|
|
23
|
-
|
|
24
|
-
# -e "PATH_PROMPT=$PATH_PROMPT"
|
|
25
|
-
# opencode --model "{provider}/{model}" run {prompt_path}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
echo "Running prompt @ {prompt_path.relative_to(repo_root)} using Docker with Crush..."
|
|
29
|
-
docker run -it --rm \
|
|
30
|
-
-v "{repo_root}:/workspace/{repo_root.name}" \
|
|
31
|
-
-v "{temp_config_file_local}:/root/.local/share/crush/crush.json" \
|
|
32
|
-
-w "/workspace/{repo_root.name}" \
|
|
33
|
-
statistician/machineconfig:latest \
|
|
34
|
-
bash -i -c "source ~/.bashrc && cd /workspace/{repo_root.name} && cat /root/.local/share/crush/crush.json && crush run 'Please act on contents of this prompt ./{prompt_path.relative_to(repo_root)}'"
|
|
35
|
-
|
|
36
|
-
"""
|
|
37
|
-
return cmd
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
import shlex
|
|
4
|
-
from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST
|
|
5
|
-
from typing import Optional, Literal
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def fire_gemini(api_key: Optional[str], model: Literal["gemini-2.5-pro"], provider: Literal["google"], machine: HOST, prompt_path: Path, repo_root: Path) -> str:
|
|
9
|
-
_ = provider
|
|
10
|
-
# model = "gemini-2.5-flash-lite"
|
|
11
|
-
# model = None # auto-select
|
|
12
|
-
# if model is None:
|
|
13
|
-
# model_arg = ""
|
|
14
|
-
# else:
|
|
15
|
-
model_arg = f"--model {shlex.quote(model)}"
|
|
16
|
-
# Need a real shell for the pipeline; otherwise '| gemini ...' is passed as args to 'cat'
|
|
17
|
-
safe_path = shlex.quote(str(prompt_path))
|
|
18
|
-
|
|
19
|
-
match machine:
|
|
20
|
-
case "local":
|
|
21
|
-
# Export the environment variable so it's available to subshells
|
|
22
|
-
if api_key is not None:
|
|
23
|
-
define_api_key = f"""export GEMINI_API_KEY="{shlex.quote(api_key)}" """
|
|
24
|
-
else:
|
|
25
|
-
define_api_key = "echo 'Warning: No GEMINI_API_KEY provided, hoping it is set in the environment.'"
|
|
26
|
-
cmd = f"""
|
|
27
|
-
{define_api_key}
|
|
28
|
-
echo "Using Gemini API key $GEMINI_API_KEY"
|
|
29
|
-
gemini {model_arg} --yolo --prompt {safe_path}
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
case "docker":
|
|
34
|
-
assert api_key is not None, "When using docker, api_key must be provided."
|
|
35
|
-
cmd = f"""
|
|
36
|
-
docker run -it --rm \
|
|
37
|
-
-e GEMINI_API_KEY="{api_key}" \
|
|
38
|
-
-v "{repo_root}:/workspace/{repo_root.name}" \
|
|
39
|
-
-w "/workspace/{repo_root.name}" \
|
|
40
|
-
statistician/machineconfig:latest \
|
|
41
|
-
gemini --prompt "$PATH_PROMPT"
|
|
42
|
-
"""
|
|
43
|
-
return cmd
|
|
44
|
-
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from pathlib import Path
|
|
3
|
-
import shlex
|
|
4
|
-
from machineconfig.scripts.python.helpers_fire.fire_agents_helper_types import HOST
|
|
5
|
-
from typing import Optional, Literal
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def fire_qwen(config_dir: Optional[str], model: Literal["qwen"], provider: Literal["qwen"], machine: HOST, prompt_path: Path, repo_root: Path) -> str:
|
|
9
|
-
# assert model == "qwen", "Only qwen is supported currently."
|
|
10
|
-
# assert provider == "qwen", "Only qwen is supported currently."
|
|
11
|
-
# model = "qwen"
|
|
12
|
-
# model = "gemini-2.5-flash-lite"
|
|
13
|
-
# model = None # auto-select
|
|
14
|
-
# if model is None:
|
|
15
|
-
# model_arg = ""
|
|
16
|
-
# else:
|
|
17
|
-
_ = provider
|
|
18
|
-
# model_arg = f"--model {shlex.quote(model)}"
|
|
19
|
-
# Need a real shell for the pipeline; otherwise '| gemini ...' is passed as args to 'cat'
|
|
20
|
-
safe_path = shlex.quote(str(prompt_path))
|
|
21
|
-
|
|
22
|
-
match machine:
|
|
23
|
-
case "local":
|
|
24
|
-
# Export the environment variable so it's available to subshells
|
|
25
|
-
cmd = f"""
|
|
26
|
-
qwen --yolo --prompt {safe_path}
|
|
27
|
-
"""
|
|
28
|
-
case "docker":
|
|
29
|
-
assert config_dir is not None, "When using docker, config_dir must be provided."
|
|
30
|
-
assert Path(config_dir).exists(), f"Provided config_dir {config_dir} does not exist."
|
|
31
|
-
oauth_creds = Path(config_dir).joinpath("oauth_creds.json")
|
|
32
|
-
settings = Path(config_dir).joinpath("settings.json")
|
|
33
|
-
|
|
34
|
-
cmd = f"""
|
|
35
|
-
docker run -it --rm \
|
|
36
|
-
-v "{repo_root}:/workspace/{repo_root.name}" \
|
|
37
|
-
-v {shlex.quote(str(oauth_creds))}:/root/.qwen/oauth_creds.json \
|
|
38
|
-
-v {shlex.quote(str(settings))}:/root/.qwen/settings.json \
|
|
39
|
-
-w "/workspace/{repo_root.name}" \
|
|
40
|
-
statistician/machineconfig:latest \
|
|
41
|
-
qwen --prompt "$PATH_PROMPT"
|
|
42
|
-
"""
|
|
43
|
-
return cmd
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
#!/bin/bash
|
|
3
|
-
# set -e # Exit immediately if a command exits with a non-zero status.
|
|
4
|
-
|
|
5
|
-
JOB_NAME="outpatient_mapping"
|
|
6
|
-
REPO_ROOT="$HOME/code/work/winter_planning/"
|
|
7
|
-
CONTEXT_PATH="$REPO_ROOT/data/outpatient_mapping/op_services.csv"
|
|
8
|
-
PROMPT_PATH="$REPO_ROOT/data/outpatient_mapping/prompt"
|
|
9
|
-
AGENTS_DIR="$REPO_ROOT/.ai/agents/$JOB_NAME"
|
|
10
|
-
agents create --agents crush --host docker --model x-ai/grok-4-fast:free --provider openrouter --context-path $CONTEXT_PATH --prompt-path $PROMPT_PATH --job-name $JOB_NAME --agents-dir $AGENTS_DIR
|
|
11
|
-
sessions balance-load "$AGENTS_DIR/layout.json" --max-thresh 6 --breaking-method moreLayouts --thresh-type number --output-path "$AGENTS_DIR/layout_balanced.json"
|
|
12
|
-
sessions run "$AGENTS_DIR/layout_balanced.json" --kill-upon-completion
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# agents collect $AGENTS_DIR "$REPO_ROOT/.ai/agents/$JOB_NAME/collected.txt"
|