Merge branch 'main' of github.com:ooks-io/nix
This commit is contained in:
commit
1688264d04
21 changed files with 317 additions and 184 deletions
90
flake.lock
generated
90
flake.lock
generated
|
|
@ -454,6 +454,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"lowdown-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1598695561,
|
||||||
|
"narHash": "sha256-gyH/5j+h/nWw0W8AcR2WKvNBUsiQ7QuxqSJNXAwV+8E=",
|
||||||
|
"owner": "kristapsdz",
|
||||||
|
"repo": "lowdown",
|
||||||
|
"rev": "1705b4a26fbf065d9574dce47a94e8c7c79e052f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "kristapsdz",
|
||||||
|
"repo": "lowdown",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nh": {
|
"nh": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -474,6 +490,24 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix": {
|
||||||
|
"inputs": {
|
||||||
|
"lowdown-src": "lowdown-src",
|
||||||
|
"nixpkgs": "nixpkgs_5"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1609520816,
|
||||||
|
"narHash": "sha256-IGO7tfJXsv9u2wpW76VCzOsHYapRZqH9pHGVsoffPrI=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nix",
|
||||||
|
"rev": "8a2ce0f455da32bc20978e68c0aad9efb4560abc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nix",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-colors": {
|
"nix-colors": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16-schemes": "base16-schemes",
|
"base16-schemes": "base16-schemes",
|
||||||
|
|
@ -647,6 +681,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1602702596,
|
||||||
|
"narHash": "sha256-fqJ4UgOb4ZUnCDIapDb4gCrtAah5Rnr2/At3IzMitig=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ad0d20345219790533ebe06571f82ed6b034db31",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixos-20.09-small",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706925685,
|
"lastModified": 1706925685,
|
||||||
"narHash": "sha256-hVInjWMmgH4yZgA4ZtbgJM1qEAel72SYhP5nOWX4UIM=",
|
"narHash": "sha256-hVInjWMmgH4yZgA4ZtbgJM1qEAel72SYhP5nOWX4UIM=",
|
||||||
|
|
@ -730,6 +779,7 @@
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
|
"ssbm-nix": "ssbm-nix",
|
||||||
"zjstatus": "zjstatus"
|
"zjstatus": "zjstatus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -783,6 +833,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"slippi-desktop": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1607036060,
|
||||||
|
"narHash": "sha256-TUYsiVvKAws3N3roZYDwkLB0obyl6zwvh8CAk2RwHrY=",
|
||||||
|
"owner": "project-slippi",
|
||||||
|
"repo": "slippi-desktop-app",
|
||||||
|
"rev": "3ca39ba6bbd02157515b12a79aa01e5d669ad1b1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "project-slippi",
|
||||||
|
"repo": "slippi-desktop-app",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -804,6 +870,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ssbm-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nix": "nix",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"slippi-desktop": "slippi-desktop"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696638790,
|
||||||
|
"narHash": "sha256-fmpFkchuAyQfaSOWqEMnw4wRxWFkD7LqBwjKcVog8xQ=",
|
||||||
|
"owner": "djanatyn",
|
||||||
|
"repo": "ssbm-nix",
|
||||||
|
"rev": "cfeb1874b437e5883272c522234d1d15cb3d3ebd",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "djanatyn",
|
||||||
|
"repo": "ssbm-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
|
@ -917,7 +1005,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane_2",
|
"crane": "crane_2",
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_4",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
|
||||||
16
flake.nix
16
flake.nix
|
|
@ -54,6 +54,11 @@
|
||||||
|
|
||||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||||
|
|
||||||
|
ssbm-nix = {
|
||||||
|
url = "github:djanatyn/ssbm-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
zjstatus.url = "github:dj95/zjstatus";
|
zjstatus.url = "github:dj95/zjstatus";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -92,6 +97,11 @@
|
||||||
modules = [ ./system/hosts/ooksdesk ];
|
modules = [ ./system/hosts/ooksdesk ];
|
||||||
specialArgs = { inherit inputs outputs; };
|
specialArgs = { inherit inputs outputs; };
|
||||||
};
|
};
|
||||||
|
# GPD Micro-PC
|
||||||
|
ooksmicro = lib.nixosSystem {
|
||||||
|
modules = [ ./system/hosts/ooksmicro ];
|
||||||
|
specialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
# T480s
|
# T480s
|
||||||
|
|
@ -106,6 +116,12 @@
|
||||||
pkgs = pkgsFor.x86_64-linux;
|
pkgs = pkgsFor.x86_64-linux;
|
||||||
extraSpecialArgs = { inherit inputs outputs; };
|
extraSpecialArgs = { inherit inputs outputs; };
|
||||||
};
|
};
|
||||||
|
# Main Desktop
|
||||||
|
"ooks@ooksmicro" = lib.homeManagerConfiguration {
|
||||||
|
modules = [ ./home/user/ooks/ooksmicro ];
|
||||||
|
pkgs = pkgsFor.x86_64-linux;
|
||||||
|
extraSpecialArgs = { inherit inputs outputs; };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
./nixIndex
|
./nixIndex
|
||||||
./git
|
./git
|
||||||
./tools
|
./tools
|
||||||
|
./ssh
|
||||||
];
|
];
|
||||||
|
|
||||||
options.homeModules.console.utility = {
|
options.homeModules.console.utility = {
|
||||||
|
|
@ -13,6 +14,9 @@
|
||||||
git = {
|
git = {
|
||||||
enable = lib.mkEnableOption "Enable git + tools";
|
enable = lib.mkEnableOption "Enable git + tools";
|
||||||
};
|
};
|
||||||
|
ssh = {
|
||||||
|
enable = lib.mkEnableOption "Enable various console ssh";
|
||||||
|
};
|
||||||
tools = {
|
tools = {
|
||||||
enable = lib.mkEnableOption "Enable various console tools";
|
enable = lib.mkEnableOption "Enable various console tools";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
20
home/modules/console/utility/ssh/default.nix
Normal file
20
home/modules/console/utility/ssh/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.homeModules.console.utility.ssh;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = /* config */''
|
||||||
|
Host *
|
||||||
|
IdentitiesOnly=yes
|
||||||
|
IdentityAgent "~/.1password/agent.sock"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1 +1,15 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./slippi
|
||||||
|
];
|
||||||
|
|
||||||
|
options.homeModules.desktop.gaming = {
|
||||||
|
slippi = {
|
||||||
|
enable = lib.mkEnableOption "Enable Slippi home module";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
||||||
18
home/modules/desktop/gaming/slippi/default.nix
Normal file
18
home/modules/desktop/gaming/slippi/default.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ inputs, config, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.homeModules.desktop.gaming.slippi;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
inputs.ssbm-nix.homeManagerModule
|
||||||
|
];
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
ssbm = {
|
||||||
|
slippi-launcher.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -26,6 +26,9 @@ in
|
||||||
hyprland = {
|
hyprland = {
|
||||||
enable = lib.mkEnableOption "Enable the hyprland profile";
|
enable = lib.mkEnableOption "Enable the hyprland profile";
|
||||||
};
|
};
|
||||||
|
gaming = {
|
||||||
|
enable = lib.mkEnableOption "Enable the gaming profile";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.profiles.gaming;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../../modules
|
||||||
|
];
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
homeModules.desktop = {
|
||||||
|
gaming = {
|
||||||
|
slippi.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
23
home/user/ooks/ooksmicro/default.nix
Normal file
23
home/user/ooks/ooksmicro/default.nix
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{ inputs, outputs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../../../profile
|
||||||
|
];
|
||||||
|
|
||||||
|
activeProfiles = ["base" "hyprland"];
|
||||||
|
|
||||||
|
home.sessionVariables.HN = "ooksmicro";
|
||||||
|
|
||||||
|
monitors = [{
|
||||||
|
name = "DSI-1";
|
||||||
|
width = 720;
|
||||||
|
height = 1280;
|
||||||
|
workspace = "1";
|
||||||
|
primary = true;
|
||||||
|
transform = 3;
|
||||||
|
}];
|
||||||
|
|
||||||
|
colorscheme = inputs.nix-colors.colorSchemes.gruvbox-material-dark-soft;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,116 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
# Imports
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
inputs.hardware.nixosModules.gpd-micropc
|
|
||||||
|
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
../common/user/ooks
|
|
||||||
../common/base
|
|
||||||
../common/features/bluetooth.nix
|
|
||||||
../common/features/vm.nix
|
|
||||||
../common/features/greetd.nix
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
# Hostname and networking
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
hostName = "ooksmicro";
|
|
||||||
networkmanager.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# Printing
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# Kernel
|
|
||||||
# ------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
kernelPackages = pkgs.linuxKernel.packages.linux_zen;
|
|
||||||
kernelParams = [ "fbcon=rotate:1" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# Laptop Programs
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
powerManagement.powertop.enable = true;
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
light.enable = true;
|
|
||||||
dconf.enable = true;
|
|
||||||
kdeconnect.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# XDG Portal
|
|
||||||
# ------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
wlr.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
opengl = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# gnupg
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSSHSupport = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Services
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
services = {
|
|
||||||
thermald = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
logind = {
|
|
||||||
lidSwitch = "suspend";
|
|
||||||
};
|
|
||||||
dbus = {
|
|
||||||
enable = true;
|
|
||||||
packages = [ pkgs.gcr ];
|
|
||||||
};
|
|
||||||
auto-cpufreq = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
battery = {
|
|
||||||
governor = "powersave";
|
|
||||||
turbo = "never";
|
|
||||||
};
|
|
||||||
charger = {
|
|
||||||
governor = "performance";
|
|
||||||
turbo = "auto";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# System Version
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
system = {
|
|
||||||
stateVersion = "22.05";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -18,6 +18,6 @@
|
||||||
# useDHCP = true;
|
# useDHCP = true;
|
||||||
};
|
};
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxKernel.packages.linux_zen;
|
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
26
system/hosts/ooksmicro/default.nix
Normal file
26
system/hosts/ooksmicro/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ config, inputs, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.hardware.nixosModules.gpd-micropc
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../profiles
|
||||||
|
];
|
||||||
|
|
||||||
|
activeProfiles = ["base" "laptop"];
|
||||||
|
|
||||||
|
systemModules.user = {
|
||||||
|
ooks.enable = true;
|
||||||
|
shell.fish.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "ooksmicro";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxKernel.packages.linux_zen;
|
||||||
|
kernelParams = [ "fbcon=rotate:1" ];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -2,16 +2,12 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./jellyfin
|
./mediaServer
|
||||||
./deluge
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.systemModules.services = {
|
options.systemModules.services = {
|
||||||
jellyfin = {
|
mediaServer = {
|
||||||
enable = lib.mkEnableOption "Enable jellyfin service module";
|
enable = lib.mkEnableOption "Enable mediaserver service module";
|
||||||
};
|
|
||||||
deluge = {
|
|
||||||
enable = lib.mkEnableOption "Enable deluge service module";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.systemModules.services.deluge;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
services.deluge = {
|
|
||||||
user = "deluge";
|
|
||||||
group = "deluge";
|
|
||||||
enable = true;
|
|
||||||
web.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# fileSystems."/media/Downloads" = {
|
|
||||||
# device = "/dev/disk/by-label/torrents";
|
|
||||||
# fsType = "ext4";
|
|
||||||
# options = [ "rw" "uid=1000" "gid=991" "umask=002" ];
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.systemModules.services.jellyfin;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
jellyfin
|
|
||||||
jellyfin-web
|
|
||||||
jellyfin-ffmpeg
|
|
||||||
];
|
|
||||||
services.jellyfin = {
|
|
||||||
user = "jellyfin";
|
|
||||||
group = "media";
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
users.users.jellyfin = {
|
|
||||||
isSystemUser = true;
|
|
||||||
group = "media";
|
|
||||||
};
|
|
||||||
users.groups.media = {};
|
|
||||||
|
|
||||||
# fileSystems."/media" = {
|
|
||||||
# device = "/dev/disk/by-label/ooksmedia";
|
|
||||||
# fsType = "ntfs";
|
|
||||||
# options = [ "rw" "uid=1000" "gid=991" "umask=002" ];
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
49
system/modules/services/mediaServer/default.nix
Normal file
49
system/modules/services/mediaServer/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.systemModules.services.mediaServer;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
users.groups.media = { };
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
jellyfin
|
||||||
|
jellyfin-web
|
||||||
|
jellyfin-ffmpeg
|
||||||
|
];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
jellyfin = {
|
||||||
|
group = "media";
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
deluge = {
|
||||||
|
group = "media";
|
||||||
|
enable = true;
|
||||||
|
web.enable = true;
|
||||||
|
};
|
||||||
|
radarr = {
|
||||||
|
group = "media";
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
sonarr = {
|
||||||
|
group = "media";
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
prowlarr.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /jellyfin 0770 - media - -"
|
||||||
|
];
|
||||||
|
|
||||||
|
fileSystems."/jellyfin" = {
|
||||||
|
device = "/dev/disk/by-label/jellyfin";
|
||||||
|
fsType = "btrfs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,24 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.systemProfile.gaming;
|
cfg = config.systemProfile.gaming;
|
||||||
|
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
|
||||||
|
inputs.nix-gaming.packages.${pkgs.system}.wine-ge
|
||||||
|
protontricks
|
||||||
|
];
|
||||||
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -12,7 +30,10 @@ in
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
hardware.opengl.extraPackages = [ pkgs.gamescope ];
|
hardware.opengl.extraPackages = [ pkgs.gamescope ];
|
||||||
programs = {
|
programs = {
|
||||||
steam.enable = true;
|
steam = {
|
||||||
|
enable = true;
|
||||||
|
package = steamFix;
|
||||||
|
};
|
||||||
gamescope = {
|
gamescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
capSysNice = true;
|
capSysNice = true;
|
||||||
|
|
@ -32,5 +53,13 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.pipewire.lowLatency.enable = true;
|
services.pipewire.lowLatency.enable = true;
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(_: prev: {
|
||||||
|
steam = prev.steam.override {
|
||||||
|
extraProfile = "export STEAM_EXTRA_COMPAT_TOOLS_PATHS='${inputs.nix-gaming.packages.${pkgs.system}.proton-ge}'";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,7 @@ in
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
systemModules = {
|
systemModules = {
|
||||||
services = {
|
services = {
|
||||||
jellyfin.enable = true;
|
mediaServer.enable = true;
|
||||||
deluge.enable = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue