configng icon indicating copy to clipboard operation
configng copied to clipboard

[Atuin] Module

Open Tearran opened this issue 1 year ago • 14 comments

Interesting title. Playing with making a module for basic setup of atuin. bash "./tools/modules/software/module_atuin" help

note missing .sh assemble looks for *.sh before writing to the lib can leverage this for testing so its not included

Commands: help install remove status
Available commands:
  install       - Install Atuin 

https://docs.atuin.sh/guide/installation/

running installs to $HOME

Not sure how to make this global. maybe module update_skel may be a hint?

Tearran avatar Nov 20 '24 04:11 Tearran

Some thoughts about that from the chat:

  • beohoff mentions the latency for bash users is better when using bash-preexec instead of ble.sh. I did not research which one is installed by default by atuin.
  • I've setup our own server for sync: https://services.armbian.de/atuin . This is subject of change, like using a different unused domain for this or whatever.
    • using environmental variable for sync server only works for register command but once the default config is written (which happens AFTER issuing register) it seems superiour. Also environment variable isn't written back into this config so its either about us or the user to adjust sync address... if they prefer to do so.

EvilOlaf avatar Nov 20 '24 04:11 EvilOlaf

beohoff mentions the latency for bash users is better when using bash-preexec instead of ble.sh. I did not research which one is installed by default by atuin.

Seem like it is using preexec, The installer does use ~/.bash-preexec.sh and no referance to ble.sh

Tearran avatar Nov 20 '24 07:11 Tearran

Therefore when implementing this via configng the config file with adjustments needs to be written the installation (line 32: sync_address = "https://services.armbian.de/atuin")

after install the config looks all commented. so we can overwrite the default and use a custom one.

to restore the default atuin default-config > ~/.config/atuin/config.toml

Tearran avatar Nov 20 '24 08:11 Tearran

after install the config looks all commented. so we can overwrite the default and use a custom one.

Yes, most seems commented by default. For me the following ones were uncommented by default: enter_accept = true and records = true

EvilOlaf avatar Nov 20 '24 10:11 EvilOlaf

Yes, most seems commented by default. For me the following ones were uncommented by default: enter_accept = true and records = true

This seems to cover the default variables for the sync server

sync_address = "https://services.armbian.de/atuin" 
enter_accept = true

[sync]
records = true

Included, IMO to be relative in continued development paths and daemon settings

This still only able to work in "$HOME" "~/" environment.

Tearran avatar Nov 20 '24 20:11 Tearran

latest update. works with bash added .sh to include

./tools/config-assemble.sh" -p
./bin/armbian-config --api module_atuin help

Usage: module_atuin <command>
Commands: help install remove reset

Available commands:
  install       - setup atuin in /home/tearran
  reset         -  reset config to atuin default
  remove        -  Uninstall atuin
 ./configng/bin/armbian-config --api see_menu module_atuin
image install

restart shell

atuin help
atuin 18.4.0-beta.3
Ellie Huxtable <[email protected]>
Magical shell history

Usage:
  atuin <COMMAND>

Commands:
  history          Manipulate shell history
  import           Import shell history from file
  stats            Calculate statistics for your history
  search           Interactive history search
  sync             Sync with the configured server
  login            Login to the configured server
  logout           Log out
  register         Register with the configured server
  key              Print the encryption key for transfer to another machine
  status           Display the sync status
  account          Manage your sync account
  kv               Get or set small key-value pairs
  store            Manage the atuin data store
  dotfiles         Manage your dotfiles with Atuin
  init             Print Atuin's shell init script
  info             Information about dotfiles locations and ENV vars
  doctor           Run the doctor to check for common issues
  daemon           *Experimental* Start the background daemon
  default-config   Print the default atuin configuration (config.toml)
  server           Start an atuin server
  uuid             Generate a UUID
  contributors
  gen-completions  Generate shell completions
  help             Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

AROW UP image

https://docs.atuin.sh

Tearran avatar Nov 22 '24 04:11 Tearran

Issues:

  • Not an improvement to the installer @atuinsh provides.
  • sudo make checking and installing overcomplicate.
  • only supports bash, config for other need to be added

Tearran avatar Nov 26 '24 04:11 Tearran

only supports bash, config for other need to be added

ZSH, as we provide it, would be nice to work OOB.

Not an improvement to the installer sudo make checking and installing overcomplicate.

What if we add this functionality system-wide, like our ZSH implementation. Superuser within the script is even changing default shell for all. If Admin of OS do this, user can move back to BASH at any moment. We can do one step less here, to do everything for the users of the system, except enabling it. And give instructions how to enable this feature with a simple (user) step.

https://github.com/armbian/configng/blob/main/tools/modules/system/update_skel.sh

igorpecovnik avatar Nov 26 '24 05:11 igorpecovnik

Not sure how to make this global. maybe module update_skel may be a hint?

So skel is the way to go for so called global, or as you say system-wide that could simplify things.

since the server url is subject to change maybe should add a default url

["module_atuin,server_url"]="https://services.armbian.de/atuin"

Tearran avatar Nov 26 '24 18:11 Tearran

[!IMPORTANT]

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

A new shell script has been added to manage the installation, removal, and configuration of the Atuin command-line tool. The script defines several functions that handle different commands: showing help, installing Atuin by downloading and extracting its binary, removing Atuin and its configuration files, and resetting settings to defaults. An associative array holds key metadata about the module, such as the author, maintainer, and description. The installation process updates environment configurations, including modifications to the user’s shell configuration file (e.g., .bashrc), while the uninstallation process cleans up these changes. Additionally, a function is provided to generate a configuration file for Atuin, ensuring proper file ownership and error handling throughout the operations.

✨ Finishing Touches
🧪 Generate unit tests
  • [ ] Create PR with unit tests
  • [ ] Post copyable unit tests in a comment
  • [ ] Commit unit tests in branch atuin

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

coderabbitai[bot] avatar Apr 12 '25 23:04 coderabbitai[bot]

version should be bumped to v18.5.0

EvilOlaf avatar Apr 13 '25 05:04 EvilOlaf

Closing Stalled but not forgotten. Considering configuration approach

Tearran avatar Apr 13 '25 06:04 Tearran

Server version was bumped to 18.6.0

EvilOlaf avatar May 09 '25 03:05 EvilOlaf

"This is works for me including the timezone for check logs across along on the clients. Validates in Raspbery pi 4 with Armbian 25.2.2 Bookworm" https://forum.atuin.sh/t/running-atuin-on-a-raspberry-pi-with-docker-compose/914

igorpecovnik avatar May 09 '25 04:05 igorpecovnik