Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
1c7cdcc6f1
|
|||
|
0f6f41490d
|
|||
|
03773788d5
|
|||
|
e0928bccd2
|
|||
|
e997790e06
|
|||
|
9109f9cce5
|
|||
|
39d5cb1ada
|
|||
|
fa6ed5655a
|
@@ -82,6 +82,7 @@
|
|||||||
};
|
};
|
||||||
sound = {
|
sound = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
noisetorch = true;
|
||||||
jack = true;
|
jack = true;
|
||||||
scarlett.enable = 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 {
|
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;
|
environment.systemPackages = with pkgs;
|
||||||
[
|
[
|
||||||
dive # A tool for exploring each layer in a docker image
|
dive # A tool for exploring each layer in a docker image
|
||||||
@@ -29,7 +32,7 @@ in {
|
|||||||
podman-compose
|
podman-compose
|
||||||
podman-desktop
|
podman-desktop
|
||||||
];
|
];
|
||||||
virtualisation = mkIf cfg.enable {
|
virtualisation = {
|
||||||
docker = mkIf (!cfg.podman.enable) {
|
docker = mkIf (!cfg.podman.enable) {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableNvidia = cfg.nvidia.enable;
|
enableNvidia = cfg.nvidia.enable;
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ with lib; let
|
|||||||
in {
|
in {
|
||||||
options.mySystem.hardware.sound = {
|
options.mySystem.hardware.sound = {
|
||||||
enable = mkEnableOption "Whether to enable sounds with Pipewire";
|
enable = mkEnableOption "Whether to enable sounds with Pipewire";
|
||||||
|
noisetorch = mkEnableOption "Whether to activate noisetorch support";
|
||||||
scarlett.enable = mkEnableOption "Activate support for Scarlett sound card";
|
scarlett.enable = mkEnableOption "Activate support for Scarlett sound card";
|
||||||
alsa = mkOption {
|
alsa = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@@ -44,7 +45,7 @@ in {
|
|||||||
pulseaudio.enable = false;
|
pulseaudio.enable = false;
|
||||||
};
|
};
|
||||||
programs.noisetorch = mkIf cfg.enable {
|
programs.noisetorch = mkIf cfg.enable {
|
||||||
inherit (cfg) enable;
|
enable = cfg.noisetorch;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,12 +11,8 @@ in {
|
|||||||
enable = mkEnableOption "Enable Flatpak support";
|
enable = mkEnableOption "Enable Flatpak support";
|
||||||
builder.enable = mkEnableOption "Enable Flatpak builder";
|
builder.enable = mkEnableOption "Enable Flatpak builder";
|
||||||
};
|
};
|
||||||
config = {
|
config = mkIf cfg.enable {
|
||||||
services.flatpak = mkIf cfg.enable {
|
environment.systemPackages = lists.optional cfg.builder.enable pkgs.flatpak-builder;
|
||||||
inherit (cfg) enable;
|
services.flatpak.enable = true;
|
||||||
};
|
|
||||||
environment.systemPackages = mkIf cfg.builder.enable [
|
|
||||||
pkgs.flatpak-buildR
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,13 +10,20 @@ in {
|
|||||||
options.mySystem.users.phundrak = {
|
options.mySystem.users.phundrak = {
|
||||||
enable = mkEnableOption "Enables user phundrak";
|
enable = mkEnableOption "Enables user phundrak";
|
||||||
trusted = mkEnableOption "Mark the user as trusted by Nix";
|
trusted = mkEnableOption "Mark the user as trusted by Nix";
|
||||||
|
extraGroups = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
example = ["feedbackd"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
users.users.phundrak = mkIf cfg.enable {
|
users.users.phundrak = mkIf cfg.enable {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Lucien Cartier-Tilet";
|
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;
|
shell = pkgs.zsh;
|
||||||
openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys;
|
openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -68,6 +68,11 @@ in {
|
|||||||
hibernate = ["systemctl" "hibernate"];
|
hibernate = ["systemctl" "hibernate"];
|
||||||
reboot = ["systemctl" "reboot"];
|
reboot = ["systemctl" "reboot"];
|
||||||
};
|
};
|
||||||
|
utilities.toasts = {
|
||||||
|
capsLockChanged = false;
|
||||||
|
numLockChanged = false;
|
||||||
|
kbLayoutChanged = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
cli = {
|
cli = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -69,7 +69,8 @@ in {
|
|||||||
monitor =
|
monitor =
|
||||||
{
|
{
|
||||||
"marpa" = [
|
"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"
|
"DP-2, 2560x1080@60, 0x0, 1, transform, 1"
|
||||||
];
|
];
|
||||||
"gampo" = [];
|
"gampo" = [];
|
||||||
@@ -87,8 +88,9 @@ in {
|
|||||||
new_status = "inherit";
|
new_status = "inherit";
|
||||||
};
|
};
|
||||||
workspace = [
|
workspace = [
|
||||||
"10, layoutopt:orientation:bottom"
|
|
||||||
"1, layoutopt:orientation:bottom"
|
"1, layoutopt:orientation:bottom"
|
||||||
|
"9, layoutopt:orientation:bottom"
|
||||||
|
"10, layoutopt:orientation:bottom"
|
||||||
];
|
];
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 20;
|
rounding = 20;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.desktop.obs;
|
cfg = config.home.desktop.obs;
|
||||||
|
obs-image-reaction = pkgs.callPackage ../../../packages/obs-image-reaction.nix {};
|
||||||
in {
|
in {
|
||||||
options.home.desktop.obs.enable = mkEnableOption "Enables OBS Studio";
|
options.home.desktop.obs.enable = mkEnableOption "Enables OBS Studio";
|
||||||
config.programs.obs-studio = mkIf cfg.enable {
|
config.programs.obs-studio = mkIf cfg.enable {
|
||||||
@@ -13,11 +14,14 @@ in {
|
|||||||
plugins = with pkgs.obs-studio-plugins; [
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
input-overlay
|
input-overlay
|
||||||
obs-backgroundremoval
|
obs-backgroundremoval
|
||||||
|
obs-markdown
|
||||||
obs-mute-filter
|
obs-mute-filter
|
||||||
obs-pipewire-audio-capture
|
obs-pipewire-audio-capture
|
||||||
|
obs-scale-to-sound
|
||||||
obs-source-clone
|
obs-source-clone
|
||||||
obs-source-record
|
obs-source-record
|
||||||
obs-tuna
|
obs-tuna
|
||||||
|
obs-image-reaction
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,8 +77,10 @@
|
|||||||
general = {
|
general = {
|
||||||
# first eight chars to select areas, last three chars
|
# first eight chars to select areas, last three chars
|
||||||
# for left, right, middle click
|
# 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";
|
home_row_keys = "auiectsrtsr";
|
||||||
modes = "tile,bisect";
|
modes = "tile,bisect,click";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -242,10 +242,18 @@
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ lib.lists.optional config.home.desktop.wl-kbptr.enable {
|
++ lib.lists.optionals config.home.desktop.wl-kbptr.enable [
|
||||||
|
{
|
||||||
key = "m";
|
key = "m";
|
||||||
desc = "Mouse Warp";
|
desc = "Mouse Warp";
|
||||||
cmd = "wl-kbptr";
|
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