dotfiles/setup.rkt

56 lines
1.5 KiB
Racket
Raw Normal View History

#!/usr/bin/racket
#lang racket
;; Script for setting up the config.
2023-05-04 23:19:34 +02:00
(require racket/runtime-path
"setup/common.rkt")
;; Valid verbs
2024-02-27 17:31:04 +01:00
(define verbs '(install-scripts install-plugins install-lsps-paru setup-nvim-config setup-nix confgen))
(define verb
2023-11-04 11:51:11 +01:00
(command-line #:program "setup.rkt"
#:usage-help "Sets up my dotfiles. Available verbs:"
"install-scripts, install-plugins, install-lsps-paru, setup-nvim-config, confgen"
#:once-each
[("-o" "--bin-output") o "Output directory for executables" (output-bin-path o)]
#:args (verb)
(string->symbol verb)))
;; Disable random printing of top-level stuff
(current-print void)
;; Set working directory to the location of the script
(begin
(define-runtime-path script-dir ".")
(current-directory script-dir))
;; Verify valid verb
(unless (for/or ([valid-verb verbs])
(symbol=? valid-verb verb))
(raise-user-error "Invalid verb" verb))
;; Load local config
2023-11-04 11:51:11 +01:00
(load-config)
(match verb
['install-scripts
2023-05-04 23:19:34 +02:00
(local-require "setup/commands/install-scripts.rkt")
(run)]
['install-plugins
(local-require "setup/commands/install-plugins.rkt")
(run)]
['install-lsps-paru
2023-05-04 23:19:34 +02:00
(local-require "setup/commands/install-lsps-paru.rkt")
(run)]
['setup-nvim-config
2023-05-04 23:19:34 +02:00
(local-require "setup/commands/setup-nvim-config.rkt")
(run)]
2024-02-27 17:31:04 +01:00
['setup-nix
(local-require "setup/commands/setup-nix.rkt")
(run)]
['confgen
2023-05-04 23:19:34 +02:00
(local-require "setup/commands/confgen.rkt")
(run)])