diff --git a/.envrc b/.envrc index 1d953f4..163bbd9 100644 --- a/.envrc +++ b/.envrc @@ -1 +1,3 @@ -use nix +#!/usr/bin/env bash +eval "$(devenv direnvrc)" +use devenv diff --git a/.gitignore b/.gitignore index 2ad5b72..1321ab8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,25 @@ node_modules /docs/**/*.md /docs/.vuepress/dist/ /.yarn/ + +# Devenv +.devenv* +devenv.local.nix +devenv.local.yaml + +# direnv +.direnv + +# pre-commit +.pre-commit-config.yaml + +# Devenv +.devenv* +devenv.local.nix +devenv.local.yaml + +# direnv +.direnv + +# pre-commit +.pre-commit-config.yaml diff --git a/devenv.lock b/devenv.lock new file mode 100644 index 0000000..9a9fbca --- /dev/null +++ b/devenv.lock @@ -0,0 +1,65 @@ +{ + "nodes": { + "devenv": { + "locked": { + "dir": "src/modules", + "lastModified": 1783538213, + "narHash": "sha256-jNjKlmrejUrBgVAeiavlMLlkmC7ZEv1D9nhfuwMW5Q8=", + "owner": "cachix", + "repo": "devenv", + "rev": "d1fb321e73048d0e1e2b523580268ebb3df2ae90", + "type": "github" + }, + "original": { + "dir": "src/modules", + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "nixpkgs": { + "inputs": { + "nixpkgs-src": "nixpkgs-src" + }, + "locked": { + "lastModified": 1783345554, + "narHash": "sha256-LZhOm4kqjHUnwP4CNHpaqqEVcumGNd1PvOEOad8LkS0=", + "owner": "cachix", + "repo": "devenv-nixpkgs", + "rev": "6004ea8c229fe9d41b21c6f4c76bf6c2e10771dd", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "rolling", + "repo": "devenv-nixpkgs", + "type": "github" + } + }, + "nixpkgs-src": { + "flake": false, + "locked": { + "lastModified": 1783279667, + "narHash": "sha256-/NAkDSsve+GNM0Bt6tleJdCGfsTlK89nPjkVOzZMo0s=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f205b5574fd0cb7da5b702a2da51507b7f4fdd1b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "devenv": "devenv", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} \ No newline at end of file diff --git a/devenv.nix b/devenv.nix new file mode 100644 index 0000000..89b80c0 --- /dev/null +++ b/devenv.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: { + languages.javascript = { + enable = true; + }; + processes.dev.exec = "pnpm dev"; + tasks = { + "website:export-md" = { + exec = "${pkgs.emacs}/bin/emacs -Q --script export.el"; + execIfModified = [ "docs/**/*.org" ]; + }; + "website:build" = { + exec = "pnpm run build"; + after = [ "website:export-md@succeeded" ]; + }; + }; +} diff --git a/devenv.yaml b/devenv.yaml new file mode 100644 index 0000000..3dcab58 --- /dev/null +++ b/devenv.yaml @@ -0,0 +1,18 @@ +# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json +inputs: + nixpkgs: + url: github:cachix/devenv-nixpkgs/rolling + +# If you're using non-OSS software, you can set allow_unfree to true. +# allow_unfree: true + +# If you're not willing to allow unsupported packages: +# allow_unsupported_system: false + +# If you're willing to use a package that's vulnerable +# permitted_insecure_packages: +# - "openssl-1.1.1w" + +# If you have more than one devenv you can merge them +#imports: +# - ./backend diff --git a/shell.nix b/shell.nix deleted file mode 100644 index ed5a36a..0000000 --- a/shell.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ pkgs ? import {} }: -pkgs.mkShell { - nativeBuildInputs = [ - pkgs.nodejs_20 - ]; -}