Desktop usability adjustments #1
@@ -2,10 +2,10 @@
 | 
				
			|||||||
  description = "Nix config entry point";
 | 
					  description = "Nix config entry point";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  inputs = {
 | 
					  inputs = {
 | 
				
			||||||
    nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
 | 
					    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
 | 
				
			||||||
    nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
					    nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
				
			||||||
    # Home manager
 | 
					    # Home manager
 | 
				
			||||||
    home-manager.url = "github:nix-community/home-manager/release-25.05";
 | 
					    home-manager.url = "github:nix-community/home-manager/release-24.11";
 | 
				
			||||||
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
 | 
					    home-manager.inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
    # Managing flatpak apps
 | 
					    # Managing flatpak apps
 | 
				
			||||||
    nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
 | 
					    nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,7 @@
 | 
				
			|||||||
        ./configuration.nix
 | 
					        ./configuration.nix
 | 
				
			||||||
        ./hardware-configuration.nix
 | 
					        ./hardware-configuration.nix
 | 
				
			||||||
        ../../modules/nixos/bluetooth.nix
 | 
					        ../../modules/nixos/bluetooth.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/flakes.nix
 | 
				
			||||||
        ../../modules/nixos/fonts.nix
 | 
					        ../../modules/nixos/fonts.nix
 | 
				
			||||||
        ../../modules/nixos/hyprland.nix
 | 
					        ../../modules/nixos/hyprland.nix
 | 
				
			||||||
        ../../modules/nixos/monitoring.nix
 | 
					        ../../modules/nixos/monitoring.nix
 | 
				
			||||||
@@ -12,6 +13,7 @@
 | 
				
			|||||||
        ../../modules/nixos/nvidia.nix
 | 
					        ../../modules/nixos/nvidia.nix
 | 
				
			||||||
        ../../modules/nixos/pipewire.nix
 | 
					        ../../modules/nixos/pipewire.nix
 | 
				
			||||||
        ../../modules/nixos/podman.nix
 | 
					        ../../modules/nixos/podman.nix
 | 
				
			||||||
 | 
					        ../../modules/nixos/power.nix
 | 
				
			||||||
        ../../utils/binary-cache.nix
 | 
					        ../../utils/binary-cache.nix
 | 
				
			||||||
        ../../utils/garbage-collection.nix
 | 
					        ../../utils/garbage-collection.nix
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,119 +3,114 @@
 | 
				
			|||||||
  programs.vscode = {
 | 
					  programs.vscode = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    profiles = {
 | 
					    # profiles = {
 | 
				
			||||||
      default = {
 | 
					    #   default = {
 | 
				
			||||||
        extensions = with pkgs.vscode-extensions; [
 | 
					    extensions = with pkgs.vscode-extensions; [
 | 
				
			||||||
          # QOL
 | 
					      # QOL
 | 
				
			||||||
          mhutchie.git-graph
 | 
					      mhutchie.git-graph
 | 
				
			||||||
          redhat.vscode-yaml
 | 
					      redhat.vscode-yaml
 | 
				
			||||||
          github.copilot
 | 
					      github.copilot
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          # python
 | 
					      # python
 | 
				
			||||||
          ms-python.python
 | 
					      ms-python.python
 | 
				
			||||||
          ms-python.isort
 | 
					      ms-python.isort
 | 
				
			||||||
          ms-python.debugpy
 | 
					      ms-python.debugpy
 | 
				
			||||||
          ms-python.vscode-pylance
 | 
					      ms-python.vscode-pylance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          # Nix language
 | 
					      # Nix language
 | 
				
			||||||
          jnoortheen.nix-ide
 | 
					      jnoortheen.nix-ide
 | 
				
			||||||
        ];
 | 
					    ];
 | 
				
			||||||
 | 
					      # };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    keybindings = [
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        key = "ctrl+#";
 | 
				
			||||||
 | 
					        command = "editor.action.commentLine";
 | 
				
			||||||
 | 
					        when = "textInputFocus";
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    userSettings = {
 | 
				
			||||||
 | 
					      "telemetry.enableCrashReporter" = false;
 | 
				
			||||||
 | 
					      "telemetry.enableTelemetry" = false;
 | 
				
			||||||
 | 
					      "git.ignoreMissingGitWarning" = true;
 | 
				
			||||||
 | 
					      "editor.suggestSelection" = "first";
 | 
				
			||||||
 | 
					      "workbench.editorAssociations" = {
 | 
				
			||||||
 | 
					          "*.ipynb" = "jupyter-notebook";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					      "workbench.startupEditor" = "newUntitledFile";
 | 
				
			||||||
      keybindings = {
 | 
					      "editor.renderWhitespace" = "none";
 | 
				
			||||||
        "ctrl+shift+." = "workbench.action.terminal.focus";
 | 
					      "editor.acceptSuggestionOnEnter" = "off";
 | 
				
			||||||
        "ctlr+#" = "editor.action.commentLine";
 | 
					      "explorer.confirmDelete" = false;
 | 
				
			||||||
 | 
					      "git.confirmSync" = false;
 | 
				
			||||||
 | 
					      "workbench.iconTheme" = "vs-seti";
 | 
				
			||||||
 | 
					      "editor.fontLigatures" = true;
 | 
				
			||||||
 | 
					      "explorer.confirmDragAndDrop" = false;
 | 
				
			||||||
 | 
					      "editor.wordWrap" = "on";
 | 
				
			||||||
 | 
					      "settingsSync.ignoredSettings" = [
 | 
				
			||||||
 | 
					          "editor.fontFamily"
 | 
				
			||||||
 | 
					          "terminal.integrated.fontFamily"
 | 
				
			||||||
 | 
					          "-python.venvFolders"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      "jupyter.askForKernelRestart" = false;
 | 
				
			||||||
 | 
					      "security.workspace.trust.untrustedFiles" = "open";
 | 
				
			||||||
 | 
					      "notebook.cellToolbarLocation" = {
 | 
				
			||||||
 | 
					          "default" = "right";
 | 
				
			||||||
 | 
					          "jupyter-notebook" = "left";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					      "git.enableSmartCommit" = true;
 | 
				
			||||||
      userSettings = ''
 | 
					      "terminal.integrated.fontFamily" = "Fira Code";
 | 
				
			||||||
        {
 | 
					      "settingsSync.ignoredExtensions" = [
 | 
				
			||||||
          "telemetry.enableCrashReporter": false,
 | 
					          "ms-vscode-remote.remote-wsl"
 | 
				
			||||||
          "telemetry.enableTelemetry": false,
 | 
					          "ms-vscode-remote.remote-ssh-edit"
 | 
				
			||||||
          "git.ignoreMissingGitWarning": true,
 | 
					          "ms-vscode-remote.remote-ssh"
 | 
				
			||||||
          "editor.suggestSelection": "first",
 | 
					      ];
 | 
				
			||||||
          "workbench.editorAssociations": {
 | 
					      "editor.bracketPairColorization.enabled" = true;
 | 
				
			||||||
              "*.ipynb": "jupyter-notebook"
 | 
					      "jupyter.widgetScriptSources" = [
 | 
				
			||||||
          },
 | 
					          "jsdelivr.com"
 | 
				
			||||||
          "workbench.startupEditor": "newUntitledFile",
 | 
					          "unpkg.com"
 | 
				
			||||||
          "editor.renderWhitespace": "none",
 | 
					      ];
 | 
				
			||||||
          "editor.acceptSuggestionOnEnter": "off",
 | 
					      "diffEditor.renderSideBySide" = false;
 | 
				
			||||||
          "explorer.confirmDelete": false,
 | 
					      "editor.inlineSuggest.enabled" = true;
 | 
				
			||||||
          "git.confirmSync": false,
 | 
					      "github.copilot.enable" = {
 | 
				
			||||||
          "workbench.iconTheme": "vs-seti",
 | 
					          "*" = true;
 | 
				
			||||||
          "editor.fontLigatures": true,
 | 
					          "plaintext" = true;
 | 
				
			||||||
          "explorer.confirmDragAndDrop": false,
 | 
					          "markdown" = true;
 | 
				
			||||||
          "editor.wordWrap": "on",
 | 
					          "scminput" = false;
 | 
				
			||||||
          "files.associations": {
 | 
					          "yaml" = true;
 | 
				
			||||||
          },
 | 
					      };
 | 
				
			||||||
          "settingsSync.ignoredSettings": [
 | 
					      "redhat.telemetry.enabled" = false;
 | 
				
			||||||
              "editor.fontFamily",
 | 
					      "git.autofetch" = true;
 | 
				
			||||||
              "terminal.integrated.fontFamily",
 | 
					      "terminal.integrated.enableMultiLinePasteWarning" = false;
 | 
				
			||||||
              "-python.venvFolders"
 | 
					      "editor.unicodeHighlight.nonBasicASCII" = false;
 | 
				
			||||||
          ],
 | 
					      "jupyter.disableJupyterAutoStart" = true;
 | 
				
			||||||
          "jupyter.askForKernelRestart": false,
 | 
					      "editor.unicodeHighlight.invisibleCharacters" = false;
 | 
				
			||||||
          "security.workspace.trust.untrustedFiles": "open",
 | 
					      "editor.unicodeHighlight.ambiguousCharacters" = false;
 | 
				
			||||||
          "notebook.cellToolbarLocation": {
 | 
					      "diffEditor.ignoreTrimWhitespace" = false;
 | 
				
			||||||
              "default": "right",
 | 
					      "update.showReleaseNotes" = false;
 | 
				
			||||||
              "jupyter-notebook": "left"
 | 
					      "terminal.external.linuxExec" = "kitty";
 | 
				
			||||||
          },
 | 
					      "window.dialogStyle" = "custom";
 | 
				
			||||||
          "git.enableSmartCommit": true,
 | 
					      "window.titleBarStyle" = "custom";
 | 
				
			||||||
          "terminal.integrated.fontFamily": "Fira Code",
 | 
					      "github.copilot.editor.enableAutoCompletions" = true;
 | 
				
			||||||
          "settingsSync.ignoredExtensions": [
 | 
					      "window.menuBarVisibility" = "compact";
 | 
				
			||||||
              "ms-vscode-remote.remote-wsl",
 | 
					      "workbench.colorTheme" = "Default Light+";
 | 
				
			||||||
              "ms-vscode-remote.remote-ssh-edit",
 | 
					      "github.copilot.advanced" = {};
 | 
				
			||||||
              "ms-vscode-remote.remote-ssh"
 | 
					      "git.openRepositoryInParentFolders" = "never";
 | 
				
			||||||
          ],
 | 
					      "terminal.integrated.commandsToSkipShell" = [
 | 
				
			||||||
          "editor.bracketPairColorization.enabled": true,
 | 
					          "language-julia.interrupt"
 | 
				
			||||||
          "jupyter.widgetScriptSources": [
 | 
					      ];
 | 
				
			||||||
              "jsdelivr.com",
 | 
					      "diffEditor.hideUnchangedRegions.enabled" = true;
 | 
				
			||||||
              "unpkg.com"
 | 
					      "[typst]" = {
 | 
				
			||||||
          ],
 | 
					          "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
 | 
				
			||||||
              "%DOC%.tex"
 | 
					      };
 | 
				
			||||||
          ],
 | 
					      "[typst-code]" = {
 | 
				
			||||||
          "diffEditor.renderSideBySide": false,
 | 
					          "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
 | 
				
			||||||
          "editor.inlineSuggest.enabled": true,
 | 
					      };
 | 
				
			||||||
              "suppressLineUncommittedWarning": true
 | 
					      "tinymist.fontPaths" = [
 | 
				
			||||||
          },
 | 
					          "./font"
 | 
				
			||||||
          "github.copilot.enable": {
 | 
					      ];
 | 
				
			||||||
              "*": true,
 | 
					      "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'monospace', monospace";
 | 
				
			||||||
              "plaintext": true,
 | 
					 | 
				
			||||||
              "markdown": true,
 | 
					 | 
				
			||||||
              "scminput": false,
 | 
					 | 
				
			||||||
              "yaml": true
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          "redhat.telemetry.enabled": false,
 | 
					 | 
				
			||||||
          "git.autofetch": true,
 | 
					 | 
				
			||||||
          "terminal.integrated.enableMultiLinePasteWarning": false,
 | 
					 | 
				
			||||||
          "editor.unicodeHighlight.nonBasicASCII": false,
 | 
					 | 
				
			||||||
          "jupyter.disableJupyterAutoStart": true,
 | 
					 | 
				
			||||||
          "editor.unicodeHighlight.invisibleCharacters": false,
 | 
					 | 
				
			||||||
          "editor.unicodeHighlight.ambiguousCharacters": false,
 | 
					 | 
				
			||||||
          "diffEditor.ignoreTrimWhitespace": false,
 | 
					 | 
				
			||||||
          "update.showReleaseNotes": false,
 | 
					 | 
				
			||||||
          "terminal.external.linuxExec": "kitty",
 | 
					 | 
				
			||||||
          "window.dialogStyle": "custom",
 | 
					 | 
				
			||||||
          "window.titleBarStyle": "custom",
 | 
					 | 
				
			||||||
          "github.copilot.editor.enableAutoCompletions": true,
 | 
					 | 
				
			||||||
          "window.menuBarVisibility": "compact",
 | 
					 | 
				
			||||||
          "workbench.colorTheme": "Default Light+",
 | 
					 | 
				
			||||||
          "github.copilot.advanced": {},
 | 
					 | 
				
			||||||
          "git.openRepositoryInParentFolders": "never",
 | 
					 | 
				
			||||||
          "terminal.integrated.commandsToSkipShell": [
 | 
					 | 
				
			||||||
              "language-julia.interrupt"
 | 
					 | 
				
			||||||
          ],
 | 
					 | 
				
			||||||
          "diffEditor.hideUnchangedRegions.enabled": true,
 | 
					 | 
				
			||||||
          "[typst]": {
 | 
					 | 
				
			||||||
              "editor.wordSeparators": "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?"
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          "[typst-code]": {
 | 
					 | 
				
			||||||
              "editor.wordSeparators": "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?"
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          "tinymist.fontPaths": [
 | 
					 | 
				
			||||||
              "./font"
 | 
					 | 
				
			||||||
          ],
 | 
					 | 
				
			||||||
          "editor.fontFamily": "'FiraCode Nerd Font Mono', 'monospace', monospace",
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      '';
 | 
					 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,9 +59,9 @@
 | 
				
			|||||||
        # "${pkgs.hyprpaper}/bin/hyprpaper"
 | 
					        # "${pkgs.hyprpaper}/bin/hyprpaper"
 | 
				
			||||||
        # hyprpaper is handled as its own service
 | 
					        # hyprpaper is handled as its own service
 | 
				
			||||||
        "${pkgs.waybar}/bin/waybar"
 | 
					        "${pkgs.waybar}/bin/waybar"
 | 
				
			||||||
        # Fixes cursor themes in gnome apps under hyprland
 | 
					        # # Fixes cursor themes in gnome apps under hyprland
 | 
				
			||||||
        "gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'"
 | 
					        # "gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'"
 | 
				
			||||||
        "gsettings set org.gnome.desktop.interface cursor-size ${toString home.pointerCursor.size}"
 | 
					        # "gsettings set org.gnome.desktop.interface cursor-size ${toString home.pointerCursor.size}"
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      general = {
 | 
					      general = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,23 +4,23 @@
 | 
				
			|||||||
 ...
 | 
					 ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
with lib; let
 | 
					with lib; let
 | 
				
			||||||
  wallpapers = builtins.readDir ../../../wallpapers;
 | 
					  # wallpapers = builtins.readDir ../../../wallpapers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wallpaperBashArray = "(\"${strings.concatStrings (strings.intersperse "\" \"" (map (wallpaper: ../../../wallpapers + "/" + wallpaper) (attrNames wallpapers)))}\")";
 | 
					  # wallpaperBashArray = "(\"${strings.concatStrings (strings.intersperse "\" \"" (map (wallpaper: ../../../wallpapers + "/" + wallpaper) (attrNames wallpapers)))}\")";
 | 
				
			||||||
  wallpaperRandomizer = pkgs.writeShellScriptBin "wallpaperRandomizer" ''
 | 
					  # wallpaperRandomizer = pkgs.writeShellScriptBin "wallpaperRandomizer" ''
 | 
				
			||||||
    wallpapers=${wallpaperBashArray}
 | 
					  #   wallpapers=${wallpaperBashArray}
 | 
				
			||||||
    rand=$[$RANDOM % ''${#wallpapers[@]}]
 | 
					  #   rand=$[$RANDOM % ''${#wallpapers[@]}]
 | 
				
			||||||
    wallpaper=''${wallpapers[$rand]}
 | 
					  #   wallpaper=''${wallpapers[$rand]}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    monitor=(`hyprctl monitors | grep Monitor | awk '{print $2}'`)
 | 
					  #   monitor=(`hyprctl monitors | grep Monitor | awk '{print $2}'`)
 | 
				
			||||||
    hyprctl hyprpaper unload all
 | 
					  #   hyprctl hyprpaper unload all
 | 
				
			||||||
    hyprctl hyprpaper preload $wallpaper
 | 
					  #   hyprctl hyprpaper preload $wallpaper
 | 
				
			||||||
    for m in ''${monitor[@]}; do
 | 
					  #   for m in ''${monitor[@]}; do
 | 
				
			||||||
      hyprctl hyprpaper wallpaper "$m,$wallpaper"
 | 
					  #     hyprctl hyprpaper wallpaper "$m,$wallpaper"
 | 
				
			||||||
    done
 | 
					  #   done
 | 
				
			||||||
  '';
 | 
					  # '';
 | 
				
			||||||
in {
 | 
					in {
 | 
				
			||||||
  home.packages = [wallpaperRandomizer];
 | 
					  # home.packages = [wallpaperRandomizer];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  services.hyprpaper = {
 | 
					  services.hyprpaper = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
@@ -32,29 +32,29 @@ in {
 | 
				
			|||||||
    # };
 | 
					    # };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  systemd.user = {
 | 
					  # systemd.user = {
 | 
				
			||||||
    services.wallpaperRandomizer = {
 | 
					  #   services.wallpaperRandomizer = {
 | 
				
			||||||
      Install = {WantedBy = ["graphical-session.target"];};
 | 
					  #     Install = {WantedBy = ["graphical-session.target"];};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      Unit = {
 | 
					  #     Unit = {
 | 
				
			||||||
        Description = "Set random desktop background using hyprpaper";
 | 
					  #       Description = "Set random desktop background using hyprpaper";
 | 
				
			||||||
        After = ["graphical-session-pre.target"];
 | 
					  #       After = ["graphical-session-pre.target"];
 | 
				
			||||||
        PartOf = ["graphical-session.target"];
 | 
					  #       PartOf = ["graphical-session.target"];
 | 
				
			||||||
      };
 | 
					  #     };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      Service = {
 | 
					  #     Service = {
 | 
				
			||||||
        Type = "oneshot";
 | 
					  #       Type = "oneshot";
 | 
				
			||||||
        ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer";
 | 
					  #       ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer";
 | 
				
			||||||
        IOSchedulingClass = "idle";
 | 
					  #       IOSchedulingClass = "idle";
 | 
				
			||||||
      };
 | 
					  #     };
 | 
				
			||||||
    };
 | 
					  #   };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    timers.wallpaperRandomizer = {
 | 
					  #   timers.wallpaperRandomizer = {
 | 
				
			||||||
      Unit = {Description = "Set random desktop background using hyprpaper on an interval";};
 | 
					  #     Unit = {Description = "Set random desktop background using hyprpaper on an interval";};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      Timer = {OnUnitActiveSec = "6h";};
 | 
					  #     Timer = {OnUnitActiveSec = "6h";};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      Install = {WantedBy = ["timers.target"];};
 | 
					  #     Install = {WantedBy = ["timers.target"];};
 | 
				
			||||||
    };
 | 
					  #   };
 | 
				
			||||||
  };
 | 
					  # };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -5,9 +5,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # waybar requires font-awesome
 | 
					    # waybar requires font-awesome
 | 
				
			||||||
    home.packages = [
 | 
					    home.packages = [
 | 
				
			||||||
        # fira code now contains ligatures and font-awesome
 | 
					 | 
				
			||||||
        nerd-fonts.fira-code
 | 
					 | 
				
			||||||
        pkgs.pavucontrol
 | 
					        pkgs.pavucontrol
 | 
				
			||||||
 | 
					        # fira code now contains ligatures and font-awesome
 | 
				
			||||||
 | 
					        # TODO - this only works after nixpkgs 25.05
 | 
				
			||||||
 | 
					        # nerd-fonts.fira-code
 | 
				
			||||||
 | 
					        (pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; })
 | 
				
			||||||
 | 
					        pkgs.fira-code
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # enable waybar
 | 
					    # enable waybar
 | 
				
			||||||
@@ -47,23 +51,18 @@
 | 
				
			|||||||
                    "battery"
 | 
					                    "battery"
 | 
				
			||||||
                    "backlight"
 | 
					                    "backlight"
 | 
				
			||||||
                    "tray"
 | 
					                    "tray"
 | 
				
			||||||
 | 
					                    "idle_inhibitor"
 | 
				
			||||||
                ];
 | 
					                ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                # module specific settings
 | 
					                # module specific settings
 | 
				
			||||||
                "hyprland/workspaces" = {
 | 
					                "hyprland/workspaces" = {
 | 
				
			||||||
                    format = "{icon}";
 | 
					                    format = "{icon}";
 | 
				
			||||||
                    format-icons = {
 | 
					                    format-icons = {
 | 
				
			||||||
                        active = "";
 | 
					                        active = "●";
 | 
				
			||||||
                        default = "";
 | 
					                        default = "○";
 | 
				
			||||||
                        empty = "";
 | 
					 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                };
 | 
					                };
 | 
				
			||||||
                "custom/notification" = {
 | 
					  
 | 
				
			||||||
                    tooltip = false;
 | 
					 | 
				
			||||||
                    format = "";
 | 
					 | 
				
			||||||
                    on-click = "swaync-client -t -sw";
 | 
					 | 
				
			||||||
                    escape = true;
 | 
					 | 
				
			||||||
                };
 | 
					 | 
				
			||||||
                "clock" = {
 | 
					                "clock" = {
 | 
				
			||||||
                    format = "{:%H:%M}";
 | 
					                    format = "{:%H:%M}";
 | 
				
			||||||
                    interval = 1;   
 | 
					                    interval = 1;   
 | 
				
			||||||
@@ -75,15 +74,15 @@
 | 
				
			|||||||
                    };
 | 
					                    };
 | 
				
			||||||
                };
 | 
					                };
 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
                # "network" = {
 | 
					                "idle_inhibitor" = {
 | 
				
			||||||
                #     "format-wifi" = "";
 | 
					                    format = "{icon}";
 | 
				
			||||||
                #     "format-ethernet" ="";
 | 
					                    format-icons = {
 | 
				
			||||||
                #     "format-disconnected" = "";
 | 
					                    activated = "";
 | 
				
			||||||
                #     "tooltip-format-disconnected" = "Error";
 | 
					                    deactivated = "";
 | 
				
			||||||
                #     "tooltip-format-wifi" = "{essid} ({signalStrength}%) ";
 | 
					                    };
 | 
				
			||||||
                #     "tooltip-format-ethernet" = "{ifname} 🖧 ";
 | 
					                    tooltip = "true";
 | 
				
			||||||
                #     "on-click" = "kitty nmtui";
 | 
					                };
 | 
				
			||||||
                # };
 | 
					
 | 
				
			||||||
                "bluetooth" = {
 | 
					                "bluetooth" = {
 | 
				
			||||||
                    format-on = "";
 | 
					                    format-on = "";
 | 
				
			||||||
                    format-off = "BT-off";
 | 
					                    format-off = "BT-off";
 | 
				
			||||||
@@ -110,28 +109,50 @@
 | 
				
			|||||||
                };
 | 
					                };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                "pulseaudio" = {
 | 
					                "pulseaudio" = {
 | 
				
			||||||
                    reverse-scrolling = 1;
 | 
					                    format = "{icon} {volume}% {format_source}";
 | 
				
			||||||
                    format = "{volume}% {icon} {format_source}";
 | 
					 | 
				
			||||||
                    format-bluetooth = "{volume}% {icon} {format_source}";
 | 
					                    format-bluetooth = "{volume}% {icon} {format_source}";
 | 
				
			||||||
                    format-bluetooth-muted = " {icon} {format_source}";
 | 
					                    format-bluetooth-muted = " {icon} {format_source}";
 | 
				
			||||||
                    format-muted = "婢 {format_source}";
 | 
					                    format-muted = " {format_source}";
 | 
				
			||||||
                    format-source = "{volume}% ";
 | 
					                    format-source = " {volume}%";
 | 
				
			||||||
                    format-source-muted = "";
 | 
					                    format-source-muted = "";
 | 
				
			||||||
                    format-icons = {
 | 
					                    format-icons = {
 | 
				
			||||||
                        headphone = "";
 | 
					                        headphone = "";
 | 
				
			||||||
                        hands-free = "";
 | 
					                        hands-free = "";
 | 
				
			||||||
                        headset = "";
 | 
					                        headset = "";
 | 
				
			||||||
                        phone = "";
 | 
					                        phone = "";
 | 
				
			||||||
                        portable = "";
 | 
					                        portable = "";
 | 
				
			||||||
                        car = "";
 | 
					                        default = [
 | 
				
			||||||
                        default = ["奄" "奔" "墳"];
 | 
					                            ""
 | 
				
			||||||
 | 
					                            ""
 | 
				
			||||||
 | 
					                            ""
 | 
				
			||||||
 | 
					                        ];
 | 
				
			||||||
                    };
 | 
					                    };
 | 
				
			||||||
                    on-click = "pavucontrol";
 | 
					                    on-click = "sleep 0.1 && pavucontrol";
 | 
				
			||||||
                    min-length = 13;
 | 
					 | 
				
			||||||
                };
 | 
					                };
 | 
				
			||||||
                "tray" = {
 | 
					                "tray" = {
 | 
				
			||||||
                    spacing = 5;
 | 
					                    spacing = 5;
 | 
				
			||||||
                };
 | 
					                };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                "custom/notification" = {
 | 
				
			||||||
 | 
					                    tooltip = false;
 | 
				
			||||||
 | 
					                    format = "{icon} {}";
 | 
				
			||||||
 | 
					                    format-icons = {
 | 
				
			||||||
 | 
					                    notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					                    none = "";
 | 
				
			||||||
 | 
					                    dnd-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					                    dnd-none = "";
 | 
				
			||||||
 | 
					                    inhibited-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					                    inhibited-none = "";
 | 
				
			||||||
 | 
					                    dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					                    dnd-inhibited-none = "";
 | 
				
			||||||
 | 
					                    };
 | 
				
			||||||
 | 
					                    return-type = "json";
 | 
				
			||||||
 | 
					                    exec-if = "which swaync-client";
 | 
				
			||||||
 | 
					                    exec = "swaync-client -swb";
 | 
				
			||||||
 | 
					                    on-click = "sleep 0.1 && task-waybar";
 | 
				
			||||||
 | 
					                    escape = true;
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -152,6 +173,11 @@
 | 
				
			|||||||
                opacity: 0.2;
 | 
					                opacity: 0.2;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
 | 
					            .module {
 | 
				
			||||||
 | 
					                color: #ffffff;
 | 
				
			||||||
 | 
					                border: none;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #workspaces {
 | 
					            #workspaces {
 | 
				
			||||||
                margin-right: 8px;
 | 
					                margin-right: 8px;
 | 
				
			||||||
                border-radius: 10px;
 | 
					                border-radius: 10px;
 | 
				
			||||||
@@ -172,56 +198,10 @@
 | 
				
			|||||||
                font-size: 12px;
 | 
					                font-size: 12px;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
 | 
					 | 
				
			||||||
            #workspaces button:hover {
 | 
					 | 
				
			||||||
                transition: none;
 | 
					 | 
				
			||||||
                box-shadow: inherit;
 | 
					 | 
				
			||||||
                text-shadow: inherit;
 | 
					 | 
				
			||||||
                border-radius: inherit;
 | 
					 | 
				
			||||||
                color: #383c4a;
 | 
					 | 
				
			||||||
                background: #7c818c;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            #workspaces button.focused {
 | 
					            #workspaces button.focused {
 | 
				
			||||||
                color: white;
 | 
					                color: white;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #language {
 | 
					 | 
				
			||||||
                padding-left: 16px;
 | 
					 | 
				
			||||||
                padding-right: 8px;
 | 
					 | 
				
			||||||
                border-radius: 10px 0px 0px 10px;
 | 
					 | 
				
			||||||
                transition: none;
 | 
					 | 
				
			||||||
                color: #ffffff;
 | 
					 | 
				
			||||||
                background: #383c4a;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            #keyboard-state {
 | 
					 | 
				
			||||||
                margin-right: 8px;
 | 
					 | 
				
			||||||
                padding-right: 16px;
 | 
					 | 
				
			||||||
                border-radius: 0px 10px 10px 0px;
 | 
					 | 
				
			||||||
                transition: none;
 | 
					 | 
				
			||||||
                color: #ffffff;
 | 
					 | 
				
			||||||
                background: #383c4a;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            #custom-pacman {
 | 
					 | 
				
			||||||
                padding-left: 16px;
 | 
					 | 
				
			||||||
                padding-right: 8px;
 | 
					 | 
				
			||||||
                border-radius: 10px 0px 0px 10px;
 | 
					 | 
				
			||||||
                transition: none;
 | 
					 | 
				
			||||||
                color: #ffffff;
 | 
					 | 
				
			||||||
                background: #383c4a;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            #custom-mail {
 | 
					 | 
				
			||||||
                margin-right: 8px;
 | 
					 | 
				
			||||||
                padding-right: 16px;
 | 
					 | 
				
			||||||
                border-radius: 0px 10px 10px 0px;
 | 
					 | 
				
			||||||
                transition: none;
 | 
					 | 
				
			||||||
                color: #ffffff;
 | 
					 | 
				
			||||||
                background: #383c4a;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            #mode {
 | 
					            #mode {
 | 
				
			||||||
                padding-left: 16px;
 | 
					                padding-left: 16px;
 | 
				
			||||||
                padding-right: 16px;
 | 
					                padding-right: 16px;
 | 
				
			||||||
@@ -240,14 +220,6 @@
 | 
				
			|||||||
                background: #383c4a;
 | 
					                background: #383c4a;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #custom-weather {
 | 
					 | 
				
			||||||
                padding-right: 16px;
 | 
					 | 
				
			||||||
                border-radius: 0px 10px 10px 0px;
 | 
					 | 
				
			||||||
                transition: none;
 | 
					 | 
				
			||||||
                color: #ffffff;
 | 
					 | 
				
			||||||
                background: #383c4a;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            #pulseaudio {
 | 
					            #pulseaudio {
 | 
				
			||||||
                margin-right: 8px;
 | 
					                margin-right: 8px;
 | 
				
			||||||
                padding-left: 16px;
 | 
					                padding-left: 16px;
 | 
				
			||||||
@@ -263,29 +235,7 @@
 | 
				
			|||||||
                color: #2a5c45;
 | 
					                color: #2a5c45;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #custom-mem {
 | 
					 | 
				
			||||||
                margin-right: 8px;
 | 
					 | 
				
			||||||
                padding-left: 16px;
 | 
					 | 
				
			||||||
                padding-right: 16px;
 | 
					 | 
				
			||||||
                border-radius: 10px;
 | 
					 | 
				
			||||||
                transition: none;
 | 
					 | 
				
			||||||
                color: #ffffff;
 | 
					 | 
				
			||||||
                background: #383c4a;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #temperature {
 | 
					 | 
				
			||||||
                margin-right: 8px;
 | 
					 | 
				
			||||||
                padding-left: 16px;
 | 
					 | 
				
			||||||
                padding-right: 16px;
 | 
					 | 
				
			||||||
                border-radius: 10px;
 | 
					 | 
				
			||||||
                transition: none;
 | 
					 | 
				
			||||||
                color: #ffffff;
 | 
					 | 
				
			||||||
                background: #383c4a;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            #temperature.critical {
 | 
					 | 
				
			||||||
                background-color: #eb4d4b;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            #backlight {
 | 
					            #backlight {
 | 
				
			||||||
                margin-right: 8px;
 | 
					                margin-right: 8px;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  xdg.portal = {
 | 
					  xdg.portal = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    configPackages [ pkgs.hyprland ];
 | 
					    configPackages = [ pkgs.hyprland ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    extraPortals = [
 | 
					    extraPortals = [
 | 
				
			||||||
        pkgs.xdg-desktop-portal-gtk
 | 
					        pkgs.xdg-desktop-portal-gtk
 | 
				
			||||||
@@ -17,7 +17,7 @@
 | 
				
			|||||||
    createDirectories = true;
 | 
					    createDirectories = true;
 | 
				
			||||||
    desktop = "Desktop";
 | 
					    desktop = "Desktop";
 | 
				
			||||||
    documents = "Documents";
 | 
					    documents = "Documents";
 | 
				
			||||||
    downloads = "Downloads";
 | 
					    # downloads = "Downloads";
 | 
				
			||||||
    pictures = "Pictures";
 | 
					    pictures = "Pictures";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								modules/nixos/flakes.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								modules/nixos/flakes.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  nix.settings.experimental-features = [ "nix-command" "flakes" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    config,
 | 
					  config,
 | 
				
			||||||
    lib,
 | 
					  lib,
 | 
				
			||||||
    pkgs,
 | 
					  pkgs,
 | 
				
			||||||
    ...
 | 
					  ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -29,14 +29,7 @@
 | 
				
			|||||||
            intelBusId = "PCI:0:2:0";
 | 
					            intelBusId = "PCI:0:2:0";
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
 | 
					          package = config.boot.kernelPackages.nvidiaPackages.beta;
 | 
				
			||||||
            version = "565.77";
 | 
					 | 
				
			||||||
            sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw=";
 | 
					 | 
				
			||||||
            sha256_aarch64 = "sha256-LSAYUnhfnK3rcuPe1dixOwAujSof19kNOfdRHE7bToE=";
 | 
					 | 
				
			||||||
            openSha256 = "sha256-Fxo0t61KQDs71YA8u7arY+503wkAc1foaa51vi2Pl5I=";
 | 
					 | 
				
			||||||
            settingsSha256 = "sha256-VUetj3LlOSz/LB+DDfMCN34uA4bNTTpjDrb6C6Iwukk=";
 | 
					 | 
				
			||||||
            persistencedSha256 = "sha256-wnDjC099D8d9NJSp9D0CbsL+vfHXyJFYYgU3CwcqKww=";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        # overwrite the blacklists set previously
 | 
					        # overwrite the blacklists set previously
 | 
				
			||||||
        boot.extraModprobeConfig = "";
 | 
					        boot.extraModprobeConfig = "";
 | 
				
			||||||
@@ -65,31 +58,9 @@
 | 
				
			|||||||
    ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{power/control}="auto", ATTR{remove}="1"
 | 
					    ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{power/control}="auto", ATTR{remove}="1"
 | 
				
			||||||
  '';
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    # # Remove the whole bridge responsible for the VGA/3D controller
 | 
					    # # Remove the whole bridge responsible for the VGA/3D controller
 | 
				
			||||||
    # ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{class}=="0x060400", ATTR{power/control}="auto", ATTR{remove}="1"
 | 
					    # ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x8086", ATTR{class}=="0x060400", ATTR{power/control}="auto", ATTR{remove}="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # # somehow the udev rules are not enough to prevent the nouveau driver from loading
 | 
					 | 
				
			||||||
  # # Also unload remove the bus by id manually
 | 
					 | 
				
			||||||
  # # unload 0000:01:00.1 and 0000:01:00.0
 | 
					 | 
				
			||||||
  # # at boot echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove
 | 
					 | 
				
			||||||
  # # at boot echo 1 > /sys/bus/pci/devices/0000:01:00.0/remove
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # systemd.services.remove-nouveau = {
 | 
					 | 
				
			||||||
  #   description = "Remove Nouveau PCI devices";
 | 
					 | 
				
			||||||
  #   wantedBy = [ "multi-user.target" ];
 | 
					 | 
				
			||||||
  #   after = [ "sysinit.target" ];
 | 
					 | 
				
			||||||
  #   serviceConfig = {
 | 
					 | 
				
			||||||
  #     Type = "oneshot";
 | 
					 | 
				
			||||||
  #     ExecStart = "${pkgs.coreutils}/bin/echo 1 > /sys/bus/pci/devices/0000:01:00.1/remove";
 | 
					 | 
				
			||||||
  #     ExecStart = "${pkgs.coreutils}/bin/echo auto > /sys/bus/pci/devices/0000:00:01.0/power/control";
 | 
					 | 
				
			||||||
  #     ExecStart = "${pkgs.coreutils}/bin/echo 1 > /sys/bus/pci/devices/0000:01:00.0/remove";
 | 
					 | 
				
			||||||
  #     ExecStart = "${pkgs.coreutils}/bin/echo auto > /sys/bus/pci/devices/0000:00:01.0/power/control";
 | 
					 | 
				
			||||||
  #   };
 | 
					 | 
				
			||||||
  # };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  boot.blacklistedKernelModules = [ "nouveau" "nvidia" "nvidia_drm" "nvidia_modeset" ];
 | 
					  boot.blacklistedKernelModules = [ "nouveau" "nvidia" "nvidia_drm" "nvidia_modeset" ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										30
									
								
								modules/nixos/power.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								modules/nixos/power.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  services.tlp = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
 | 
				
			||||||
 | 
					      CPU_SCALING_GOVERNOR_ON_AC = "performance";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
 | 
				
			||||||
 | 
					      CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      CPU_MIN_PERF_ON_AC = 0;
 | 
				
			||||||
 | 
					      CPU_MAX_PERF_ON_AC = 100;
 | 
				
			||||||
 | 
					      CPU_MIN_PERF_ON_BAT = 0;
 | 
				
			||||||
 | 
					      CPU_MAX_PERF_ON_BAT = 50;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  systemd.sleep.extraConfig = ''
 | 
				
			||||||
 | 
					    AllowSuspend=yes
 | 
				
			||||||
 | 
					    AllowHibernation=yes
 | 
				
			||||||
 | 
					    AllowHybridSleep=yes
 | 
				
			||||||
 | 
					    AllowSuspendThenHibernate=yes
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user