8 Mar 2024 |
nim65s | Maybe I should contribute A & B to nixpkgs, so that C only depends on nixpkgs 😅 | 14:05:25 |
nim65s | * Maybe I should contribute A & B to nixpkgs, so that C only depends on nixpkgs + flake-utils 😅 | 14:05:37 |
| @mtxyz:the-apothecary.club joined the room. | 14:06:47 |
| @kyle:iteratee.net joined the room. | 20:00:30 |
9 Mar 2024 |
| @qyriad:matrix.org left the room. | 00:36:30 |
@tengkuizdihar:matrix.org | In reply to @gsaurel:laas.fr Hello ! I have project A which has nixpkgs + flake-utils as inputs. fine. Then project B which depend on A, so nixpkgs + flake-utils + A (whose nixpkgs & flake-utils inputs follows B inputs). Then for project C which depends on B… I am supposed to write nixpkgs + flake-utils + A (whose nixpkgs + flake-utils inputs follows C inputs) + B (whose nixpkgs + flake-utils + A inputs follows C inputs), right ? It's going to be a lot of boilerplate fast, isn't it ? Wonder what the boilerplate looks like, but if this is a serious question, maybe you could post this on the forum. Its more discoverable that way | 02:51:03 |
| @amiablechief:matrix.org joined the room. | 03:14:34 |
| mj joined the room. | 03:36:12 |
nim65s | thanks :) | 08:22:42 |
@fractivore:cyberia.club | In reply to @dyerat:matrix.org for the nix.settings.experiemental-features = [ "nix-command" "flakes" ] line, would that always be required in the configuration.nix file / always requiring me to home one called exactly that I don't really understand the second part of your question, "always requiring me to home one called exactly that", would you mind clarifying a bit? But the answer to your first question is yes, you always need that line as far as I know. | 20:17:19 |
10 Mar 2024 |
maribox | Redacted or Malformed Event | 02:54:58 |
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
}
];
};
};
};
}
| 02:55:12 |
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:56:01 |
maribox | Redacted or Malformed Event | 02:57:16 |
| stablejoy 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 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 |