Trying to compiling everything from source, it works, but isn't worth it

This commit is contained in:
Lyes Saadi 2024-05-04 21:40:00 +02:00
parent 8475ddf66b
commit be8c206e60
No known key found for this signature in database
GPG key ID: 17418538BAA17767
2 changed files with 81 additions and 16 deletions

View file

@ -1,4 +1,4 @@
{ config, ... }: { config, pkgs, ... }:
{ {
# Optimisation # Optimisation
@ -9,21 +9,67 @@
# system = "x86_64-linux"; # system = "x86_64-linux";
# }; # };
nix.settings.system-features = [ "gccarch-tigerlake" "nixos-test" "benchmark" "big-parallel" "kvm" ]; # nix.settings.system-features = [ "gccarch-tigerlake" "nixos-test" "benchmark" "big-parallel" "kvm" ];
# Increasing the limit of files to help with compilation # # Increasing the limit of files to help with compilation
security.pam.loginLimits = [{ # security.pam.loginLimits = [{
domain = "*"; # domain = "*";
type = "soft"; # type = "soft";
item = "nofile"; # item = "nofile";
value = "8192"; # value = "8192";
}]; # }];
# Disabling failing test # # Resources Limit
# nix.settings = {
# max-jobs = 7;
# cores = 2;
# };
# # OOM configuration
# systemd = {
# # Create a separate slice for nix-daemon that is
# # memory-managed by the userspace systemd-oomd killer
# slices."nix-daemon".sliceConfig = {
# ManagedOOMMemoryPressure = "kill";
# ManagedOOMMemoryPressureLimit = "50%";
# };
# services."nix-daemon".serviceConfig.Slice = "nix-daemon.slice";
# # If a kernel-level OOM event does occur anyway,
# # strongly prefer killing nix-daemon child processes
# services."nix-daemon".serviceConfig.OOMScoreAdjust = 1000;
# services."nix-daemon".serviceConfig.MemoryHigh = "16G";
# services."nix-daemon".serviceConfig.MemoryMax = "20G";
# };
# # Disabling failing test
# nixpkgs.overlays = [ (final: prev: { # nixpkgs.overlays = [ (final: prev: {
# orc = prev.orc.overrideAttrs (_: { doCheck = false; }); # orc = prev.orc.overrideAttrs (_: { doCheck = false; });
# gsl = prev.gsl.overrideAttrs (_: { doCheck = false; });
# fprintd = prev.fprintd.overrideAttrs (super: {
# # doCheck = false;
# # buildInputs = super.buildInputs or [ ] ++ (with pkgs; [ libpam-wrapper (pkgs.python3.withPackages (python-pkgs: [ python-pkgs.pycairo python-pkgs.dbus-python python-pkgs.python-dbusmock ])) ]);
# mesonCheckFlags = [
# # PAM related checks are timing out
# "--no-suite" "fprintd"
# ];
# });
# # haskellPackages.crypton = pkgs.haskell.lib.overrideCabal prev.crypton (_: { doCheck = false; });
# # haskellPackages.cryptonite = pkgs.haskell.lib.overrideCabal prev.cryptonite (_: { doCheck = false; });
# }) ]; # }) ];
# nixpkgs.config.packageOverrides = pkgs: {
# haskellPackages = pkgs.haskellPackages.override {
# overrides = hsSelf: hsSuper: {
# crypton = pkgs.haskell.lib.overrideCabal hsSuper.crypton (_: { doCheck = false; });
# cryptonite = pkgs.haskell.lib.overrideCabal hsSuper.cryptonite (_: { doCheck = false; });
# crypton-x509-validation = pkgs.haskell.lib.overrideCabal hsSuper.crypton-x509-validation (oa: { doCheck = false; });
# tls = pkgs.haskell.lib.overrideCabal hsSuper.tls (oa: { doCheck = false; });
# };
# };
# };
# NVidia # NVidia
services.xserver.videoDrivers = [ "nvidia" ]; services.xserver.videoDrivers = [ "nvidia" ];
@ -40,15 +86,25 @@
# Use the open source version of the kernel module # Use the open source version of the kernel module
# Only available on driver 515.43.04+ # Only available on driver 515.43.04+
open = true; open = false;
# Enable the nvidia settings menu # Enable the nvidia settings menu
nvidiaSettings = true; nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU # Optionally, you may need to select the appropriate driver version for your specific GPU
package = config.boot.kernelPackages.nvidiaPackages.stable; # package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta;
};
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
# For containers # For containers
virtualisation.containers.cdi.dynamic.nvidia.enable = true; hardware.nvidia-container-toolkit.enable = true;
} }

View file

@ -12,6 +12,7 @@
boot.loader.systemd-boot.configurationLimit = 10; boot.loader.systemd-boot.configurationLimit = 10;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.plymouth.enable = true; boot.plymouth.enable = true;
boot.kernelParams = [ "quiet" ];
boot.supportedFilesystems = [ "ntfs" ]; boot.supportedFilesystems = [ "ntfs" ];
@ -26,6 +27,7 @@
# Firmware # Firmware
services.fwupd.enable = true; services.fwupd.enable = true;
services.fprintd.enable = true; services.fprintd.enable = true;
security.pam.services.gdm-fingerprint.fprintAuth = false;
# Time # Time
time.timeZone = "Europe/Paris"; time.timeZone = "Europe/Paris";
@ -41,7 +43,7 @@
services.xserver.xkb.layout = "fr"; services.xserver.xkb.layout = "fr";
services.xserver.xkb.variant = "oss"; services.xserver.xkb.variant = "oss";
services.xserver.libinput.enable = true; services.libinput.enable = true;
# Printing # Printing
services.printing.enable = true; services.printing.enable = true;
@ -65,10 +67,16 @@
# Graphics # Graphics
services.xserver.enable = true; services.xserver.enable = true;
programs.xwayland.enable = true; programs.xwayland.enable = true;
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# GNOME
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;
# KDE
# services.desktopManager.plasma6.enable = true;
# programs.ssh.askPassword = lib.mkForce "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass";
programs.dconf.enable = true; programs.dconf.enable = true;
services.flatpak.enable = true; services.flatpak.enable = true;
@ -91,7 +99,8 @@
documentation.enable = true; documentation.enable = true;
documentation.man.enable = true; documentation.man.enable = true;
documentation.dev.enable = true; documentation.dev.enable = true;
documentation.nixos.enable = true; # Fails for some reason
documentation.nixos.enable = false;
# Virtualisation # Virtualisation
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;