NixOS Module Patterns
Directory structure
modules/home/*.nix- Home-manager modules (user packages, dotfiles)modules/nixos/*.nix- NixOS modules (system services)hosts/*/- Machine-specific configurationhome/default.nix- Main home-manager entry point
Adding packages
nix1home.packages = with pkgs; [ 2 package-name 3] ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [ 4 x86-only-package 5];
Creating a module
nix1{ pkgs, ... }: 2{ 3 home.packages = with pkgs; [ mypackage ]; 4 xdg.configFile."app/config.json".text = builtins.toJSON { setting = "value"; }; 5}
Import in home/default.nix:
nix1imports = [ ../modules/home/mymodule.nix ];