2014-04-14 18:26:48 +04:00
|
|
|
{ config, lib, pkgs, ... }:
|
2009-03-06 15:25:33 +03:00
|
|
|
|
2014-04-14 18:26:48 +04:00
|
|
|
with lib;
|
2013-09-04 15:05:09 +04:00
|
|
|
|
|
|
|
# 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
|
2009-03-06 15:25:33 +03:00
|
|
|
|
|
|
|
options = {
|
2013-09-04 15:05:09 +04:00
|
|
|
environment.unixODBCDrivers = mkOption {
|
2016-01-17 21:34:55 +03:00
|
|
|
type = types.listOf types.package;
|
2013-09-04 15:05:09 +04:00
|
|
|
default = [];
|
2016-01-17 21:34:55 +03:00
|
|
|
example = literalExample "with pkgs.unixODBCDrivers; [ mysql psql psqlng ]";
|
2013-09-04 15:05:09 +04:00
|
|
|
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.
|
|
|
|
'';
|
2009-03-06 15:25:33 +03:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2013-09-04 15:05:09 +04:00
|
|
|
###### implementation
|
2009-03-06 15:25:33 +03:00
|
|
|
|
2013-09-04 15:05:09 +04:00
|
|
|
config = mkIf (config.environment.unixODBCDrivers != []) {
|
2009-03-06 15:25:33 +03:00
|
|
|
|
2013-09-04 15:05:09 +04:00
|
|
|
environment.etc."odbcinst.ini".text =
|
2016-01-17 21:34:55 +03:00
|
|
|
let inis = map (x : x.ini) config.environment.unixODBCDrivers;
|
2014-05-05 22:58:51 +04:00
|
|
|
in lib.concatStringsSep "\n" inis;
|
2009-03-06 15:25:33 +03:00
|
|
|
|
|
|
|
};
|
2013-09-04 15:05:09 +04:00
|
|
|
|
2009-03-06 15:25:33 +03:00
|
|
|
}
|