about summary refs log tree commit diff
path: root/configurations/melian/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'configurations/melian/default.nix')
-rw-r--r--configurations/melian/default.nix100
1 files changed, 84 insertions, 16 deletions
diff --git a/configurations/melian/default.nix b/configurations/melian/default.nix
index 3ef0e46..bfdc42e 100644
--- a/configurations/melian/default.nix
+++ b/configurations/melian/default.nix
@@ -1,4 +1,5 @@
 {
+  config,
   lib,
   pkgs,
   ...
@@ -14,6 +15,7 @@ with lib; {
 
     syncthing.enable = true;
 
+    android.enable = true;
     beets.enable = true;
     bluetooth.enable = true;
     libvirtd.enable = true;
@@ -29,6 +31,68 @@ with lib; {
       wlan0.useDHCP = true;
     };
 
+    networkmanager = {
+      enable = true;
+      wifi.backend = "iwd";
+
+      # Spent three days trying to make this work but still getting "No SSO
+      # handler" even on the HEAD version that 100% has SSO support baked in.
+      # It's all so tiresome[1]... aaand KDE is not supported[2].
+      #
+      # I fucking hate AnyConnect, truly an example of how shit is is non-free
+      # software. SAML also sucks balls. I also hate my company for using this
+      # shit, guess I have no other choice but to use the absolute dogshit
+      # Ubuntu laptop they gave me.
+      #
+      # [1]: https://gitlab.gnome.org/GNOME/NetworkManager-openconnect
+      # [1]: https://gitlab.com/openconnect/openconnect/-/issues/424
+      # [2]: https://groups.google.com/g/linux.debian.bugs.dist/c/lK8u-LMY7n4
+      # [2]: https://bugs.kde.org/show_bug.cgi?id=448153
+      #
+      # plugins = with pkgs; [
+      #   ((networkmanager-openconnect.override {
+      #     withGnome = false;
+      #     openconnect = openconnect.overrideAttrs (_: super: {
+      #       version = "unstable-2022-10-23";
+      #       src = fetchFromGitLab {
+      #         owner = "openconnect";
+      #         repo = "openconnect";
+      #         rev = "acdfc753f7885b2a539f99036ac41ba1b78cc7ae";
+      #         hash = "sha256-ub+Z4WFD77h5YMQTb+TLc7EyY2KjBWglF1QVTirCHJM=";
+      #       };
+      #     });
+      #   }).overrideAttrs (_: super: {
+      #     version = "unstable-2022-09-10";
+      #     src = fetchFromGitLab {
+      #       domain = "gitlab.gnome.org";
+      #       owner = "GNOME";
+      #       repo = "NetworkManager-openconnect";
+      #       rev = "3c1590786518e9acca33c250660ad21cae565acd";
+      #       hash = "sha256-YTUN46QHsHkXPAhImPG/MMLMqjlSRknapVO8u43nnWk=";
+      #     };
+      #     buildInputs = super.buildInputs ++ [
+      #       (webkitgtk_4_1.override {
+      #         libsoup = gnome.libsoup;
+      #       })
+      #     ];
+      #     nativeBuildInputs = super.nativeBuildInputs ++ [
+      #       autoreconfHook
+      #     ];
+      #     postPatch = ''
+      #       substituteInPlace configure.ac \
+      #         --replace "PKG_CHECK_MODULES(LIBSECRET, libsecret-1 >= 0.18)" ""
+      #     '';
+      #     preAutoreconf = ''
+      #       autoupdate
+      #     '';
+      #     preConfigure = ''
+      #       NOCONFIGURE=x ./autogen.sh
+      #       touch gtk4/nm-openconnect-dialog.ui
+      #     '';
+      #   }))
+      # ];
+    };
+
     wireless = {
       enable = false;
       iwd.enable = true;
@@ -59,23 +123,27 @@ with lib; {
     powerUpCommands = "${modprobe} xhci_pci";
   };
 
-  services.thinkfan = {
-    enable = true;
-
-    settings = {
-      sensors = [
-        {
-          hwmon = "/sys/class/hwmon";
-          name = "coretemp";
-          indices = [1];
-        }
-      ];
-      fans = [{tpacpi = "/proc/acpi/ibm/fan";}];
-      levels = [
-        ["level auto" 0 50]
-        ["level disengaged" 50 32767]
-      ];
+  services = {
+    thinkfan = {
+      enable = true;
+
+      settings = {
+        sensors = [
+          {
+            hwmon = "/sys/class/hwmon";
+            name = "coretemp";
+            indices = [1];
+          }
+        ];
+        fans = [{tpacpi = "/proc/acpi/ibm/fan";}];
+        levels = [
+          ["level auto" 0 50]
+          ["level disengaged" 50 32767]
+        ];
+      };
     };
+
+    fwupd.enable = true;
   };
 
   boot = {

Consider giving Nix/NixOS a try! <3