From 93f5fc81e8591ac276932cd495713eec8769ced2 Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Fri, 23 May 2025 12:02:17 +0100 Subject: [PATCH] devenv stuff Add build and run dependencies to devenv --- .gitignore | 9 +++++ devenv.lock | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++ devenv.nix | 39 ++++++++++++++++++++ devenv.yaml | 15 ++++++++ 4 files changed, 166 insertions(+) create mode 100644 devenv.lock create mode 100644 devenv.nix create mode 100644 devenv.yaml diff --git a/.gitignore b/.gitignore index 7b40c45adf..19d0bec0e4 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,12 @@ xcuserdata/ # Don't commit any secrets to the repo. .env .env.secret.toml +# Devenv +.devenv* +devenv.local.nix + +# direnv +.direnv + +# pre-commit +.pre-commit-config.yaml diff --git a/devenv.lock b/devenv.lock new file mode 100644 index 0000000000..5ef0cee6b4 --- /dev/null +++ b/devenv.lock @@ -0,0 +1,103 @@ +{ + "nodes": { + "devenv": { + "locked": { + "dir": "src/modules", + "lastModified": 1755536966, + "owner": "cachix", + "repo": "devenv", + "rev": "062a852197de9aa96204c5b4b01d149e3c44ffb6", + "type": "github" + }, + "original": { + "dir": "src/modules", + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1755446520, + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "4b04db83821b819bbbe32ed0a025b31e7971f22e", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1755186698, + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "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 0000000000..76f08ffcab --- /dev/null +++ b/devenv.nix @@ -0,0 +1,39 @@ +{ pkgs, lib, config, inputs, ... }: + +{ + cachix.enable = false; + + languages.rust = { + enable = true; + }; + + packages = with pkgs; [ + clang + cmake + protobuf + + # compilation dependencies (speculated) + xorg.libXcursor + xorg.libXrandr + xorg.libXi + xorg.libX11 + xorg.libxcb + libxkbcommon + + alsa-lib + + + # for runtime? + vulkan-loader + + mold + ]; + + env = { + PROTOC = "${pkgs.protobuf}/bin/protoc"; + + LD_LIBRARY_PATH="${pkgs.vulkan-loader}/lib"; + }; + + # See full reference at https://devenv.sh/reference/options/ +} diff --git a/devenv.yaml b/devenv.yaml new file mode 100644 index 0000000000..7661c9fcee --- /dev/null +++ b/devenv.yaml @@ -0,0 +1,15 @@ +# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json +inputs: + nixpkgs: + url: github:NixOS/nixpkgs/nixos-unstable + +# If you're using non-OSS software, you can set allowUnfree to true. +# allowUnfree: true + +# If you're willing to use a package that's vulnerable +# permittedInsecurePackages: +# - "openssl-1.1.1w" + +# If you have more than one devenv you can merge them +#imports: +# - ./backend