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
d1659c9eb8
commit
6cb18a6649
|
@ -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 a new issue