Compare commits

..

2 Commits

Author SHA1 Message Date
db22304952 last resort nix flake update 2026-02-22 16:55:32 +00:00
79c70eea54 d 2026-02-22 16:46:50 +00:00
3 changed files with 104 additions and 78 deletions

View File

@@ -18,6 +18,7 @@
<modules/hyprland/doloro-settings>
(modules.obs {
virtual_audio_devices = true;
audio = true;
autostart = true;
})
<modules/common/gaming>

View File

@@ -24,47 +24,72 @@
};
};
systemd.user.services =
lib.mkIf settings.virtual_audio_devices {
pw-discordaudio-virtual-device = {
Install = {
WantedBy = [ "hyprland-session.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
#!/run/current-system/sw/bin/bash
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
''}";
};
};
pw-gameaudio-virtual-device = {
Install = {
WantedBy = [ "hyprland-session.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
#!/run/current-system/sw/bin/bash
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
''}";
};
};
}
// pkgs.lib.mkIf settings.autostart {
obs-autostart = {
Unit = {
Description = "OBS daemon";
After = [ "hyprland-session.target" ];
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
# wait for hyprland to start
ExecStart = "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer";
Restart = "on-failure";
RestartSec = "5s";
};
};
};
let
mergedSet = lib.mergeAttrsList [
(
let
set = lib.mkIf settings.audio {
pw-discordaudio-virtual-device = {
Unit = {
Description = "OBS daemon";
After = [ "hyprland-session.target" ];
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
''}";
Restart = "on-failure";
RestartSec = "5s";
};
};
pw-gameaudio-virtual-device = {
Unit = {
Description = "OBS daemon";
After = [ "hyprland-session.target" ];
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
''}";
Restart = "on-failure";
RestartSec = "5s";
};
};
};
in
set
)
(
let
set = lib.mkIf settings.autostart {
obs-autostart = {
Unit = {
Description = "OBS daemon";
After = [ "hyprland-session.target" ];
};
Install = {
WantedBy = [ "default.target" ];
};
Service = {
# wait for hyprland to start
ExecStart = "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer";
Restart = "on-failure";
RestartSec = "5s";
};
};
};
in
set
)
];
in
mergedSet;
};
};
}

74
flake.lock generated
View File

@@ -103,11 +103,11 @@
},
"den": {
"locked": {
"lastModified": 1771034612,
"narHash": "sha256-OPnii/4tJYUHytIufFkzbcz6K/9ihvqj7vAOTgf6KWg=",
"lastModified": 1771679476,
"narHash": "sha256-rU58QADljRw8/d0ciRtMeaB4/Y/V8JQBlhT1TTvaKmc=",
"owner": "vic",
"repo": "den",
"rev": "f9563fa9194c0c65abcfba56b0cbb67c7a7eb395",
"rev": "61341ee04b80104bdd22a60541fb8c4c3b49d342",
"type": "github"
},
"original": {
@@ -121,11 +121,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1769524058,
"narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=",
"lastModified": 1771469470,
"narHash": "sha256-GnqdqhrguKNN3HtVfl6z+zbV9R9jhHFm3Z8nu7R6ml0=",
"owner": "nix-community",
"repo": "disko",
"rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d",
"rev": "4707eec8d1d2db5182ea06ed48c820a86a42dc13",
"type": "github"
},
"original": {
@@ -152,11 +152,11 @@
},
"flake-aspects": {
"locked": {
"lastModified": 1769723924,
"narHash": "sha256-U15OaMr9AcJiB1wW2uCFzFO+DnQ3jJSvln+ZR/+Q0vE=",
"lastModified": 1771395573,
"narHash": "sha256-bcCOG2CW23/Eww/zULJf1xd0Shz2zS4c2AJWwLALyJ8=",
"owner": "vic",
"repo": "flake-aspects",
"rev": "61524836788ef6991a82e7d34ebb0ccc05d374ed",
"rev": "8297f3bc41ad79b9f01d56d0dd92f7aac51bacfb",
"type": "github"
},
"original": {
@@ -341,11 +341,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1771325388,
"narHash": "sha256-rSSr7h/qbRwxEtcIUe3UlSvbQxPJ4eYI9J84ewGz60o=",
"lastModified": 1771728134,
"narHash": "sha256-BuyCZucnnAu84sLq/5LEQGarI+LuOQge24B2jA9ayDM=",
"owner": "vikingnope",
"repo": "helium-browser-nix-flake",
"rev": "99d0cecff6778a71be1f2e325e0e645fd749a397",
"rev": "39b6042bcb1ce3a7af008f5e36c15b47a3205f90",
"type": "github"
},
"original": {
@@ -361,11 +361,11 @@
]
},
"locked": {
"lastModified": 1771037579,
"narHash": "sha256-NX5XuhGcsmk0oEII2PEtMRgvh2KaAv3/WWQsOpxAgR4=",
"lastModified": 1771756436,
"narHash": "sha256-Tl2I0YXdhSTufGqAaD1ySh8x+cvVsEI1mJyJg12lxhI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "05e6dc0f6ed936f918cb6f0f21f1dad1e4c53150",
"rev": "5bd3589390b431a63072868a90c0f24771ff4cbb",
"type": "github"
},
"original": {
@@ -449,11 +449,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1771074565,
"narHash": "sha256-Xja6+RH4ka2VBHT3jo5Gj78r8dgclFDbd5MxTSmTK7Q=",
"lastModified": 1771763411,
"narHash": "sha256-tBcqD2V1lfAjbKEDUQpEODqeRJTiBn/+E5o5QiVjNvg=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "48176160ab953c33a391413ce6b927546d6a4b87",
"rev": "b4ee4674f9a74e3d602c7fb17bc09f79d221583c",
"type": "github"
},
"original": {
@@ -744,11 +744,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1769330179,
"narHash": "sha256-yxgb4AmkVHY5OOBrC79Vv6EVd4QZEotqv+6jcvA212M=",
"lastModified": 1771207753,
"narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "48698d12cc10555a4f3e3222d9c669b884a49dfe",
"rev": "d1c15b7d5806069da59e819999d70e1cec0760bf",
"type": "github"
},
"original": {
@@ -789,11 +789,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1770843696,
"narHash": "sha256-9SFCZkVcpDOV6unH5hVEy4+dB0rxMuUoBnDAO6vshac=",
"rev": "2343bbb58f99267223bc2aac4fc9ea301a155a16",
"lastModified": 1771207753,
"narHash": "sha256-7o+iRF++GO/gGrgrRMlnld2V/3QIzpdwMKViVkHtMEQ=",
"rev": "d1c15b7d5806069da59e819999d70e1cec0760bf",
"type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre944764.2343bbb58f99/nixexprs.tar.xz"
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre946960.d1c15b7d5806/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
@@ -825,11 +825,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1771023756,
"narHash": "sha256-sTj1hrPT7D4oGHaQQzwDeqyZBwnxYc+T7yceyQc4sy4=",
"lastModified": 1771135771,
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "4c63aa76be59b49ae89892ae803005afd4a400cd",
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
"type": "github"
},
"original": {
@@ -1063,11 +1063,11 @@
]
},
"locked": {
"lastModified": 1770683991,
"narHash": "sha256-xVfPvXDf9QN3Eh9dV+Lw6IkWG42KSuQ1u2260HKvpnc=",
"lastModified": 1771735105,
"narHash": "sha256-MJuVJeszZEziquykEHh/hmgIHYxUcuoG/1aowpLiSeU=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "8b89f44c2cc4581e402111d928869fe7ba9f7033",
"rev": "d7755d820f5fa8acf7f223309c33e25d4f92e74f",
"type": "github"
},
"original": {
@@ -1097,11 +1097,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1770914701,
"narHash": "sha256-QHFYyngohNhih4w+3IqQty5DV+p1txsx1kkk6XJWar8=",
"lastModified": 1771626923,
"narHash": "sha256-Mn6oeKrY+Sw6kH0jK+hp5QQH4MTcqwBRQL/ScZDNcz8=",
"owner": "nix-community",
"repo": "stylix",
"rev": "db03fed72e5ca02be34e1d24789345a943329738",
"rev": "b09847414b50c65788936199918272377f70fb91",
"type": "github"
},
"original": {
@@ -1332,11 +1332,11 @@
]
},
"locked": {
"lastModified": 1771043662,
"narHash": "sha256-GysLqHNtmK4KAn4xF/5KM/riOwT+VPx5l8riiN18H5k=",
"lastModified": 1771735013,
"narHash": "sha256-QAh0iw/AgjcaNvBE5OIZstxVxagLVK0RAuH7EhIL/N8=",
"owner": "youwen5",
"repo": "zen-browser-flake",
"rev": "7bb11fb238783853fffeee80c86de2ccabdd0ddc",
"rev": "32b69f03007507fc012be9203efdd414f4bc0d66",
"type": "github"
},
"original": {