From 1016f1e17ed081793f6da6d696fd34ed1a72529f Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 24 Jun 2026 16:57:43 +0200 Subject: [PATCH] Migrate to devenv --- .envrc | 6 ++- .gitignore | 22 ++++++++ devenv.lock | 146 ++++++++++++++++++++++++++++++++++++++++++++++++++++ devenv.nix | 36 +++++++++++++ devenv.yaml | 14 +++++ flake.lock | 61 ---------------------- flake.nix | 52 ------------------- package.nix | 4 +- 8 files changed, 225 insertions(+), 116 deletions(-) create mode 100644 devenv.lock create mode 100644 devenv.nix create mode 100644 devenv.yaml delete mode 100644 flake.lock delete mode 100644 flake.nix diff --git a/.envrc b/.envrc index 3550a30..514ecff 100644 --- a/.envrc +++ b/.envrc @@ -1 +1,5 @@ -use flake +eval "$(devenv direnvrc)" + +# You can pass flags to the devenv command +# For example: use devenv --impure --option services.postgres.enable:bool true +use devenv diff --git a/.gitignore b/.gitignore index 23ca70a..383d52c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,25 @@ result config.yaml vendor/** + +# 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..309cfe0 --- /dev/null +++ b/devenv.lock @@ -0,0 +1,146 @@ +{ + "nodes": { + "devenv": { + "locked": { + "dir": "src/modules", + "lastModified": 1782305913, + "narHash": "sha256-CW+mSdVBvJ1kuuXPrx05Kmee8YZUhOQ3gI8H8roFDOY=", + "owner": "cachix", + "repo": "devenv", + "rev": "5f6233e19a31955435e667c20e056ae147498ecc", + "type": "github" + }, + "original": { + "dir": "src/modules", + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1781733627, + "narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762808025, + "narHash": "sha256-XmjITeZNMTQXGhhww6ed/Wacy2KzD6svioyCX7pkUu4=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nixpkgs": { + "inputs": { + "nixpkgs-src": "nixpkgs-src" + }, + "locked": { + "lastModified": 1782132010, + "narHash": "sha256-ZnAVHdVrotp80iIMm5CSR1fdxPlw7Uwmwxb+O/wsgZ8=", + "owner": "cachix", + "repo": "devenv-nixpkgs", + "rev": "12866ae2dddbc0ab8b329915f8072bb9c75bde89", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "rolling", + "repo": "devenv-nixpkgs", + "type": "github" + } + }, + "nixpkgs-src": { + "flake": false, + "locked": { + "lastModified": 1781607440, + "narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3e41b24abd260e8f71dbe2f5737d24122f972158", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "devenv": "devenv", + "git-hooks": "git-hooks", + "gitignore": "gitignore_2", + "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..2703929 --- /dev/null +++ b/devenv.nix @@ -0,0 +1,36 @@ +{ pkgs, inputs, ... }: + +{ + languages.go = { + enable = true; + delve.enable = true; + }; + + packages = with pkgs; [ + curl + jq + mitmproxy + + claude-code + opencode + ]; + + git-hooks.hooks = { + gofmt.enable = true; + nixfmt-rfc-style.enable = true; + }; + + outputs = { + proxy = pkgs.callPackage ./package.nix { + inherit (inputs.gitignore.lib) gitignoreSource; + }; + }; + + enterShell = '' + export GOPATH="$PWD/.go" + export PATH="$GOPATH/bin:$PATH" + + #export ANTHROPIC_BASE_URL=http://localhost:8082 + #export ANTHROPIC_API_KEY=sk-cliproxy-fujin + ''; +} diff --git a/devenv.yaml b/devenv.yaml new file mode 100644 index 0000000..70602d6 --- /dev/null +++ b/devenv.yaml @@ -0,0 +1,14 @@ +inputs: + git-hooks: + url: github:cachix/git-hooks.nix + inputs: + nixpkgs: + follows: nixpkgs + gitignore: + url: github:hercules-ci/gitignore.nix + inputs: + nixpkgs: + follows: nixpkgs + nixpkgs: + url: github:cachix/devenv-nixpkgs/rolling +allow_unfree: true diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 4cee253..0000000 --- a/flake.lock +++ /dev/null @@ -1,61 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1776169885, - "narHash": "sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - } - }, - "systems": { - "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", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index ab2cbcb..0000000 --- a/flake.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - description = "Anthropic API proxy with OAuth key rotation"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = - { - self, - nixpkgs, - flake-utils, - }: - flake-utils.lib.eachDefaultSystem ( - system: - let - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - }; - in - { - packages = { - proxy = pkgs.callPackage ./package.nix {}; - }; - - devShells.default = pkgs.mkShell { - buildInputs = with pkgs; [ - go - gopls - gotools - go-tools - delve - curl - jq - claude-code - opencode - mitmproxy - ]; - - shellHook = '' - export GOPATH="$PWD/.go" - export PATH="$GOPATH/bin:$PATH" - - export ANTHROPIC_BASE_URL=http://localhost:8082 - export ANTHROPIC_API_KEY=sk-cliproxy-fujin - ''; - }; - } - ); -} diff --git a/package.nix b/package.nix index 2b17ee5..0234a84 100644 --- a/package.nix +++ b/package.nix @@ -1,7 +1,7 @@ { buildGoModule, lib, - pkgs, + gitignoreSource, ... }: @@ -9,7 +9,7 @@ buildGoModule rec { pname = "anthropic-proxy"; version = "0.0.5"; - src = ./.; + src = gitignoreSource ./.; vendorHash = "sha256-yXINNC+NEw+HbOQ5aBgSE5dYTWp+zEZ230rzXfwOoDY=";