From 512e2113f9b0a538572970e8e21d99de8f612c8d Mon Sep 17 00:00:00 2001 From: Matt Nish-Lapidus Date: Wed, 2 Oct 2024 18:35:14 -0400 Subject: [PATCH] testing gpu stuff --- flake.lock | 21 +++++++ flake.nix | 7 ++- home/home.nix | 39 +++++++++---- system/eddie/configuration.nix | 101 ++++++++++----------------------- 4 files changed, 85 insertions(+), 83 deletions(-) diff --git a/flake.lock b/flake.lock index 40e0e71..8b7bbb4 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "envycontrol": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1724028178, + "narHash": "sha256-3FPpsd43xXXV6ErlMxdQabg9uMS2OW8nm2QklKKe600=", + "owner": "bayasdev", + "repo": "envycontrol", + "rev": "0b502c4027133694e82db9b56eaffbb34fc98642", + "type": "github" + }, + "original": { + "owner": "bayasdev", + "repo": "envycontrol", + "type": "github" + } + }, "flake-compat": { "locked": { "lastModified": 1717312683, @@ -301,6 +321,7 @@ }, "root": { "inputs": { + "envycontrol": "envycontrol", "home-manager": "home-manager", "kmonad": "kmonad", "musnix": "musnix", diff --git a/flake.nix b/flake.nix index 2e4cc71..93195dc 100644 --- a/flake.nix +++ b/flake.nix @@ -27,9 +27,14 @@ url = "github:nix-community/nixpkgs-wayland"; inputs.nixpkgs.follows = "nixpkgs"; }; + + envycontrol = { + url = github:bayasdev/envycontrol; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = inputs @ {self, nixpkgs, nixpkgs-stable, home-manager, nix-flatpak, kmonad, musnix, ... }: { + outputs = inputs @ {self, nixpkgs, nixpkgs-stable, home-manager, nix-flatpak, kmonad, musnix, envycontrol, ... }: { nixpkgs.overlays = [ inputs.nixpkgs-wayland.overlay ]; nixosConfigurations = { diff --git a/home/home.nix b/home/home.nix index 2c1695b..e0a1f97 100644 --- a/home/home.nix +++ b/home/home.nix @@ -84,7 +84,6 @@ gnomeExtensions.just-perfection gnomeExtensions.dash-to-dock gnomeExtensions.solaar-extension - gnomeExtensions.gpu-profile-selector gnome-software gnome-tweaks gnome-photos @@ -240,19 +239,19 @@ }; pandoc.enable = true; password-store.enable = true; - waybar.enable = true; + #waybar.enable = true; }; wayland.windowManager.sway = { - enable = true; - systemd = { - enable = true; - }; - wrapperFeatures = { - gtk = true; - }; - # config = rec { - # }; + enable = true; + systemd = { + enable = true; + }; + wrapperFeatures = { + gtk = true; + }; + # config = rec { + # }; }; dconf.settings = { @@ -322,4 +321,22 @@ home.file.".mbsyncrc".source = ../dotfiles/dot_mbsyncrc; home.file.".local/share/flf".source = ../dotfiles/dot_local/share/flf; + + ############ ACCOUNTS + + accounts.calendar = { + basePath = ".calendar"; + accounts = { + "emenel" = { + name = "matt@emenel.ca"; + primary = true; + remote = { + passwordCommand = [ "rbw get nixos-fastmail" ]; + type = "caldav"; + url = "caldav.fastmail.com"; + userName = "matt@emenel.ca"; + }; + }; + }; + }; } diff --git a/system/eddie/configuration.nix b/system/eddie/configuration.nix index 5e1cf97..767b5ae 100644 --- a/system/eddie/configuration.nix +++ b/system/eddie/configuration.nix @@ -10,61 +10,60 @@ ./hardware-configuration.nix ]; + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # List packages installed in system profile. To search, run: + environment.systemPackages = with pkgs; [ + wget + home-manager + curl + #git + git-lfs + tailscale + rsync + kmonad + gnupg + openrazer-daemon + clinfo + ]; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.kernelPackages = pkgs.linuxPackages_6_10; - systemd.services.tailscaled.after = ["NetworkManager-wait-online.service"]; - - boot = { + boot = { # TODO: confirm this works # https://forums.developer.nvidia.com/t/550-54-14-cannot-create-sg-table-for-nvkmskapimemory-spammed-when-launching-chrome-on-wayland/284775/26 - initrd.kernelModules = [ "nvidia" "i915" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; + initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; # "i915" # extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; kernelParams = [ "nvidia-drm.fbdev=1" "nvidia_drm.modeset=1" ]; }; + systemd.services.tailscaled.after = ["NetworkManager-wait-online.service"]; + hardware = { openrazer.enable = true; openrazer.users = [ "emenel" ]; - graphics.enable = true; + graphics = { + enable = true; + enable32Bit = true; + extraPackages = [ + pkgs.rocmPackages.clr.icd + ]; + }; enableAllFirmware = true; nvidia = { - # package = config.boot.kernelPackages.nvidiaPackages.mkDriver { - # version = "555.58.02"; - # sha256_64bit = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM="; - # sha256_aarch64 = "sha256-8hyRiGB+m2hL3c9MDA/Pon+Xl6E788MZ50WrrAGUVuY="; - # openSha256 = "sha256-8hyRiGB+m2hL3c9MDA/Pon+Xl6E788MZ50WrrAGUVuY="; - # settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8="; - # persistencedSha256 = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM="; - # }; - # Modesetting is required. modesetting.enable = true; - - # Nvidia power management. Experimental, and can cause sleep/suspend to fail. - # Enable this if you have graphical corruption issues or application crashes after waking - # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead - # of just the bare essentials. powerManagement.enable = true; - - # Fine-grained power management. Turns off GPU when not in use. - # Experimental and only works on modern Nvidia GPUs (Turing or newer). powerManagement.finegrained = true; - - # Use the NVidia open source kernel module (not to be confused with the - # independent third-party "nouveau" open source driver). - # Support is limited to the Turing and later architectures. Full list of - # supported GPUs is at: - # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus - # Only available from driver 515.43.04+ - # Currently alpha-quality/buggy, so false is currently the recommended setting. open = true; - #forceFullCompositionPipeline = true; + forceFullCompositionPipeline = true; prime = { amdgpuBusId = "PCI:0:2:0"; @@ -111,7 +110,6 @@ nix.package = pkgs.nixFlakes; nix.settings.experimental-features = [ "nix-command" "flakes" "repl-flake" ]; - # Enable the X11 windowing system services.xserver.enable = true; # Enable the GNOME Desktop Environment. @@ -119,22 +117,14 @@ services.xserver.desktopManager.gnome.enable = true; services.xserver.deviceSection = ''Option "TearFree" "true"''; # For amdgpu. - services.picom = { - enable = true; - vSync = true; - }; - programs.dconf.enable = true; - # Configure keymap in X11 services.xserver.xkb = { layout = "us"; variant = ""; }; - # Enable CUPS to print documents. services.printing.enable = true; - services.tailscale.enable = true; #services.emacs = { @@ -152,21 +142,8 @@ pulse.enable = true; jack.enable = true; wireplumber.enable = true; - - # extraConfig.pipewire."92-low-latency" = { - # "context.properties" = { - # "default.clock.rate" = 48000; - # "default.clock.quantum" = 32; - # "default.clock.min-quantum" = 32; - # "default.clock.max-quantum" = 32; - # }; - # }; }; - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.emenel = { isNormalUser = true; description = "emenel"; @@ -192,24 +169,6 @@ services.flatpak.enable = true; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search, run: - environment.systemPackages = with pkgs; [ - wget - home-manager - curl - #git - git-lfs - tailscale - rsync - kmonad - gnupg - openrazer-daemon - tlp - ]; - services.dbus.implementation = "broker"; #programs.gnupg.enable = true;