[Atuin] Module
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?
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
registercommand but once the default config is written (which happens AFTER issuingregister) 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.
- using environmental variable for sync server only works for
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
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
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
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.
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
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
https://docs.atuin.sh
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
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
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"
[!IMPORTANT]
Review skipped
Draft detected.
Please check the settings in the CodeRabbit UI or the
.coderabbit.yamlfile in this repository. To trigger a single review, invoke the@coderabbitai reviewcommand.You can disable this status message by setting the
reviews.review_statustofalsein 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.
🪧 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
@coderabbitaiin a new review comment at the desired location with your query. - PR comments: Tag
@coderabbitaiin 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 ignoreanywhere in the PR description to prevent this PR from being reviewed. - Add
@coderabbitai summaryto generate the high-level summary at a specific location in the PR description. - Add
@coderabbitaianywhere in the PR title to generate the title automatically.
CodeRabbit Configuration File (.coderabbit.yaml)
- You can programmatically configure CodeRabbit by adding a
.coderabbit.yamlfile 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.
version should be bumped to v18.5.0
Closing Stalled but not forgotten. Considering configuration approach
Server version was bumped to 18.6.0
"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