Compare commits

...

33 Commits

Author SHA1 Message Date
Tanzim Hossain Romel
92aed2e936 feat(extract): add unar as fallback for RAR extraction (#13472)
Add unar as a fallback when unrar is not available for extracting
RAR files. This addresses the issue where unrar has been removed
from Homebrew due to licensing issues.

The extraction now:
- Prefers unrar if available (backward compatible)
- Falls back to unar if unrar is not found
- Shows helpful error message if neither tool is installed
2025-12-09 20:14:31 +01:00
Mohaiminus Sakib
72acd2ca90 feat(uv): add more useful aliases (#13462)
Co-authored-by: Mohaiminus Sakib <roddur093@gmail.com>
Co-authored-by: Marc Cornellà <marc@mcornella.com>
2025-12-08 16:57:50 +01:00
dependabot[bot]
ddec79ad43 chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 (#13468)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](1af3b93b68...8e8c483db8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-07 18:39:14 +01:00
dependabot[bot]
0ebeae78d0 chore(deps): bump actions/create-github-app-token from 2.2.0 to 2.2.1 (#13470)
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](7e473efe3c...29824e69f5)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-07 18:38:44 +01:00
dependabot[bot]
3b66f643e4 chore(deps): bump step-security/harden-runner from 2.13.2 to 2.13.3 (#13471)
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.13.2 to 2.13.3.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](95d9a5deda...df199fb7be)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.13.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-07 18:38:26 +01:00
dependabot[bot]
953f526dea chore(deps): bump github/codeql-action from 4.31.5 to 4.31.7 (#13469)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.5 to 4.31.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](fdbfb4d275...cf1bb45a27)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-07 18:38:05 +01:00
dependabot[bot]
1b4497fc8f chore(deps): bump urllib3 in /.github/workflows/dependencies (#13464)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.5.0...2.6.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.6.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-06 09:06:29 +01:00
Cyril Plisko
a98a9f7122 feat(jj): add jj aliases for common workflows (#13179)
- jj bookmark
    Aliases for bookmark subcommands
- jj git push
    Aliases for popular push flags
- jj new "trunk()"
- jj rebase -d "trunk()"
- jj status
2025-12-05 12:00:56 +01:00
benzlokzik
5f7f419759 feat(uv): add alias for pinning Python version (#12914) 2025-12-05 08:51:45 +01:00
Marc Cornellà
e9fc134236 ci(dependencies): update job permissions, change commits to chore (#13457) 2025-12-01 11:22:14 +01:00
Marc Cornellà
977c4f93a6 refactor(rbfu)!: remove deprecated rbfu plugin
BREAKING CHANGE: `rbfu`, the tool to manage Ruby versions, has long
been deprecated (2013-02-05). The plugin has been removed. If you
were still using it, consider using alternative Ruby version
managers: https://www.jetbrains.com/help/ruby/ruby-version-managers.html
2025-12-01 11:21:13 +01:00
Marc Cornellà
ee30bc535a refactor(fig)!: remove archived fig plugin
BREAKING CHANGE: the fig plugin has been removed. `fig` was sunset
on September 1, 2024. Having this plugin no longer makes sense.
See https://fig.io/ for more information.
2025-12-01 11:21:13 +01:00
Carlo Sala
ca5c467db1 fix(dependencies): only open PR if there are relevant changes (#13454)
Fixes cases like #13453
2025-12-01 09:59:09 +01:00
dependabot[bot]
a449c0247d chore(deps): bump actions/setup-python from 6.0.0 to 6.1.0 (#13455)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](e797f83bcb...83679a892e)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 16:29:07 +01:00
dependabot[bot]
343c5a83cb chore(deps): bump github/codeql-action from 4.31.4 to 4.31.5 (#13456)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.4 to 4.31.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e12f017898...fdbfb4d275)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-30 16:28:47 +01:00
dependabot[bot]
beadd56dd7 chore(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0 (#13440)
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2.1.4 to 2.2.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](6701853927...7e473efe3c)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-23 22:37:35 +01:00
dependabot[bot]
0116e7a5af chore(deps): bump github/codeql-action from 4.31.3 to 4.31.4 (#13439)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.3 to 4.31.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](014f16e7ab...e12f017898)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-23 22:36:07 +01:00
dependabot[bot]
441299ca77 chore(deps): bump actions/checkout from 5.0.0 to 6.0.0 (#13438)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](08c6903cd8...1af3b93b68)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-23 22:35:53 +01:00
Marc Cornellà
fc2d0f8848 chore: add OpenSSF Best Practices badge (#13443) 2025-11-23 20:50:17 +01:00
Firas Bouzguenda
b04e01d418 feat(kubectl): add aliases for kubectl rollout restart (#12883)
Co-authored-by: Marc Cornellà <marc@mcornella.com>
2025-11-22 18:31:03 +01:00
StavShukrunRise
15bcada010 feat(pulumi): add plugin for Pulumi CLI (#13041)
Co-authored-by: Marc Cornellà <marc@mcornella.com>
2025-11-22 18:11:40 +01:00
Copilot
b52dd1a425 feat: Update OpenSwag domain references to CommitGoods (#13434)
* Initial plan

* Update all OpenSwag domain references to CommitGoods

Co-authored-by: robbyrussell <257+robbyrussell@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: robbyrussell <257+robbyrussell@users.noreply.github.com>
2025-11-19 17:44:11 -08:00
dependabot[bot]
8a4d6fc0a2 chore(deps): bump github/codeql-action from 4.31.2 to 4.31.3 (#13430)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.2 to 4.31.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0499de31b9...014f16e7ab)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-16 09:09:09 -03:00
dependabot[bot]
73d79fe137 chore(deps): bump certifi in /.github/workflows/dependencies (#13431)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.10.5 to 2025.11.12.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.10.05...2025.11.12)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.11.12
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-16 09:08:43 -03:00
Copilot
8c5a60644a feat: announce OpenSwag and omz shop command (#13428)
* Update shop URLs from Planet Argon to OpenSwag and add omz shop command

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: robbyrussell <257+robbyrussell@users.noreply.github.com>
Co-authored-by: mcornella <1441704+mcornella@users.noreply.github.com>
2025-11-15 21:00:26 +01:00
Carlo Sala
9d93dfaa60 fix(keychain): use pattern matching to detect version (#13423) 2025-11-15 11:39:09 -03:00
Artyom Fedosov
5a282b9b30 chore(git): remove quotes around $# (#13403) 2025-11-14 14:21:32 +01:00
Fournet Enzo
dca16e8f9a docs(docker-compose): clarify tool choice (#13399) 2025-11-12 07:42:35 -03:00
Oskar Hermansson
a0576348d0 docs(dotnet): remove Core suffix (#13418) 2025-11-11 20:10:26 -03:00
dependabot[bot]
18d0a63df8 chore(deps): bump step-security/harden-runner from 2.13.1 to 2.13.2 (#13414)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-09 20:03:00 +01:00
ohmyzsh[bot]
e70086a76a feat(gradle): update to a9d7c822 (#13413)
Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>
2025-11-09 07:48:59 +01:00
ohmyzsh[bot]
90a22b61e6 feat(gradle): update to 25c3d368 (#13407)
Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>
2025-11-03 08:30:05 +01:00
dependabot[bot]
423e9aef52 chore(deps): bump github/codeql-action from 4.31.0 to 4.31.2 (#13408)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.0 to 4.31.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](4e94bd11f7...0499de31b9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 08:29:39 +01:00
30 changed files with 244 additions and 178 deletions

View File

@@ -12,7 +12,7 @@ dependencies:
plugins/gradle: plugins/gradle:
repo: gradle/gradle-completion repo: gradle/gradle-completion
branch: master branch: master
version: 1525cf3f2242062199ffcf0c5c1055625db6b9d2 version: a9d7c822e42cc6a5b028b59e46cffcc8e7bc1134
precopy: | precopy: |
set -e set -e
find . ! -name _gradle ! -name LICENSE -delete find . ! -name _gradle ! -name LICENSE -delete

View File

@@ -4,32 +4,31 @@ on:
schedule: schedule:
- cron: "0 6 * * 0" - cron: "0 6 * * 0"
permissions:
contents: write
jobs: jobs:
check: check:
name: Check for updates name: Check for updates
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'ohmyzsh/ohmyzsh' if: github.repository == 'ohmyzsh/ohmyzsh'
permissions:
contents: write # this is needed to push commits and branches
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with: with:
egress-policy: audit egress-policy: audit
- name: Checkout - name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Authenticate as @ohmyzsh - name: Authenticate as @ohmyzsh
id: generate-token id: generate-token
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
with: with:
app-id: ${{ secrets.OHMYZSH_APP_ID }} app-id: ${{ secrets.OHMYZSH_APP_ID }}
private-key: ${{ secrets.OHMYZSH_APP_PRIVATE_KEY }} private-key: ${{ secrets.OHMYZSH_APP_PRIVATE_KEY }}
- name: Setup Python - name: Setup Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with: with:
python-version: "3.12" python-version: "3.12"
cache: "pip" cache: "pip"

View File

@@ -1,7 +1,7 @@
certifi==2025.10.5 certifi==2025.11.12
charset-normalizer==3.4.4 charset-normalizer==3.4.4
idna==3.11 idna==3.11
PyYAML==6.0.3 PyYAML==6.0.3
requests==2.32.5 requests==2.32.5
semver==3.0.4 semver==3.0.4
urllib3==2.5.0 urllib3==2.6.0

View File

@@ -219,32 +219,33 @@ class Dependency:
# Create new branch # Create new branch
branch = Git.checkout_or_create_branch(branch_name) branch = Git.checkout_or_create_branch(branch_name)
# Update dependencies.yml file
self.__update_yaml(
f"tag:{new_version}" if is_tag else status["version"]
)
# Update dependency files # Update dependency files
self.__apply_upstream_changes() self.__apply_upstream_changes()
# Add all changes and commit if not Git.repo_is_clean():
has_new_commit = Git.add_and_commit(self.name, new_version) # Update dependencies.yml file
self.__update_yaml(
if has_new_commit: f"tag:{new_version}" if is_tag else status["version"]
# Push changes to remote
Git.push(branch)
# Create GitHub PR
GitHub.create_pr(
branch,
f"feat({self.name}): update to version {new_version}",
f"""## Description
Update for **{self.desc}**: update to version [{new_version}]({status['head_url']}).
Check out the [list of changes]({status['compare_url']}).
""",
) )
# Add all changes and commit
has_new_commit = Git.add_and_commit(self.name, new_version)
if has_new_commit:
# Push changes to remote
Git.push(branch)
# Create GitHub PR
GitHub.create_pr(
branch,
f"chore({self.name}): update to version {new_version}",
f"""## Description
Update for **{self.desc}**: update to version [{new_version}]({status["head_url"]}).
Check out the [list of changes]({status["compare_url"]}).
""",
)
# Clean up repository # Clean up repository
Git.clean_repo() Git.clean_repo()
except (CommandRunner.Exception, shutil.Error) as e: except (CommandRunner.Exception, shutil.Error) as e:
@@ -275,8 +276,8 @@ Check out the [list of changes]({status['compare_url']}).
There is a new version of `{self.name}` {self.kind} available. There is a new version of `{self.name}` {self.kind} available.
New version: [{new_version}]({status['head_url']}) New version: [{new_version}]({status["head_url"]})
Check out the [list of changes]({status['compare_url']}). Check out the [list of changes]({status["compare_url"]}).
""" """
print("Creating GitHub issue", file=sys.stderr) print("Creating GitHub issue", file=sys.stderr)
@@ -377,21 +378,28 @@ class Git:
) )
return branch_name return branch_name
@staticmethod
def repo_is_clean() -> bool:
"""
Returns `True` if the repo is clean.
Returns `False` if the repo is dirty.
"""
try:
CommandRunner.run_or_fail(
["git", "diff", "--exit-code"], stage="CheckRepoClean"
)
return True
except CommandRunner.Exception:
return False
@staticmethod @staticmethod
def add_and_commit(scope: str, version: str) -> bool: def add_and_commit(scope: str, version: str) -> bool:
""" """
Returns `True` if there were changes and were indeed commited. Returns `True` if there were changes and were indeed commited.
Returns `False` if the repo was clean and no changes were commited. Returns `False` if the repo was clean and no changes were commited.
""" """
# check if repo is clean (clean => no error, no commit) if Git.repo_is_clean():
try:
CommandRunner.run_or_fail(
["git", "diff", "--exit-code"], stage="CheckRepoClean"
)
return False return False
except CommandRunner.Exception:
# if it's other kind of error just throw!
pass
user_name = os.environ.get("GIT_APP_NAME") user_name = os.environ.get("GIT_APP_NAME")
user_email = os.environ.get("GIT_APP_EMAIL") user_email = os.environ.get("GIT_APP_EMAIL")
@@ -415,7 +423,7 @@ class Git:
f"user.email={user_email}", f"user.email={user_email}",
"commit", "commit",
"-m", "-m",
f"feat({scope}): update to {version}", f"chore({scope}): update to {version}",
], ],
stage="CreateCommit", stage="CreateCommit",
env=clean_env, env=clean_env,

View File

@@ -26,12 +26,12 @@ jobs:
- macos-latest - macos-latest
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with: with:
egress-policy: audit egress-policy: audit
- name: Set up git repository - name: Set up git repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Install zsh - name: Install zsh
if: runner.os == 'Linux' if: runner.os == 'Linux'
run: sudo apt-get update; sudo apt-get install zsh run: sudo apt-get update; sudo apt-get install zsh
@@ -47,12 +47,12 @@ jobs:
- test - test
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with: with:
egress-policy: audit egress-policy: audit
- name: Checkout - name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Install Vercel CLI - name: Install Vercel CLI
run: npm install -g vercel run: npm install -g vercel
- name: Setup project and deploy - name: Setup project and deploy

View File

@@ -24,12 +24,12 @@ jobs:
if: github.repository == 'ohmyzsh/ohmyzsh' if: github.repository == 'ohmyzsh/ohmyzsh'
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with: with:
egress-policy: audit egress-policy: audit
- name: Set up git repository - name: Set up git repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Install zsh - name: Install zsh
run: sudo apt-get update; sudo apt-get install zsh run: sudo apt-get update; sudo apt-get install zsh
- name: Check syntax - name: Check syntax

View File

@@ -17,12 +17,12 @@ jobs:
if: github.repository == 'ohmyzsh/ohmyzsh' if: github.repository == 'ohmyzsh/ohmyzsh'
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with: with:
egress-policy: audit egress-policy: audit
- name: Authenticate as @ohmyzsh - name: Authenticate as @ohmyzsh
id: generate-token id: generate-token
uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4 uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
with: with:
app-id: ${{ secrets.OHMYZSH_APP_ID }} app-id: ${{ secrets.OHMYZSH_APP_ID }}
private-key: ${{ secrets.OHMYZSH_APP_PRIVATE_KEY }} private-key: ${{ secrets.OHMYZSH_APP_PRIVATE_KEY }}

View File

@@ -36,12 +36,12 @@ jobs:
steps: steps:
- name: Harden the runner (Audit all outbound calls) - name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 uses: step-security/harden-runner@df199fb7be9f65074067a9eb93f12bb4c5547cf2 # v2.13.3
with: with:
egress-policy: audit egress-policy: audit
- name: "Checkout code" - name: "Checkout code"
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with: with:
persist-credentials: false persist-credentials: false
@@ -60,6 +60,6 @@ jobs:
retention-days: 5 retention-days: 5
- name: "Upload to code-scanning" - name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@4e94bd11f71e507f7f87df81788dff88d1dacbfb # v4.31.0 uses: github/codeql-action/upload-sarif@cf1bb45a277cb3c205638b2cd5c984db1c46a412 # v4.31.7
with: with:
sarif_file: results.sarif sarif_file: results.sarif

View File

@@ -18,6 +18,7 @@ To learn more, visit [ohmyz.sh](https://ohmyz.sh), follow [@ohmyzsh](https://x.c
Twitter), and join us on [Discord](https://discord.gg/ohmyzsh). Twitter), and join us on [Discord](https://discord.gg/ohmyzsh).
[![CI](https://github.com/ohmyzsh/ohmyzsh/workflows/CI/badge.svg)](https://github.com/ohmyzsh/ohmyzsh/actions?query=workflow%3ACI) [![CI](https://github.com/ohmyzsh/ohmyzsh/workflows/CI/badge.svg)](https://github.com/ohmyzsh/ohmyzsh/actions?query=workflow%3ACI)
[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/10713/badge)](https://www.bestpractices.dev/projects/10713)
[![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/ohmyzsh?label=%40ohmyzsh&logo=x&style=flat)](https://twitter.com/intent/follow?screen_name=ohmyzsh) [![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/ohmyzsh?label=%40ohmyzsh&logo=x&style=flat)](https://twitter.com/intent/follow?screen_name=ohmyzsh)
[![Mastodon Follow](https://img.shields.io/mastodon/follow/111169632522566717?label=%40ohmyzsh&domain=https%3A%2F%2Fmstdn.social&logo=mastodon&style=flat)](https://mstdn.social/@ohmyzsh) [![Mastodon Follow](https://img.shields.io/mastodon/follow/111169632522566717?label=%40ohmyzsh&domain=https%3A%2F%2Fmstdn.social&logo=mastodon&style=flat)](https://mstdn.social/@ohmyzsh)
[![Discord server](https://img.shields.io/discord/642496866407284746)](https://discord.gg/ohmyzsh) [![Discord server](https://img.shields.io/discord/642496866407284746)](https://discord.gg/ohmyzsh)
@@ -547,7 +548,7 @@ We're on social media:
## Merchandise ## Merchandise
We have We have
[stickers, shirts, and coffee mugs available](https://shop.planetargon.com/collections/oh-my-zsh?utm_source=github) [stickers, shirts, and coffee mugs available](https://commitgoods.com/collections/oh-my-zsh?utm_source=github)
for you to show off your love of Oh My Zsh. Again, you will become the talk of the town! for you to show off your love of Oh My Zsh. Again, you will become the talk of the town!
## License ## License

View File

@@ -28,6 +28,7 @@ function _omz {
'plugin:Manage plugins' 'plugin:Manage plugins'
'pr:Manage Oh My Zsh Pull Requests' 'pr:Manage Oh My Zsh Pull Requests'
'reload:Reload the current zsh session' 'reload:Reload the current zsh session'
'shop:Open the Oh My Zsh shop'
'theme:Manage themes' 'theme:Manage themes'
'update:Update Oh My Zsh' 'update:Update Oh My Zsh'
'version:Show the version' 'version:Show the version'
@@ -173,6 +174,7 @@ Available commands:
plugin <command> Manage plugins plugin <command> Manage plugins
pr <command> Manage Oh My Zsh Pull Requests pr <command> Manage Oh My Zsh Pull Requests
reload Reload the current zsh session reload Reload the current zsh session
shop Open the Oh My Zsh shop
theme <command> Manage themes theme <command> Manage themes
update Update Oh My Zsh update Update Oh My Zsh
version Show the version version Show the version
@@ -721,6 +723,15 @@ function _omz::pr::test {
) )
} }
function _omz::shop {
local shop_url="https://commitgoods.com/collections/oh-my-zsh"
_omz::log info "Opening Oh My Zsh shop in your browser..."
_omz::log info "$shop_url"
open_command "$shop_url"
}
function _omz::reload { function _omz::reload {
# Delete current completion cache # Delete current completion cache
command rm -f $_comp_dumpfile $ZSH_COMPDUMP command rm -f $_comp_dumpfile $ZSH_COMPDUMP

View File

@@ -2,6 +2,8 @@
This plugin provides completion for [docker-compose](https://docs.docker.com/compose/) as well as some This plugin provides completion for [docker-compose](https://docs.docker.com/compose/) as well as some
aliases for frequent docker-compose commands. aliases for frequent docker-compose commands.
This plugin chooses automatically between the legacy `docker-compose` command and the modern
`docker compose` subcommand, preferring `docker-compose` when both are available.
To use it, add docker-compose to the plugins array of your zshrc file: To use it, add docker-compose to the plugins array of your zshrc file:

View File

@@ -1,6 +1,6 @@
# .NET Core CLI plugin # .NET CLI plugin
This plugin provides completion and useful aliases for [.NET Core CLI](https://dotnet.microsoft.com/). This plugin provides completion and useful aliases for [.NET CLI](https://dotnet.microsoft.com/).
To use it, add `dotnet` to the plugins array in your zshrc file. To use it, add `dotnet` to the plugins array in your zshrc file.
@@ -23,4 +23,4 @@ plugins=(... dotnet)
| dp | dotnet pack | Create a NuGet package. | | dp | dotnet pack | Create a NuGet package. |
| dng | dotnet nuget | Provides additional NuGet commands. | | dng | dotnet nuget | Provides additional NuGet commands. |
| db | dotnet build | Build a .NET project | | db | dotnet build | Build a .NET project |
| dres | dotnet restore | Restore dependencies and project-specific tools for a project. | | dres | dotnet restore | Restore dependencies and project-specific tools for a project. |

View File

@@ -77,7 +77,15 @@ EOF
(*.lzma) unlzma "$full_path" ;; (*.lzma) unlzma "$full_path" ;;
(*.z) uncompress "$full_path" ;; (*.z) uncompress "$full_path" ;;
(*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix|*.crx|*.pk3|*.pk4) unzip "$full_path" ;; (*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix|*.crx|*.pk3|*.pk4) unzip "$full_path" ;;
(*.rar) unrar x -ad "$full_path" ;; (*.rar)
if (( $+commands[unrar] )); then
unrar x -ad "$full_path"
elif (( $+commands[unar] )); then
unar -o . "$full_path"
else
echo "extract: cannot extract RAR files: install unrar or unar" >&2
success=1
fi ;;
(*.rpm) (*.rpm)
rpm2cpio "$full_path" | cpio --quiet -id ;; rpm2cpio "$full_path" | cpio --quiet -id ;;
(*.7z | *.7z.[0-9]* | *.pk7) 7za x "$full_path" ;; (*.7z | *.7z.[0-9]* | *.pk7) 7za x "$full_path" ;;

View File

@@ -1,9 +0,0 @@
# Fig plugin
This plugin sets up completion for [Fig](https://fig.io/).
To use it, add `fig` to the plugins array in your zshrc file:
```zsh
plugins=(... fig)
```

View File

@@ -1,13 +0,0 @@
if ! (( $+commands[fig] )); then
return
fi
# If the completion file doesn't exist yet, we need to autoload it and
# bind it to `fig`. Otherwise, compinit will have already done that
if [[ ! -f "$ZSH_CACHE_DIR/completions/_fig" ]]; then
autoload -Uz _fig
typeset -g -A _comps
_comps[fig]=_fig
fi
fig completion zsh >| "$ZSH_CACHE_DIR/completions/_fig" &|

View File

@@ -102,7 +102,7 @@ function work_in_progress() {
alias grt='cd "$(git rev-parse --show-toplevel || echo .)"' alias grt='cd "$(git rev-parse --show-toplevel || echo .)"'
function ggpnp() { function ggpnp() {
if [[ "$#" == 0 ]]; then if [[ $# == 0 ]]; then
ggl && ggp ggl && ggp
else else
ggl "${*}" && ggp "${*}" ggl "${*}" && ggp "${*}"
@@ -281,7 +281,7 @@ alias gprav='git pull --rebase --autostash -v'
function ggu() { function ggu() {
local b local b
[[ "$#" != 1 ]] && b="$(git_current_branch)" [[ $# != 1 ]] && b="$(git_current_branch)"
git pull --rebase origin "${b:-$1}" git pull --rebase origin "${b:-$1}"
} }
compdef _git ggu=git-pull compdef _git ggu=git-pull
@@ -293,11 +293,11 @@ alias gprumi='git pull --rebase=interactive upstream $(git_main_branch)'
alias ggpull='git pull origin "$(git_current_branch)"' alias ggpull='git pull origin "$(git_current_branch)"'
function ggl() { function ggl() {
if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then if [[ $# != 0 ]] && [[ $# != 1 ]]; then
git pull origin "${*}" git pull origin "${*}"
else else
local b local b
[[ "$#" == 0 ]] && b="$(git_current_branch)" [[ $# == 0 ]] && b="$(git_current_branch)"
git pull origin "${b:-$1}" git pull origin "${b:-$1}"
fi fi
} }
@@ -310,7 +310,7 @@ alias gpd='git push --dry-run'
function ggf() { function ggf() {
local b local b
[[ "$#" != 1 ]] && b="$(git_current_branch)" [[ $# != 1 ]] && b="$(git_current_branch)"
git push --force origin "${b:-$1}" git push --force origin "${b:-$1}"
} }
compdef _git ggf=git-push compdef _git ggf=git-push
@@ -322,7 +322,7 @@ is-at-least 2.30 "$git_version" \
function ggfl() { function ggfl() {
local b local b
[[ "$#" != 1 ]] && b="$(git_current_branch)" [[ $# != 1 ]] && b="$(git_current_branch)"
git push --force-with-lease origin "${b:-$1}" git push --force-with-lease origin "${b:-$1}"
} }
compdef _git ggfl=git-push compdef _git ggfl=git-push
@@ -337,11 +337,11 @@ alias gpod='git push origin --delete'
alias ggpush='git push origin "$(git_current_branch)"' alias ggpush='git push origin "$(git_current_branch)"'
function ggp() { function ggp() {
if [[ "$#" != 0 ]] && [[ "$#" != 1 ]]; then if [[ $# != 0 ]] && [[ $# != 1 ]]; then
git push origin "${*}" git push origin "${*}"
else else
local b local b
[[ "$#" == 0 ]] && b="$(git_current_branch)" [[ $# == 0 ]] && b="$(git_current_branch)"
git push origin "${b:-$1}" git push origin "${b:-$1}"
fi fi
} }

View File

@@ -339,8 +339,10 @@ __gradle_subcommand() {
(--warn,-w,--info,-i,--debug,-d){-q,--quiet}'[Log errors only.]' \ (--warn,-w,--info,-i,--debug,-d){-q,--quiet}'[Log errors only.]' \
{-U,--refresh-dependencies}'[Refresh the state of dependencies.]' \ {-U,--refresh-dependencies}'[Refresh the state of dependencies.]' \
'--refresh-keys[Refresh the public keys used for dependency verification.]' \ '--refresh-keys[Refresh the public keys used for dependency verification.]' \
'--rerun[Causes the task to be re-run even if up-to-date.]' \
'--rerun-tasks[Ignore previously cached task results.]' \ '--rerun-tasks[Ignore previously cached task results.]' \
(--no-scan)'--scan[Generate a Build Scan (powered by Develocity).]' \ (--no-scan)'--scan[Generate a Build Scan (powered by Develocity).]' \
{-V,--show-version}'[Print version info and continue.]' \
(--full-stacktrace,-S){-s,--stacktrace}'[Print out the stacktrace for all exceptions.]' \ (--full-stacktrace,-S){-s,--stacktrace}'[Print out the stacktrace for all exceptions.]' \
'--task-graph[(Experimental) Print task graph instead of executing tasks.]' \ '--task-graph[(Experimental) Print task graph instead of executing tasks.]' \
\*'--update-locks[Perform a partial update of the dependency lock, letting passed in module notations change version. (incubating)]' \ \*'--update-locks[Perform a partial update of the dependency lock, letting passed in module notations change version. (incubating)]' \
@@ -465,14 +467,16 @@ _gradle() {
(--warn,-w,--info,-i,--debug,-d){-q,--quiet}'[Log errors only.]' \ (--warn,-w,--info,-i,--debug,-d){-q,--quiet}'[Log errors only.]' \
{-U,--refresh-dependencies}'[Refresh the state of dependencies.]' \ {-U,--refresh-dependencies}'[Refresh the state of dependencies.]' \
'--refresh-keys[Refresh the public keys used for dependency verification.]' \ '--refresh-keys[Refresh the public keys used for dependency verification.]' \
'--rerun[Causes the task to be re-run even if up-to-date.]' \
'--rerun-tasks[Ignore previously cached task results.]' \ '--rerun-tasks[Ignore previously cached task results.]' \
(--no-scan)'--scan[Generate a Build Scan (powered by Develocity).]' \ (--no-scan)'--scan[Generate a Build Scan (powered by Develocity).]' \
{-V,--show-version}'[Print version info and continue.]' \
(--full-stacktrace,-S){-s,--stacktrace}'[Print out the stacktrace for all exceptions.]' \ (--full-stacktrace,-S){-s,--stacktrace}'[Print out the stacktrace for all exceptions.]' \
'--status[Shows status of running and recently stopped Gradle daemon(s).]' \ '--status[Shows status of running and recently stopped Gradle daemon(s).]' \
'--stop[Stops the Gradle daemon if it is running.]' \ '--stop[Stops the Gradle daemon if it is running.]' \
'--task-graph[(Experimental) Print task graph instead of executing tasks.]' \ '--task-graph[(Experimental) Print task graph instead of executing tasks.]' \
\*'--update-locks[Perform a partial update of the dependency lock, letting passed in module notations change version. (incubating)]' \ \*'--update-locks[Perform a partial update of the dependency lock, letting passed in module notations change version. (incubating)]' \
{-v,--version}'[Shows the version info.]' \ {-v,--version}'[Print version info and exit.]' \
(--quiet,-q,--info,-i,--debug,-d){-w,--warn}'[Set log level to warn.]' \ (--quiet,-q,--info,-i,--debug,-d){-w,--warn}'[Set log level to warn.]' \
'--warning-mode[Specifies which mode of warnings to generate. Values are 'all', 'fail', 'summary'(default) or 'none']:warning mode:(all summary none):->argument-expected' \ '--warning-mode[Specifies which mode of warnings to generate. Values are 'all', 'fail', 'summary'(default) or 'none']:warning mode:(all summary none):->argument-expected' \
(--no-watch-fs)'--watch-fs[Enables watching the file system for changes, allowing data about the file system to be re-used for the next build.]' \ (--no-watch-fs)'--watch-fs[Enables watching the file system for changes, allowing data about the file system to be re-used for the next build.]' \

View File

@@ -12,6 +12,16 @@ plugins=(... jj)
| Alias | Command | | Alias | Command |
| ------ | ----------------------------- | | ------ | ----------------------------- |
| jjb | `jj bookmark` |
| jjbc | `jj bookmark create` |
| jjbd | `jj bookmark delete` |
| jjbf | `jj bookmark forget` |
| jjbl | `jj bookmark list` |
| jjbm | `jj bookmark move` |
| jjbr | `jj bookmark rename` |
| jjbs | `jj bookmark set` |
| jjbt | `jj bookmark track` |
| jjbu | `jj bookmark untrack` |
| jjc | `jj commit` | | jjc | `jj commit` |
| jjcmsg | `jj commit --message` | | jjcmsg | `jj commit --message` |
| jjd | `jj diff` | | jjd | `jj diff` |
@@ -22,14 +32,20 @@ plugins=(... jj)
| jjgf | `jj git fetch` | | jjgf | `jj git fetch` |
| jjgfa | `jj git fetch --all-remotes` | | jjgfa | `jj git fetch --all-remotes` |
| jjgp | `jj git push` | | jjgp | `jj git push` |
| jjgpa | `jj git push --all` |
| jjgpd | `jj git push --deleted` |
| jjgpt | `jj git push --tracked` |
| jjl | `jj log` | | jjl | `jj log` |
| jjla | `jj log -r "all()"` | | jjla | `jj log -r "all()"` |
| jjn | `jj new` | | jjn | `jj new` |
| jjnt | `jj new "trunk()"` |
| jjrb | `jj rebase` | | jjrb | `jj rebase` |
| jjrbm | `jj rebase -d "trunk()"` |
| jjrs | `jj restore` | | jjrs | `jj restore` |
| jjrt | `cd "$(jj root \|\| echo .)"` | | jjrt | `cd "$(jj root \|\| echo .)"` |
| jjsp | `jj split` | | jjsp | `jj split` |
| jjsq | `jj squash` | | jjsq | `jj squash` |
| jjst | `jj status` |
## Prompt usage ## Prompt usage
@@ -88,3 +104,4 @@ that.
## Contributors ## Contributors
- [nasso](https://github.com/nasso) - Plugin Author - [nasso](https://github.com/nasso) - Plugin Author
- [imp](https://github.com/imp) - Occasional Alias Contributor

View File

@@ -34,6 +34,16 @@ function jj_prompt_template() {
} }
# Aliases (sorted alphabetically) # Aliases (sorted alphabetically)
alias jjb='jj bookmark'
alias jjbc='jj bookmark create'
alias jjbd='jj bookmark delete'
alias jjbf='jj bookmark forget'
alias jjbl='jj bookmark list'
alias jjbm='jj bookmark move'
alias jjbr='jj bookmark rename'
alias jjbs='jj bookmark set'
alias jjbt='jj bookmark track'
alias jjbu='jj bookmark untrack'
alias jjc='jj commit' alias jjc='jj commit'
alias jjcmsg='jj commit --message' alias jjcmsg='jj commit --message'
alias jjd='jj diff' alias jjd='jj diff'
@@ -44,11 +54,17 @@ alias jjgcl='jj git clone'
alias jjgf='jj git fetch' alias jjgf='jj git fetch'
alias jjgfa='jj git fetch --all-remotes' alias jjgfa='jj git fetch --all-remotes'
alias jjgp='jj git push' alias jjgp='jj git push'
alias jjgpa='jj git push --all'
alias jjgpd='jj git push --deleted'
alias jjgpt='jj git push --tracked'
alias jjl='jj log' alias jjl='jj log'
alias jjla='jj log -r "all()"' alias jjla='jj log -r "all()"'
alias jjn='jj new' alias jjn='jj new'
alias jjnt='jj new "trunk()"'
alias jjrb='jj rebase' alias jjrb='jj rebase'
alias jjrbm='jj rebase -d "trunk()"'
alias jjrs='jj restore' alias jjrs='jj restore'
alias jjrt='cd "$(jj root || echo .)"' alias jjrt='cd "$(jj root || echo .)"'
alias jjsp='jj split' alias jjsp='jj split'
alias jjsq='jj squash' alias jjsq='jj squash'
alias jjst='jj status'

View File

@@ -20,10 +20,11 @@ function {
zstyle -a :omz:plugins:keychain options options zstyle -a :omz:plugins:keychain options options
# Check keychain version to decide whether to use --agents # Check keychain version to decide whether to use --agents
local version_string=$(keychain --version 2>&1 | head -n 2 | tail -n 1 | cut -d ' ' -f 4) local version_string=$(keychain --version 2>&1)
# start keychain, only use --agents for versions below 2.9.0 # start keychain, only use --agents for versions below 2.9.0
autoload -Uz is-at-least autoload -Uz is-at-least
if is-at-least 2.9 "$version_string"; then if [[ "$version_string" =~ 'keychain ([0-9]+\.[0-9]+)' ]] && \
is-at-least 2.9 "$match[1]"; then
keychain ${^options:-} ${^identities} --host $SHORT_HOST keychain ${^options:-} ${^identities} --host $SHORT_HOST
else else
keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST keychain ${^options:-} --agents ${agents:-gpg} ${^identities} --host $SHORT_HOST

View File

@@ -27,7 +27,7 @@ plugins=(... kubectl)
| kdel | `kubectl delete` | Delete resources by filenames, stdin, resources and names, or by resources and label selector | | kdel | `kubectl delete` | Delete resources by filenames, stdin, resources and names, or by resources and label selector |
| kdelf | `kubectl delete -f` | Delete a pod using the type and name specified in -f argument | | kdelf | `kubectl delete -f` | Delete a pod using the type and name specified in -f argument |
| kge | `kubectl get events --sort-by=".lastTimestamp"` | Get events (sorted by timestamp) | | kge | `kubectl get events --sort-by=".lastTimestamp"` | Get events (sorted by timestamp) |
| kgew | `kubectl get events --watch --sort-by=".lastTimestamp"` | Get events and watch as they occur (sorted by timestamp) | | kgew | `kubectl get events --watch --sort-by=".lastTimestamp"` | Get events and watch as they occur (sorted by timestamp) |
| | | **Pod management** | | | | **Pod management** |
| kgp | `kubectl get pods` | List all pods in ps output format | | kgp | `kubectl get pods` | List all pods in ps output format |
| kgpl | `kgp -l` | Get pods by label. Example: `kgpl "app=myapp" -n myns` | | kgpl | `kgp -l` | Get pods by label. Example: `kgpl "app=myapp" -n myns` |
@@ -74,6 +74,7 @@ plugins=(... kubectl)
| kdeld | `kubectl delete deployment` | Delete the deployment | | kdeld | `kubectl delete deployment` | Delete the deployment |
| ksd | `kubectl scale deployment` | Scale a deployment | | ksd | `kubectl scale deployment` | Scale a deployment |
| krsd | `kubectl rollout status deployment` | Check the rollout status of a deployment | | krsd | `kubectl rollout status deployment` | Check the rollout status of a deployment |
| krrd | `kubectl rollout restart deployment` | Rollout restart a deployment |
| kres | `kubectl set env $@ REFRESHED_AT=...` | Recreate all pods in deployment with zero-downtime | | kres | `kubectl set env $@ REFRESHED_AT=...` | Recreate all pods in deployment with zero-downtime |
| | | **Rollout management** | | | | **Rollout management** |
| kgrs | `kubectl get replicaset` | List all ReplicaSets `rs` created by the deployment | | kgrs | `kubectl get replicaset` | List all ReplicaSets `rs` created by the deployment |
@@ -112,6 +113,7 @@ plugins=(... kubectl)
| kdelss | `kubectl delete statefulset` | Delete the statefulset | | kdelss | `kubectl delete statefulset` | Delete the statefulset |
| ksss | `kubectl scale statefulset` | Scale a statefulset | | ksss | `kubectl scale statefulset` | Scale a statefulset |
| krsss | `kubectl rollout status statefulset` | Check the rollout status of a deployment | | krsss | `kubectl rollout status statefulset` | Check the rollout status of a deployment |
| krrss | `kubectl rollout restart statefulset` | Rollout restart a statefulset |
| | | **Service Accounts management** | | | | **Service Accounts management** |
| kdsa | `kubectl describe sa` | Describe a service account in details | | kdsa | `kubectl describe sa` | Describe a service account in details |
| kdelsa | `kubectl delete sa` | Delete the service account | | kdelsa | `kubectl delete sa` | Delete the service account |

View File

@@ -98,6 +98,7 @@ alias kdd='kubectl describe deployment'
alias kdeld='kubectl delete deployment' alias kdeld='kubectl delete deployment'
alias ksd='kubectl scale deployment' alias ksd='kubectl scale deployment'
alias krsd='kubectl rollout status deployment' alias krsd='kubectl rollout status deployment'
alias krrd='kubectl rollout restart deployment'
function kres(){ function kres(){
kubectl set env $@ REFRESHED_AT=$(date +%Y%m%d%H%M%S) kubectl set env $@ REFRESHED_AT=$(date +%Y%m%d%H%M%S)
@@ -120,6 +121,7 @@ alias kdss='kubectl describe statefulset'
alias kdelss='kubectl delete statefulset' alias kdelss='kubectl delete statefulset'
alias ksss='kubectl scale statefulset' alias ksss='kubectl scale statefulset'
alias krsss='kubectl rollout status statefulset' alias krsss='kubectl rollout status statefulset'
alias krrss='kubectl rollout restart statefulset'
# Port forwarding # Port forwarding
alias kpf="kubectl port-forward" alias kpf="kubectl port-forward"

41
plugins/pulumi/README.md Normal file
View File

@@ -0,0 +1,41 @@
# Pulumi
This is an **Oh My Zsh plugin** for the [**Pulumi CLI**](https://www.pulumi.com/docs/iac/cli/),
an Infrastructure as Code (IaC) tool for building, deploying and managing cloud infrastucture.
This plugin provides:
- 🚀 Short, intuitive aliases for common Pulumi commands
- 🎯 Auto-completion support for Pulumi
To use it, add `pulumi` to the plugins array in your `.zshrc` file:
```zsh
plugins=(... pulumi)
```
## ⚡ Aliases
| Alias | Command | Description |
| -------- | ---------------------- | ----------------------------- |
| `pul` | `pulumi` | Shortcut for Pulumi CLI |
| `pulcs` | `pulumi config set` | Set Pulumi configuration |
| `puld` | `pulumi destroy` | Destroy all resources |
| `pullog` | `pulumi logs -f` | Tail Pulumi logs in real-time |
| `pulp` | `pulumi preview` | Show planned changes |
| `pulr` | `pulumi refresh` | Refresh state from cloud |
| `puls` | `pulumi stack` | Show stack details |
| `pulsh` | `pulumi stack history` | Show stack history |
| `pulsi` | `pulumi stack init` | Initialize a new stack |
| `pulsl` | `pulumi stack ls` | List available stacks |
| `pulso` | `pulumi stack output` | Show stack outputs |
| `pulss` | `pulumi stack select` | Switch stack |
| `pulu` | `pulumi up` | Deploy infrastructure |
## 🎯 Autocompletion
If `pulumi gen-completion zsh` is available, this plugin **automatically loads Pulumi auto-completion**.
## 🛠️ Contribution
Feel free to open an issue or PR for improvements! 🚀

View File

@@ -0,0 +1,28 @@
if (( ! $+commands[pulumi] )); then
return
fi
# If the completion file doesn't exist yet, we need to autoload it and
# bind it to `pulumi`. Otherwise, compinit will have already done that.
if [[ ! -f "$ZSH_CACHE_DIR/completions/_pulumi" ]]; then
typeset -g -A _comps
autoload -Uz _pulumi
_comps[pulumi]=_pulumi
fi
pulumi gen-completion zsh >| "$ZSH_CACHE_DIR/completions/_pulumi" &|
# Aliases
alias pul='pulumi'
alias pulcs='pulumi config set'
alias puld='pulumi destroy'
alias pullog='pulumi logs -f'
alias pulp='pulumi preview'
alias pulr='pulumi refresh'
alias puls='pulumi stack'
alias pulsh='pulumi stack history'
alias pulsi='pulumi stack init'
alias pulsl='pulumi stack ls'
alias pulso='pulumi stack output'
alias pulss='pulumi stack select'
alias pulu='pulumi up'

View File

@@ -1,18 +0,0 @@
# rbfu plugin
This plugin starts [rbfu](https://github.com/hmans/rbfu), a minimal Ruby version
manager, and adds some useful functions.
To use it, add `rbfu` to the plugins array in your zshrc file:
```zsh
plugins=(... rbfu)
```
**Note: `rbfu` is deprecated and should no longer be used.**
## Functions
- `rbfu-rubies`: lists all installed rubies available to rbfu.
- `rvm_prompt_info`: shows the Ruby version being used with rbfu.

View File

@@ -1,49 +0,0 @@
# Enables rbfu with --auto option, if available.
#
# Also provides a command to list all installed/available
# rubies. To ensure compatibility with themes, creates the
# rvm_prompt_info function to return the $RBFU_RUBY_VERSION
# version.
command -v rbfu &>/dev/null || return
eval "$(rbfu --init --auto)"
# Internal: Print ruby version details, if it's currently active, etc.
function _rbfu_rubies_print() {
# 1: path to ruby file
# 2: active ruby
local rb rb_out
rb="${$1:t}"
rb_out="$rb"
# If the ruby is a symlink, add @ to the name.
if [[ -h "$1" ]]; then
rb_out="${rb_out}${fg[green]}@${reset_color}"
fi
# If the ruby is active, add * to the name and show it in red.
if [[ "$rb" = "$2" ]]; then
rb_out="${fg[red]}${rb_out} ${fg[red]}*${reset_color}"
fi
echo $rb_out
}
# Public: Provide a list with all available rubies, this basically depends
# on ~/.rfbu/rubies. Highlights the currently active ruby version and aliases.
function rbfu-rubies() {
local rbfu_dir active_rb
rbfu_dir="${RBFU_RUBIES:-${HOME}/.rbfu/rubies}"
active_rb="${RBFU_RUBY_VERSION:-system}"
_rbfu_rubies_print "${rbfu_dir}/system" "$active_rb"
for rb in ${rbfu_dir}/*(N); do
_rbfu_rubies_print "$rb" "$active_rb"
done
}
# Public: Create rvm_prompt_info command for themes compatibility, unless
# it has already been defined.
(( ${+functions[rvm_prompt_info]} )) || \
function rvm_prompt_info() { echo "${${RBFU_RUBY_VERSION:=system}:gs/%/%%}" }

View File

@@ -1,6 +1,7 @@
# uv plugin # uv plugin
This plugin automatically installs [uv](https://github.com/astral-sh/uv)'s completions for you, and keeps them up to date. It also adds convenient aliases for common usage. This plugin automatically installs [uv](https://github.com/astral-sh/uv)'s completions for you,
and keeps them up to date. It also adds convenient aliases for common usage.
To use it, add `uv` to the plugins array in your zshrc file: To use it, add `uv` to the plugins array in your zshrc file:
@@ -10,19 +11,26 @@ plugins=(... uv)
## Aliases ## Aliases
| Alias | Command | Description | | Alias | Command | Description |
|:----- |------------------------------------------------------------------------ |:-------------------------------------------------------------------- | | :---- | ---------------------------------------------------------------------------------------- | :-------------------------------------------------------------------- |
| uva | `uv add` | Add packages to the project | | uva | `uv add` | Add packages to the project |
| uvexp | `uv export --format requirements-txt --no-hashes --output-file requirements.txt --quiet` | Export the lock file to `requirements.txt` | | uvexp | `uv export --format requirements-txt --no-hashes --output-file requirements.txt --quiet` | Export the lock file to `requirements.txt` |
| uvl | `uv lock` | Lock the dependencies | | uvi | `uv init` | Initialize a new project in current workspace and environment. |
| uvlr | `uv lock --refresh` | Rebuild the lock file without upgrading dependencies | | uvinw | `uv init --no-workspace` | Initialize a new project in a new workspace and environment |
| uvlu | `uv lock --upgrade` | Lock the dependencies to the newest compatible versions | | uvl | `uv lock` | Lock the dependencies |
| uvp | `uv pip` | Manage pip packages | | uvlr | `uv lock --refresh` | Rebuild the lock file without upgrading dependencies |
| uvpy | `uv python` | Manage Python installs | | uvlu | `uv lock --upgrade` | Lock the dependencies to the newest compatible versions |
| uvr | `uv run` | Run commands within the project's environment | | uvp | `uv pip` | Manage pip packages |
| uvrm | `uv remove` | Remove packages from the project | | uvpi | `uv python install` | Install a specific version of python |
| uvs | `uv sync` | Sync the environment with the lock file | | uvpl | `uv python list` | Lists all python version installed |
| uvsr | `uv sync --refresh` | "Force" sync the environment with the lock file (ignore cache) | | uvpp | `uv python pin` | Pin the current project to use a specific Python version |
| uvsu | `uv sync --upgrade` | Sync the environment, allowing upgrades and ignoring the lock file | | uvpu | `uv python uninstall` | Remove a specific version of python |
| uvup | `uv self update` | Update the UV tool to the latest version | | uvpy | `uv python` | Manage Python installs |
| uvv | `uv venv` | Manage virtual environments | | uvr | `uv run` | Run commands within the project's environment |
| uvrm | `uv remove` | Remove packages from the project |
| uvs | `uv sync` | Sync the environment with the lock file |
| uvsr | `uv sync --refresh` | "Force" sync the environment with the lock file (ignore cache) |
| uvsu | `uv sync --upgrade` | Sync the environment, allowing upgrades and ignoring the lock file |
| uvtr | `uv tree` | Displays the full dependency tree for the current project environment |
| uvup | `uv self update` | Update the UV tool to the latest version |
| uvv | `uv venv` | Manage virtual environments |

View File

@@ -7,16 +7,23 @@ alias uv="noglob uv"
alias uva='uv add' alias uva='uv add'
alias uvexp='uv export --format requirements-txt --no-hashes --output-file requirements.txt --quiet' alias uvexp='uv export --format requirements-txt --no-hashes --output-file requirements.txt --quiet'
alias uvi='uv init'
alias uvinw='uv init --no-workspace'
alias uvl='uv lock' alias uvl='uv lock'
alias uvlr='uv lock --refresh' alias uvlr='uv lock --refresh'
alias uvlu='uv lock --upgrade' alias uvlu='uv lock --upgrade'
alias uvp='uv pip' alias uvp='uv pip'
alias uvpi='uv python install'
alias uvpl='uv python list'
alias uvpu='uv python uninstall'
alias uvpy='uv python' alias uvpy='uv python'
alias uvpp='uv python pin'
alias uvr='uv run' alias uvr='uv run'
alias uvrm='uv remove' alias uvrm='uv remove'
alias uvs='uv sync' alias uvs='uv sync'
alias uvsr='uv sync --refresh' alias uvsr='uv sync --refresh'
alias uvsu='uv sync --upgrade' alias uvsu='uv sync --upgrade'
alias uvtr='uv tree'
alias uvup='uv self update' alias uvup='uv self update'
alias uvv='uv venv' alias uvv='uv venv'

View File

@@ -505,7 +505,7 @@ print_success() {
printf '\n' printf '\n'
printf '%s\n' "• Follow us on X: $(fmt_link @ohmyzsh https://x.com/ohmyzsh)" printf '%s\n' "• Follow us on X: $(fmt_link @ohmyzsh https://x.com/ohmyzsh)"
printf '%s\n' "• Join our Discord community: $(fmt_link "Discord server" https://discord.gg/ohmyzsh)" printf '%s\n' "• Join our Discord community: $(fmt_link "Discord server" https://discord.gg/ohmyzsh)"
printf '%s\n' "• Get stickers, t-shirts, coffee mugs and more: $(fmt_link "Planet Argon Shop" https://shop.planetargon.com/collections/oh-my-zsh)" printf '%s\n' "• Get stickers, t-shirts, coffee mugs and more: $(fmt_link "CommitGoods Shop" https://commitgoods.com/collections/oh-my-zsh)"
printf '%s\n' $FMT_RESET printf '%s\n' $FMT_RESET
} }

View File

@@ -273,7 +273,7 @@ if LANG= git pull --quiet --rebase $remote $branch; then
printf "${BLUE}%s${RESET}\n\n" "$message" printf "${BLUE}%s${RESET}\n\n" "$message"
printf "${BLUE}${BOLD}%s %s${RESET}\n" "To keep up with the latest news and updates, follow us on X:" "$(fmt_link @ohmyzsh https://x.com/ohmyzsh)" printf "${BLUE}${BOLD}%s %s${RESET}\n" "To keep up with the latest news and updates, follow us on X:" "$(fmt_link @ohmyzsh https://x.com/ohmyzsh)"
printf "${BLUE}${BOLD}%s %s${RESET}\n" "Want to get involved in the community? Join our Discord:" "$(fmt_link "Discord server" https://discord.gg/ohmyzsh)" printf "${BLUE}${BOLD}%s %s${RESET}\n" "Want to get involved in the community? Join our Discord:" "$(fmt_link "Discord server" https://discord.gg/ohmyzsh)"
printf "${BLUE}${BOLD}%s %s${RESET}\n" "Get your Oh My Zsh swag at:" "$(fmt_link "Planet Argon Shop" https://shop.planetargon.com/collections/oh-my-zsh)" printf "${BLUE}${BOLD}%s %s${RESET}\n" "Get your Oh My Zsh swag at:" "$(fmt_link "CommitGoods Shop" https://commitgoods.com/collections/oh-my-zsh)"
elif [[ $verbose_mode == minimal ]]; then elif [[ $verbose_mode == minimal ]]; then
printf "${BLUE}%s${RESET}\n" "$message" printf "${BLUE}%s${RESET}\n" "$message"
fi fi