about summary refs log tree commit diff stats
path: root/internal/config
diff options
context:
space:
mode:
authorAlan Pearce2025-01-15 22:25:33 +0100
committerAlan Pearce2025-01-15 22:25:33 +0100
commit7aea6aa210a8939ac208fb7540d1b46ba69a995f (patch)
tree80f8db2539289ca545eb356bf87e2b764d39c966 /internal/config
parentb26ddba432f8bde78022d2fc8837f0ffb25448b1 (diff)
downloadsearchix-7aea6aa210a8939ac208fb7540d1b46ba69a995f.tar.lz
searchix-7aea6aa210a8939ac208fb7540d1b46ba69a995f.tar.zst
searchix-7aea6aa210a8939ac208fb7540d1b46ba69a995f.zip
feat: enable searching via program names for multi-program packages
implements: https://todo.sr.ht/~alanpearce/searchix/6
Diffstat (limited to 'internal/config')
-rw-r--r--internal/config/default.go6
-rw-r--r--internal/config/structs.go6
2 files changed, 11 insertions, 1 deletions
diff --git a/internal/config/default.go b/internal/config/default.go
index a857799..5202678 100644
--- a/internal/config/default.go
+++ b/internal/config/default.go
@@ -113,8 +113,12 @@ var DefaultConfig = Config{
 				Fetcher:    ChannelNixpkgs,
 				Channel:    "nixos-unstable",
 				OutputPath: "packages.json.br",
-				Timeout:    Duration{5 * time.Minute},
+				Timeout:    Duration{15 * time.Minute},
 				Repo:       nixpkgs,
+				Programs: ProgramsDB{
+					Enable:    true,
+					Attribute: "programs.sqlite",
+				},
 			},
 		},
 	},
diff --git a/internal/config/structs.go b/internal/config/structs.go
index b31e0cd..e73425b 100644
--- a/internal/config/structs.go
+++ b/internal/config/structs.go
@@ -48,6 +48,12 @@ type Source struct {
 	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"`
+	Programs   ProgramsDB   `comment:"Used to enable searching for programs in multi-program packages"`
+}
+
+type ProgramsDB struct {
+	Enable    bool   `comment:"Enable searching for programs in multi-program packages"`
+	Attribute string `comment:"Nix attribute name (i.e. nix-instantiate) that builds a programs.sqlite file"`
 }
 
 func (source *Source) String() string {