diff --git a/flake.lock b/flake.lock index a5e30b7..df7047a 100644 --- a/flake.lock +++ b/flake.lock @@ -229,6 +229,24 @@ "type": "github" } }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, + "locked": { + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-root": { "locked": { "lastModified": 1723604017, @@ -908,6 +926,18 @@ "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" } }, + "nixpkgs-lib_3": { + "locked": { + "lastModified": 1738452942, + "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1738163270, @@ -1276,7 +1306,8 @@ "rust-overlay": "rust-overlay_7", "simulationcraft": "simulationcraft", "treefmt-nix": "treefmt-nix_3", - "vim-headerguard": "vim-headerguard" + "vim-headerguard": "vim-headerguard", + "wayland-pipewire-idle-inhibit": "wayland-pipewire-idle-inhibit" } }, "rust-overlay": { @@ -1512,6 +1543,21 @@ "type": "github" } }, + "systems_14": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -1692,6 +1738,27 @@ "type": "github" } }, + "treefmt-nix_4": { + "inputs": { + "nixpkgs": [ + "wayland-pipewire-idle-inhibit", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738953846, + "narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "4f09b473c936d41582dd744e19f34ec27592c5fd", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "umu": { "inputs": { "nixpkgs": [ @@ -1750,6 +1817,29 @@ "repo": "vim-headerguard", "type": "github" } + }, + "wayland-pipewire-idle-inhibit": { + "inputs": { + "flake-parts": "flake-parts_5", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_14", + "treefmt-nix": "treefmt-nix_4" + }, + "locked": { + "lastModified": 1739081365, + "narHash": "sha256-KSufvuzWONO6KuE/N7hQCEfrdgFUp2k9fUWKOvtOolc=", + "owner": "rafaelrc7", + "repo": "wayland-pipewire-idle-inhibit", + "rev": "952aef94b0d8a48c028b1ba7c3a9209fe0c64e46", + "type": "github" + }, + "original": { + "owner": "rafaelrc7", + "repo": "wayland-pipewire-idle-inhibit", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index c3b9586..6cf032c 100644 --- a/flake.nix +++ b/flake.nix @@ -37,6 +37,10 @@ url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; + wayland-pipewire-idle-inhibit = { + url = "github:rafaelrc7/wayland-pipewire-idle-inhibit"; + inputs.nixpkgs.follows = "nixpkgs"; + }; gsm.url = "github:traxys/git-series-manager"; flake-parts.url = "github:hercules-ci/flake-parts"; @@ -156,7 +160,9 @@ flake = self; }; personal-cli = import ./personal-cli/hm.nix; - gui = import ./gui/hm.nix; + gui = import ./gui/hm.nix { + wayland-pipewire-idle-inhibit = inputs.wayland-pipewire-idle-inhibit.homeModules.default; + }; wm = import ./wm/hm.nix; personal-gui = import ./personal-gui/hm.nix; gaming = import ./gaming/hm.nix; diff --git a/gui/hm.nix b/gui/hm.nix index 402401a..66ae1a3 100644 --- a/gui/hm.nix +++ b/gui/hm.nix @@ -1,3 +1,6 @@ +{ + wayland-pipewire-idle-inhibit, +}: { config, lib, @@ -5,7 +8,10 @@ ... }: { - imports = [ ./terminal ]; + imports = [ + ./terminal + wayland-pipewire-idle-inhibit + ]; home.packages = with pkgs; [ # IM @@ -98,6 +104,15 @@ nativeMessagingHosts = [ pkgs.firefoxpwa ]; }; + services.wayland-pipewire-idle-inhibit = { + enable = true; + settings = { + verbosity = "INFO"; + media_minimum_duration = 10; + idle_inhibitor = "wayland"; + }; + }; + home.sessionVariables = { BROWSER = "firefox"; NIXOS_OZONE_WL = 1;