Smos Logo Smos

A comprehensive self-management system

The Smos Calendar Import Tool

Documentation for the Smos Calendar Import Tool, for importing your calendar into Smos

This tool exists to import your calendar from an external source into Smos.

Make sure to run it periodically.

Note that you can also ignore specific events while importing, by adding SMOS_NO_CALENDAR_IMPORT to their description.

See the instructions for running it on NixOS for automation for that on NixOS.

Reference

Options

  --config-file           Path to the configuration file                                                            
  --workflow-dir          The workflow directory                                                                    
  --archive-dir           The archive directory                                                                     
  --projects-dir          The projects directory                                                                    
  --archived-projects-dir The archived projects directory                                                           
  --log-level             Minimal severity of log messages default: Info  examples: "Debug", "Info", "Warn", "Error"
  --debug                 Turn on debug output             default: False                                           

Environment variables

  SMOS_CONFIG_FILE FILE_PATH                  Path to the configuration file                                                               
  SMOS_WORKFLOW_DIR DIRECTORY_PATH            The workflow directory                                                                       
  SMOS_ARCHIVE_DIR DIRECTORY_PATH             The archive directory                                                                        
  SMOS_PROJECTS_DIR DIRECTORY_PATH            The projects directory                                                                       
  SMOS_ARCHIVED_PROJECTS_DIR DIRECTORY_PATH   The archived projects directory                                                              
  SMOS_CALENDAR_LOG_LEVEL LOG_LEVEL           Minimal severity of log messages   default: Info   examples: "Debug", "Info", "Warn", "Error"

Configuration values

  The workflow directory
  workflow-dir:
    # or null
    <string>
  The archive directory
  archive-dir:
    # or null
    <string>
  The projects directory
  projects-dir:
    # or null
    <string>
  The archived projects directory
  archived-projects-dir:
    # or null
    <string>
  Minimal severity of log messages
  default: Info
  examples: "Debug", "Info", "Warn", "Error"
  calendar.log-level:
    # or null
    def: LogLevel
    # The log level to use, options:
    # ["Debug","Info","Warn","Error"]
    <string>
  Calendar sources to import from
  calendar.sources:
    # or null
    - # SourceConfiguration
      name: # optional
        # The name of the source
        # or null
        <string>
      source: # optional
        # the url to fetch or file to import
        # or null
        # If you are using Google, you want to get the URL that has these labels:
        # "Use this address to access this calendar from other applications without making it public."
        # "Warning: Only share this address with those you trust to see all event details for this calendar."
        # For more info, see https://support.google.com/calendar/answer/37648?hl=en#zippy=%2Cget-your-calendar-view-only.
        <string>
      source-file: # optional
        # the file that contains the url to fetch or file to import
        # or null
        <string>
      destination: # required
        # The destination path within the workflow directory
        <string>

Combined settings

Usage: smos-calendar-import [--config-file FILE_PATH] [--workflow-dir DIRECTORY_PATH] [--archive-dir DIRECTORY_PATH] [--projects-dir DIRECTORY_PATH] [--archived-projects-dir DIRECTORY_PATH] [--log-level LOG_LEVEL] [--debug]

All settings:
  Show this help text
  switch: -h|--help

  Output version information
  switch: --version

  Path to the configuration file
  option: --config-file FILE_PATH
  env: SMOS_CONFIG_FILE FILE_PATH

  The workflow directory
  option: --workflow-dir DIRECTORY_PATH
  env: SMOS_WORKFLOW_DIR DIRECTORY_PATH
  config:
    workflow-dir: # or null
      <string>

  The archive directory
  option: --archive-dir DIRECTORY_PATH
  env: SMOS_ARCHIVE_DIR DIRECTORY_PATH
  config:
    archive-dir: # or null
      <string>

  The projects directory
  option: --projects-dir DIRECTORY_PATH
  env: SMOS_PROJECTS_DIR DIRECTORY_PATH
  config:
    projects-dir: # or null
      <string>

  The archived projects directory
  option: --archived-projects-dir DIRECTORY_PATH
  env: SMOS_ARCHIVED_PROJECTS_DIR DIRECTORY_PATH
  config:
    archived-projects-dir: # or null
      <string>

  Minimal severity of log messages
  option: --log-level LOG_LEVEL
  env: SMOS_CALENDAR_LOG_LEVEL LOG_LEVEL
  config:
    calendar.log-level: # or null
      def: LogLevel
      # The log level to use, options:
      # ["Debug","Info","Warn","Error"]
      <string>
  default: Info
  examples: "Debug", "Info", "Warn", "Error"

  Calendar sources to import from
  config:
    calendar.sources: # or null
      - # SourceConfiguration
        name: # optional
          # The name of the source
          # or null
          <string>
        source: # optional
          # the url to fetch or file to import
          # or null
          # If you are using Google, you want to get the URL that has these labels:
          # "Use this address to access this calendar from other applications without making it public."
          # "Warning: Only share this address with those you trust to see all event details for this calendar."
          # For more info, see https://support.google.com/calendar/answer/37648?hl=en#zippy=%2Cget-your-calendar-view-only.
          <string>
        source-file: # optional
          # the file that contains the url to fetch or file to import
          # or null
          <string>
        destination: # required
          # The destination path within the workflow directory
          <string>

  Turn on debug output
  switch: --debug
  default: False

Options:
  -h|--help               Show this help text                                                                       
  --version               Output version information                                                                
  --config-file           Path to the configuration file                                                            
  --workflow-dir          The workflow directory                                                                    
  --archive-dir           The archive directory                                                                     
  --projects-dir          The projects directory                                                                    
  --archived-projects-dir The archived projects directory                                                           
  --log-level             Minimal severity of log messages default: Info  examples: "Debug", "Info", "Warn", "Error"
  --debug                 Turn on debug output             default: False                                           

Environment Variables:
  SMOS_CONFIG_FILE FILE_PATH                  Path to the configuration file                                                               
  SMOS_WORKFLOW_DIR DIRECTORY_PATH            The workflow directory                                                                       
  SMOS_ARCHIVE_DIR DIRECTORY_PATH             The archive directory                                                                        
  SMOS_PROJECTS_DIR DIRECTORY_PATH            The projects directory                                                                       
  SMOS_ARCHIVED_PROJECTS_DIR DIRECTORY_PATH   The archived projects directory                                                              
  SMOS_CALENDAR_LOG_LEVEL LOG_LEVEL           Minimal severity of log messages   default: Info   examples: "Debug", "Info", "Warn", "Error"

Configuration Values:
  The workflow directory
  workflow-dir:
    # or null
    <string>
  The archive directory
  archive-dir:
    # or null
    <string>
  The projects directory
  projects-dir:
    # or null
    <string>
  The archived projects directory
  archived-projects-dir:
    # or null
    <string>
  Minimal severity of log messages
  default: Info
  examples: "Debug", "Info", "Warn", "Error"
  calendar.log-level:
    # or null
    def: LogLevel
    # The log level to use, options:
    # ["Debug","Info","Warn","Error"]
    <string>
  Calendar sources to import from
  calendar.sources:
    # or null
    - # SourceConfiguration
      name: # optional
        # The name of the source
        # or null
        <string>
      source: # optional
        # the url to fetch or file to import
        # or null
        # If you are using Google, you want to get the URL that has these labels:
        # "Use this address to access this calendar from other applications without making it public."
        # "Warning: Only share this address with those you trust to see all event details for this calendar."
        # For more info, see https://support.google.com/calendar/answer/37648?hl=en#zippy=%2Cget-your-calendar-view-only.
        <string>
      source-file: # optional
        # the file that contains the url to fetch or file to import
        # or null
        <string>
      destination: # required
        # The destination path within the workflow directory
        <string>