8 Commits

11 changed files with 76 additions and 18 deletions
+1
View File
@@ -82,6 +82,7 @@
};
sound = {
enable = true;
noisetorch = true;
jack = true;
scarlett.enable = true;
};
+29
View File
@@ -0,0 +1,29 @@
{
lib,
stdenv,
obs-studio,
fetchFromGitHub,
cmake,
...
}:
stdenv.mkDerivation (finalAttrs: rec {
pname = "obs-image-reaction";
version = "0.1.0";
# https://github.com/scaledteam/obs-image-reaction
src = fetchFromGitHub {
owner = "scaledteam";
repo = pname;
rev = "4cd345e78c714e80e894cfb51c72b94135a6014d";
hash = "sha256-mC1B8tveHx35pfbAcOlosB8YKaBVg87MjXbr79sf7+k=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio ];
postInstall = "rm -rf $out/obs-plugins $out/data";
meta = {
description = "OBS Plugin with image that reacts to sound source";
homepage = "https://github.com/scaledteam/obs-image-reaction";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
})
+4 -1
View File
@@ -20,6 +20,9 @@ in {
};
config = mkIf cfg.enable {
mySystem.users.phundrak = mkIf cfg.mySystem.users.phundrak.enable {
extraGroups = ["docker"] ++ lists.optional cfg.podman.enable "podman";
};
environment.systemPackages = with pkgs;
[
dive # A tool for exploring each layer in a docker image
@@ -29,7 +32,7 @@ in {
podman-compose
podman-desktop
];
virtualisation = mkIf cfg.enable {
virtualisation = {
docker = mkIf (!cfg.podman.enable) {
enable = true;
enableNvidia = cfg.nvidia.enable;
+2 -1
View File
@@ -9,6 +9,7 @@ with lib; let
in {
options.mySystem.hardware.sound = {
enable = mkEnableOption "Whether to enable sounds with Pipewire";
noisetorch = mkEnableOption "Whether to activate noisetorch support";
scarlett.enable = mkEnableOption "Activate support for Scarlett sound card";
alsa = mkOption {
type = types.bool;
@@ -44,7 +45,7 @@ in {
pulseaudio.enable = false;
};
programs.noisetorch = mkIf cfg.enable {
inherit (cfg) enable;
enable = cfg.noisetorch;
};
};
}
+3 -7
View File
@@ -11,12 +11,8 @@ in {
enable = mkEnableOption "Enable Flatpak support";
builder.enable = mkEnableOption "Enable Flatpak builder";
};
config = {
services.flatpak = mkIf cfg.enable {
inherit (cfg) enable;
};
environment.systemPackages = mkIf cfg.builder.enable [
pkgs.flatpak-buildR
];
config = mkIf cfg.enable {
environment.systemPackages = lists.optional cfg.builder.enable pkgs.flatpak-builder;
services.flatpak.enable = true;
};
}
+8 -1
View File
@@ -10,13 +10,20 @@ in {
options.mySystem.users.phundrak = {
enable = mkEnableOption "Enables user phundrak";
trusted = mkEnableOption "Mark the user as trusted by Nix";
extraGroups = mkOption {
type = types.listOf types.str;
default = [];
example = ["feedbackd"];
};
};
config = {
users.users.phundrak = mkIf cfg.enable {
isNormalUser = true;
description = "Lucien Cartier-Tilet";
extraGroups = ["networkmanager" "wheel" "docker" "dialout" "podman" "plugdev" "games" "audio" "input" "uinput"];
extraGroups =
["networkmanager" "wheel" "dialout" "plugdev" "games" "audio" "input"]
++ cfg.extraGroups;
shell = pkgs.zsh;
openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys;
};
+5
View File
@@ -68,6 +68,11 @@ in {
hibernate = ["systemctl" "hibernate"];
reboot = ["systemctl" "reboot"];
};
utilities.toasts = {
capsLockChanged = false;
numLockChanged = false;
kbLayoutChanged = false;
};
};
cli = {
enable = true;
+4 -2
View File
@@ -69,7 +69,8 @@ in {
monitor =
{
"marpa" = [
"DP-1, 3440x1440@144, 1080x550, 1"
# "DP-1, 3440x1440@144, 1080x550, 1"
"DP-1, 2560x1440@144, 1080x550, 1" # streaming
"DP-2, 2560x1080@60, 0x0, 1, transform, 1"
];
"gampo" = [];
@@ -87,8 +88,9 @@ in {
new_status = "inherit";
};
workspace = [
"10, layoutopt:orientation:bottom"
"1, layoutopt:orientation:bottom"
"9, layoutopt:orientation:bottom"
"10, layoutopt:orientation:bottom"
];
decoration = {
rounding = 20;
+4
View File
@@ -6,6 +6,7 @@
}:
with lib; let
cfg = config.home.desktop.obs;
obs-image-reaction = pkgs.callPackage ../../../packages/obs-image-reaction.nix {};
in {
options.home.desktop.obs.enable = mkEnableOption "Enables OBS Studio";
config.programs.obs-studio = mkIf cfg.enable {
@@ -13,11 +14,14 @@ in {
plugins = with pkgs.obs-studio-plugins; [
input-overlay
obs-backgroundremoval
obs-markdown
obs-mute-filter
obs-pipewire-audio-capture
obs-scale-to-sound
obs-source-clone
obs-source-record
obs-tuna
obs-image-reaction
];
};
}
+3 -1
View File
@@ -77,8 +77,10 @@
general = {
# first eight chars to select areas, last three chars
# for left, right, middle click
# First eigh chars to select areas: auiectsr
# last three chars for left, right, and middle click: tsr
home_row_keys = "auiectsrtsr";
modes = "tile,bisect";
modes = "tile,bisect,click";
};
};
};
+13 -5
View File
@@ -242,10 +242,18 @@
];
}
]
++ lib.lists.optional config.home.desktop.wl-kbptr.enable {
key = "m";
desc = "Mouse Warp";
cmd = "wl-kbptr";
};
++ lib.lists.optionals config.home.desktop.wl-kbptr.enable [
{
key = "m";
desc = "Mouse Warp";
cmd = "wl-kbptr";
}
{
key = "M";
desc = "Mouse click";
# cmd = "wl-kbptr -o modes=floating,click";
cmd = "wl-kbptr -o modes=floating,click -o mode_floating.source=detect";
}
];
};
}