summaryrefslogtreecommitdiff
path: root/nix/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/flake.nix')
-rw-r--r--nix/flake.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/nix/flake.nix b/nix/flake.nix
new file mode 100644
index 0000000..9e309a8
--- /dev/null
+++ b/nix/flake.nix
@@ -0,0 +1,31 @@
+{
+ outputs = { self, nixpkgs }: let
+ system = "x86_64-linux";
+ pkgs = import nixpkgs { inherit system; config.allowUnfree = true; };
+ in {
+ devShells."${system}".default = pkgs.mkShell {
+ buildInputs = with pkgs; [
+ SDL2
+ ];
+
+ nativeBuildInputs = with pkgs; [
+ binutils
+ gcc
+ gcc-arm-embedded
+ gdb
+ gnumake
+ gtkwave
+ pkg-config
+ (python39.withPackages (py: [ py.numpy py.pillow ]))
+ (quartus-prime-lite.override { supportedDevices = [ "Cyclone V" ]; })
+ verilator
+ ];
+
+ shellHook = ''
+ export MAKEFLAGS="AR=gcc-ar"
+ export CXXFLAGS="-O3 -flto $(pkg-config --cflags sdl2)"
+ export LDFLAGS="-O3 -flto $(pkg-config --libs sdl2)"
+ '';
+ };
+ };
+}