| 17 Jul 2025 |
atagen | are you perhaps looking for shellHook in the mkShell ? | 04:16:03 |
atagen | using nix run to enter a dev shell seems a little off but if you put the bash script into the shell packages and execute it in shellHook I think you can achieve what you want | 04:17:34 |
atagen | using nix run to enter a dev shell seems a little off but if you put the bash script into the shell packages and execute it in shellHook I think you can achieve what you want with just the nix develop cmd | 04:17:44 |
woobilicious | open the flake in nix repl and look at the devShell attrset to see how it works. and I think for nix run to work you just set mainProgram in the meta section of a package, plenty of examples in nixpkgs. | 06:17:36 |
| jsnf joined the room. | 15:00:04 |
| Thibaut joined the room. | 18:20:07 |
| Tom joined the room. | 18:58:42 |
| 18 Jul 2025 |
| @haauler:matrix.org joined the room. | 14:23:39 |
| Thibaut set a profile picture. | 21:52:51 |
| 21 Jul 2025 |
| @exaltia:chat.exaltia.fr left the room. | 11:07:58 |
| 22 Jul 2025 |
| @exaltia:chat.exaltia.fr joined the room. | 02:21:11 |
| ayoreis joined the room. | 15:32:16 |
ayoreis | using a flake with nixos configuration, should i use the imports list in configuration.nix, or the modules list in flake.nix for including hardware-configuration.nix? | 15:34:25 |
ayoreis | same question with disko-config.nix | 15:55:22 |
Thibaut | I use this:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
home-manager.url = "github:nix-community/home-manager/release-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-unfree.url = "github:numtide/nixpkgs-unfree";
nixpkgs-unfree.inputs.nixpkgs.follows = "nixpkgs-unstable";
};
outputs = {
self,
nixpkgs,
home-manager,
nixpkgs-unstable,
...
} @ attrs: {
nixosConfigurations.laptopname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./configuration.nix
];
};
};
}
and my configuration.nix includes everything for me
| 15:58:18 |
| Max joined the room. | 18:57:01 |
| 24 Jul 2025 |
| codgician changed their profile picture. | 16:58:08 |
| S0AndS0 joined the room. | 23:16:19 |
S0AndS0 | Howdy all! I've got a pending PR that I wanna reduce back-and-forth on, so have been trying to do some local testing to ensure my eyes are crossed.
My end-goal is to have locally cloned NixOS/nixpkgs under a name-space like git-nixpkgs so I can pick-and-choose bits I wanna test. But been hitting some skill issues I have x-)
Got me the source successfully;
mkdir -vp ~/git/hub/NixOS &&
pushd "${_}" &&
git clone --depth=1 git@github.com:NixOS/nixpkgs.git
Did edits and they work when doing import, but now I wanna use the local repo as an inputs to my system flake.nix file, ex;
/etc/nixos/flake.nix (snip)
{
inputs = {
# ...
git-nixpkgs = {
type = "path";
path = "/home/s0ands0/git/hub/NixOS/nixpkgs";
};
};
outputs = { self, ... }@attrs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem = {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./configuration.nix
# ...
];
};
};
}
... But this is where things fall apart;
/etc/nixos/configuration.nix
{ git-nix, ... }:
{
# ...
services.dictd = {
enable = true;
DBs = with git-nixpkgs.pkgs.dictdDBs; [
gcide
];
};
}
I'm popping errors of pkgs attribute doesn't exist on git-nixpkgs :-(
This be less than fantastic as REPL shows the attribute available if I start it with something like, nix repl --expr 'import /home/s0ands0/git/hub/NixOS/nixpkgs {}', so I feel like I'm missing some key differences between classy flavored Nix imports vs the new fancy flakes?
| 23:22:11 |
S0AndS0 | * Howdy all! I've got a pending PR that I wanna reduce back-and-forth on, so have been trying to do some local testing to ensure my eyes are crossed.
My end-goal is to have locally cloned NixOS/nixpkgs under a name-space like git-nixpkgs so I can pick-and-choose bits I wanna test. But been hitting some skill issues I have x-)
Got me the source successfully;
mkdir -vp ~/git/hub/NixOS &&
pushd "${_}" &&
git clone --depth=1 git@github.com:NixOS/nixpkgs.git
Did edits and they work when doing import, but now I wanna use the local repo as an inputs to my system flake.nix file, ex;
/etc/nixos/flake.nix (snip)
{
inputs = {
# ...
git-nixpkgs = {
type = "path";
path = "/home/s0ands0/git/hub/NixOS/nixpkgs";
};
};
outputs = { self, ... }@attrs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem = {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./configuration.nix
# ...
];
};
};
}
... But this is where things fall apart;
/etc/nixos/configuration.nix
{ git-nixpkgs, ... }:
{
# ...
services.dictd = {
enable = true;
DBs = with git-nixpkgs.pkgs.dictdDBs; [
gcide
];
};
}
I'm popping errors of pkgs attribute doesn't exist on git-nixpkgs :-(
This be less than fantastic as REPL shows the attribute available if I start it with something like, nix repl --expr 'import /home/s0ands0/git/hub/NixOS/nixpkgs {}', so I feel like I'm missing some key differences between classy flavored Nix imports vs the new fancy flakes?
| 23:23:15 |
S0AndS0 | * Howdy all! I've got a pending PR that I wanna reduce back-and-forth on, so have been trying to do some local testing to ensure my eyes are crossed.
My end-goal is to have locally cloned NixOS/nixpkgs under a name-space like git-nixpkgs so I can pick-and-choose bits I wanna test. But been hitting some skill issues I have x-)
Got me the source successfully;
mkdir -vp ~/git/hub/NixOS &&
pushd "${_}" &&
git clone --depth=1 git@github.com:NixOS/nixpkgs.git
Did edits and they work when doing import, but now I wanna use the local repo as an inputs to my system flake.nix file, ex;
/etc/nixos/flake.nix (snip)
{
inputs = {
# ...
git-nixpkgs = {
type = "path";
path = "/home/s0ands0/git/hub/NixOS/nixpkgs";
};
};
outputs = { self, nixpkgs, ... }@attrs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem = {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./configuration.nix
# ...
];
};
};
}
... But this is where things fall apart;
/etc/nixos/configuration.nix
{ git-nixpkgs, ... }:
{
# ...
services.dictd = {
enable = true;
DBs = with git-nixpkgs.pkgs.dictdDBs; [
gcide
];
};
}
I'm popping errors of pkgs attribute doesn't exist on git-nixpkgs :-(
This be less than fantastic as REPL shows the attribute available if I start it with something like, nix repl --expr 'import /home/s0ands0/git/hub/NixOS/nixpkgs {}', so I feel like I'm missing some key differences between classy flavored Nix imports vs the new fancy flakes?
| 23:26:13 |
| 25 Jul 2025 |
S0AndS0 | * Howdy all! I've got a pending PR that I wanna reduce back-and-forth on, so have been trying to do some local testing to ensure my eyes are crossed.
My end-goal is to have locally cloned NixOS/nixpkgs under a name-space like git-nixpkgs so I can pick-and-choose bits I wanna test. But been hitting some skill issues I have x-)
Got me the source successfully;
mkdir -vp ~/git/hub/NixOS &&
pushd "${_}" &&
git clone --depth=1 git@github.com:NixOS/nixpkgs.git
Did edits and they work when doing import, but now I wanna use the local repo as an inputs to my system flake.nix file, ex;
/etc/nixos/flake.nix (snip)
{
inputs = {
# ...
git-nixpkgs = {
type = "path";
path = "/home/s0ands0/git/hub/NixOS/nixpkgs";
};
};
outputs = { self, nixpkgs, ... }@attrs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem = {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./configuration.nix
# ...
];
};
};
}
... But this is where things fall apart;
/etc/nixos/configuration.nix
{ git-nixpkgs, ... }:
{
# ...
services.dictd = {
enable = true;
DBs = with git-nixpkgs.pkgs.dictdDBs; [
gcide
];
};
}
I'm popping errors of pkgs attribute doesn't exist on git-nixpkgs :-(
This be less than fantastic as REPL shows the attribute available if I start it with something like, nix repl --expr 'import /home/s0ands0/git/hub/NixOS/nixpkgs {}', so I feel like I'm missing some key differences between classy flavored Nix imports vs the new fancy flakes?
Edit: here's what I found works, if willing to rebuild with --impure flag;
/etc/nixos/configuration.nix
{ ... }:
let
git-nixpkgs = import /home/s0ands0/git/hub/NixOS/nixpkgs;
in
{
# ...
services.dictd = {
enable = true;
DBs = with git-nixpkgs.pkgs.dictdDBs; [
gcide
];
};
}
... feels like I really am missing something fundamental about Flakes 🤷
| 00:01:17 |
S0AndS0 | * Howdy all! I've got a pending PR that I wanna reduce back-and-forth on, so have been trying to do some local testing to ensure my eyes are crossed.
My end-goal is to have locally cloned NixOS/nixpkgs under a name-space like git-nixpkgs so I can pick-and-choose bits I wanna test. But been hitting some skill issues I have x-)
Got me the source successfully;
mkdir -vp ~/git/hub/NixOS &&
pushd "${_}" &&
git clone --depth=1 git@github.com:NixOS/nixpkgs.git
Did edits and they work when doing import, but now I wanna use the local repo as an inputs to my system flake.nix file, ex;
/etc/nixos/flake.nix (snip)
{
inputs = {
# ...
git-nixpkgs = {
type = "path";
path = "/home/s0ands0/git/hub/NixOS/nixpkgs";
};
};
outputs = { self, nixpkgs, ... }@attrs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem = {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./configuration.nix
# ...
];
};
};
}
... But this is where things fall apart;
/etc/nixos/configuration.nix
{ git-nixpkgs, ... }:
{
# ...
services.dictd = {
enable = true;
DBs = with git-nixpkgs.pkgs.dictdDBs; [
gcide
];
};
}
I'm popping errors of pkgs attribute doesn't exist on git-nixpkgs :-(
This be less than fantastic as REPL shows the attribute available if I start it with something like, nix repl --expr 'import /home/s0ands0/git/hub/NixOS/nixpkgs {}', so I feel like I'm missing some key differences between classy flavored Nix imports vs the new fancy flakes?
Edit: here's what I found works, if willing to rebuild with --impure flag;
/etc/nixos/configuration.nix
{ ... }:
let
git-nixpkgs = import /home/s0ands0/git/hub/NixOS/nixpkgs { };
in
{
# ...
services.dictd = {
enable = true;
DBs = with git-nixpkgs.pkgs.dictdDBs; [
gcide
];
};
}
... feels like I really am missing something fundamental about Flakes 🤷
| 00:01:57 |
dramforever | git-nixpkgs.legacyPackages.${pkgs.system} | 00:08:30 |
dramforever | pkgs comes from the top: { git-nixpkgs, pkgs, ... }: | 00:08:48 |
S0AndS0 | Tragically the same story, but with error: attribute 'legacyPackages' missing now
... I added a lib.warn (builtins.toString (builtins.attrNames git-nixpkgs)) between function args and body, and noticed nothing's printed when building with Flake inputs but a whole lotta stuff gets dumped if I go the import route
| 00:24:26 |
dramforever | like, nothing's printed, not even []? | 00:38:14 |
dramforever | can you put out the what you have written again? you originally had nixosConfigurations.nixos = nixpkgs.lib.nixosSystem = {, which is a syntax error so i doubt that's what you actually had | 01:00:06 |
dramforever | * can you put out the what you have written again? you originally posted nixosConfigurations.nixos = nixpkgs.lib.nixosSystem = {, which is a syntax error so i doubt that's what you actually had | 01:00:19 |
S0AndS0 |
like, nothing's printed, not even []?
Nope, nothing :-\
can you put out what you have written again?
Yeah it wouldn't surprise me if it were something like me being no smort with the syntax! And ya be correct in that my transcription had one too many =, though be assured that wasn't/ain't the reality.
Here be the current state of things;
/etc/nixos/flake.nix (snip)
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
# ...
git-nixpkgs = {
type = "path";
path = "/home/s0ands0/git/hub/NixOS/nixpkgs";
};
};
outputs = { self, nixpkgs, ... }@attrs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
modules = [
./configuration.nix
# ...
];
};
};
}
/etc/nixos/configuration.nix (snip)
{
pkgs,
git-nixpkgs,
...
}:
let
# git-nixpkgs = import /home/s0ands0/git/hub/NixOS/nixpkgs { };
in
lib.warn (builtins.toString (builtins.attrNames git-nixpkgs))
{
# ...
services.dictd = {
enable = true;
# DBs = with git-nixpkgs.pkgs.dictDBs; [
DBs = with git-nixpkgs.legacyPackages.${pkgs.system}.dictDBs; [
gcide
];
};
}
Now at the rebuild phase, which uh takes a few minutes;
nixos-rebuild test --impure --flake .
#> warning: Git tree '/etc/nixos' is dirty
#> copying "/home/s0ands0/git/hub/NixOS/nixpkgs" to the store
#> ...
#> copying "/nix/store/<HASH>-source/" to the store
#> ...
| 01:51:09 |