diff options
Diffstat (limited to 'nixos/modules/config/unix-odbc-drivers.nix')
-rw-r--r-- | nixos/modules/config/unix-odbc-drivers.nix | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/nixos/modules/config/unix-odbc-drivers.nix b/nixos/modules/config/unix-odbc-drivers.nix new file mode 100644 index 000000000000..0f6084690589 --- /dev/null +++ b/nixos/modules/config/unix-odbc-drivers.nix @@ -0,0 +1,34 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +# unixODBC drivers (this solution is not perfect.. Because the user has to +# ask the admin to add a driver.. but it's simple and works + +{ + ###### interface + + options = { + environment.unixODBCDrivers = mkOption { + default = []; + example = literalExample "map (x : x.ini) (with pkgs.unixODBCDrivers; [ mysql psql psqlng ] )"; + description = '' + Specifies Unix ODBC drivers to be registered in + <filename>/etc/odbcinst.ini</filename>. You may also want to + add <literal>pkgs.unixODBC</literal> to the system path to get + a command line client to connnect to ODBC databases. + ''; + }; + }; + + ###### implementation + + config = mkIf (config.environment.unixODBCDrivers != []) { + + environment.etc."odbcinst.ini".text = + let inis = config.environment.unixODBCDrivers; + in pkgs.lib.concatStringsSep "\n" inis; + + }; + +} |