From 0503faaf3b98e991e84e481359b764655ce343bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Mon, 16 Feb 2026 14:57:54 +0100 Subject: [PATCH] update system --- flake.lock | 131 +++++++++++++++---- flake.nix | 13 ++ modules/home-manager/programs/neovide.nix | 9 +- modules/home-manager/theme/md3-evo.nix | 8 +- modules/nixos/default.nix | 1 - modules/nixos/hardware/hid-fanatecff-pkg.nix | 60 --------- modules/nixos/hardware/hid-fanatecff.nix | 29 ---- modules/nixos/shell/flameshot.nix | 10 +- modules/nixos/shell/gnome-keyring.nix | 14 +- modules/nixos/shell/walker.nix | 26 +--- 10 files changed, 152 insertions(+), 149 deletions(-) delete mode 100644 modules/nixos/hardware/hid-fanatecff-pkg.nix delete mode 100644 modules/nixos/hardware/hid-fanatecff.nix diff --git a/flake.lock b/flake.lock index b8e904f..f1dad9e 100644 --- a/flake.lock +++ b/flake.lock @@ -16,6 +16,27 @@ "type": "github" } }, + "elephant": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems" + }, + "locked": { + "lastModified": 1770910218, + "narHash": "sha256-IyHoHbhLFuIgFG+n7dqHwJaXuNnRaEsxCfAsfudV1KY=", + "owner": "abenz1267", + "repo": "elephant", + "rev": "c354a596ec7a7e34e9c26478dc7ef9680bc23e6d", + "type": "github" + }, + "original": { + "owner": "abenz1267", + "repo": "elephant", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -24,11 +45,11 @@ ] }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -44,11 +65,11 @@ ] }, "locked": { - "lastModified": 1768984719, - "narHash": "sha256-O6nXCW9FN39qw204e5Nl3qgaxKFcSvdpx0bULqfwyTA=", + "lastModified": 1771188132, + "narHash": "sha256-qLXxN/tPrZtnekaLBQuVtxQfvqqs5cT5WbyH4zZaTGI=", "owner": "nix-community", "repo": "home-manager", - "rev": "d6e3935ec6e43c8f54cd0132276c82d951e1453e", + "rev": "ae8003d8b61d0d373e7ca3da1a48f9c870d15df9", "type": "github" }, "original": { @@ -62,7 +83,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems" + "systems": "systems_2" }, "locked": { "lastModified": 1731508795, @@ -91,11 +112,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1768974509, - "narHash": "sha256-V+Uv2EL6MMdYGF4Zg0sWHeRLSgqzC4to01taYDItCNY=", + "lastModified": 1771197610, + "narHash": "sha256-482qPcmmuH32EIneik7AGSbuKwDteg29MYXmpN4Srd0=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "2f38ab793de773496d2184aa3aa377bc8c99557b", + "rev": "d4b632053ada7f646b93e2714ace9a1160e9d490", "type": "github" }, "original": { @@ -124,11 +145,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1768678265, - "narHash": "sha256-Ub8eed4DsfIDWyg30xEe+8bSxL/z5Af/gCjmvJ0V/Hs=", + "lastModified": 1771182017, + "narHash": "sha256-lrXBx91NQAVoFeFUNZi46ZWP9M6tbBmT5BNsqSh8QOY=", "owner": "YaLTeR", "repo": "niri", - "rev": "d7184a04b904e07113f4623610775ae78d32394c", + "rev": "1fa0338a172a69b05a1a35d55b291693ff1bc29f", "type": "github" }, "original": { @@ -155,11 +176,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1768886240, - "narHash": "sha256-C2TjvwYZ2VDxYWeqvvJ5XPPp6U7H66zeJlRaErJKoEM=", + "lastModified": 1771008912, + "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "80e4adbcf8992d3fd27ad4964fbb84907f9478b0", + "rev": "a82ccc39b39b621151d6732718e3e250109076fa", "type": "github" }, "original": { @@ -171,11 +192,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1768773494, - "narHash": "sha256-XsM7GP3jHlephymxhDE+/TKKO1Q16phz/vQiLBGhpF4=", + "lastModified": 1771043024, + "narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "77ef7a29d276c6d8303aece3444d61118ef71ac2", + "rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44", "type": "github" }, "original": { @@ -191,14 +212,14 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_2" + "systems": "systems_3" }, "locked": { - "lastModified": 1768910181, - "narHash": "sha256-YRU0IHMzXluZxr0JDfq9jtblb4DV7MIB5wj2jYMFKQc=", + "lastModified": 1771135771, + "narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=", "owner": "nix-community", "repo": "nixvim", - "rev": "5b138edcb2f1c3ed4b29eca3658f04f0639b98b3", + "rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba", "type": "github" }, "original": { @@ -209,13 +230,15 @@ }, "root": { "inputs": { + "elephant": "elephant", "home-manager": "home-manager", "matugen": "matugen", "niri": "niri", "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs", "nixvim": "nixvim", - "tidalcycles": "tidalcycles" + "tidalcycles": "tidalcycles", + "walker": "walker" } }, "superdirt-src": { @@ -250,6 +273,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -264,6 +302,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "tidal-src": { "flake": false, "locked": { @@ -339,6 +392,30 @@ "type": "github" } }, + "walker": { + "inputs": { + "elephant": [ + "elephant" + ], + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_4" + }, + "locked": { + "lastModified": 1771062828, + "narHash": "sha256-y1jBFFO0u+V21y3YldHZozrDwVJVrdC+o3c4M8/rasU=", + "owner": "abenz1267", + "repo": "walker", + "rev": "19b1104585305e0806b842af341630f72038a4b9", + "type": "github" + }, + "original": { + "owner": "abenz1267", + "repo": "walker", + "type": "github" + } + }, "xwayland-satellite-stable": { "flake": false, "locked": { @@ -359,11 +436,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1768765571, - "narHash": "sha256-C1JbyJ3ftogmN3vmLNfyPtnJw2wY64TiUTIhFtk1Leg=", + "lastModified": 1771195969, + "narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "ed1cef792b4def3321ff9ab5479df09609f17a69", + "rev": "536bd32efc935bf876d6de385ec18a1b715c9358", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ce404b5..3075bb3 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,17 @@ url = "github:mitchmindtree/tidalcycles.nix/?ref=0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4"; inputs.nixpkgs.follows = "nixpkgs"; }; + elephant = { + url = "github:abenz1267/elephant"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + walker = { + url = "github:abenz1267/walker"; + inputs = { + elephant.follows = "elephant"; + nixpkgs.follows = "nixpkgs"; + }; + }; }; outputs = @@ -33,6 +44,7 @@ nix-flatpak, niri, tidalcycles, + walker, ... }@inputs: let @@ -144,6 +156,7 @@ nix-flatpak.homeManagerModules.nix-flatpak nixvim.homeModules.nixvim ./modules/home-manager/modules/nixvim + walker.homeManagerModules.default ]; users.${username} = { nix.gc = { diff --git a/modules/home-manager/programs/neovide.nix b/modules/home-manager/programs/neovide.nix index 7b1efbe..b8c9a81 100644 --- a/modules/home-manager/programs/neovide.nix +++ b/modules/home-manager/programs/neovide.nix @@ -29,9 +29,12 @@ ]; }; }; - wayland.windowManager.hyprland.settings.windowrulev2 = [ - # For some reason it really wants to be maximized - "suppressevent maximize,class:^(neovide)$" + wayland.windowManager.hyprland.settings.windowrule = [ + { + name = "Suppress maximize for neovide"; + "match:class" = "^(neovide)$"; + suppress_event = "maximize"; + } ]; programs.nixvim = { globals = { diff --git a/modules/home-manager/theme/md3-evo.nix b/modules/home-manager/theme/md3-evo.nix index 9b52098..a5bb55c 100644 --- a/modules/home-manager/theme/md3-evo.nix +++ b/modules/home-manager/theme/md3-evo.nix @@ -341,7 +341,13 @@ in wayland.windowManager.hyprland = { settings = { - windowrulev2 = [ "float,class:^(zenity)$" ]; + windowrule = [ + { + name = "floating-zenity"; + "match:class" = "^(zenity)$"; + float = true; + } + ]; decoration = { inactive_opacity = 0.8; shadow = { diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 7b46754..a82feb6 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -11,7 +11,6 @@ ./fonts/nerd-fonts.nix ./fonts/open-dyslexic.nix - ./hardware/hid-fanatecff.nix ./hardware/astro-a50.nix ./hardware/audio.nix ./hardware/gbmonctl.nix diff --git a/modules/nixos/hardware/hid-fanatecff-pkg.nix b/modules/nixos/hardware/hid-fanatecff-pkg.nix deleted file mode 100644 index 02cd50a..0000000 --- a/modules/nixos/hardware/hid-fanatecff-pkg.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - lib, - stdenv, - kernel, - fetchFromGitHub, - linuxConsoleTools, - bash, -}: - -stdenv.mkDerivation rec { - pname = "hid-fanatecff"; - version = "0.2.1"; - - src = fetchFromGitHub { - owner = "gotzl"; - repo = "hid-fanatecff"; - rev = version; - hash = "sha256-M2jm8pyxHRiswV4iJEawo57GkJ2XOclIo3NxEFgK+q0="; - }; - - nativeBuildInputs = kernel.moduleBuildDependencies; - - makeFlags = kernel.makeFlags ++ [ - "KVERSION=${kernel.modDirVersion}" - "KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - "KBUILD_OUTPUT=${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 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; { - description = "Driver to support FANATEC input devices, in particular ForceFeedback of various wheel-bases"; - homepage = "https://github.com/gotzl/hid-fanatecff"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ theaninova ]; - platforms = platforms.linux; - broken = stdenv.isAarch64; - }; -} diff --git a/modules/nixos/hardware/hid-fanatecff.nix b/modules/nixos/hardware/hid-fanatecff.nix deleted file mode 100644 index c70b934..0000000 --- a/modules/nixos/hardware/hid-fanatecff.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: - -let - cfg = config.hardware.hid-fanatecff; - kernelPackage = pkgs.callPackage ./hid-fanatecff-pkg.nix { - kernel = config.boot.kernelPackages.kernel; - }; -in -{ - 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-fanatec" ]; - }; - services.udev.packages = [ kernelPackage ]; - users.groups.games = { }; - }; - - meta = { - maintainers = with lib.maintainers; [ theaninova ]; - }; -} diff --git a/modules/nixos/shell/flameshot.nix b/modules/nixos/shell/flameshot.nix index 850cdcc..c8af2e5 100644 --- a/modules/nixos/shell/flameshot.nix +++ b/modules/nixos/shell/flameshot.nix @@ -21,9 +21,13 @@ in bind = [ "SUPER_SHIFT,V,exec,XDG_CURRENT_DESKTOP=sway uwsm app -- flameshot gui --clipboard" ]; - windowrulev2 = [ - "float,class:^(flameshot)$" - "animation fade,class:^(flameshot)$" + windowrule = [ + { + name = "Flameshot"; + "match:class" = "^(flameshot)$"; + animation = "fade"; + float = true; + } ]; }; }; diff --git a/modules/nixos/shell/gnome-keyring.nix b/modules/nixos/shell/gnome-keyring.nix index ce616bc..d2f8aa1 100644 --- a/modules/nixos/shell/gnome-keyring.nix +++ b/modules/nixos/shell/gnome-keyring.nix @@ -16,11 +16,15 @@ in config = lib.mkIf cfg.enable { home-manager.users.${username} = { - wayland.windowManager.hyprland.settings.windowrulev2 = [ - "dimaround,class:^(gcr-prompter)$" - "noborder,class:^(gcr-prompter)$" - "rounding 10,class:^(gcr-prompter)$" - "animation slide,class:^(gcr-prompter)$" + wayland.windowManager.hyprland.settings.windowrule = [ + { + name = "Gnome Keyring"; + "match:class" = "^(gcr-prompter)$"; + border_size = 0; + rounding = 10; + animation = "slide"; + dim_around = true; + } ]; home.packages = with pkgs; [ polkit_gnome diff --git a/modules/nixos/shell/walker.nix b/modules/nixos/shell/walker.nix index 9362a37..40761d6 100644 --- a/modules/nixos/shell/walker.nix +++ b/modules/nixos/shell/walker.nix @@ -8,7 +8,6 @@ let cfg = config.shell.components.walker; - hmConfig = config.home-manager.users.${username}; in { options.shell.components.walker = { @@ -29,27 +28,14 @@ in }; programs.niri.settings.binds."Mod+Space".action.spawn = [ (lib.getExe pkgs.walker) ]; home.packages = with pkgs; [ - walker wl-clipboard ]; - - xdg.configFile."walker/config.toml".source = (pkgs.formats.toml { }).generate "walker-config.toml" { - app_launch_prefix = "uwsm app -- "; - close_when_open = true; - force_keyboard_focus = true; - }; - systemd.user.services.walker = { - Unit = { - Description = "Walker - Application Runner"; - X-Restart-Triggers = [ - "${hmConfig.xdg.configFile."walker/config.toml".source}" - ]; - After = [ "graphical-session.target" ]; - }; - Install.WantedBy = [ "graphical-session.target" ]; - Service = { - ExecStart = "${lib.getExe pkgs.walker} --gapplication-service"; - Restart = "always"; + programs.walker = { + enable = true; + runAsService = true; + config = { + close_when_open = true; + force_keyboard_focus = true; }; }; };