more modules
This commit is contained in:
@@ -12,6 +12,10 @@
|
||||
modules.sops
|
||||
modules.hyprland
|
||||
<modules/hyprland/doloro-settings>
|
||||
(modules.obs {
|
||||
virtual_audio_devices = true;
|
||||
autostart = true;
|
||||
})
|
||||
];
|
||||
nixos =
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<modules/zen-browser>
|
||||
modules.kitty
|
||||
modules.stylix
|
||||
modules.quickshell
|
||||
];
|
||||
nixos =
|
||||
{ config, pkgs, ... }:
|
||||
@@ -23,14 +24,13 @@
|
||||
users.users.doloro = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.fish;
|
||||
initialPassword = "sex";
|
||||
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
|
||||
};
|
||||
};
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [ teamviewer ];
|
||||
home.packages = with pkgs; [ ];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
8
config/modules/gaming/common.nix
Normal file
8
config/modules/gaming/common.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.common.provides = {
|
||||
gaming = {
|
||||
includes = [ modules.steam ];
|
||||
};
|
||||
};
|
||||
}
|
||||
39
config/modules/gaming/steam.nix
Normal file
39
config/modules/gaming/steam.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.steam = {
|
||||
nixos =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
# Ensure gamescope is inside the steam "fhs"
|
||||
package = pkgs.steam.override {
|
||||
extraLibraries = pkgs: [ pkgs.xorg.libxcb ];
|
||||
extraPkgs =
|
||||
pkgs: with pkgs; [
|
||||
attr
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXScrnSaver
|
||||
libpng
|
||||
libpulseaudio
|
||||
libvorbis
|
||||
stdenv.cc.cc.lib
|
||||
libkrb5
|
||||
keyutils
|
||||
mangohud
|
||||
gamemode
|
||||
lsof
|
||||
(gamescope.overrideAttrs {
|
||||
enableWsi = true;
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
27
config/modules/helium.nix
Normal file
27
config/modules/helium.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
den,
|
||||
modules,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
flake-file.inputs = {
|
||||
heliumFlake = {
|
||||
url = "github:vikingnope/helium-browser-nix-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
modules.helium = {
|
||||
homeManager =
|
||||
{ pkgs, home, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
inputs.heliumFlake.packages.x86_64-linux.helium
|
||||
];
|
||||
# Gives me widevine support. yay
|
||||
xdg.configFile."net.imput.helium/WidevineCdm/latest-component-updated-widevine-cdm" = {
|
||||
text = ''{"Path":"${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm"}'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
32
config/modules/hyfetch.nix
Normal file
32
config/modules/hyfetch.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.hyfetch = {
|
||||
homeManager =
|
||||
{ home, pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.fastfetch ];
|
||||
programs.hyfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"preset" = "bisexual";
|
||||
"mode" = "rgb";
|
||||
"auto_detect_light_dark" = true;
|
||||
"light_dark" = "dark";
|
||||
"lightness" = 0.5;
|
||||
"color_align" = {
|
||||
"mode" = "custom";
|
||||
"custom_colors" = {
|
||||
"1" = 1;
|
||||
"2" = 0;
|
||||
};
|
||||
};
|
||||
"backend" = "fastfetch";
|
||||
"args" = null;
|
||||
"distro" = null;
|
||||
"pride_month_disable" = false;
|
||||
"custom_ascii_path" = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
65
config/modules/obs.nix
Normal file
65
config/modules/obs.nix
Normal file
@@ -0,0 +1,65 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.obs = settings: {
|
||||
homeManager =
|
||||
{ pkgs, 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
|
||||
];
|
||||
};
|
||||
};
|
||||
systemd.user.services =
|
||||
pkgs.lib.mkIf settings.virtual_audio_devices {
|
||||
pw-discordaudio-virtual-device = {
|
||||
Install = {
|
||||
WantedBy = [ "hyprland-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink
|
||||
''}";
|
||||
};
|
||||
};
|
||||
pw-gameaudio-virtual-device = {
|
||||
Install = {
|
||||
WantedBy = [ "hyprland-session.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink
|
||||
''}";
|
||||
};
|
||||
};
|
||||
}
|
||||
// pkgs.lib.mkIf settings.autostart {
|
||||
obs-autostart = {
|
||||
Unit = {
|
||||
Description = "OBS daemon";
|
||||
After = [ "hyprland-session.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
# wait for hyprland to start
|
||||
ExecStart = "${config.programs.obs-studio.finalPackage}/bin/obs --startreplaybuffer";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
27
config/modules/quickshell/quickshell.nix
Normal file
27
config/modules/quickshell/quickshell.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{ den, modules, ... }:
|
||||
{
|
||||
modules.quickshell = {
|
||||
homeManager =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
xdg.configFile."quickshell" = {
|
||||
recursive = true;
|
||||
source = pkgs.lib.file.mkOutOfStoreSymlink ./quickshell;
|
||||
};
|
||||
systemd.user.services.quickshell = {
|
||||
Unit = {
|
||||
Description = "Quickshell daemon";
|
||||
After = [ "hyprland-session.target" ];
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.quickshell}/bin/quickshell";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user