From eff01de87c21127e5b22936087aadfeffb9e09c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9o=20Bori?= <theo1.bori@epitech.eu>
Date: Sat, 16 Nov 2024 23:29:24 +0100
Subject: [PATCH] :bug: Fixed SDDM

Also added `supermariowar` within the gaming role
---
 flake.lock                                    | 24 ++++++------
 modules/home/cli/shells/fish/default.nix      |  3 --
 modules/home/games/supermariowar/default.nix  | 20 ++++++++++
 modules/home/roles/desktop/default.nix        |  2 +-
 modules/home/roles/gaming/default.nix         |  1 +
 .../nixos/display-managers/sddm/default.nix   | 37 +++++++++----------
 modules/nixos/security/doas/default.nix       |  2 +-
 systems/x86_64-linux/laptop/default.nix       | 17 +++++----
 8 files changed, 63 insertions(+), 43 deletions(-)
 create mode 100644 modules/home/games/supermariowar/default.nix

diff --git a/flake.lock b/flake.lock
index 5ab1e09..de85742 100644
--- a/flake.lock
+++ b/flake.lock
@@ -342,11 +342,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730016908,
-        "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=",
+        "lastModified": 1731786860,
+        "narHash": "sha256-130gQ5k8kZlxjBEeLpE+SvWFgSOFgQFeZlqIik7KgtQ=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "e83414058edd339148dc142a8437edb9450574c8",
+        "rev": "1bd5616e33c0c54d7a5b37db94160635a9b27aeb",
         "type": "github"
       },
       "original": {
@@ -442,11 +442,11 @@
         "nixpkgs": "nixpkgs_3"
       },
       "locked": {
-        "lastModified": 1730107956,
-        "narHash": "sha256-Ohwk5/RGhGjDXaD4v0Yc40J/79gHRcD92mKWY+6qHJU=",
+        "lastModified": 1731670177,
+        "narHash": "sha256-F985S2SE5fj+gIUIt0Efcy4ZVnNChLQYT6phgvTUa5o=",
         "owner": "kaylorben",
         "repo": "nixcord",
-        "rev": "5dcb476b924ad08ffd8521cca812052605cb5974",
+        "rev": "df6962fb66d06d88ec8ae9cd8c8fa193e472b8a1",
         "type": "github"
       },
       "original": {
@@ -659,11 +659,11 @@
     },
     "nixpkgs_3": {
       "locked": {
-        "lastModified": 1730272153,
-        "narHash": "sha256-B5WRZYsRlJgwVHIV6DvidFN7VX7Fg9uuwkRW9Ha8z+w=",
+        "lastModified": 1731731112,
+        "narHash": "sha256-nAlsuFVl77/sioOE3ce7ukm8iC+DmhakoYsDQfcbpLY=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "2d2a9ddbe3f2c00747398f3dc9b05f7f2ebb0f53",
+        "rev": "34a626458d686f1b58139620a8b2793e9e123bba",
         "type": "github"
       },
       "original": {
@@ -760,11 +760,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1730366788,
-        "narHash": "sha256-0Ezvv4KkyFdLAblPBFDgZbiMLlJZtpHruT2i4KC2wIY=",
+        "lastModified": 1731193165,
+        "narHash": "sha256-pGF8L5g9QpkQtJP9JmNIRNZfcyhJHf7uT+d8tqI1h6Y=",
         "owner": "nix-community",
         "repo": "plasma-manager",
-        "rev": "f634d5f6ee9be365b2ca08b2d00e0e3b0c240b9e",
+        "rev": "f33173b9d22e554a6f869626bc01808d35995257",
         "type": "github"
       },
       "original": {
diff --git a/modules/home/cli/shells/fish/default.nix b/modules/home/cli/shells/fish/default.nix
index e9620a6..124f0f4 100644
--- a/modules/home/cli/shells/fish/default.nix
+++ b/modules/home/cli/shells/fish/default.nix
@@ -2,7 +2,6 @@
   pkgs,
   lib,
   config,
-  host,
   namespace,
   ...
 }:
@@ -51,8 +50,6 @@ in
 
         nd = "nix develop";
         nfu = "nix flake update";
-        hms = "home-manager switch --flake ~/${namespace}#${config.theobori-nix.user.name}@${host}";
-        nrs = "sudo nixos-rebuild switch --flake ~/${namespace}#${host}";
       };
 
       functions = {
diff --git a/modules/home/games/supermariowar/default.nix b/modules/home/games/supermariowar/default.nix
new file mode 100644
index 0000000..20de758
--- /dev/null
+++ b/modules/home/games/supermariowar/default.nix
@@ -0,0 +1,20 @@
+{
+  pkgs,
+  config,
+  lib,
+  namespace,
+  ...
+}:
+let
+  inherit (lib) mkIf;
+  inherit (lib.${namespace}) mkBoolOpt;
+
+  cfg = config.${namespace}.games.supermariowar;
+in
+{
+  options.${namespace}.games.supermariowar = {
+    enable = mkBoolOpt false "Enable supermariowar.";
+  };
+
+  config = mkIf cfg.enable { home.packages = with pkgs; [ supermariowar ]; };
+}
diff --git a/modules/home/roles/desktop/default.nix b/modules/home/roles/desktop/default.nix
index 874dfd6..8b5de2a 100644
--- a/modules/home/roles/desktop/default.nix
+++ b/modules/home/roles/desktop/default.nix
@@ -26,7 +26,7 @@ in
     };
 
     home.packages = with pkgs; [
-      #spotify
+      spotify
       pavucontrol
       mplayer
       mtpfs
diff --git a/modules/home/roles/gaming/default.nix b/modules/home/roles/gaming/default.nix
index b84f401..2cbe168 100644
--- a/modules/home/roles/gaming/default.nix
+++ b/modules/home/roles/gaming/default.nix
@@ -20,6 +20,7 @@ in
       games = {
         teeworlds = enabled;
         taterclient-ddnet = enabled;
+        supermariowar = enabled;
       };
     };
   };
diff --git a/modules/nixos/display-managers/sddm/default.nix b/modules/nixos/display-managers/sddm/default.nix
index 3598e0b..79c80ae 100644
--- a/modules/nixos/display-managers/sddm/default.nix
+++ b/modules/nixos/display-managers/sddm/default.nix
@@ -1,12 +1,11 @@
 {
   config,
   lib,
-  pkgs,
   namespace,
   ...
 }:
 let
-  inherit (lib) mkIf mkForce;
+  inherit (lib) mkIf;
   inherit (lib.${namespace}) mkBoolOpt enabled;
 
   cfg = config.${namespace}.display-managers.sddm;
@@ -21,28 +20,28 @@ in
 
     services.displayManager.sddm = {
       enable = true;
-      package = mkForce pkgs.libsForQt5.sddm;
-      extraPackages =
-        with pkgs.libsForQt5;
-        mkForce [
-          qt5.qtquickcontrols
-          qt5.qtquickcontrols2
-          qt5.qtgraphicaleffects
-          qt5.qtdeclarative
-          qt5.qtbase
+      # package = mkForce pkgs.libsForQt5.sddm;
+      # extraPackages =
+      #   with pkgs.libsForQt5;
+      #   mkForce [
+      #     qt5.qtquickcontrols
+      #     qt5.qtquickcontrols2
+      #     qt5.qtgraphicaleffects
+      #     qt5.qtdeclarative
+      #     qt5.qtbase
 
-          plasma-framework
-          plasma-workspace
-          plasma-integration
-          kdeclarative
-        ];
+      #     plasma-framework
+      #     plasma-workspace
+      #     plasma-integration
+      #     kdeclarative
+      #   ];
 
       # Non-root X11 instance
-      settings.General.DisplayServer = "x11-user";
+      # settings.General.DisplayServer = "x11-user";
       # My custom dracula theme
-      theme = "Dracula";
+      # theme = "Dracula";
     };
 
-    environment.systemPackages = [ pkgs.${namespace}.my-dracula-theme ];
+    # environment.systemPackages = [ pkgs.${namespace}.my-dracula-theme ];
   };
 }
diff --git a/modules/nixos/security/doas/default.nix b/modules/nixos/security/doas/default.nix
index 8ad95bd..70fa859 100644
--- a/modules/nixos/security/doas/default.nix
+++ b/modules/nixos/security/doas/default.nix
@@ -25,8 +25,8 @@ in
       extraRules = [
         {
           users = builtins.attrNames config.${namespace}.user.users;
-          noPass = false;
           keepEnv = true;
+          persist = true;
         }
       ];
     };
diff --git a/systems/x86_64-linux/laptop/default.nix b/systems/x86_64-linux/laptop/default.nix
index 2668dfc..abc38d1 100644
--- a/systems/x86_64-linux/laptop/default.nix
+++ b/systems/x86_64-linux/laptop/default.nix
@@ -1,4 +1,5 @@
 {
+  pkgs,
   modulesPath,
   lib,
   namespace,
@@ -15,15 +16,17 @@ in
     ./hardware-configuration.nix
   ];
 
-  boot.loader.grub = {
-    # no need to set devices, disko will add all devices that have a EF02 partition to the list already
-    # devices = [ ];
-    efiSupport = true;
-    efiInstallAsRemovable = true;
+  boot = {
+    kernelPackages = pkgs.linuxPackages_latest;
+    loader.grub = {
+      # no need to set devices, disko will add all devices that have a EF02 partition to the list already
+      # devices = [ ];
+      efiSupport = true;
+      efiInstallAsRemovable = true;
+    };
+    supportedFilesystems = [ "ntfs" ];
   };
 
-  boot.supportedFilesystems = [ "ntfs" ];
-
   ${namespace} = {
     security.doas = enabled;