| 10 Mar 2024 |
| @stablejoy:matrix.org joined the room. | 04:08:11 |
| Sdvohet joined the room. | 08:11:31 |
@accelbread:matrix.org | Is the flake.lock file format documented anywhere? | 21:12:15 |
| 11 Mar 2024 |
| @sky1e:mildlyfunctional.gay joined the room. | 00:34:57 |
maribox | * Hey! I am currently on the jouney of learning nix and modularizing my config. I tried adding a basePath to my flake.nix because I thought it's a good idea to make the paths absolute but now when I try to rebuild I get the error
"error: cannot coerce a set to a string"
and I have no clue what that even means and also didn't find a clear explanation on the internet.
It would be amazing if someone could help me.
my code for flake.nix looks like this:
{
description = "NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
alejandra.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs @ {
nixpkgs,
home-manager,
alejandra,
...
}:
let
homeDir = builtins.getEnv "HOME";
basePath = homeDir + "/nixos-config";
in
{
nixosConfigurations = {
tunix = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
builtins.toPath "${basePath}/hosts/lat"
builtins.toPath "${basePath}/configuration.nix"
{
_module.args = {inherit alejandra;};
}
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.marri = import builtins.toPath "${basePath}/home.nix";
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
}
];
};
};
};
}
The reason the let in is not at the start but at the outputs section is this issue: https://github.com/NixOS/nix/issues/3966
| 02:16:11 |
| 12 Mar 2024 |
| @phileas:asra.gr joined the room. | 22:24:59 |
@phileas:asra.gr | In reply to @accelbread:matrix.org Is the flake.lock file format documented anywhere? https://github.com/NixOS/nix/blob/bff5c94184e0eee2a093f3e04d4cec5010de81c7/src/nix/flake.md#lock-files
This goes technical in-detail, overall searching for flake.lock inside nix.git might also help understanding it on a lower-level: https://github.com/search?q=repo%3ANixOS%2Fnix%20flake.lock&type=code
| 22:30:31 |
@accelbread:matrix.org | In reply to @phileas:asra.gr
https://github.com/NixOS/nix/blob/bff5c94184e0eee2a093f3e04d4cec5010de81c7/src/nix/flake.md#lock-files
This goes technical in-detail, overall searching for flake.lock inside nix.git might also help understanding it on a lower-level: https://github.com/search?q=repo%3ANixOS%2Fnix%20flake.lock&type=code thanks! | 23:11:24 |
tomberek | accelbread: note that we are considering a lock format change in the future, prior to flake stabilization | 23:14:23 |
@accelbread:matrix.org | Makes sense; i needed to parse current lockfiles to get inputs. Can just update logic to add support for new version when that arrives | 23:16:40 |
| 13 Mar 2024 |
| 50^2 changed their profile picture. | 13:46:58 |
| 14 Mar 2024 |
| @federicodschonborn:matrix.org left the room. | 02:04:00 |
| countoren changed their display name from oren to countoren. | 14:09:38 |
| NixOS Moderation Botchanged room power levels. | 18:44:47 |
| 15 Mar 2024 |
| Alessandro Candido joined the room. | 09:48:29 |
nim65s | Hi :)
I have a dotfiles repo with multiple flake.nix / flake.lock for different computers nixos/hm setup, where most of the conf is in a common modules. They all have the same inputs, and I would like to keep the locks synchronized. What would be the recommended way ? Make only one lock at the root and symlink it everywhere ? | 13:07:50 |
nim65s | * Hi :)
I have a dotfiles repo with multiple flake.nix / flake.lock for different computers nixos/hm setup, where most of the conf is in common modules. They all have the same inputs, and I would like to keep the locks synchronized. What would be the recommended way ? Make only one lock at the root and symlink it everywhere ? | 13:08:22 |
@2xsaiko:tchncs.de | In reply to @gsaurel:laas.fr Hi :) I have a dotfiles repo with multiple flake.nix / flake.lock for different computers nixos/hm setup, where most of the conf is in common modules. They all have the same inputs, and I would like to keep the locks synchronized. What would be the recommended way ? Make only one lock at the root and symlink it everywhere ? don't have multiple flake.nix, it's not a problem to have all the configurations in the same flake since the outputs are named differently | 13:13:01 |
nim65s | I think I can merge those flake.nix for nixos configuration, because it has the hostname in the outputs, yes. But with home-manager on non-nixos, the output only include the username, which is the same in my case on different computers | 14:03:34 |
| @federicodschonborn:matrix.org joined the room. | 14:26:36 |
@2xsaiko:tchncs.de | In reply to @gsaurel:laas.fr I think I can merge those flake.nix for nixos configuration, because it has the hostname in the outputs, yes. But with home-manager on non-nixos, the output only include the username, which is the same in my case on different computers Then include the hostname, I think it tries "user@host" first | 16:56:25 |
nim65s | oh, nice ! thanks :D | 17:14:46 |
| @grahamc:nixos.org joined the room. | 21:36:01 |
| 16 Mar 2024 |
| h0ly lag joined the room. | 04:21:11 |
| wackadoodle joined the room. | 15:52:43 |
| 17 Mar 2024 |
| @lenny:flipdot.org left the room. | 15:11:48 |
| cblacktech joined the room. | 17:07:46 |
| Felipe Marcelino joined the room. | 17:57:42 |
| 18 Mar 2024 |
| darkwater4213 joined the room. | 00:31:59 |
| @chumpinski:matrix.org joined the room. | 03:37:23 |