purism/librem/5r4: make it usuable without an overlay
In larger installations nixpkgs.overlays adds significant overhead because it's harder to share nixpkgs between different NixOS machines i.e. using nixpkgs.pkgs
This commit is contained in:
parent
753176b57b
commit
9b51a7a1f7
|
@ -9,7 +9,7 @@
|
|||
enable = true;
|
||||
# this is required to correctly configure the modem as PA source/sink
|
||||
extraConfig = ''
|
||||
.include ${pkgs.librem5-base}/etc/pulse/librem5.pa
|
||||
.include ${config.hardware.librem5.package}/etc/pulse/librem5.pa
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -1,8 +1,15 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
let cfg = config.hardware.librem5;
|
||||
let
|
||||
cfg = config.hardware.librem5;
|
||||
linuxPackages_librem5 = pkgs.linuxPackagesFor (pkgs.callPackage ./kernel.nix { });
|
||||
ubootLibrem5 = pkgs.callPackage ./u-boot { };
|
||||
in {
|
||||
options = {
|
||||
hardware.librem5 = {
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.callPackage ./librem5-base { };
|
||||
};
|
||||
wifiCard = lib.mkOption {
|
||||
type = lib.types.enum [ "redpine" "sparklan" "none" ];
|
||||
description = lib.mdDoc ''
|
||||
|
@ -42,15 +49,6 @@ in {
|
|||
lockdownFix = lib.mkDefault true;
|
||||
};
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(import ./kernel)
|
||||
(final: prev: {
|
||||
ubootLibrem5 = final.callPackage ./u-boot { };
|
||||
|
||||
librem5-base = final.callPackage ./librem5-base { };
|
||||
})
|
||||
];
|
||||
|
||||
boot = {
|
||||
kernelParams = [ "rootwait" ];
|
||||
|
||||
|
@ -59,12 +57,11 @@ in {
|
|||
grub.enable = false;
|
||||
};
|
||||
|
||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_librem5;
|
||||
kernelPackages = lib.mkDefault linuxPackages_librem5;
|
||||
};
|
||||
|
||||
services.udev.packages = lib.mkIf cfg.installUdevPackages [ pkgs.librem5-base ];
|
||||
|
||||
environment.systemPackages = with pkgs; [ ubootLibrem5 ];
|
||||
services.udev.packages = lib.mkIf cfg.installUdevPackages [ config.hardware.librem5.package ];
|
||||
|
||||
environment.systemPackages = [ ubootLibrem5 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
final: prev: {
|
||||
linuxPackages_librem5 = final.linuxPackagesFor (final.callPackage ./kernel.nix { });
|
||||
}
|
|
@ -11,7 +11,7 @@ lib.mkIf config.hardware.librem5.lockdownFix {
|
|||
systemd.services.librem5-lockdown-support = {
|
||||
description = "Set up drivers for the orientation and proximity sensors on Librem 5";
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.ExecStart = "${pkgs.librem5-base}/bin/lockdown-support.sh";
|
||||
serviceConfig.ExecStart = "${config.hardware.librem5.package}/bin/lockdown-support.sh";
|
||||
wantedBy = [ "default.target" ];
|
||||
path = [ pkgs.kmod ];
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue