{"id":29611014,"url":"https://github.com/mostlygeek/path.to.sh","last_synced_at":"2025-07-20T20:38:13.907Z","repository":{"id":296266870,"uuid":"992813101","full_name":"mostlygeek/path.to.sh","owner":"mostlygeek","description":"make /path/to real.","archived":false,"fork":false,"pushed_at":"2025-05-29T19:15:04.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-29T20:28:02.625Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mostlygeek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-29T18:50:47.000Z","updated_at":"2025-05-29T19:15:07.000Z","dependencies_parsed_at":"2025-05-29T20:28:41.008Z","dependency_job_id":"0923579e-193d-4a3e-afe1-2f02974777a1","html_url":"https://github.com/mostlygeek/path.to.sh","commit_stats":null,"previous_names":["mostlygeek/path.to.sh"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mostlygeek/path.to.sh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mostlygeek%2Fpath.to.sh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mostlygeek%2Fpath.to.sh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mostlygeek%2Fpath.to.sh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mostlygeek%2Fpath.to.sh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mostlygeek","download_url":"https://codeload.github.com/mostlygeek/path.to.sh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mostlygeek%2Fpath.to.sh/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266195355,"owners_count":23891177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-20T20:38:07.542Z","updated_at":"2025-07-20T20:38:13.898Z","avatar_url":"https://github.com/mostlygeek.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# path.to.sh\n\n`path.to.sh` is a simple shell script to populate `/path/to/...` with symlinks to actual files. \n\nIt does only 3 things: \n\n1. creates the `to/DIRECTORY` subdirectory\n2. Remove any broken symlinks\n3. Creates symlinks to files matching provided pattern. Duplicates are skipped. ¯\\(ツ)/¯\n\n## But why...?\n\nI've been sharing a lot of [llama-swap](https://github.com/mostlygeek/llama-swap) configuration examples. Manually replacing my local paths with `/path/to/file.gguf` is annoying. So why not just make the `/path/to/file.gguf` actually work? `#lazy`\n\n## Install \n\n```sh\n$ sudo mkdir -p /path/to\n$ sudo chown -R $USER:$USER /path\n$ cd /path\n$ curl -LO 'https://raw.githubusercontent.com/mostlygeek/path.to.sh/refs/heads/main/path.to.sh'\n$ chmod +x path.to.sh\n```\n\n## Usage \n\n`./path.to dirname /path1 /path2 /pathN 'file-name-pattern*.gguf`\n\nExample: \n\n```sh\n$ ./path.to.sh models /mnt '*.gguf'\n1. Removing broken symlinks in 'to/models'\n2. Searching for files matching pattern: *.gguf\n  - Linking: /mnt/nvme/models/unsloth/llama-4/UD-Q4_K_XL/Llama-4-Scout-17B-16E-Instruct-UD-Q4_K_XL-00002-of-00002.gguf\n  - Linking: /mnt/nvme/models/unsloth/llama-4/UD-Q4_K_XL/Llama-4-Scout-17B-16E-Instruct-UD-Q4_K_XL-00001-of-00002.gguf\n  - Linking: /mnt/nvme/models/Llama-3.2-3B-Instruct-Q4_K_M.gguf\n  - Linking: /mnt/nvme/models/Qwen3-30B-A3B-UD-Q4_K_XL.gguf\n  - Linking: /mnt/nvme/models/Llama-3.3-70B-Instruct-Q4_K_M.gguf\n  - Linking: /mnt/nvme/models/Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf\n  - Linking: /mnt/nvme/models/Qwen2.5-Coder-7B-Instruct-Q8_0.gguf\n  - Linking: /mnt/nvme/models/Qwen2.5-Coder-32B-Instruct-Q4_K_M.gguf\n...\n\n\n$ ls -l to/models/\ntotal 56\nlrwxrwxrwx 1 mostlygeek mostlygeek  47 May 29 12:00 bge-reranker-v2-m3-Q4_K_M.gguf -\u003e /mnt/nvme/models/bge-reranker-v2-m3-Q4_K_M.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  83 May 29 12:00 CohereForAI_c4ai-command-a-03-2025-Q4_K_L-00001-of-00002.gguf -\u003e /mnt/ssd-extra/models/CohereForAI_c4ai-command-a-03-2025-Q4_K_L-00001-of-00002.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  83 May 29 12:00 CohereForAI_c4ai-command-a-03-2025-Q4_K_L-00002-of-00002.gguf -\u003e /mnt/ssd-extra/models/CohereForAI_c4ai-command-a-03-2025-Q4_K_L-00002-of-00002.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  60 May 29 12:00 google_gemma-3-27b-it-Q4_K_L.gguf -\u003e /mnt/nvme/models/bartowski/google_gemma-3-27b-it-Q4_K_L.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  50 May 29 12:00 Llama-3.2-3B-Instruct-Q4_K_M.gguf -\u003e /mnt/nvme/models/Llama-3.2-3B-Instruct-Q4_K_M.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  51 May 29 12:00 Llama-3.3-70B-Instruct-Q4_K_M.gguf -\u003e /mnt/nvme/models/Llama-3.3-70B-Instruct-Q4_K_M.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek 101 May 29 12:00 Llama-3.3-70B-Instruct-Q6_K_L-00001-of-00002.gguf -\u003e /mnt/ssd-extra/models/Llama-3.3-70B-Instruct-Q6_K_L/Llama-3.3-70B-Instruct-Q6_K_L-00001-of-00002.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek 101 May 29 12:00 Llama-3.3-70B-Instruct-Q6_K_L-00002-of-00002.gguf -\u003e /mnt/ssd-extra/models/Llama-3.3-70B-Instruct-Q6_K_L/Llama-3.3-70B-Instruct-Q6_K_L-00002-of-00002.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek 105 May 29 12:00 Llama-4-Scout-17B-16E-Instruct-UD-Q4_K_XL-00001-of-00002.gguf -\u003e /mnt/nvme/models/unsloth/llama-4/UD-Q4_K_XL/Llama-4-Scout-17B-16E-Instruct-UD-Q4_K_XL-00001-of-00002.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek 105 May 29 12:00 Llama-4-Scout-17B-16E-Instruct-UD-Q4_K_XL-00002-of-00002.gguf -\u003e /mnt/nvme/models/unsloth/llama-4/UD-Q4_K_XL/Llama-4-Scout-17B-16E-Instruct-UD-Q4_K_XL-00002-of-00002.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  60 May 29 12:00 Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf -\u003e /mnt/ssd-extra/models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  58 May 29 12:00 Meta-Llama-3.1-8B-Instruct-Q8_0.gguf -\u003e /mnt/ssd-extra/models/Meta-Llama-3.1-8B-Instruct-Q8_0.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  76 May 29 12:00 Mistral-Large-Instruct-2407-Q4_K_S-00002-of-00002.gguf -\u003e /mnt/ssd-extra/models/Mistral-Large-Instruct-2407-Q4_K_S-00002-of-00002.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  72 May 29 12:00 mmproj-Qwen_Qwen2.5-VL-32B-Instruct-bf16.gguf -\u003e /mnt/nvme/models/bartowski/mmproj-Qwen_Qwen2.5-VL-32B-Instruct-bf16.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  48 May 29 12:00 nomic-embed-text-v1.5.Q8_0.gguf -\u003e /mnt/nvme/models/nomic-embed-text-v1.5.Q8_0.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  53 May 29 12:00 qwen2.5-0.5b-instruct-q8_0.gguf -\u003e /mnt/ssd-extra/models/qwen2.5-0.5b-instruct-q8_0.gguf\nlrwxrwxrwx 1 mostlygeek mostlygeek  54 May 29 12:00 Qwen2.5-32B-Instruct-Q4_K_M.gguf -\u003e /mnt/ssd-extra/models/Qwen2.5-32B-Instruct-Q4_K_M.gguf\n...\n```\n\n## Contributions \n\nSorry ... nope. Feel free to fork and maintain your own. :) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmostlygeek%2Fpath.to.sh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmostlygeek%2Fpath.to.sh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmostlygeek%2Fpath.to.sh/lists"}