-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathflake.nix
42 lines (40 loc) · 1.48 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
description = "My flake with dream2nix packages";
inputs = {
dream2nix.url = "github:nix-community/dream2nix";
nixpkgs.follows = "dream2nix/nixpkgs";
nixos-shell.url = "github:mic92/nixos-shell";
};
outputs = inputs @ {
self,
dream2nix,
nixpkgs,
nixos-shell,
...
}: let
system = "x86_64-linux";
in {
apps.x86_64-linux.nixos-shell = {
type = "app";
program = builtins.toPath (inputs.nixpkgs.legacyPackages.x86_64-linux.writeShellScript "run-binfmt-sdk-nixos-shell" ''
rm nixos.qcow2 || true
function cleanup {
rm nixos.qcow2
}
export NIX_CONFIG="experimental-features = nix-command flakes"
export PATH=$PATH:${inputs.nixpkgs.legacyPackages.x86_64-linux.nixUnstable}/bin
${inputs.nixos-shell.packages.x86_64-linux.nixos-shell}/bin/nixos-shell --flake ${self}#vm
trap cleanup 0
'');
};
nixosConfigurations.vm = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./vm.nix nixos-shell.nixosModules.nixos-shell ]; specialArgs = { node-red-contrib-influxdb = self.packages.x86_64-linux.node-red-contrib-influxdb; }; };
# all packages defined inside ./packages/
packages.${system} = dream2nix.lib.importPackages {
projectRoot = ./.;
# can be changed to ".git" or "flake.nix" to get rid of .project-root
projectRootFile = "flake.nix";
packagesDir = ./packages;
packageSets.nixpkgs = nixpkgs.legacyPackages.${system};
};
};
}