1 # Default configuration values
3 # Supported video players in order of preference.
4 # Should be able to play YouTube videos directly.
5 let supportedPlayers* = ["mpv", "vlc"]
7 # Only show these many results
10 # Download videos to this directory
11 let videoDownloadDirectory* = "~/Videos"
13 # Download music to this directory
14 let musicDownloadDirectory* = "~/Music"
16 # Rewrite Invidious URLs to YouTube
17 # Using Invidious as a proxy makes loading YouTube videos much slower
18 let rewriteInvidiousURLs* = true
20 # Invidious instance for querying
21 # This instance should have a valid public API
22 # Check like this: curl https://invidious.xyz/api/v1/search\?q\=cats
23 let invidiousInstance* = "https://invidious.tube"
26 Configuration goes through three levels of overrides:
28 /etc/nimcoon/config.json - configuration set by system administrator
29 ~/.config/nimcoon/config.json - per user configuration
30 default configuration provided in this file
35 # func getConfigFile(dir): string = getConfigDir() / "nimcoon" / "config.json"
37 # const ADMIN_CONFIGURATION = getConfigFile("etc")
38 # const USER_CONFIGURATION = getConfigFile(getConfigDir())
40 # const DEFAULT_CONFIGURATION = {
41 # "entries_per_page": 10,
42 # "video_download_directory": "~/Videos",
43 # "music_download_directory": "~/Music",
44 # "always_fullscreen": false, # TODO not implemented yet
45 # "rewrite_invidious_urls": false
46 # }.toTable # toTable creates an immutable Table (newTable doesn't)