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