diff options
| author | Mel <einebeere@gmail.com> | 2024-10-15 15:52:11 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-10-15 15:52:11 +0200 |
| commit | c8235346fe342df4aebc3f47d4f29040162dbe61 (patch) | |
| tree | 4ca20dccf9db66203b1c9a8b1593b8d964a2fa16 /modules | |
| parent | 42d7140ae47ec30b84150d9b721682b30c74a1a7 (diff) | |
| download | minerals-c8235346fe342df4aebc3f47d4f29040162dbe61.tar.zst minerals-c8235346fe342df4aebc3f47d4f29040162dbe61.zip | |
Bring in bismuth configuration
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/home/common.nix | 40 | ||||
| -rw-r--r-- | modules/jellyfin.nix | 18 | ||||
| -rw-r--r-- | modules/nvidia.nix | 63 |
3 files changed, 121 insertions, 0 deletions
diff --git a/modules/home/common.nix b/modules/home/common.nix new file mode 100644 index 0000000..8e1a1c7 --- /dev/null +++ b/modules/home/common.nix @@ -0,0 +1,40 @@ +{ pkgs, ... }: + +{ + programs = { + git = { + enable = true; + userName = "Mel"; + userEmail = "einebeere@gmail.com"; + signing = { + key = "D75A C286 ACA7 00B4 D8EC 377D 2082 F8EC 11CC 009B"; + signByDefault = true; + }; + extraConfig.init.defaultBranch = "main"; + }; + + tmux = { + enable = true; + mouse = true; + keyMode = "vi"; + plugins = with pkgs.tmuxPlugins; [ + yank fpp open fuzzback + ]; + }; + + fish = { + enable = true; + interactiveShellInit = '' + set fish_greeting + ''; + }; + + zoxide = { enable = true; enableFishIntegration = true; }; + starship = { enable = true; enableFishIntegration = true; }; + direnv = { enable = true; }; + }; + + home.sessionPath = [ + "$HOME/.local/share/JetBrains/Toolbox/scripts" + ]; +} diff --git a/modules/jellyfin.nix b/modules/jellyfin.nix new file mode 100644 index 0000000..1194573 --- /dev/null +++ b/modules/jellyfin.nix @@ -0,0 +1,18 @@ +{ config, pkgs, unstable, ... }: + +let + auxiliaryPkgs = import ../pkgs { inherit pkgs unstable; }; +in +{ + services.jellyfin = { + enable = true; + openFirewall = true; + package = auxiliaryPkgs.jellyfin; + }; + + environment.systemPackages = (with auxiliaryPkgs; [ + jellyfin + jellyfin-web + pkgs.jellyfin-ffmpeg + ]); +} diff --git a/modules/nvidia.nix b/modules/nvidia.nix new file mode 100644 index 0000000..efb38a3 --- /dev/null +++ b/modules/nvidia.nix @@ -0,0 +1,63 @@ +{ config, lib, pkgs, fetchpatch, ... }: + +let + # Fixes framebuffer with linux 6.11 + fbdev_linux_611_patch = fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/NVIDIA/open-gpu-kernel-modules/pull/692.patch"; + hash = "sha256-OYw8TsHDpBE5DBzdZCBT45+AiznzO9SfECz5/uXN5Uc="; + }; +in +{ + # Enable OpenGL + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + + # Load nvidia driver for Xorg and Wayland + services.xserver.videoDrivers = ["nvidia"]; + + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + 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 = false; + + # 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 = false; + + # Enable the Nvidia settings menu, + # accessible via `nvidia-settings`. + # note: fails to build after 560 + nvidiaSettings = false; + + # Optionally, you may need to select the appropriate driver version for your specific GPU. + # package = config.boot.kernelPackages.nvidiaPackages.beta; + + # note: this is enabled by default for nvidia 555 so maybe it should be true? + # very crashy :( + open = false; + + package = config.boot.kernelPackages.nvidiaPackages.mkDriver { + version = "560.35.03"; + sha256_64bit = "sha256-8pMskvrdQ8WyNBvkU/xPc/CtcYXCa7ekP73oGuKfH+M="; + sha256_aarch64 = "sha256-s8ZAVKvRNXpjxRYqM3E5oss5FdqW+tv1qQC2pDjfG+s="; + openSha256 = "sha256-/32Zf0dKrofTmPZ3Ratw4vDM7B+OgpC4p7s+RHUjCrg="; + settingsSha256 = "sha256-kQsvDgnxis9ANFmwIwB7HX5MkIAcpEEAHc8IBOLdXvk="; + persistencedSha256 = "sha256-E2J2wYYyRu7Kc3MMZz/8ZIemcZg68rkzvqEwFAL3fFs="; + #patchesOpen = [ fbdev_linux_611_patch ]; + }; + }; +} |
