refactor: flake dir -> outputs/sys -> nixos
This commit is contained in:
parent
3615bb010f
commit
a6d5e892a1
73 changed files with 9 additions and 2 deletions
69
nixos/modules/roles/gaming/default.nix
Normal file
69
nixos/modules/roles/gaming/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
inherit (builtins) elem;
|
||||
steamFix = pkgs.steam.override {
|
||||
extraPkgs = pkgs: with pkgs; [
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXScrnSaver
|
||||
libpng
|
||||
libpulseaudio
|
||||
libvorbis
|
||||
stdenv.cc.cc.lib
|
||||
libkrb5
|
||||
keyutils
|
||||
mangohud
|
||||
winetricks
|
||||
protontricks
|
||||
gtk3
|
||||
gtk3-x11
|
||||
];
|
||||
};
|
||||
host = config.ooknet.host;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf (elem "gaming" host.function) {
|
||||
hardware.opengl.extraPackages = [ pkgs.gamescope ];
|
||||
services.flatpak.enable = true;
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
package = steamFix;
|
||||
extraCompatPackages = [ pkgs.proton-ge-bin.steamcompattool ];
|
||||
};
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
gamemode = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
renice = 15;
|
||||
softrealtime = "auto";
|
||||
};
|
||||
custom = {
|
||||
start = "${pkgs.libnotify}/bin/notify-send 'GameMode started'";
|
||||
end = "${pkgs.libnotify}/bin/notify-send 'GameMode ended'";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [ 3074 ];
|
||||
allowedUDPPorts = [
|
||||
88
|
||||
500
|
||||
3074
|
||||
2075
|
||||
3544
|
||||
4500
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
5
nixos/modules/roles/media-server/default.nix
Normal file
5
nixos/modules/roles/media-server/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./services
|
||||
];
|
||||
}
|
||||
5
nixos/modules/roles/media-server/services/default.nix
Normal file
5
nixos/modules/roles/media-server/services/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./nixarr.nix
|
||||
];
|
||||
}
|
||||
25
nixos/modules/roles/media-server/services/nixarr.nix
Normal file
25
nixos/modules/roles/media-server/services/nixarr.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ config, inputs, ... }:
|
||||
|
||||
let
|
||||
admin = config.ooknet.host.admin;
|
||||
in
|
||||
|
||||
{
|
||||
imports = [ inputs.nixarr.nixosModules.default ];
|
||||
nixarr = {
|
||||
enable = true;
|
||||
mediaDir = "/jellyfin";
|
||||
stateDir = "/var/lib/nixarr";
|
||||
mediaUsers = ["${admin.name}"];
|
||||
|
||||
jellyfin.enable = true;
|
||||
sonarr.enable = true;
|
||||
radarr.enable = true;
|
||||
prowlarr.enable = true;
|
||||
transmission.enable = true;
|
||||
};
|
||||
fileSystems."/jellyfin" = {
|
||||
device = "/dev/disk/by-label/jellyfin";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
}
|
||||
5
nixos/modules/roles/workstation/default.nix
Normal file
5
nixos/modules/roles/workstation/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./programs
|
||||
];
|
||||
}
|
||||
18
nixos/modules/roles/workstation/programs/1password.nix
Normal file
18
nixos/modules/roles/workstation/programs/1password.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
host = config.ooknet.host;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf (host.type != "phone") {
|
||||
programs = {
|
||||
_1password.enable = true;
|
||||
_1password-gui = {
|
||||
enable = true;
|
||||
polkitPolicyOwners = [ "${host.admin.name}" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
13
nixos/modules/roles/workstation/programs/dconf.nix
Normal file
13
nixos/modules/roles/workstation/programs/dconf.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
inherit (builtins) elem;
|
||||
host = config.ooknet.host;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf (elem "workstation" host.function){
|
||||
programs.dconf.enable = true;
|
||||
};
|
||||
}
|
||||
7
nixos/modules/roles/workstation/programs/default.nix
Normal file
7
nixos/modules/roles/workstation/programs/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./dconf.nix
|
||||
./kdeconnect.nix
|
||||
./1password.nix
|
||||
];
|
||||
}
|
||||
7
nixos/modules/roles/workstation/programs/kdeconnect.nix
Normal file
7
nixos/modules/roles/workstation/programs/kdeconnect.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
programs.kdeconnect = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue