aboutsummaryrefslogtreecommitdiff
path: root/.config/nixpkgs
diff options
context:
space:
mode:
Diffstat (limited to '.config/nixpkgs')
-rw-r--r--.config/nixpkgs/config.nix7
-rw-r--r--.config/nixpkgs/packages/skeema/default.nix23
-rw-r--r--.config/nixpkgs/packages/sqldef/default.nix23
-rw-r--r--.config/nixpkgs/packages/sqlfluff/default.nix58
4 files changed, 110 insertions, 1 deletions
diff --git a/.config/nixpkgs/config.nix b/.config/nixpkgs/config.nix
index ff37c35..e82e58c 100644
--- a/.config/nixpkgs/config.nix
+++ b/.config/nixpkgs/config.nix
@@ -183,7 +183,6 @@ in
sigil
skippy-xd
spaceFM
- sqlitebrowser
sublime3-dev
sxiv
syncthing
@@ -417,7 +416,13 @@ in
SQL = pkgs.buildEnv {
name = "sql";
paths = [
+ (callPackage ./packages/skeema/default.nix {})
+ (callPackage ./packages/sqldef/default.nix {})
+ (callPackage ./packages/sqlfluff/default.nix {})
+ dbeaver
+ pgformatter
sqlint
+ sqlite
];
};
diff --git a/.config/nixpkgs/packages/skeema/default.nix b/.config/nixpkgs/packages/skeema/default.nix
new file mode 100644
index 0000000..4017f75
--- /dev/null
+++ b/.config/nixpkgs/packages/skeema/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit, buildGoModule }:
+
+buildGoModule rec {
+ pname = "skeema";
+ version = "v1.5.0";
+ url = "https://github.com/skeema/skeema";
+
+ src = fetchgit {
+ inherit url;
+ rev = version;
+ sha256 = "0mrspmgiww0jlpml24r5f4ail8153f2liva88w9760fd5aky3ix3";
+ };
+
+ vendorSha256 = null;
+
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ homepage = url;
+ license = licenses.asl20;
+ description = "Schema management CLI for MySQL";
+ };
+}
diff --git a/.config/nixpkgs/packages/sqldef/default.nix b/.config/nixpkgs/packages/sqldef/default.nix
new file mode 100644
index 0000000..6829f00
--- /dev/null
+++ b/.config/nixpkgs/packages/sqldef/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit, buildGoModule }:
+
+buildGoModule rec {
+ pname = "sqldef";
+ version = "v0.8.9";
+ url = "https://github.com/k0kubun/sqldef";
+
+ src = fetchgit {
+ inherit url;
+ rev = version;
+ sha256 = "1hvx05qwy2g4r1zc1k2f9xv4z815p5jh1a6g41fdlxskjl3kyyf5";
+ };
+
+ vendorSha256 = "066184zmwdhd8dbkbmwds8aimiawfcvb8px8z1q48c949gvywlx7";
+
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ homepage = url;
+ license = licenses.mit;
+ description = "Idempotent MySQL/PostgreSQL schema management by SQL";
+ };
+}
diff --git a/.config/nixpkgs/packages/sqlfluff/default.nix b/.config/nixpkgs/packages/sqlfluff/default.nix
new file mode 100644
index 0000000..0030d31
--- /dev/null
+++ b/.config/nixpkgs/packages/sqlfluff/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchgit, python36 }:
+
+with python36.pkgs;
+
+let
+
+ bench-it = buildPythonPackage rec {
+ pname = "bench-it";
+ version = "1.0.1";
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0v6kfvgdnjlfmwlafmyjadgllfr8qc1hq83kz9q287gh5nvw851f";
+ };
+ postPatch = ''
+ # Avoid building pypandoc
+ sed -i 's|^import pypandoc.*||' setup.py
+ sed -i 's|^description = pypandoc.*|description = ""|' setup.py
+ '';
+ doCheck = false;
+ };
+
+in buildPythonApplication rec {
+
+ pname = "sqlfluff";
+ url = "https://github.com/sqlfluff/sqlfluff";
+ version = "0.4.1";
+
+ src = fetchgit {
+ inherit url;
+ rev = version;
+ sha256 = "0g53rhdg8b2p3xx9rmkc2fkqnz4fsrmkg98n5fi10s16wscn90kz";
+ };
+
+ propagatedBuildInputs = [
+ appdirs
+ bench-it
+ cached-property
+ click
+ colorama
+ configparser
+ dataclasses
+ diff_cover
+ jinja2
+ oyaml
+ pathspec
+ pluggy
+ typing-extensions
+ ];
+
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ homepage = url;
+ license = licenses.mit;
+ platforms = platforms.linux;
+ description = "A SQL linter and auto-formatter for Humans";
+ };
+}