From 400d2ad28f38ddd7a8ae23f5237e67ed190287d5 Mon Sep 17 00:00:00 2001 From: Jurn Wubben Date: Tue, 24 Jun 2025 09:06:21 +0200 Subject: [PATCH] Split some modules up. --- hosts/laptop/default.nix | 81 +++++++++++-------------------------- hosts/laptop/wluma.nix | 31 ++++++++++++++ system/hardware/default.nix | 3 +- system/hardware/joycond.nix | 12 ++++++ 4 files changed, 68 insertions(+), 59 deletions(-) create mode 100644 hosts/laptop/wluma.nix create mode 100644 system/hardware/joycond.nix diff --git a/hosts/laptop/default.nix b/hosts/laptop/default.nix index 33c9e60..3b8f8aa 100644 --- a/hosts/laptop/default.nix +++ b/hosts/laptop/default.nix @@ -2,26 +2,28 @@ imports = [ ./hardware-configuration.nix ./virt.nix + ./wluma.nix ]; - # services.printing = { - # enable = true; - # startWhenNeeded = true; - # }; - # hardware.printers = { - # ensureDefaultPrinter = "Broeder"; - # ensurePrinters = [ - # { - # deviceUri = "ipp://192.168.1.33/ipp"; - # location = "home"; - # name = "Broeder"; - # model = "everywhere"; - # } - # ]; - # }; + services.printing = { + enable = true; + startWhenNeeded = true; + }; + hardware.printers = { + ensureDefaultPrinter = "Broeder"; + ensurePrinters = [ + { + deviceUri = "ipp://192.168.1.33/ipp"; + location = "home"; + name = "Broeder"; + model = "everywhere"; + } + ]; + }; - programs.evolution.enable = true; # FIXME: move to appropiate place. + # programs.evolution.enable = true; # FIXME: move to appropiate place. niksos = { + joycond = false; #NOTE: enable when game night lol fingerprint = true; bluetooth = true; portable = { @@ -44,49 +46,12 @@ kde = true; }; }; - home-manager.users.jsw = { - wayland.windowManager.hyprland.settings.monitor = ["eDP-1,2880x1920@120,0x0,1.5,vrr,1"]; - services.wluma = { - enable = true; - settings = { - als.iio = { - path = "/sys/bus/iio/devices"; - thresholds = { - "0" = "night"; - "10" = "dark"; - "100" = "normal"; - "20" = "dim"; - "200" = "bright"; - "500" = "outdoors"; - }; - }; - output.backlight = [ - { - capturer = "none"; - name = "eDP-1"; - path = "/sys/class/backlight/amdgpu_bl1"; - } - { - capturer = "none"; - name = "keyboard"; - path = "/sys/bus/platform/devices/cros-keyboard-leds.5.auto/leds/chromeos::kbd_backlight"; - } - ]; - }; - }; - }; - hardware.sensor.iio.enable = true; # brightness sensor - - services = { - usbmuxd.enable = true; - joycond.enable = true; - - udev.extraRules = '' - # Ethernet expansion card support - ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20" - ''; - }; + home-manager.users.jsw.wayland.windowManager.hyprland.settings.monitor = ["eDP-1,2880x1920@120,0x0,1.5,vrr,1"]; + services.udev.extraRules = '' + # Ethernet expansion card support + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20" + ''; boot.kernelParams = [ # There seems to be an issue with panel self-refresh (PSR) that # causes hangs for users. diff --git a/hosts/laptop/wluma.nix b/hosts/laptop/wluma.nix new file mode 100644 index 0000000..593c1c1 --- /dev/null +++ b/hosts/laptop/wluma.nix @@ -0,0 +1,31 @@ +{ + hardware.sensor.iio.enable = true; # brightness sensor + home-manager.users.jsw.services.wluma = { + enable = true; + settings = { + als.iio = { + path = "/sys/bus/iio/devices"; + thresholds = { + "0" = "night"; + "10" = "dark"; + "100" = "normal"; + "20" = "dim"; + "200" = "bright"; + "500" = "outdoors"; + }; + }; + output.backlight = [ + { + capturer = "none"; + name = "eDP-1"; + path = "/sys/class/backlight/amdgpu_bl1"; + } + { + capturer = "none"; + name = "keyboard"; + path = "/sys/bus/platform/devices/cros-keyboard-leds.5.auto/leds/chromeos::kbd_backlight"; + } + ]; + }; + }; +} diff --git a/system/hardware/default.nix b/system/hardware/default.nix index 9ec9a43..f513c91 100644 --- a/system/hardware/default.nix +++ b/system/hardware/default.nix @@ -3,9 +3,10 @@ imports = [ ./bluetooth.nix - ./graphics.nix ./fingerprint.nix ./fwupd.nix + ./graphics.nix + ./joycond.nix ./power.nix ]; } diff --git a/system/hardware/joycond.nix b/system/hardware/joycond.nix new file mode 100644 index 0000000..a87d760 --- /dev/null +++ b/system/hardware/joycond.nix @@ -0,0 +1,12 @@ +{ + config, + lib, + ... +}: { + options.niksos.joycond = lib.mkEnableOption "support for nintendo switch controllers."; + + config.services = lib.mkIf config.niksos.joycond { + usbmuxd.enable = true; + joycond.enable = true; + }; +}