diff options
Diffstat (limited to 'nixpkgs/nixos/modules/config/unix-odbc-drivers.nix')
-rw-r--r-- | nixpkgs/nixos/modules/config/unix-odbc-drivers.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nixpkgs/nixos/modules/config/unix-odbc-drivers.nix b/nixpkgs/nixos/modules/config/unix-odbc-drivers.nix new file mode 100644 index 000000000000..8dd811727389 --- /dev/null +++ b/nixpkgs/nixos/modules/config/unix-odbc-drivers.nix @@ -0,0 +1,38 @@ +{ config, lib, ... }: + +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 + +let + iniDescription = pkg: '' + [${pkg.fancyName}] + Description = ${pkg.meta.description} + Driver = ${pkg}/${pkg.driver} + ''; + +in { + ###### interface + + options = { + environment.unixODBCDrivers = mkOption { + type = types.listOf types.package; + default = []; + example = literalExample "with pkgs.unixODBCDrivers; [ sqlite psql ]"; + 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 = concatMapStringsSep "\n" iniDescription config.environment.unixODBCDrivers; + }; + +} |