An easy-to-host PDS on the ATProtocol, MacOS. Grandma-approved.

chore(MM-64): add Nix flake + devenv dev shell configuration

Adds flake.nix, devenv.nix, rust-toolchain.toml, .envrc. Phase 2 will
run nix develop to generate flake.lock and verify the shell.

authored by malpercio.dev and committed by

Tangled a420c69b e3895067

+56
+1
.envrc
··· 1 + use flake
+5
.gitignore
··· 15 15 .env 16 16 .env.local 17 17 .env.*.local 18 + 19 + # Nix / devenv 20 + .devenv/ 21 + .direnv/ 22 + devenv.local.nix
+16
devenv.nix
··· 1 + { pkgs, lib, config, ... }: 2 + { 3 + languages.rust = { 4 + enable = true; 5 + toolchainFile = ./rust-toolchain.toml; 6 + }; 7 + 8 + packages = [ 9 + pkgs.just 10 + pkgs.cargo-audit 11 + pkgs.sqlite 12 + pkgs.pkg-config 13 + ]; 14 + 15 + env.LIBSQLITE3_SYS_USE_PKG_CONFIG = "1"; 16 + }
+30
flake.nix
··· 1 + { 2 + description = "ezpds development shell"; 3 + 4 + nixConfig = { 5 + extra-substituters = "https://devenv.cachix.org"; 6 + extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="; 7 + }; 8 + 9 + inputs = { 10 + nixpkgs.url = "github:cachix/devenv-nixpkgs/rolling"; 11 + devenv.url = "github:cachix/devenv"; 12 + systems.url = "github:nix-systems/default"; 13 + }; 14 + 15 + outputs = { self, nixpkgs, devenv, systems, ... } @ inputs: 16 + let 17 + forEachSystem = f: nixpkgs.lib.genAttrs (import systems) f; 18 + in { 19 + devShells = forEachSystem (system: 20 + let 21 + pkgs = nixpkgs.legacyPackages.${system}; 22 + in { 23 + default = devenv.lib.mkShell { 24 + inherit inputs pkgs; 25 + modules = [ ./devenv.nix ]; 26 + }; 27 + } 28 + ); 29 + }; 30 + }
+4
rust-toolchain.toml
··· 1 + [toolchain] 2 + channel = "stable" 3 + components = ["rustfmt", "clippy", "rust-analyzer"] 4 + targets = ["aarch64-apple-darwin", "x86_64-unknown-linux-gnu"]