如何在clojure应用程序中实现每用户.emacs样式的配置?

如何在clojure应用程序中实现每用户.emacs样式的配置?,clojure,config,dotfiles,Clojure,Config,Dotfiles,我有一个Clojure应用程序,它处理我们公司的一些数据。所以我想获得它定制抛出.myapp.clj文件或类似文件的可能性 它必须是clojure中的一个简单脚本,用户可以在其中定义自己的数据处理原则。他还必须有挖掘http后端和其他应用程序部件的可能性 那么,实施fiche的最佳方式是什么 我想到了几种不同复杂程度的方法。最简单的方法是让每个用户在其主目录中定义一个~/.myall.clj,然后程序的开始将包括一行: (def per-user-config (load-file "~/.my

我有一个Clojure应用程序,它处理我们公司的一些数据。所以我想获得它定制抛出
.myapp.clj
文件或类似文件的可能性

它必须是clojure中的一个简单脚本,用户可以在其中定义自己的数据处理原则。他还必须有挖掘http后端和其他应用程序部件的可能性


那么,实施fiche的最佳方式是什么

我想到了几种不同复杂程度的方法。最简单的方法是让每个用户在其主目录中定义一个
~/.myall.clj
,然后程序的开始将包括一行:

(def per-user-config (load-file "~/.myall.clj"))
load file
读取文件并返回文件中读取的最后一个表单。这允许您很好地组合配置文件。例如,您可以制作一个公司范围内的模板,该模板包含诸如
用户名
之类的符号,然后从定义用户名的每个用户配置文件加载该模板,然后在模板上调用
加载文件

config-template.clj:

{:app-name "foo"
 :user-url (str "http://server.company:8080/users/" user-name)
 :foo "bar"}
joes-config.clj:

(def user-name "joe")
(load-file "resources/global-config.clj")
这允许您通过git分发大部分配置,同时仍然允许用户覆盖配置的任意部分