{
  description = "A simple flake for a nix-shell";

  inputs = {
      nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
      home-manager.url = "github:nix-community/home-manager/master";
      home-manager.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = { self, nixpkgs, home-manager, ... }:
  let
    lib = nixpkgs.lib;
    system = "x86_64-linux";
    pkgs = nixpkgs.legacyPackages.${system};
  in {
    nixpkgs.config = {
      allowUnfree = true;
      allowUnfreePredicate = (_: true);
    };
    nixosConfigurations = {
      hp-laptop-lho = lib.nixosSystem {
          inherit system;
          modules = [ ./configuration.nix ];
      };
    };
    homeConfigurations = {
      lorenz = home-manager.lib.homeManagerConfiguration {
          inherit pkgs;
          modules = [ ./home.nix ];
      };
    };
  };
}