From 9d65e07bb04fe247d6078d9325dc8ee02c64c5fa Mon Sep 17 00:00:00 2001 From: Adam JOLY Date: Sun, 3 Nov 2024 19:50:50 +0100 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=8E=89=E3=80=8D=20init(CPP01):?= =?UTF-8?q?=20Started=20CPP01?= 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..64d0bab --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +obj/ +compile_commands.json +.cache +.direnv +flake.lock diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..cb53ef0 --- /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-unstable"; + pogit = { + url = "github:y-syo/pogit"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = inputs@{ nixpkgs, ... }: + let + supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + 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 + bear + ]; + }; + }); + }; +}