[General+Boot] Add more options options to minimal config.

Use mainline kvdo.
Add more options to nouveau kernel module.
This commit is contained in:
Antoine Viallon 2022-10-05 09:02:25 +02:00
parent 233927842b
commit 1c83eb0708
Signed by: aviallon
GPG key ID: 186FC35EDEB25716
5 changed files with 40 additions and 23 deletions

View file

@ -59,12 +59,12 @@ in
services.lvm = mkIf cfg.lvm { services.lvm = mkIf cfg.lvm {
boot.thin.enable = true; boot.thin.enable = true;
dmeventd.enable = true; dmeventd.enable = true;
boot.vdo.enable = true;
}; };
boot.initrd.kernelModules = ifEnable cfg.lvm [ boot.initrd.kernelModules = ifEnable cfg.lvm [
"dm-cache" "dm-cache-smq" "dm-cache-mq" "dm-cache-cleaner" "dm-cache" "dm-cache-smq" "dm-cache-mq" "dm-cache-cleaner"
]; ];
boot.kernelModules = ifEnable cfg.lvm [ "dm-cache" "dm-cache-smq" "dm-persistent-data" "dm-bio-prison" "dm-clone" "dm-crypt" "dm-writecache" "dm-mirror" "dm-snapshot" "kvdo" ]; boot.kernelModules = ifEnable cfg.lvm [ "dm-cache" "dm-cache-smq" "dm-persistent-data" "dm-bio-prison" "dm-clone" "dm-crypt" "dm-writecache" "dm-mirror" "dm-snapshot" "kvdo" ];
aviallon.boot.kvdo.enable = mkDefault cfg.lvm;
aviallon.boot.cmdline = { aviallon.boot.cmdline = {
resume = mkIf (! isNull resumeDeviceLabel) (mkDefault "LABEL=${resumeDeviceLabel}"); resume = mkIf (! isNull resumeDeviceLabel) (mkDefault "LABEL=${resumeDeviceLabel}");

View file

@ -5,5 +5,14 @@ let
in { in {
config = mkIf (cfg.enable && !cfg.useProprietary) { config = mkIf (cfg.enable && !cfg.useProprietary) {
boot.initrd.kernelModules = [ "nouveau" ]; boot.initrd.kernelModules = [ "nouveau" ];
aviallon.boot.cmdline = {
"nouveau.perflvl_wr" = 7777;
"nouveau.pstate" = 1;
"nouveau.runpm" = 1;
"nouveau.modeset" = 1;
"nouveau.config" = "NvBoost=1";
};
}; };
} }

View file

@ -19,6 +19,7 @@ in {
powerManagement.enable = true; powerManagement.enable = true;
powerManagement.finegrained = mkIf config.hardware.nvidia.prime.offload.enable true; powerManagement.finegrained = mkIf config.hardware.nvidia.prime.offload.enable true;
modesetting.enable = true; modesetting.enable = true;
nvidiaSettings = true;
}; };
aviallon.boot.cmdline = mkIf cfg.saveAllVram { aviallon.boot.cmdline = mkIf cfg.saveAllVram {

View file

@ -103,42 +103,48 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.java.enable = true; programs.java.enable = mkDefault (!generalCfg.minimal);
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) cfg.allowUnfreeList; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) cfg.allowUnfreeList;
environment.systemPackages = with pkgs; with libsForQt5; [ environment.systemPackages = with pkgs; with libsForQt5; []
++ [
vim vim
wget wget
nano nano
opensshOptimized openssh
rsyncOptimized psmisc
htop pciutils
cachix
psmisc # killall, etc.
par2cmdline # .par2 archive verification
schedtool
python3
veracrypt
ripgrep ripgrep
fd fd
htop
cachix
usbutils
]
++ optionals (!generalCfg.minimal) [
rsync
par2cmdline # .par2 archive verification
python3
veracrypt
parallel parallel
pciutils
coreutils-full coreutils-full
nmap nmap
pv pv
usbutils
xxHash xxHash
unzip
]
++ (optionals config.aviallon.developer.enable [
schedtool
clinfo clinfo
binutils binutils
unzip
cpuset cpuset
gptfdisk # gdisk gptfdisk # gdisk
gcc gcc
gnumake gnumake
cmake cmake
]; ])
;
programs.ssh.package = pkgs.opensshOptimized; programs.ssh.package = pkgs.opensshOptimized;

View file

@ -71,7 +71,8 @@ in {
defaultShared = mkDefault true; defaultShared = mkDefault true;
browsing = mkDefault true; browsing = mkDefault true;
listenAddresses = [ "0.0.0.0:631" ]; listenAddresses = [ "0.0.0.0:631" ];
drivers = with pkgs; [ drivers = with pkgs; []
++ (optionals (!desktopCfg.minimal) [
hplipWithPlugin hplipWithPlugin
gutenprint gutenprint
splix splix
@ -92,13 +93,13 @@ in {
cups-drv-rastertosag-gdi cups-drv-rastertosag-gdi
# cups-kyocera-ecosys-m552x-p502x # cups-kyocera-ecosys-m552x-p502x
canon-cups-ufr2 canon-cups-ufr2
]; ]);
webInterface = mkDefault true; webInterface = mkDefault true;
}; };
services.system-config-printer.enable = mkIf desktopCfg.enable true; services.system-config-printer.enable = mkIf (desktopCfg.enable && !desktopCfg.minimal) true;
hardware.sane = mkIf desktopCfg.enable { hardware.sane = mkIf desktopCfg.enable {
enable = true; enable = !desktopCfg.minimal;
netConf = "192.168.0.0/24"; netConf = "192.168.0.0/24";
extraBackends = with pkgs; [ extraBackends = with pkgs; [
hplipWithPlugin hplipWithPlugin
@ -190,10 +191,10 @@ in {
programs.ssh.startAgent = false; programs.ssh.startAgent = false;
# SmartCards # SmartCards
services.pcscd.enable = true; services.pcscd.enable = mkDefault (!desktopCfg.minimal);
services.avahi = { services.avahi = {
enable = true; # .lan/.local resolution enable = !desktopCfg.minimal; # .lan/.local resolution
nssmdns = true; # .lan/.local resolution nssmdns = true; # .lan/.local resolution
openFirewall = true; openFirewall = true;
reflector = true; reflector = true;