diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..60a3ffd --- /dev/null +++ b/flake.nix @@ -0,0 +1,58 @@ +{ + description = "Nyxi Installer flake"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11"; + }; + + outputs = { nixpkgs, ... } @ inputs: + + let + system = "x86_64-linux"; + pkgs = import nixpkgs { + inherit system; + }; + in + { + checks.x86_64-linux.unitTests = (with pkgs; stdenv.mkDerivation { + pname = "nyxi-installer"; + version = "2.0.0"; + src = builtins.fetchGit { + url = "https://gitlab.com/ahoneybun/nyxi-installer.git"; + ref = "rust-rewrite"; + rev = "a0c8dafe6186de0c6eebc68d413d08bccd4e2405"; + }; + + buildInputs = with pkgs; [ cargo rustc ]; + + buildPhase = '' + cargo test + ''; + + }); + + devShells.x86_64-linux.default = pkgs.mkShell { + buildInputs = with pkgs; [ + cargo + rustc + gnumake + clang + llvmPackages.libclang + llvmPackages.clang + + # System + btrfs-progs + e2fsprogs + openssl + pkg-config + util-linux + ]; + shellHook = '' + export LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib" + export CLANG_PATH="${pkgs.llvmPackages.clang}/bin/clang" + export RUST_BACKTRACE=1 + echo "Ready to make some Rust!" + ''; + }; + }; +}