diff --git a/modules/nixos/desktop/addons/hypridle/default.nix b/modules/nixos/desktop/addons/hypridle/default.nix index 2f2e99c..260fddb 100644 --- a/modules/nixos/desktop/addons/hypridle/default.nix +++ b/modules/nixos/desktop/addons/hypridle/default.nix @@ -23,14 +23,15 @@ in settings = { general = { after_sleep_cmd = "hyprctl dispatch dpms on"; + before_sleep_cmd = "loginctl lock-session"; ignore_dbus_inhibit = false; - lock_cmd = "hyprlock"; + lock_cmd = "pidof hyprlock || hyprlock"; }; listener = [ { timeout = 900; - on-timeout = "hyprlock"; + on-timeout = "loginctl lock-session"; } { timeout = 1200; diff --git a/modules/nixos/desktop/addons/hyprpanel/default.nix b/modules/nixos/desktop/addons/hyprpanel/default.nix new file mode 100644 index 0000000..664624a --- /dev/null +++ b/modules/nixos/desktop/addons/hyprpanel/default.nix @@ -0,0 +1,60 @@ +{ + config, + lib, + namespace, + pkgs, + ... +}: +let + inherit (lib) + mkIf + mkEnableOption + mkMerge + mkOption + literalExpression + ; + + cfg = config.${namespace}.desktop.addons.hyprpanel; + + settingsFormat = pkgs.formats.json { }; + settings = { + bar = { + layouts = { + "0" = { + left = [ + "workspaces" + ]; + middle = [ + "windowtitle" + ]; + }; + }; + }; + }; +in +{ + options.${namespace}.desktop.addons.hyprpanel = { + enable = mkEnableOption "Enable HyprIdle"; + extraSettings = mkOption { + default = { }; + inherit (settingsFormat) type; + description = '' + Additional Options to pass to hyprpanel + ''; + example = literalExpression '' + { + + } + ''; + }; + }; + + config = mkIf cfg.enable { + ${namespace}.home.file = { + ".cache/ags/options_test.json".source = settingsFormat.generate "options.json" mkMerge [ + settings + cfg.extraSettings + ]; + }; + }; +} diff --git a/modules/nixos/desktop/addons/hyprpanel/options.json b/modules/nixos/desktop/addons/hyprpanel/options.json index 448ecab..f93f95c 100644 --- a/modules/nixos/desktop/addons/hyprpanel/options.json +++ b/modules/nixos/desktop/addons/hyprpanel/options.json @@ -456,4 +456,4 @@ "bar.windowtitle.title_map": [], "bar.windowtitle.truncation": false, "bar.workspaces.hideUnoccupied": true -} \ No newline at end of file +} diff --git a/modules/nixos/system/hardware/gpu/nvidia/default.nix b/modules/nixos/system/hardware/gpu/nvidia/default.nix index d2c4e74..5074f6d 100644 --- a/modules/nixos/system/hardware/gpu/nvidia/default.nix +++ b/modules/nixos/system/hardware/gpu/nvidia/default.nix @@ -32,5 +32,14 @@ in }; services.xserver.videoDrivers = [ "nvidia" ]; + + boot.kernelParams = [ + "nvidia_drm.fbdev=1" + + # TODO: remove after https://github.com/NVIDIA/open-gpu-kernel-modules/pull/692 + # and similar are merged and build in nixpkgs-unstable. + # WARNING: this disables tty output and thus hides boot logs. + "initcall_blacklist=simpledrm_platform_driver_init" + ]; }; }