85 lines
1.9 KiB
Nix
85 lines
1.9 KiB
Nix
{ config, pkgs, ... }:
|
|
{
|
|
systemd.tmpfiles.settings."vili-home" = {
|
|
"/home/vili".d = {
|
|
user = "vili";
|
|
group = "users";
|
|
mode = "0700";
|
|
};
|
|
"/home/vili/.local".d = {
|
|
user = "vili";
|
|
group = "users";
|
|
mode = "0755";
|
|
};
|
|
"/home/vili/.local/share".d = {
|
|
user = "vili";
|
|
group = "users";
|
|
mode = "0755";
|
|
};
|
|
};
|
|
environment.persistence."/persist" = {
|
|
users.vili = {
|
|
directories = [
|
|
{
|
|
directory = ".cache";
|
|
mode = "u=rwx,g=rx,o=rx";
|
|
}
|
|
{
|
|
directory = ".local/share/feral-interactive";
|
|
mode = "u=rwx,g=rx,o=rx";
|
|
}
|
|
".local/share/Steam"
|
|
{
|
|
directory = ".local/share/vulkan";
|
|
mode = "u=rwx,g=rx,o=rx";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
sops.secrets = {
|
|
sunshine-state = {
|
|
sopsFile = ../secrets/gaming.yaml;
|
|
owner = config.users.users."vili".name;
|
|
};
|
|
sunshine-cakey = {
|
|
sopsFile = ../secrets/gaming.yaml;
|
|
owner = config.users.users."vili".name;
|
|
};
|
|
sunshine-cacert = {
|
|
sopsFile = ../secrets/gaming.yaml;
|
|
owner = config.users.users."vili".name;
|
|
};
|
|
};
|
|
|
|
programs.steam = {
|
|
enable = true;
|
|
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
|
};
|
|
|
|
services.sunshine = {
|
|
enable = true;
|
|
autoStart = true;
|
|
openFirewall = true;
|
|
settings = {
|
|
sunshine_name = "NixOS";
|
|
address_family = "both";
|
|
credentials_file = config.sops.secrets.sunshine-state.path;
|
|
pkey = config.sops.secrets.sunshine-cakey.path;
|
|
cert = config.sops.secrets.sunshine-cacert.path;
|
|
file_state = config.sops.secrets.sunshine-state.path;
|
|
};
|
|
applications = {
|
|
env = {
|
|
PATH = "$(PATH):$(HOME)/.local/bin";
|
|
};
|
|
apps = [
|
|
{
|
|
name = "Desktop";
|
|
image-path = "desktop.png";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
}
|