From 3971d4c42437f71a05d18872a366e4de38447c9f Mon Sep 17 00:00:00 2001 From: Adam JOLY Date: Wed, 20 Nov 2024 20:50:00 +0100 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=8E=89=E3=80=8D=20init:=20Scruct?= =?UTF-8?q?ure=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .envrc | 1 + .gitignore | 5 +++++ flake.nix | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 .envrc create mode 100644 .gitignore create mode 100644 flake.nix diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..34bc19a --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +obj/ +compile_commands.json +.cache +.direnv +ClapTrap diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..a9316b5 --- /dev/null +++ b/flake.nix @@ -0,0 +1,39 @@ +{ + description = "A Nix-flake-based C/C++ development environment"; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + pogit = { + url = "github:y-syo/pogit"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = inputs@{ nixpkgs, ... }: + let + supportedSystems = [ "x86_64-linux" ]; + forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f { + pkgs = import nixpkgs { inherit system; }; + }); + in { + devShells = forEachSupportedSystem ({ pkgs }: { + default = pkgs.mkShell.override + {} + { + buildInputs = with pkgs;[ + + ]; + hardeningDisable = [ "all" ]; + packages = with pkgs; [ + gcc11 + clang_12 + norminette + valgrind + git + gdb + inputs.pogit.packages.${pkgs.system}.default + python312Packages.compiledb + ]; + }; + }); + }; +}