From 0f90ac4ed1411bbbcd53983047a51a3ee74bbd83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Tue, 23 Apr 2024 20:41:23 +0200 Subject: [PATCH] update system --- flake.nix | 2 -- hosts/MONSTER/default.nix | 10 +++++++ modules/home-manager/packages/default.nix | 4 +-- .../home-manager/programs/nixvim/default.nix | 28 +++++++++++-------- modules/nixos/hardware/hid-fanatecff-pkg.nix | 22 +++++++++++++-- modules/nixos/hardware/hid-fanatecff.nix | 22 ++++----------- modules/nixos/usecases/gaming.nix | 2 ++ 7 files changed, 55 insertions(+), 35 deletions(-) diff --git a/flake.nix b/flake.nix index 534a15f..4ceb9e7 100644 --- a/flake.nix +++ b/flake.nix @@ -49,8 +49,6 @@ nur.overlay (final: prev: { anyrunPlugins = anyrun.packages.${prev.system}; - hyprland = hyprland.packages.${prev.system}.hyprland; - xdg-desktop-portal-hyprland = hyprland.packages.${prev.system}.xdg-desktop-portal-hyprland; ags = ags.packages.${prev.system}.default; matugen = matugen.packages.${prev.system}.default; gbmonctl = prev.callPackage ./overlays/gbmonctl { }; diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index f90e66b..0096bde 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -15,6 +15,10 @@ }; }; + # I'm not happy about this but if I try to get ESP IDF working + # on nix for any longer I'm gonna lose my sanity + programs.nix-ld.enable = true; + # Bootloader. boot = { quiet.enable = true; @@ -56,6 +60,12 @@ fv43u.enable = true; virtual-camera.enable = true; hid-fanatecff.enable = true; + + enableAllFirmware = true; + bluetooth = { + enable = true; + powerOnBoot = true; + }; }; fonts = { diff --git a/modules/home-manager/packages/default.nix b/modules/home-manager/packages/default.nix index 97acecb..684bd38 100644 --- a/modules/home-manager/packages/default.nix +++ b/modules/home-manager/packages/default.nix @@ -25,8 +25,8 @@ # chat apps (import ./threema-desktop.nix { inherit pkgs; }) - (vesktop.override { electron = pkgs.electron_29; }) - (element-desktop.override { electron = pkgs.electron_29; }) + (vesktop.override { withSystemVencord = false; }) + element-desktop # office libreoffice diff --git a/modules/home-manager/programs/nixvim/default.nix b/modules/home-manager/programs/nixvim/default.nix index b31fc29..d9b1aaa 100644 --- a/modules/home-manager/programs/nixvim/default.nix +++ b/modules/home-manager/programs/nixvim/default.nix @@ -92,17 +92,19 @@ in colorschemes.catppuccin = { enable = true; - terminalColors = true; - transparentBackground = true; - background = { - dark = "frappe"; - light = "latte"; + settings = { + term_colors = true; + transparent_background = true; + background = { + dark = "frappe"; + light = "latte"; + }; + integrations.native_lsp.underlines = { + errors = [ "undercurl" ]; + warnings = [ "undercurl" ]; + }; + custom_highlights = builtins.readFile ./custom-highlights.lua; }; - integrations.native_lsp.underlines = { - errors = [ "undercurl" ]; - warnings = [ "undercurl" ]; - }; - customHighlights = builtins.readFile ./custom-highlights.lua; }; plugins = { @@ -179,8 +181,10 @@ in }; toggleterm = { enable = true; - direction = "vertical"; - size = 60; + settings = { + direction = "vertical"; + size = 60; + }; }; luasnip.enable = true; ts-autotag.enable = true; diff --git a/modules/nixos/hardware/hid-fanatecff-pkg.nix b/modules/nixos/hardware/hid-fanatecff-pkg.nix index 430975f..e9977c6 100644 --- a/modules/nixos/hardware/hid-fanatecff-pkg.nix +++ b/modules/nixos/hardware/hid-fanatecff-pkg.nix @@ -3,6 +3,8 @@ stdenv, kernel, fetchFromGitHub, + linuxConsoleTools, + bash, }: stdenv.mkDerivation rec { @@ -12,7 +14,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "gotzl"; repo = "hid-fanatecff"; - rev = "0.1"; + rev = lib.versions.majorMinor version; hash = "sha256-1Nm/34Er/qfel9LJp++IWd7cTh2Wi93Kgd28YLMVvWo="; }; @@ -23,11 +25,27 @@ stdenv.mkDerivation rec { "KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; + patchPhase = '' + runHook prePatch + + substituteInPlace fanatec.rules \ + --replace-fail "/bin/sh" "${bash}/bin/sh" + substituteInPlace fanatec.rules \ + --replace-fail "/usr/bin/evdev-joystick" "${linuxConsoleTools}/bin/evdev-joystick" + + runHook postPatch + ''; + installPhase = '' + runHook preInstall + mkdir -p $out/etc/udev/rules.d - cp ${src}/fanatec.rules $out/etc/udev/rules.d/99-fanatec.rules + cp fanatec.rules $out/etc/udev/rules.d/99-fanatec.rules + mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid cp hid-fanatec.ko $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/hid + + runHook postInstall ''; meta = with lib; { diff --git a/modules/nixos/hardware/hid-fanatecff.nix b/modules/nixos/hardware/hid-fanatecff.nix index a7a7843..c70b934 100644 --- a/modules/nixos/hardware/hid-fanatecff.nix +++ b/modules/nixos/hardware/hid-fanatecff.nix @@ -5,8 +5,6 @@ ... }: -with lib; - let cfg = config.hardware.hid-fanatecff; kernelPackage = pkgs.callPackage ./hid-fanatecff-pkg.nix { @@ -14,28 +12,18 @@ let }; in { - options.hardware.hid-fanatecff = { - enable = mkOption { - type = types.bool; - default = false; - example = true; - description = lib.mdDoc '' - Enables the Linux module drivers for Fanatec wheel bases. - Works with the CSL Elite and CSL/ClubSport DD/DD Pro, - and has experimental support for the ClubSport V2/V2.5, - Podium DD1/DD2 and CSR Elite. - ''; - }; - }; + options.hardware.hid-fanatecff.enable = lib.mkEnableOption "the Linux kernel drivers for Fanatec wheel bases"; config = lib.mkIf cfg.enable { boot = { extraModulePackages = [ kernelPackage ]; - kernelModules = [ "hid-fanatecff" ]; + kernelModules = [ "hid-fanatec" ]; }; + services.udev.packages = [ kernelPackage ]; + users.groups.games = { }; }; meta = { - maintainers = with maintainers; [ theaninova ]; + maintainers = with lib.maintainers; [ theaninova ]; }; } diff --git a/modules/nixos/usecases/gaming.nix b/modules/nixos/usecases/gaming.nix index fcd585c..75a0097 100644 --- a/modules/nixos/usecases/gaming.nix +++ b/modules/nixos/usecases/gaming.nix @@ -23,6 +23,7 @@ in users.users.${username}.extraGroups = [ "wheel" "input" + "games" ]; environment.systemPackages = with pkgs; [ @@ -37,6 +38,7 @@ in libsoup ]; }) + rpcs3 wine winetricks protontricks