1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-23 19:49:45 +01:00

README: less complex minimal flake.nix example

This commit is contained in:
Vladimir Serov 2020-09-26 13:38:33 +03:00 committed by Robert Helgesson
parent 41147ae09a
commit da6077a899
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89

View file

@ -305,11 +305,12 @@ in your system configuration and
in your Home Manager configuration. in your Home Manager configuration.
Flakes Nix Flakes
------ ----------
Home Manager includes a flake.nix for compatibility with [NixOS flakes](https://nixos.wiki/wiki/Flakes) for those Home Manager includes a `flake.nix` file for compatibility with [Nix Flakes][]
that wish to use it as a module. A bare-minimum flake.nix would be as follows: for those that wish to use it as a module. A bare-minimum `flake.nix` would be
as follows:
```nix ```nix
{ {
@ -320,40 +321,20 @@ that wish to use it as a module. A bare-minimum flake.nix would be as follows:
home-manager.url = "github:nix-community/home-manager"; home-manager.url = "github:nix-community/home-manager";
}; };
outputs = inputs: { outputs = { home-manager, nixpkgs, ... }: {
nixosConfigurations = { nixosConfigurations = {
hostname = let hostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = inputs.nixpkgs.legacyPackages.${system};
inherit (inputs.nixpkgs) lib;
# Things in this set are passed to modules and accessible
# in the top-level arguments (e.g. `{ pkgs, lib, inputs, ... }:`).
specialArgs = {
inherit inputs;
};
hm-nixos-as-super = { config, ... }: {
# Submodules have merge semantics, making it possible to amend
# the `home-manager.users` submodule for additional functionality.
options.home-manager.users = lib.mkOption {
type = lib.types.attrsOf (lib.types.submoduleWith {
modules = [ ];
# Makes specialArgs available to Home Manager modules as well.
specialArgs = specialArgs // {
# Allow accessing the parent NixOS configuration.
super = config;
};
});
};
};
modules = [ modules = [
./configuration.nix ./configuration.nix
inputs.home.nixosModules.home-manager home-manager.nixosModules.home-manager
hm-nixos-as-super {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.user = import ./home.nix;
}
]; ];
in lib.nixosSystem { inherit system modules specialArgs; }; };
}; };
}; };
} }
@ -384,3 +365,4 @@ an issue.
[channel logs]: https://logs.nix.samueldr.com/home-manager/ [channel logs]: https://logs.nix.samueldr.com/home-manager/
[samueldr]: https://github.com/samueldr/ [samueldr]: https://github.com/samueldr/
[Nix Pills]: https://nixos.org/nixos/nix-pills/ [Nix Pills]: https://nixos.org/nixos/nix-pills/
[Nix Flakes]: https://nixos.wiki/wiki/Flakes