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
+7 -4
View File
@@ -52,13 +52,16 @@
users.users.doloro = {
shell = pkgs.fish;
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
extraGroups = [ "libvirtd" ];
extraGroups = [
"libvirtd"
"gamemode"
];
};
virtualisation.libvirtd.enable = true;
virtualisation.libvirtd.enable = false;
# virtualisation.waydroid.enable = true;
# # Newer kernel versions may need
# virtualisation.waydroid.package = pkgs.waydroid-nftables;
programs.virt-manager.enable = true;
programs.virt-manager.enable = false;
};
homeManager =
{
@@ -76,7 +79,7 @@
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
];
workspace = [
"name:2, monitor:DP-3"
"name:2, monitor:DP-2"
];
input = {
kb_layout = "gb";
+14 -1
View File
@@ -30,7 +30,7 @@
boot.loader.grub.efiInstallAsRemovable = true;
networking.hostName = "doloroo-main"; # Define your hostname.
# boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.initrd.verbose = false;
boot.kernelParams = [
@@ -95,6 +95,13 @@
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
swapDevices = [
{
device = "/swapfile";
size = 8192;
}
];
boot.binfmt.emulatedSystems = [
"aarch64-linux"
];
@@ -106,6 +113,12 @@
SCX_SCHEDULER_OVERRIDE = "scx_lavd";
SCX_FLAGS_OVERRIDE = "--performance --no-core-compaction";
};
systemd.oomd = {
enable = true;
enableUserSlices = true;
enableRootSlice = true;
enableSystemSlice = true;
};
};
};
}
+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"];
};
};
};
};
}