this post was submitted on 27 Dec 2024
12 points (100.0% liked)

Nix / NixOS

1838 readers
1 users here now

Main links

Videos

founded 2 years ago
MODERATORS
 

Hello everyone, I'm very close to finishing my configuration files for NixOS. I have those working on my nixos installation on my external drive, but before I officially move to nixos I'd like to make sure that I'm not doing something wrong.

Could someone please check my config files? (I only use flakes.nix, configuration.nix, home.nix and hardware.nix and I'd say they aren't much complicated.)

My main concearn is that I probably use the import and modules functions wrong (yet somehow they work?). I've read and watched numerous guides for the last 3 months, but I think I still mess this up๐Ÿ˜…. I think following a bunch of different guides and videos added to the confusion a bit. (A recent guide I read made me have doubts about my set up.)

This is the link to my nixos configs:

https://codeberg.org/BlastboomStrice/dotfiles/src/branch/main/.config/nixos-conf

Hopefully by the end of the next week I'll be posting here about having transitioned to linux/nixos:)

Sample of probably wrong usage of modules in flakes.nix

    outputs = {self, nixpkgs, ... }@inputs: {
      nixosConfigurations = {
      nixos = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        specialArgs = { inherit inputs; };
        modules = [
          ./hosts/default/configuration.nix

          inputs.home-manager.nixosModules.home-manager
          {
            home-manager.useGlobalPkgs = true;
            home-manager.useUserPackages = true;

            home-manager.users.bs = import ./hosts/default/home.nix;

            home-manager.extraSpecialArgs = { inherit inputs; };
          }

#           inputs.spicetify-nix.nixosModules.default

Sample of probably wrong usage of imports in configuration.nix

imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
      #inputs.home-manager.nixosModules.default
    ];

(I think I'm not using home manager in configuration.nix, that's why I've commented it out, and I'm importing it directly in flakes.nix.)

you are viewing a single comment's thread
view the rest of the comments
[โ€“] rycee@lemmy.world 2 points 4 days ago (1 children)

You don't seem to actually use inputs in your home.nix file so in principle you should be able to remove the

home-manager.extraSpecialArgs = { inherit inputs; };

line. Doesn't hurt to keep it, though, if you think you may use inputs in the future.

The change you propose in 3 would not work the way you expect, the extraSpecialArgs needs to be set for Home Manager, not NixOS. My guess is that the nixosSystem function simply would ignore the extraSpecialArgs parameter.

Ohh I see, now it makes more sense, thank you!