From e6ed60548397627bf10f561f9438201dbba0a36e Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Sun, 21 Apr 2024 02:15:42 +0300 Subject: 2024-04-21 --- modules/nixos/postgresql.nix | 98 -------------------------------------------- 1 file changed, 98 deletions(-) delete mode 100644 modules/nixos/postgresql.nix (limited to 'modules/nixos/postgresql.nix') diff --git a/modules/nixos/postgresql.nix b/modules/nixos/postgresql.nix deleted file mode 100644 index 5081340..0000000 --- a/modules/nixos/postgresql.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ - config, - lib, - pkgs, - this, - ... -}: -with lib; -let - cfg = config.nixfiles.modules.postgresql; -in -{ - options.nixfiles.modules.postgresql = { - enable = mkEnableOption "PostgreSQL"; - - package = mkOption { - type = types.package; - default = pkgs.postgresql_15; - description = "PostgreSQL package to use."; - }; - - extraPostStart = mkOption { - type = with types; listOf str; - default = [ ]; - description = '' - Additional post-startup commands. - - This could be used to provide a crude interface to grant permissions and - such. - ''; - }; - }; - - config = mkIf cfg.enable { - assertions = [ - { - assertion = any (x: x == "en_GB.UTF-8/UTF-8") config.i18n.supportedLocales; - message = "The locale must be available"; - } - ]; - - ark.directories = [ config.services.postgresql.dataDir ]; - - services = { - postgresql = { - enable = true; - - inherit (cfg) package; - - # In hindsight, it was a poor choice to use ICU as a locale provider. - # Now each time ICU version is bumped, I need to carefully upgrade each - # database to match the version. - initdbArgs = [ - "--encoding=UTF8" - "--locale-provider=icu" - "--icu-locale=en_GB@collation=posix" - "--locale=en_GB.UTF-8" - "--lc-collate=C" - "--lc-ctype=C" - ]; - - # This crutch is here because some services cannot work via a UNIX - # socket connection and I can't be bothered to configure proper - # authentication. - authentication = '' - local all all trust - ''; - }; - - prometheus.exporters.postgres = { - enable = true; - listenAddress = mkDefault this.wireguard.ipv4.address; - port = mkDefault 9187; - }; - }; - - systemd.services.postgresql.postStart = optionalString ( - cfg.extraPostStart != [ ] - ) concatLines cfg.extraPostStart; - - environment.sessionVariables.PSQLRC = toString ( - pkgs.writeText "psqlrc" '' - \set QUIET 1 - - \timing - \x auto - \pset null '[NULL]' - \set PROMPT1 '%[%033[1m%]%M %n@%/%R%[%033[0m%]% λ ' - \set PROMPT2 ' … > ' - \set VERBOSITY verbose - \set HISTCONTROL ignoredups - \set HISTFILE /dev/null - - \unset QUIET - '' - ); - }; -} -- cgit 1.4.1