Just getting started on using a flake.nix for my nixos system. I couldn’t figure out how to pass the flake in to be used by configuration.nix so I made it an argument. This is what I have (my-nixd is the new part):
{
description = "BB-5520";
inputs = {
nixpkgs = { url = "github:nixos/nixpkgs/nixos-23.05"; };
nixos = { url = "github:nixos/nixpkgs/nixos-23.05"; };
my-nixd = { url = "github:nix-community/nixd"; };
};
outputs = inputs:
{
nixosConfigurations = {
BB-5520 = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
(import ./configuration.nix inputs.my-nixd)
];
specialArgs = { inherit inputs; };
};
};
};
}
Then in my configuration.nix I have my-nixd as an argument:
my-nixd:
{ config, pkgs, lib, ... }:
{
imports =
and then my-nixd is in my environment.systemPackages
.
nixos-rebuild --switch
succeeds, but I don’t get a nixd binary. ls /nix/store | grep nixd
reveals nothing.
I’m still hazy on how specialArgs is supposed to work. Here it supposedly contains all the inputs which includes my-nixd, but I couldn’t figure out how to access it from configuration.nix.