From 9abc9c10bafc31a9173a4bd073babf28f5b9ce68 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Fri, 31 May 2024 23:47:56 +0200 Subject: [PATCH 1/5] core: rework mkWrappedExecutable helper - returns packages with high priority - inherits wrapperArgs so they could be overriden - fixed typo in description --- nix-os/core.nix | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/nix-os/core.nix b/nix-os/core.nix index 7f07c00..273753f 100644 --- a/nix-os/core.nix +++ b/nix-os/core.nix @@ -6,20 +6,24 @@ let /* - * pkgs: package - nixpkgs package + * pkg: package - nixpkgs package * exe: string - executable (under bin) in pkgs * wrapperArgs: string[] - arguments to pass to the wrapper */ - mkWrappedExecutable = {pkg, exe ? pkg.meta.mainProgram, wrapperArgs}: let inherit (pkgs) lib makeWrapper; in pkgs.stdenv.mkDerivation { - name = "${pkg.name}-wrap-${exe}"; - nativeBuildInputs = [ makeWrapper ]; - phases = ["installPhase"]; - installPhase = '' - mkdir -p $out/bin - makeWrapper ${pkg}/bin/${exe} $out/bin/${exe} ${lib.concatStringsSep " " wrapperArgs} - ''; - }; - wrapedNixPrograms = builtins.map lib.hiPrio [ + mkWrappedExecutable = {pkg, exe ? pkg.meta.mainProgram, wrapperArgs}: let inherit (pkgs) lib makeWrapper; in lib.hiPrio ( + pkgs.stdenv.mkDerivation { + inherit wrapperArgs; + name = "${pkg.name}-wrap-${exe}"; + nativeBuildInputs = [ makeWrapper ]; + phases = ["installPhase"]; + installPhase = '' + mkdir -p $out/bin + makeWrapper ${pkg}/bin/${exe} $out/bin/${exe} $wrapperArgs + ''; + } + ); + + wrapedNixPrograms = [ (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar-with-logs"];}) (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-shell"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];}) ]; From 82bf8ab05ff9cacd698161ac3bd49db6eafed88e Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sat, 1 Jun 2024 01:12:39 +0200 Subject: [PATCH 2/5] core: wrap nix with wrapped commands --- nix-os/core.nix | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/nix-os/core.nix b/nix-os/core.nix index 273753f..8ab04d8 100644 --- a/nix-os/core.nix +++ b/nix-os/core.nix @@ -23,10 +23,17 @@ let } ); - wrapedNixPrograms = [ - (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar-with-logs"];}) + # bool -> nixpkgs[] + wrappedNixExecutables = inEnvironment: assert builtins.isBool inEnvironment; [ + (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar${lib.optionalString inEnvironment "-with-logs"}"];}) (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-shell"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];}) ]; + wrappedNix = (pkgs.buildEnv { + name = "wrappedNix-${pkgs.nix.version}"; + paths = [ pkgs.nix ] ++ wrappedNixExecutables false; + }).overrideAttrs { + version = pkgs.nix.version; + }; in { # kernel @@ -37,6 +44,7 @@ in # Allow unfree packages nixpkgs.config.allowUnfree = true; + nix.package = wrappedNix; # List packages installed in system profile. To search, run: # $ nix search wget @@ -49,7 +57,7 @@ in fastfetch smartmontools ddrescue - ] ++ wrapedNixPrograms; + ] ++ wrappedNixExecutables true; programs.git.enable = true; programs.git.config = { From ed66ca84bc0926c3a56bd2c27ca45dbf3162c2aa Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sat, 1 Jun 2024 03:27:45 +0200 Subject: [PATCH 3/5] core: explicitly wrap nixos-rebuild --- nix-os/core.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nix-os/core.nix b/nix-os/core.nix index 8ab04d8..75cf2dd 100644 --- a/nix-os/core.nix +++ b/nix-os/core.nix @@ -28,6 +28,9 @@ let (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar${lib.optionalString inEnvironment "-with-logs"}"];}) (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-shell"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];}) ]; + wrappedNixosExecutables = [ + (mkWrappedExecutable {pkg = pkgs.nixos-rebuild; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];}) + ]; wrappedNix = (pkgs.buildEnv { name = "wrappedNix-${pkgs.nix.version}"; paths = [ pkgs.nix ] ++ wrappedNixExecutables false; @@ -57,7 +60,8 @@ in fastfetch smartmontools ddrescue - ] ++ wrappedNixExecutables true; + ] ++ wrappedNixExecutables true + ++ wrappedNixosExecutables; programs.git.enable = true; programs.git.config = { From b5f46c14ee1a30a2f60f973081de019759b81365 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Wed, 5 Jun 2024 16:20:06 +0200 Subject: [PATCH 4/5] nvidia: update to 555.42.02 --- nix-os/nvidia.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nix-os/nvidia.nix b/nix-os/nvidia.nix index 6a30716..2113d0a 100644 --- a/nix-os/nvidia.nix +++ b/nix-os/nvidia.nix @@ -12,6 +12,12 @@ powerManagement.enable = true; open = false; nvidiaSettings = true; - package = config.boot.kernelPackages.nvidiaPackages.stable; + package = config.boot.kernelPackages.nvidiaPackages.mkDriver { + version = "555.42.02"; + sha256_64bit = "sha256-k7cI3ZDlKp4mT46jMkLaIrc2YUx1lh1wj/J4SVSHWyk="; + settingsSha256 = "sha256-rtDxQjClJ+gyrCLvdZlT56YyHQ4sbaL+d5tL4L4VfkA="; + persistencedSha256 = ""; + }; }; + nixpkgs.config.nvidia.acceptLicense = true; } From be2a3c31e58425b450dd3339b815a2ad66c46227 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Wed, 5 Jun 2024 16:21:48 +0200 Subject: [PATCH 5/5] gdm: use wayland --- hosts/tablet.nix | 1 - nix-os/displayManagers/gdm.nix | 1 - 2 files changed, 2 deletions(-) diff --git a/hosts/tablet.nix b/hosts/tablet.nix index 32de99d..7c449bf 100644 --- a/hosts/tablet.nix +++ b/hosts/tablet.nix @@ -21,7 +21,6 @@ networking.hostName = "wroclaw-hp"; networking.networkmanager.enable = true; networking.firewall.enable = true; - services.xserver.displayManager.gdm.wayland = lib.mkForce true; hardware.sensor.iio.enable = true; networking.firewall.allowedTCPPortRanges = [ diff --git a/nix-os/displayManagers/gdm.nix b/nix-os/displayManagers/gdm.nix index f3e4cbc..ce9811a 100644 --- a/nix-os/displayManagers/gdm.nix +++ b/nix-os/displayManagers/gdm.nix @@ -7,7 +7,6 @@ config = { services.xserver.displayManager.gdm = { enable = true; - wayland = false; autoSuspend = false; };