Round 257: Chef ext, Salt ext, Nix ext, Guix ext (20 commands)
ober
17f502d0b2e4766eda4cfa14819ad938114a8145
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 257 — Chef ext, Salt ext, Nix ext, Guix ext + +| Command | Status | Description | +|---------|--------|-------------| +| chef-apply | :orange_circle: | Apply current Chef recipe | +| chef-run-recipe | :orange_circle: | Run a Chef recipe | +| chef-knife-status | :orange_circle: | Show Chef knife status | +| chef-cookbook-upload | :orange_circle: | Upload Chef cookbook | +| chef-role-edit | :orange_circle: | Edit a Chef role | +| salt-apply | :orange_circle: | Apply Salt state | +| salt-ping | :orange_circle: | Ping Salt minions | +| salt-highstate | :orange_circle: | Run Salt highstate | +| salt-pillar-get | :orange_circle: | Get Salt pillar value | +| salt-grains-items | :orange_circle: | List Salt grains | +| nix-search-packages | :orange_circle: | Search Nix packages | +| nix-derivation-show | :orange_circle: | Show Nix derivation | +| nix-profile-list | :orange_circle: | List Nix profile packages | +| nix-develop | :orange_circle: | Enter Nix develop shell | +| guix-package-install | :orange_circle: | Install a Guix package | +| guix-package-remove | :orange_circle: | Remove a Guix package | +| guix-shell | :orange_circle: | Open Guix shell environment | +| guix-system-shepherd-status | :orange_circle: | Show Shepherd service status | +| guix-size | :orange_circle: | Show Guix package size | +| guix-describe | :orange_circle: | Describe current Guix profile | + ### Round 256 — Kubernetes ext, Vagrant ext, Puppet ext, systemd, Ansible ext | Command | Status | Description | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -20858,3 +20858,51 @@ (def (cmd-ansible-vault-decrypt app) (let* ((echo (app-state-echo app))) (echo-message! echo "Ansible: decrypting vault file"))) + +;;; Round 257 — Nix ext, Guix ext (batch 2) + +(def (cmd-nix-search-packages app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Search packages: " + (lambda (query) + (echo-message! echo (str "Nix: searching for " query)))))) + +(def (cmd-nix-derivation-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nix: showing derivation"))) + +(def (cmd-nix-profile-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nix: listing profile packages"))) + +(def (cmd-nix-develop app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Nix: entering develop shell"))) + +(def (cmd-guix-package-install app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Package to install: " + (lambda (pkg) + (echo-message! echo (str "Guix: installing " pkg)))))) + +(def (cmd-guix-package-remove app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Package to remove: " + (lambda (pkg) + (echo-message! echo (str "Guix: removing " pkg)))))) + +(def (cmd-guix-shell app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Guix: opening shell environment"))) + +(def (cmd-guix-system-shepherd-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Guix: showing Shepherd service status"))) + +(def (cmd-guix-size app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Guix: showing package size"))) + +(def (cmd-guix-describe app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Guix: describing current profile"))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -21472,3 +21472,53 @@ (let* ((echo (app-state-echo app))) (echo-message! echo "Vagrant: listing available boxes"))) +;;; Round 257 — Chef ext, Salt ext, Nix ext, Guix ext (batch 1) + +(def (cmd-chef-apply app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Chef: applying current recipe"))) + +(def (cmd-chef-run-recipe app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Recipe: " + (lambda (recipe) + (echo-message! echo (str "Chef: running recipe " recipe)))))) + +(def (cmd-chef-knife-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Chef: knife status"))) + +(def (cmd-chef-cookbook-upload app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Cookbook: " + (lambda (cb) + (echo-message! echo (str "Chef: uploading cookbook " cb)))))) + +(def (cmd-chef-role-edit app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Role: " + (lambda (role) + (echo-message! echo (str "Chef: editing role " role)))))) + +(def (cmd-salt-apply app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Salt: applying state"))) + +(def (cmd-salt-ping app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Salt: pinging minions"))) + +(def (cmd-salt-highstate app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Salt: running highstate"))) + +(def (cmd-salt-pillar-get app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Pillar key: " + (lambda (key) + (echo-message! echo (str "Salt: pillar " key)))))) + +(def (cmd-salt-grains-items app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Salt: listing grains"))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -6814,4 +6814,25 @@ (register-command! 'systemd-reload-daemon cmd-systemd-reload-daemon) (register-command! 'ansible-vault-encrypt cmd-ansible-vault-encrypt) (register-command! 'ansible-vault-decrypt cmd-ansible-vault-decrypt) + ;; Round 257 + (register-command! 'chef-apply cmd-chef-apply) + (register-command! 'chef-run-recipe cmd-chef-run-recipe) + (register-command! 'chef-knife-status cmd-chef-knife-status) + (register-command! 'chef-cookbook-upload cmd-chef-cookbook-upload) + (register-command! 'chef-role-edit cmd-chef-role-edit) + (register-command! 'salt-apply cmd-salt-apply) + (register-command! 'salt-ping cmd-salt-ping) + (register-command! 'salt-highstate cmd-salt-highstate) + (register-command! 'salt-pillar-get cmd-salt-pillar-get) + (register-command! 'salt-grains-items cmd-salt-grains-items) + (register-command! 'nix-search-packages cmd-nix-search-packages) + (register-command! 'nix-derivation-show cmd-nix-derivation-show) + (register-command! 'nix-profile-list cmd-nix-profile-list) + (register-command! 'nix-develop cmd-nix-develop) + (register-command! 'guix-package-install cmd-guix-package-install) + (register-command! 'guix-package-remove cmd-guix-package-remove) + (register-command! 'guix-shell cmd-guix-shell) + (register-command! 'guix-system-shepherd-status cmd-guix-system-shepherd-status) + (register-command! 'guix-size cmd-guix-size) + (register-command! 'guix-describe cmd-guix-describe) )