This commit is contained in:
2026-06-29 23:30:19 +01:00
parent 8742e5a58f
commit 8f311cc4ba
6 changed files with 159 additions and 140 deletions
+2 -2
View File
@@ -6,8 +6,8 @@
}: {
flake-file.inputs = {
nik-pkgs = {
url = "git+https://git.scug.io/nikkuss/pkgs.git";
# inputs.nixpkgs.follows = "nixpkgs";
url = "git+https://git.scug.io/nikkuss/pkgs.git?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
};
};
modules.nikpkgs = {
+11 -11
View File
@@ -10,7 +10,7 @@
flake-file.inputs = {
nixvim = {
url = "github:nix-community/nixvim";
# inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs";
};
};
modules = {
@@ -23,18 +23,18 @@
{ pkgs, ... }:
let
# REPLACE THIS ONCE ITS FIXED IN UPSTREAM
cssLsFixed = pkgs.vscode-langservers-extracted.overrideAttrs (old: {
postInstall = (old.postInstall or "") + ''
sed -i 's/import\.meta\.url/"file:\/\/"+__filename/g' \
$out/lib/node_modules/vscode-langservers-extracted/lib/css-language-server/node/cssServerMain.js
'';
});
# cssLsFixed = pkgs.vscode-langservers-extracted.overrideAttrs (old: {
# postInstall = (old.postInstall or "") + ''
# sed -i 's/import\.meta\.url/"file:\/\/"+__filename/g' \
# $out/lib/node_modules/vscode-langservers-extracted/lib/css-language-server/node/cssServerMain.js
# '';
# });
tiny-code-action = pkgs.vimUtils.buildVimPlugin {
name = "tiny-code-action.nvim";
src = pkgs.fetchFromGitHub {
owner = "rachartier";
repo = "tiny-code-action.nvim";
rev = "main";
rev = "0d040ed81f7953118b81cd12681fcdfcac069803";
hash = "sha256-UF9zeO5Uujdt2MEwy2d2Lhk6JRnEN4vrEvYslv0/zaA";
};
nvimSkipModules = [ "tiny-code-action.previewers.snacks" ];
@@ -51,7 +51,7 @@
config = {
allowUnfree = true;
};
# source = pkgs;
# source = inputs.nixpkgs;
};
colorschemes.gruvbox-material.enable = true;
# colorschemes.melange = {
@@ -141,14 +141,14 @@
};
};
astro = {
enable = true;
enable = false;
};
ts_ls = {
enable = true;
};
cssls = {
enable = true;
package = cssLsFixed;
# package = cssLsFixed;
};
svelte.enable = true;
};
+64 -61
View File
@@ -2,71 +2,74 @@
den,
modules,
...
}: {
}:
{
modules.obs = settings: {
homeManager = {
pkgs,
lib,
config,
...
}: {
programs = {
obs-studio = {
enable = true;
package = (
pkgs.obs-studio.override {
cudaSupport = true;
}
);
plugins = with pkgs.obs-studio-plugins; [
obs-pipewire-audio-capture
obs-vkcapture
obs-vaapi #optional AMD hardware acceleration
obs-gstreamer
];
};
};
systemd.user.services = let
audio-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";
};
homeManager =
{
pkgs,
lib,
config,
...
}:
{
programs = {
obs-studio = {
enable = true;
package = (
pkgs.obs-studio.override {
cudaSupport = true;
}
);
plugins = with pkgs.obs-studio-plugins; [
obs-pipewire-audio-capture
obs-vkcapture
obs-gstreamer
];
};
};
in
lib.mergeAttrsList [audio-set];
systemd.user.services =
let
audio-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
lib.mergeAttrsList [ audio-set ];
wayland.windowManager.hyprland.settings = {
# exec-once = ["${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer"];
wayland.windowManager.hyprland.settings = {
# exec-once = ["${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer"];
};
};
};
};
}