Files

80 lines
1.8 KiB
Nix

# /hosts/mcf-stream/configuration.nix
{ config
, pkgs
, inputs
, lib
, ...
}:
{
imports = [
./hardware-configuration.nix
../../modules/core/common.nix
../../modules/desktop/gui.nix
(import ../../modules/storage/disko.nix {
inherit inputs lib config;
diskoConfigPath = ./disko-config.nix;
})
../../modules/desktop/gnome.nix
../../modules/core/management.nix
../../modules/hardware/nvidia.nix
../../modules/desktop/apps/obs.nix
../../modules/desktop/apps/dvd.nix
../../modules/desktop/apps/carla.nix
];
sops.secrets = {
"users/petere-password" = {
neededForUsers = true;
};
"users/guest-password" = {
neededForUsers = true;
};
};
# Auto-login as guest for this shared/streaming desktop
services.displayManager.autoLogin = {
enable = true;
user = "guest";
};
home-manager.users.petere.imports = [
../../home-manager/modules/desktop-user.nix
];
home-manager.users.guest.imports = [
../../home-manager/modules/gnome-extensions.nix
];
networking.hostName = "mcf-stream";
my.hardware.nvidia = {
enable = true;
nvidiaSettings = true;
# GTX 1050 Ti (Pascal) needs the 580.xx legacy driver branch
package = config.boot.kernelPackages.nvidiaPackages.legacy_580;
};
my.users.petere = {
description = "Peter Edley";
hashedPasswordFile = config.sops.secrets."users/petere-password".path;
};
users.users.guest = {
isNormalUser = true;
description = "Guest";
hashedPasswordFile = config.sops.secrets."users/guest-password".path;
extraGroups = [
"networkmanager"
"video"
"audio"
];
};
# ffmpeg with NVENC encoders (h264/hevc/av1_nvenc) for GPU-accelerated
# encoding on the NVIDIA GPU
environment.systemPackages = with pkgs; [
ffmpeg
];
}