28 lines
784 B
Racket
28 lines
784 B
Racket
#lang racket/base
|
|
(require
|
|
racket/function
|
|
racket/list
|
|
racket/pretty
|
|
racket/string
|
|
setup/dirs
|
|
)
|
|
|
|
(define config-file (build-path (find-config-dir) "config.rktd"))
|
|
|
|
(define lib-paths
|
|
((compose remove-duplicates
|
|
(curry map (curryr string-trim "-L" #:right? #f))
|
|
(curry filter (curryr string-prefix? "-L"))
|
|
string-split)
|
|
(getenv "NIX_LDFLAGS")))
|
|
|
|
(define config
|
|
(let* ([prev-config (read-installation-configuration-table)]
|
|
[prev-lib-search-dirs (hash-ref prev-config 'lib-search-dirs '(#f))]
|
|
[lib-search-dirs (remove-duplicates (append lib-paths prev-lib-search-dirs))])
|
|
(hash-set prev-config 'lib-search-dirs lib-search-dirs)))
|
|
|
|
(call-with-output-file config-file
|
|
#:exists 'replace
|
|
(curry pretty-write config))
|