[Unit] # Human readable name shown by systemd. Description=CandyWidgets Alarm Widget Scheduler # Link to the project's documentation or source repository. Documentation=https://git.candifloss.cc/candifloss/alarm_app.git [Service] # The process runs in the foreground and is managed directly by systemd. Type=simple # Start the alarm_widg executable. # systemd resolves this using the user's executable search path. ExecStart=alarm_widg # Restart the service automatically when the program exits unexpectedly. Restart=on-failure # Wait three seconds before attempting a restart. RestartSec=3 # Enable Rust backtraces if the application panics. Environment=RUST_BACKTRACE=1 # Use a consistent identifier for messages from this service in the journal. SyslogIdentifier=alarm_widg # Prevent the service from gaining additional privileges. NoNewPrivileges=true # Give the service its own private /tmp directory. PrivateTmp=true # Make the system filesystem read-only to the service. ProtectSystem=strict # Make the user's home directory read-only to the service. ProtectHome=read-only # Allow the application to write to its configuration directory. ReadWritePaths=%h/.config/candywidgets [Install] # Start the service automatically when the user's default systemd target starts. WantedBy=default.target