mirror of
				https://github.com/NixOS/nixos-hardware.git
				synced 2025-11-04 17:27:14 +08:00 
			
		
		
		
	Merge branch 'microsoft/surface/specialisation/common-files' of github.com:mexisme/nixos-hardware into microsoft/surface/specialisation/common-files
This commit is contained in:
		@@ -2,11 +2,11 @@
 | 
			
		||||
 | 
			
		||||
## Overview
 | 
			
		||||
 | 
			
		||||
When I (@mexisme) created the microsoft/surface profile, there weren't that many differences between
 | 
			
		||||
When the microsoft/surface profile was created, there weren't that many differences between
 | 
			
		||||
the various models of Surface.
 | 
			
		||||
 | 
			
		||||
I had just acquired a Surface Go 1, and it was mostly safe to enable all the options for all the
 | 
			
		||||
models, and they would fail gracefully enough that we could mostly ignore warnings or errors.
 | 
			
		||||
e.g. I had just acquired a Surface Go 1, and it was mostly safe to enable all the options for all the
 | 
			
		||||
models, and they would fail gracefully enough that you could mostly ignore warnings or errors.
 | 
			
		||||
 | 
			
		||||
Now, however --- as-of 2023-01-10 --- we have a much wider variety of chipsets, incl. models with
 | 
			
		||||
some of the newer AMD CPUs, and this is breaking small things in annoying ways for more people.
 | 
			
		||||
@@ -31,9 +31,6 @@ microsoft/surface profile to make it easier for people to specialise for their h
 | 
			
		||||
Any code or modules that are specialised for a Surface model now have their own directory under this
 | 
			
		||||
top-level.
 | 
			
		||||
 | 
			
		||||
E.g. I am moving the Surface Go specialisations into `surface-go/`, and there may be further
 | 
			
		||||
specialisations like `surface-go-3/`.
 | 
			
		||||
 | 
			
		||||
### "Common" modules
 | 
			
		||||
 | 
			
		||||
All the "common" modules that were once in the top-level of the microsoft/surface profile have moved
 | 
			
		||||
@@ -41,16 +38,7 @@ under the `common/` directory.
 | 
			
		||||
 | 
			
		||||
Tools / services that are shared among several models are now extracted to their own module under
 | 
			
		||||
`common/` and imported by `common/default.nix`.
 | 
			
		||||
These new "common" modules now have an `enable` option, which is `false` by default.
 | 
			
		||||
 | 
			
		||||
### "Deprecated Behaviour" module
 | 
			
		||||
 | 
			
		||||
The original `./default.nix` module has been replaced by a new `deprecated/` module, which replicates the
 | 
			
		||||
original behaviour.
 | 
			
		||||
 | 
			
		||||
The new `./default.nix` will load the new `deprecated/` module, but will also pop-up a warning asking users
 | 
			
		||||
to update how they use the microsoft/surface profile from now on.
 | 
			
		||||
This warning will probably change to a fail assertion at some point in the future.
 | 
			
		||||
Most "common" modules now have an `enable` option, which is `false` by default.
 | 
			
		||||
 | 
			
		||||
## Adding a new Model Specialisation
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
  assertions = [
 | 
			
		||||
    {
 | 
			
		||||
      assertion = false;
 | 
			
		||||
      message = "Importing microsoft/surface/ (default.nix) directly is deprecated! See microsoft/surface/OLD-BEHAVIOUR-DEPRECATED.md for more details.";
 | 
			
		||||
      message = "Importing microsoft/surface/ (default.nix) directly is deprecated! See https://github.com/NixOS/nixos-hardware/blob/master/microsoft/surface/OLD-BEHAVIOUR-DEPRECATED.md for more details.";
 | 
			
		||||
    }
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user