Do not prompt for systemd support installation if already installed
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Tue, 21 May 2024 15:53:55 +0000 (18:53 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Tue, 21 May 2024 15:53:55 +0000 (18:53 +0300)
doc/index.org
install

index 16bba29..d87ffd9 100644 (file)
@@ -417,22 +417,31 @@ AI.
 
 Ideas to be possibly implemented in the future:
 
+** Documentation
+
+- Add example problem statements and resulting solutions on various
+  domains. Accompany them with precise usage procedure:
+  - What user did, when, where and how.
+  - How and where did result appear.
+
 ** System operation
+
 - Implement CPU nice priority for inference processes to minimize the
   impact on system responsiveness during heavy computations.
 - Enable model selection per individual inference task, allowing for
   dynamic adjustment based on task requirements.
 - Allow specification of custom prompts for each inference task to
   tailor interactions precisely.
-- Introduce an aliasing system for frequently used prompts,
-  streamlining the prompt selection process.
 - Consider implementing a plugin architecture to allow third-party
   developers to extend Älyverkko CLI's functionality with custom
   modules or integrations.
 - Possibility to easily pause and resume Älyverkko CLI without loosing
   in-progress computation. Unix process stop and continue signals
   could possibly be used.
+- Add support for speculative decoding to speed up inference.
+
 ** Data management
+
 - Develop a feature to recursively aggregate files into a single
   document using Emacs org-mode syntax, facilitating the preparation
   of comprehensive problem statements for AI processing.
@@ -440,6 +449,7 @@ Ideas to be possibly implemented in the future:
     process to maintain text readability and compatibility.
 
 ** Configuration and logging
+
 - Implement a fallback mechanism to use a system-wide configuration
   file located in `/etc/` if no user-specific configuration is found,
   enhancing out-of-the-box usability for new users.
@@ -447,6 +457,7 @@ Ideas to be possibly implemented in the future:
   and performance monitoring without cluttering the standard output.
 
 ** Integration with external services
+
 - Add capabilities to connect with Jira, fetch content, and
   potentially update issues or comments based on AI processing
   results.
@@ -457,6 +468,7 @@ Ideas to be possibly implemented in the future:
   automation of web-based tasks.
 
 ** Tooling enhancements
+
 - Incorporate Python script execution capabilities directly by the AI,
   expanding the range of available data manipulation and processing
   tools.
@@ -468,6 +480,7 @@ Ideas to be possibly implemented in the future:
   reference its own notes, fostering context retention across tasks.
 
 ** Multimedia processing
+
 - Extend the application's capabilities to include voice capture and
   processing, opening up new avenues for interaction beyond text-based
   communication.
@@ -475,6 +488,7 @@ Ideas to be possibly implemented in the future:
   involve image analysis or content extraction from visual data.
 
 ** Task queue management
+
 - Refactor the task queue mechanism to support:
   - Multiple task sources, including a REST API endpoint for
     programmatic task submission.
@@ -485,6 +499,7 @@ Ideas to be possibly implemented in the future:
     processed in a timely manner.
 
 ** User interface development
+
 - Create a web-based UI to provide users with an interface for task
   submission and result retrieval, improving accessibility and user
   experience.
diff --git a/install b/install
index 0596533..b8b81e1 100755 (executable)
--- a/install
+++ b/install
@@ -8,10 +8,7 @@ ICON_FILE="$INSTALL_DIR/logo.png"
 APPLICATIONS_DIR="/usr/share/applications"
 SYSTEM_SERVICE_DIR="/etc/systemd/system"
 CONFIG_DIR="${HOME}/.config/"
-
-# Ask user if they want to install systemd service
-echo "Do you want to install Älyverkko CLI as a systemd service? (y/N)"
-read install_service
+SYSTEM_SERVICE="alyverkko-cli.service"
 
 # Build the application
 mvn --settings maven.xml clean package
@@ -53,10 +50,19 @@ else
     sudo cp alyverkko-cli.yaml "$CONFIG_DIR"
 fi
 
-# Install systemd service if requested
-if [[ $install_service == [Yy] ]]; then
+# Check if systemd service already exists
+if [ -f "$SYSTEM_SERVICE_DIR/$SYSTEM_SERVICE" ]; then
+    echo "Systemd service is already installed."
+    # Display the status without hanging
+    echo "Service status is:"
+    systemctl --no-pager -l status alyverkko-cli
+else
+    # Install systemd service if requested
+    echo "Do you want to install Älyverkko CLI as a systemd service? (y/N)"
+    read install_service
 
-cat <<EOF | sudo tee "$SYSTEM_SERVICE_DIR/alyverkko-cli.service" > /dev/null
+    if [[ $install_service == [Yy] ]]; then
+        cat <<EOF | sudo tee "$SYSTEM_SERVICE_DIR/$SYSTEM_SERVICE" > /dev/null
 [Unit]
 Description=Älyverkko CLI daemon in mail mode
 After=network.target
@@ -72,11 +78,12 @@ RestartSec=10
 [Install]
 WantedBy=multi-user.target
 EOF
-    sudo systemctl daemon-reload
-    sudo systemctl enable alyverkko-cli
-    sudo systemctl start alyverkko-cli
-    echo "Systemd service installed, enabled and started. Service status is:"
-    systemctl -l status alyverkko-cli
+        sudo systemctl daemon-reload
+        sudo systemctl enable alyverkko-cli
+        sudo systemctl start alyverkko-cli
+        echo "Systemd service installed, enabled and started. Service status is:"
+        systemctl --no-pager -l status alyverkko-cli
+    fi
 fi
 
 echo "Installation complete."