diff options
author | Alan Pearce | 2024-05-23 13:22:50 +0200 |
---|---|---|
committer | Alan Pearce | 2024-05-23 13:22:50 +0200 |
commit | 052fce5bf2b1995fe45b88626e5342e61933d7cd (patch) | |
tree | e3c9b49250acee26c6aee1d43501c1cdddb83fc6 /internal/config | |
parent | 0dbfe37fbddb95c184d845c79bbe014597d55fe8 (diff) | |
download | searchix-052fce5bf2b1995fe45b88626e5342e61933d7cd.tar.lz searchix-052fce5bf2b1995fe45b88626e5342e61933d7cd.tar.zst searchix-052fce5bf2b1995fe45b88626e5342e61933d7cd.zip |
refactor: use a single value for per-source import timeouts
Diffstat (limited to 'internal/config')
-rw-r--r-- | internal/config/config.go | 90 | ||||
-rw-r--r-- | internal/config/structs.go | 25 |
2 files changed, 55 insertions, 60 deletions
diff --git a/internal/config/config.go b/internal/config/config.go index 0b3b9ba..c2e026c 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -118,33 +118,31 @@ var defaultConfig = Config{ UpdateAt: mustLocalTime("04:00:00"), Sources: map[string]*Source{ "nixos": { - Name: "NixOS", - Key: "nixos", - Enable: true, - Importer: Options, - Fetcher: Channel, - Channel: "nixpkgs", - URL: "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz", - ImportPath: "nixos/release.nix", - Attribute: "options", - OutputPath: "share/doc/nixos", - FetchTimeout: Duration{5 * time.Minute}, - ImportTimeout: Duration{15 * time.Minute}, - Repo: nixpkgs, + Name: "NixOS", + Key: "nixos", + Enable: true, + Importer: Options, + Fetcher: Channel, + Channel: "nixpkgs", + URL: "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz", + ImportPath: "nixos/release.nix", + Attribute: "options", + OutputPath: "share/doc/nixos", + Timeout: Duration{5 * time.Minute}, + Repo: nixpkgs, }, "darwin": { - Name: "Darwin", - Key: "darwin", - Enable: false, - Importer: Options, - Fetcher: Channel, - Channel: "darwin", - URL: "https://github.com/LnL7/nix-darwin/archive/master.tar.gz", - ImportPath: "release.nix", - Attribute: "options", - OutputPath: "share/doc/darwin", - FetchTimeout: Duration{5 * time.Minute}, - ImportTimeout: Duration{15 * time.Minute}, + Name: "Darwin", + Key: "darwin", + Enable: false, + Importer: Options, + Fetcher: Channel, + Channel: "darwin", + URL: "https://github.com/LnL7/nix-darwin/archive/master.tar.gz", + ImportPath: "release.nix", + Attribute: "options", + OutputPath: "share/doc/darwin", + Timeout: Duration{5 * time.Minute}, Repo: Repository{ Type: GitHub, Owner: "LnL7", @@ -152,18 +150,17 @@ var defaultConfig = Config{ }, }, "home-manager": { - Name: "Home Manager", - Key: "home-manager", - Enable: false, - Importer: Options, - Channel: "home-manager", - URL: "https://github.com/nix-community/home-manager/archive/master.tar.gz", - Fetcher: Channel, - ImportPath: "default.nix", - Attribute: "docs.json", - OutputPath: "share/doc/home-manager", - FetchTimeout: Duration{5 * time.Minute}, - ImportTimeout: Duration{15 * time.Minute}, + Name: "Home Manager", + Key: "home-manager", + Enable: false, + Importer: Options, + Channel: "home-manager", + URL: "https://github.com/nix-community/home-manager/archive/master.tar.gz", + Fetcher: Channel, + ImportPath: "default.nix", + Attribute: "docs.json", + OutputPath: "share/doc/home-manager", + Timeout: Duration{5 * time.Minute}, Repo: Repository{ Type: GitHub, Owner: "nix-community", @@ -171,16 +168,15 @@ var defaultConfig = Config{ }, }, "nixpkgs": { - Name: "Nix Packages", - Key: "nixpkgs", - Enable: true, - Importer: Packages, - Fetcher: ChannelNixpkgs, - Channel: "nixos-unstable", - OutputPath: "packages.json.br", - FetchTimeout: Duration{5 * time.Minute}, - ImportTimeout: Duration{15 * time.Minute}, - Repo: nixpkgs, + Name: "Nix Packages", + Key: "nixpkgs", + Enable: true, + Importer: Packages, + Fetcher: ChannelNixpkgs, + Channel: "nixos-unstable", + OutputPath: "packages.json.br", + Timeout: Duration{5 * time.Minute}, + Repo: nixpkgs, }, }, }, diff --git a/internal/config/structs.go b/internal/config/structs.go index 4137261..a434698 100644 --- a/internal/config/structs.go +++ b/internal/config/structs.go @@ -33,17 +33,16 @@ type Importer struct { } type Source struct { - Name string `comment:"Human-readable name of source for generating links"` - Key string `comment:"Machine-readable name of source. Must be URL- and path-safe."` - Enable bool `comment:"Controls whether to show in the web interface and to run fetch/import jobs."` - Fetcher Fetcher `comment:"How to fetch options.json. One of 'channel', 'channel-nixpkgs' or 'download'."` - Importer ImporterType `comment:"Kind of data available from source. Currently supports 'packages' and 'options'."` - Channel string `comment:"(Fetcher=channel) Local name for channel, (Fetcher=channel-nixpkgs) Remote name of channel."` - URL string `comment:"(Fetcher=channel) Remote URL for channel, (Fetcher=download) Path containing files named 'revision' and 'options.json'."` - Attribute string `comment:"(Fetcher=channel) Nix attribute name (i.e. nix-build -A) that builds an {options,packages}.json"` - ImportPath string `comment:"(Fetcher=channel) Sub-path of imported channel which contains the attribute above, e.g. release.nix"` - FetchTimeout Duration `comment:"Abort fetch if it takes longer than this."` - ImportTimeout Duration `comment:"Abort import if it takes longer than this."` - OutputPath string `comment:"(Fetcher=channel) Path under ./result symlink to folder containing {options,packages}.json."` - Repo Repository `comment:"Used to generate declaration/definition links"` + Name string `comment:"Human-readable name of source for generating links"` + Key string `comment:"Machine-readable name of source. Must be URL- and path-safe."` + Enable bool `comment:"Controls whether to show in the web interface and to run fetch/import jobs."` + Fetcher Fetcher `comment:"How to fetch options.json. One of 'channel', 'channel-nixpkgs' or 'download'."` + Importer ImporterType `comment:"Kind of data available from source. Currently supports 'packages' and 'options'."` + Channel string `comment:"(Fetcher=channel) Local name for channel, (Fetcher=channel-nixpkgs) Remote name of channel."` + URL string `comment:"(Fetcher=channel) Remote URL for channel, (Fetcher=download) Path containing files named 'revision' and 'options.json'."` + Attribute string `comment:"(Fetcher=channel) Nix attribute name (i.e. nix-build -A) that builds an {options,packages}.json"` + ImportPath string `comment:"(Fetcher=channel) Sub-path of imported channel which contains the attribute above, e.g. release.nix"` + Timeout Duration `comment:"Abort import if it takes longer than this."` + OutputPath string `comment:"(Fetcher=channel) Path under ./result symlink to folder containing {options,packages}.json."` + Repo Repository `comment:"Used to generate declaration/definition links"` } |