Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
1c7cdcc6f1
|
|||
|
0f6f41490d
|
|||
|
03773788d5
|
|||
|
e0928bccd2
|
|||
|
e997790e06
|
|||
|
9109f9cce5
|
|||
|
39d5cb1ada
|
|||
|
fa6ed5655a
|
@@ -82,6 +82,7 @@
|
||||
};
|
||||
sound = {
|
||||
enable = true;
|
||||
noisetorch = true;
|
||||
jack = true;
|
||||
scarlett.enable = true;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -68,6 +68,11 @@ in {
|
||||
hibernate = ["systemctl" "hibernate"];
|
||||
reboot = ["systemctl" "reboot"];
|
||||
};
|
||||
utilities.toasts = {
|
||||
capsLockChanged = false;
|
||||
numLockChanged = false;
|
||||
kbLayoutChanged = false;
|
||||
};
|
||||
};
|
||||
cli = {
|
||||
enable = true;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user