From 48e9b59d4a1cdaf3fd897c7e0214e4e99f9deb90 Mon Sep 17 00:00:00 2001 From: Cian Hughes Date: Mon, 22 Dec 2025 14:38:25 +0000 Subject: [PATCH] Added devenv and tooling for quicker debugging --- .envrc | 12 ++++++ .gitignore | 10 +++++ devenv.lock | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++ devenv.nix | 20 ++++++++++ devenv.yaml | 4 ++ selene.toml | 5 +++ stylua.toml | 1 + vim.yml | 21 +++++++++++ 8 files changed, 176 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 devenv.lock create mode 100644 devenv.nix create mode 100644 devenv.yaml create mode 100644 selene.toml create mode 120000 stylua.toml create mode 100644 vim.yml diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..cc5c18b --- /dev/null +++ b/.envrc @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +export DIRENV_WARN_TIMEOUT=20s + +eval "$(devenv direnvrc)" + +# `use devenv` supports the same options as the `devenv shell` command. +# +# To silence all output, use `--quiet`. +# +# Example usage: use devenv --quiet --impure --option services.postgres.enable:bool true +use devenv diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ae49879 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# 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..20746b9 --- /dev/null +++ b/devenv.lock @@ -0,0 +1,103 @@ +{ + "nodes": { + "devenv": { + "locked": { + "dir": "src/modules", + "lastModified": 1766411258, + "owner": "cachix", + "repo": "devenv", + "rev": "4e9458c69296baa28f972fa1a6ff388dde0e414b", + "type": "github" + }, + "original": { + "dir": "src/modules", + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1765121682, + "owner": "edolstra", + "repo": "flake-compat", + "rev": "65f23138d8d09a92e30f1e5c87611b23ef451bf3", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1765911976, + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762808025, + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1764580874, + "owner": "cachix", + "repo": "devenv-nixpkgs", + "rev": "dcf61356c3ab25f1362b4a4428a6d871e84f1d1d", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "rolling", + "repo": "devenv-nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "devenv": "devenv", + "git-hooks": "git-hooks", + "nixpkgs": "nixpkgs", + "pre-commit-hooks": [ + "git-hooks" + ] + } + } + }, + "root": "root", + "version": 7 +} diff --git a/devenv.nix b/devenv.nix new file mode 100644 index 0000000..a4dfad3 --- /dev/null +++ b/devenv.nix @@ -0,0 +1,20 @@ +{ + pkgs, + lib, + config, + inputs, + ... +}: { + packages = [ + pkgs.git + pkgs.selene + pkgs.stylua + ]; + + languages.lua.enable = true; + + git-hooks.hooks = { + selene.enable = true; + stylua.enable = true; + }; +} diff --git a/devenv.yaml b/devenv.yaml new file mode 100644 index 0000000..68616a4 --- /dev/null +++ b/devenv.yaml @@ -0,0 +1,4 @@ +# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json +inputs: + nixpkgs: + url: github:cachix/devenv-nixpkgs/rolling diff --git a/selene.toml b/selene.toml new file mode 100644 index 0000000..1a15e65 --- /dev/null +++ b/selene.toml @@ -0,0 +1,5 @@ +std = "vim" +exclude = [".devenv/*"] + +[lints] +mixed_table = "allow" diff --git a/stylua.toml b/stylua.toml new file mode 120000 index 0000000..2f20636 --- /dev/null +++ b/stylua.toml @@ -0,0 +1 @@ +/nix/store/pvbf0ydg2kz73i29c0w0w1ldyrxn34ix-home-manager-files/.config/stylua.toml \ No newline at end of file diff --git a/vim.yml b/vim.yml new file mode 100644 index 0000000..72de640 --- /dev/null +++ b/vim.yml @@ -0,0 +1,21 @@ +base: lua51 +lua_versions: + - luajit + +globals: + Snacks: + any: true + vim: + any: true + jit: + any: true + assert: + any: true + describe: + any: true + it: + any: true + before_each: + any: true + log: + any: true