summary refs log tree commit diff
path: root/nixos/modules/config/unix-odbc-drivers.nix
blob: 98929392acec2473d26bb2b39c54f4c86d4cd6cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{ config, lib, pkgs, ... }:

with 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 lib.concatStringsSep "\n" inis;

  };

}