[–] 3 points 9 months ago* (last edited 9 months ago)
  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.

  • source
  • [–] 4 points 9 months ago

    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";
    
  • source
  • [–] [S] 2 points 9 months ago

    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.

  • source
  • parent
  • context
  • [–] 2 points 9 months ago (1 child)

    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.

  • source
  • parent
  • context
  • [–] 5 points 9 months ago (3 children)

    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...

  • source
  • [–] [S] 1 point 9 months ago (4 children)

    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; }
    
  • source
  • parent
  • context
  • [–] [S] 1 point 9 months ago* (last edited 9 months ago) (6 children)

    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,
    
  • source
  • parent
  • context
  • [–] 4 points 9 months ago* (7 children)

    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 
        {...})
    ];
    
  • source
  • [–] 2 points 10 months ago (1 child)

    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?

  • source
  • parent
  • context
  • [–] [S] 0 points 10 months ago* (2 children)

    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

  • source
  • parent
  • context
  • [–] 3 points 10 months ago (3 children)

    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?

  • source
  • [–] 1 point 10 months ago (1 child)

    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.

  • source
  • view more: ‹ prev next ›