add nix flake for development shell
It does not support cross compilation but requires x86_64-linux.
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
/obj
|
||||||
|
/files/cfg
|
||||||
|
/.direnv
|
||||||
9
nix.sh
Executable file
9
nix.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Run a shell inside of the nix-based development environment.
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
exec nix --experimental-features 'nix-command flakes' develop path:./nix --command "${SHELL:-sh}"
|
||||||
25
nix/flake.lock
generated
Normal file
25
nix/flake.lock
generated
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1747467164,
|
||||||
|
"narHash": "sha256-JBXbjJ0t6T6BbVc9iPVquQI9XSXCGQJD8c8SgnUquus=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "3fcbdcfc707e0aa42c541b7743e05820472bdaec",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
35
nix/flake.nix
Normal file
35
nix/flake.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
outputs =
|
||||||
|
{ self, nixpkgs }:
|
||||||
|
let
|
||||||
|
shell =
|
||||||
|
{ pkgs }:
|
||||||
|
pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
ncurses
|
||||||
|
dialog
|
||||||
|
perl
|
||||||
|
bashInteractive
|
||||||
|
flex
|
||||||
|
bison
|
||||||
|
buildPackages.qemu
|
||||||
|
];
|
||||||
|
shellHook = ''
|
||||||
|
# Do not attempt cross compilation.
|
||||||
|
export CROSS_COMPILE=
|
||||||
|
# These are set by the compiler’s shellHook but mk refuses to work when these are set.
|
||||||
|
unset CC CPP CXX AR AS LD
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
lib = import "${nixpkgs}/lib";
|
||||||
|
forAll = list: f: lib.genAttrs list f;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
devShells = forAll [ "x86_64-linux" ] (system: {
|
||||||
|
default = shell {
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user