Its new to me, but "not being nix while doing nix things" seems like the appeal.
Its a compelling one to those of us curious about nix, but baffled by the herky jerky documentation and community.
Its new to me, but "not being nix while doing nix things" seems like the appeal.
Its a compelling one to those of us curious about nix, but baffled by the herky jerky documentation and community.
The article veers off about Flox, but I'm unsure what Flox adds over stock Nix?
That just build t8plus becomes nixos-rebuild build --option eval-cache false --flake './nixcfg#t8plus' (the flake is at ./nixcfg/flake.nix).
May I ask what your full nixos-rebuild command is?
programs.fish.enable = true; # Enable your shell
home.sessionPath = ["$HOME/.local/bin"];
I found the option by searching for "PATH" at home-manager-options.extranix.com.
home.sessionPath will generate hm-session-vars files for different shells. You can read it by cat ~/.nix-profile/etc/profile.d/hm-session-vars.sh.
Enabling the shell is required for the respective hm-session-vars file to be sourced into the shell.
As far as I'm aware Home Manager doesn't set PATH at all, though the Nix installer does. I'm not sure where it adds to the PATH, it might edit /etc/profile or something like that. You should be able to change it since you're not on NixOS.
Alternatively this should also do the trick, although it's a bit ugly:
home.sessionVariables.PATH = "$HOME/.local/bin:$PATH";
Thank you 😊. This is so true, this is definitely the charm of nixos, like having to do this once and then not having to worry about it again gives me a peace of mind. Still this should be natively in the kernel itself, and when I said I will try to get this upstream i had no idea it would be this tiresome. It seems a patch is already put up by someone (source - cough.. cough.. ai), but I still have to find the specific patch on their mailing lists.
Congrats on solving your issue, and thanks for updated the post with the solution! It's really slick how NixOS makes adding a kernel patch to your config no more complex than it would take patching any dot file. Hope the up streaming of your device info goes smoothly.
Yes I've tried cold booting too, pressed the power button for 60sec even in hope to fix it but same results, disconnecting the ac first ofc.
yea no idea why, only happens when i override these two packages
well this only happens when i use the override on these packages so i suppose it is related
Encountered an odd Bluetooth issue last week with a motherboard that had a combined Bluetooth and Wi-Fi radio chip set. Wi-Fi worked, but the Bluetooth hardware wasn't even detected. This was after migrating from a Windows install with known working Bluetooth drivers on the same motherboard.
Found a solved thread for the same motherboard SKU where power cycling after disconnecting the desktop power supply from AC for 30 sec resolved it. Didn't believe it, but tried it anyway and it worked. Guessing the Windows driver must have put the Bluetooth transceiver in a funny state that the mainline Linux kernel couldn't recover, but resting the chipset with a through power cycle with internal voltage supplies zeroed made the difference in re-initializing the hardware.
Just a wild suggestion...
Are you sure that's related to the packages? It says it's evaluating font config.
Seems unrelated to the other issue, look through the stacktrace, it's complaining about home-manager.users.claymorwan.fonts.fontconfig.configFile.fonts.text
yea that worked, now im getting this tho:
… while calling the 'head' builtin
at /nix/store/kfcxqcxb9hcq6x33sg4cmwakbb1ifwg9-source/lib/attrsets.nix:1713:13:
1712| if length values == 1 || pred here (elemAt values 1) (head values) then
1713| head values
| ^
1714| else
… while evaluating the attribute 'value'
at /nix/store/kfcxqcxb9hcq6x33sg4cmwakbb1ifwg9-source/lib/modules.nix:1118:7:
1117| // {
1118| value = addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
1119| inherit (res.defsFinal') highestPrio;
… while evaluating the option `system.build.toplevel':
… while evaluating definitions from `/nix/store/kfcxqcxb9hcq6x33sg4cmwakbb1ifwg9-source/nixos/modules/system/activation/top-level.nix':
… while evaluating the option `warnings':
… while evaluating definitions from `/nix/store/kfcxqcxb9hcq6x33sg4cmwakbb1ifwg9-source/nixos/modules/system/boot/systemd.nix':
… while evaluating the option `systemd.services.home-manager-claymorwan.serviceConfig':
… while evaluating definitions from `/nix/store/x4cardk9amcfpx2r02v8ic20aclgjxf4-source/nixos':
… while evaluating the option `home-manager.users.claymorwan.home.file."/home/claymorwan/.config/fontconfig/conf.d/10-hm-fonts.conf".source':
… while evaluating definitions from `/nix/store/x4cardk9amcfpx2r02v8ic20aclgjxf4-source/modules/files.nix':
… while evaluating the option `home-manager.users.claymorwan.home.file."/home/claymorwan/.config/fontconfig/conf.d/10-hm-fonts.conf".text':
… while evaluating definitions from `/nix/store/x4cardk9amcfpx2r02v8ic20aclgjxf4-source/modules/misc/xdg.nix':
… while evaluating the option `home-manager.users.claymorwan.xdg.configFile."fontconfig/conf.d/10-hm-fonts.conf".text':
… while evaluating definitions from `/nix/store/x4cardk9amcfpx2r02v8ic20aclgjxf4-source/modules/misc/fontconfig.nix':
… while evaluating the option `home-manager.users.claymorwan.fonts.fontconfig.configFile.fonts.text':
… while evaluating definitions from `/nix/store/x4cardk9amcfpx2r02v8ic20aclgjxf4-source/modules/misc/fontconfig.nix':
(stack trace truncated; use '--show-trace' to show the full, detailed trace)
error: cannot coerce a set to a string: { __functionArgs = «thunk»; __functor = «lambda __functor @ /nix/store/kfcxqcxb9hcq6x33sg4cmwakbb1ifwg9-source/lib/trivial.nix:1017:17»; override = «thunk»; tests = «thunk»; version = 1; }
Maybe you need to use overrideAttrs for both packages? it doesn't seem to take patches as an argument
o dam yea i had forgotten abt the parens, now i do get this error tho, also good to mention that both package doesn't have any patches to beguin with
error: function 'anonymous lambda' called with unexpected argument 'patches'
at /nix/store/kfcxqcxb9hcq6x33sg4cmwakbb1ifwg9-source/pkgs/tools/misc/qt5ct/default.nix:1:1:
1| {
| ^
2| mkDerivation,
To start with you need parens around the things in your list. Right now your list is like:
[
kdePackages.qt6ct.overrideAttrs
(...)
libsForQt5.qt5ct.override
{...}
];
So you want something like:
[
(kdePackages.qt6ct.overrideAttrs
(...))
(libsForQt5.qt5ct.override
{...})
];
Yeah it pulls some of the packages from cachix. Just not the kernel.
that’s normal
Thanks. This is valuable information for my future attempts at proper binary caches
The .drv file and the output will have different hashes in their paths, that's normal. You need to compare either the derivations or the outputs, they hashes should match there for everything to work.
Are you sure you've set up the cachix correctly on your laptop?
No, I know what .drv means. Its there because i copied a line from the terminal. I tried rebuilding with the exact same, clean git tree and it still did not pull from cachix.
I am guessing there is probably some things in the kernel that depend of build date but I didn't confirm my hypothesis by diffing .drv files. Instead I just used nixos-generators to build a raw disk image on fedora and flashed it with dd
It works
Not sure I can help with caching but you're confusing the derivation and build result. Both end up in the nix store but the derivations are just files with the .drv extension. The build artefacts have a hash based on the derivation, but it is different. I think they are both deterministic as long as you don't change config or update channel/flake dependencies. Can you check both paths in the nix store and try rebuilding?
yea i was abt to edit the post saying i found out lol, but still thanks for the help
With callPackage you need to specify an argument set to the package expression, like this:
callPackage ../brei/package.nix {}
Without the curly braces what you have is a function instead of a derivation, which is why the error message says it's an invalid type.
The argument set lets you override inputs to the package set, or pass in arguments that aren't provided by nixpkgs. But if you want all package inputs to be automatically pulled from nixpkgs then you provide an empty set.
"Improve documentation". If they make it like the nixos documentation, that'll make the framework documentation worse.