all repos — searchix @ 8c1332020d25f74baa463bb1cec0e6783f565034

Search engine for NixOS, nix-darwin, home-manager and NUR users

feat: link to exact commits in NixOS/nixpkgs

Alan Pearce
commit

8c1332020d25f74baa463bb1cec0e6783f565034

parent

c0fbf11f843af84e8891a708c4d217dd6c523473

1 file changed, 15 insertions(+), 3 deletions(-)

changed files
M process/main.goprocess/main.go
@@ -4,6 +4,8 @@ import (
"log" "log/slog" "os" + "strings" + "searchix/internal/options" "github.com/ardanlabs/conf/v3"
@@ -11,8 +13,11 @@ "github.com/pkg/errors"
) type Config struct { - Input string `conf:"short:i,required,help:NixOS options file (json)"` - Output string `conf:"short:o,default:/dev/stdout"` + Input string `conf:"short:i,required,help:NixOS options file (json)"` + Output string `conf:"short:o,default:/dev/stdout"` + Revision string `conf:"short:r,flag:revision,default:master"` + RevisionFile string `conf:"short:f,flag:revision-file"` + Channel string `conf:"short:c,flag:channel,default:nixpkgs"` } func main() {
@@ -29,8 +34,15 @@ log.Fatalln(help)
} log.Fatalf("parsing command line: %v", err) } + if config.RevisionFile != "" { + f, err := os.ReadFile(config.RevisionFile) + if err != nil { + log.Fatalf("Error reading revision file %s: %v", config.RevisionFile, err) + } + config.Revision = strings.TrimSpace(string(f)) + } - err = options.Process(config.Input, config.Output) + err = options.Process(config.Input, config.Output, config.Channel, config.Revision) if err != nil { log.Fatalf("Error processing file: %v", err) }