mirror of
https://github.com/nix-community/home-manager
synced 2024-11-23 11:39:46 +01:00
README: less complex minimal flake.nix
example
This commit is contained in:
parent
41147ae09a
commit
da6077a899
1 changed files with 15 additions and 33 deletions
48
README.md
48
README.md
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue