From b8b0f7fad1f3382dbf7d2b198dc4a737cfe81257 Mon Sep 17 00:00:00 2001 From: Michael Salaverry Date: Sun, 17 Sep 2023 12:12:52 +0300 Subject: [PATCH] refactor: ditch docker container support in favor of simpler nix --- .devcontainer.json | 4 +- devenv.lock | 310 +------------------ devenv.nix | 14 +- devenv.yaml | 4 +- docs/contributing/development-environment.md | 4 +- 5 files changed, 27 insertions(+), 309 deletions(-) diff --git a/.devcontainer.json b/.devcontainer.json index 75b8759c..75877d8b 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -2,7 +2,9 @@ "customizations": { "vscode": { "extensions": [ - "mkhl.direnv" + "bbenoist.Nix", + "ms-python.python", + "batisteo.vscode-django" ] } }, diff --git a/devenv.lock b/devenv.lock index 677139e2..4b848a91 100644 --- a/devenv.lock +++ b/devenv.lock @@ -1,24 +1,18 @@ { "nodes": { "devenv": { - "inputs": { - "flake-compat": "flake-compat", - "nix": "nix", - "nixpkgs": "nixpkgs", - "poetry2nix": "poetry2nix", - "pre-commit-hooks": "pre-commit-hooks" - }, "locked": { - "lastModified": 1694363239, - "narHash": "sha256-YndHF21CH/m60aXK4MuW2tEkbNMNezeRgKI3ACocULU=", + "dir": "src/modules", + "lastModified": 1694422554, + "narHash": "sha256-s5NTPzT66yIMmau+ZGP7q9z4NjgceDETL4xZ6HJ/TBg=", "owner": "cachix", "repo": "devenv", - "rev": "42b06d40dc74f7b8783858b574293865a8ee1405", + "rev": "63d20fe09aa09060ea9ec9bb6d582c025402ba15", "type": "github" }, "original": { + "dir": "src/modules", "owner": "cachix", - "ref": "python-rewrite", "repo": "devenv", "type": "github" } @@ -39,75 +33,7 @@ "type": "github" } }, - "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1685518550, - "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { "locked": { "lastModified": 1653893745, "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", @@ -122,9 +48,9 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_2": { "inputs": { - "systems": "systems_3" + "systems": "systems" }, "locked": { "lastModified": 1685518550, @@ -143,7 +69,6 @@ "gitignore": { "inputs": { "nixpkgs": [ - "devenv", "pre-commit-hooks", "nixpkgs" ] @@ -162,43 +87,6 @@ "type": "github" } }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "lowdown-src": { - "flake": false, - "locked": { - "lastModified": 1633514407, - "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", - "owner": "kristapsdz", - "repo": "lowdown", - "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", - "type": "github" - }, - "original": { - "owner": "kristapsdz", - "repo": "lowdown", - "type": "github" - } - }, "mk-shell-bin": { "locked": { "lastModified": 1677004959, @@ -214,56 +102,9 @@ "type": "github" } }, - "nix": { - "inputs": { - "flake-compat": "flake-compat_2", - "lowdown-src": "lowdown-src", - "nixpkgs": [ - "devenv", - "nixpkgs" - ], - "nixpkgs-regression": "nixpkgs-regression" - }, - "locked": { - "lastModified": 1692895818, - "narHash": "sha256-lfIz37c24QpkwAHJCDHrDNtQyMBdxq7RWG5sojbtARU=", - "owner": "domenkozar", - "repo": "nix", - "rev": "ca8a41cfc176dc7adad02ab756f6faef6e90ff1f", - "type": "github" - }, - "original": { - "owner": "domenkozar", - "ref": "devenv-2.17", - "repo": "nix", - "type": "github" - } - }, - "nix-github-actions": { - "inputs": { - "nixpkgs": [ - "devenv", - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688870561, - "narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "165b1650b753316aa7f1787f3005a8d2da0f5301", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, "nix2container": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" ] @@ -298,22 +139,6 @@ "type": "github" } }, - "nixpkgs-regression": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1685801374, @@ -330,71 +155,12 @@ "type": "github" } }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1685801374, - "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1694760568, - "narHash": "sha256-3G07BiXrp2YQKxdcdms22MUx6spc6A++MSePtatCYuI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "46688f8eb5cd6f1298d873d4d2b9cf245e09e88e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "poetry2nix": { - "inputs": { - "flake-utils": "flake-utils", - "nix-github-actions": "nix-github-actions", - "nixpkgs": [ - "devenv", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1694165861, - "narHash": "sha256-FMiPKVcNxb9QWATnQrC68nIL2t8Fm4zBH0XyLz9uqko=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "c3d3c4a0396b1bcccd72c82551a319229997f6e4", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { - "flake-compat": [ - "devenv", - "flake-compat" - ], + "flake-compat": "flake-compat", "flake-utils": "flake-utils_2", "gitignore": "gitignore", "nixpkgs": [ - "devenv", "nixpkgs" ], "nixpkgs-stable": "nixpkgs-stable" @@ -413,37 +179,13 @@ "type": "github" } }, - "pre-commit-hooks_2": { - "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_4", - "gitignore": "gitignore_2", - "nixpkgs": [ - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1694364351, - "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "devenv": "devenv", "mk-shell-bin": "mk-shell-bin", "nix2container": "nix2container", - "nixpkgs": "nixpkgs_2", - "pre-commit-hooks": "pre-commit-hooks_2" + "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks" } }, "systems": { @@ -460,36 +202,6 @@ "repo": "default", "type": "github" } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/devenv.nix b/devenv.nix index 07ff56dd..44346233 100644 --- a/devenv.nix +++ b/devenv.nix @@ -8,6 +8,7 @@ packages = [ pkgs.pipenv pkgs.nodejs_18 + pkgs.nodePackages.gulp ]; # https://devenv.sh/scripts/ @@ -15,8 +16,8 @@ enterShell = '' pipenv install --dev npm i - npx gulp migrate - npx gulp + gulp migrate + gulp ''; # https://devenv.sh/languages/ @@ -26,7 +27,14 @@ npm.install.enable = true; }; - devcontainer.enable = true; + devcontainer = { + enable = true; + settings.customizations.vscode.extensions = [ + "bbenoist.Nix" + "ms-python.python" + "batisteo.vscode-django" + ]; + }; # services.nginx.enable = true; diff --git a/devenv.yaml b/devenv.yaml index db2d8b5c..e3a08677 100644 --- a/devenv.yaml +++ b/devenv.yaml @@ -7,6 +7,4 @@ inputs: nixpkgs: follows: nixpkgs mk-shell-bin: - url: github:rrbutani/nix-mk-shell-bin - devenv: - url: github:cachix/devenv/python-rewrite \ No newline at end of file + url: github:rrbutani/nix-mk-shell-bin \ No newline at end of file diff --git a/docs/contributing/development-environment.md b/docs/contributing/development-environment.md index 3d04fa58..06ac6657 100644 --- a/docs/contributing/development-environment.md +++ b/docs/contributing/development-environment.md @@ -85,6 +85,4 @@ username and password (`admin`/`admin`). 1. Open [http://127.0.0.1:8000](http://127.0.0.1:8000) and log in with the default username and password (`admin`/`admin`). -This method also lets you generate a docker image from your devenv afterwards using `devenv container shell` https://devenv.sh/containers/ . You can run this docker development image using `devenv container shell --docker-run` - -devenv also generates the devcontainer for vscode \ No newline at end of file +Devenv also generates the devcontainer for vscode, and sets up github codespaces support. To run babybuddy, open a terminal after opening this repo in the devcontainer \ No newline at end of file