From fa73c3167eca42fee081df64ad47319be37d999b Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sat, 4 Dec 2021 04:20:00 +0000 Subject: [PATCH] sqls: add module sqls is a SQL language server written in Go. See: https://github.com/lighttiger2505/sqls --- .github/CODEOWNERS | 2 ++ modules/misc/news.nix | 7 ++++++ modules/modules.nix | 1 + modules/programs/sqls.nix | 47 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 modules/programs/sqls.nix diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 843ce3bb1..273786a53 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -203,6 +203,8 @@ /modules/programs/sm64ex.nix @ivarwithoutbones /tests/modules/programs/sm64ex @ivarwithoutbones +/modules/programs/sqls.nix @marsam + /modules/programs/ssh.nix @rycee /modules/programs/starship.nix @marsam diff --git a/modules/misc/news.nix b/modules/misc/news.nix index 8bcd4e68c..57cd8bb74 100644 --- a/modules/misc/news.nix +++ b/modules/misc/news.nix @@ -2290,6 +2290,13 @@ in starting from v596. ''; } + + { + time = "2021-12-10T23:19:57+00:00"; + message = '' + A new module is available: 'programs.sqls'. + ''; + } ]; }; } diff --git a/modules/modules.nix b/modules/modules.nix index b62d6f4aa..6662dfb8d 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -132,6 +132,7 @@ let ./programs/senpai.nix ./programs/skim.nix ./programs/sm64ex.nix + ./programs/sqls.nix ./programs/ssh.nix ./programs/starship.nix ./programs/taskwarrior.nix diff --git a/modules/programs/sqls.nix b/modules/programs/sqls.nix new file mode 100644 index 000000000..33a8448ff --- /dev/null +++ b/modules/programs/sqls.nix @@ -0,0 +1,47 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.programs.sqls; + + yamlFormat = pkgs.formats.yaml { }; + +in { + meta.maintainers = [ maintainers.marsam ]; + + options.programs.sqls = { + enable = mkEnableOption "sqls, a SQL language server written in Go"; + + settings = mkOption { + type = yamlFormat.type; + default = { }; + example = literalExpression '' + { + lowercaseKeywords = true; + connections = [ + { + driver = "mysql"; + dataSourceName = "root:root@tcp(127.0.0.1:13306)/world"; + } + ]; + } + ''; + description = '' + Configuration written to + $XDG_CONFIG_HOME/sqls/config.yml. See + + for supported values. + ''; + }; + }; + + config = mkIf cfg.enable { + home.packages = [ pkgs.sqls ]; + + xdg.configFile."sqls/config.yml" = mkIf (cfg.settings != { }) { + source = yamlFormat.generate "sqls-config" cfg.settings; + }; + }; +}