Compare commits
9 Commits
7615d1a1d5
...
emulation
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f2b5f7f57 | |||
| 14a0160309 | |||
| 43654c2946 | |||
| 8dd4513997 | |||
| 1d95ffb81a | |||
| c53db46ca7 | |||
| c546e6242b | |||
| 05bb811e42 | |||
| 6024b77535 |
91
flake.lock
generated
91
flake.lock
generated
@@ -1,5 +1,27 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"aagl": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761836926,
|
||||||
|
"narHash": "sha256-HnNzEUuBqmJCUV/N/IbL0wFT1LHmNGWTLkUg7yRIhpY=",
|
||||||
|
"owner": "ezKEa",
|
||||||
|
"repo": "aagl-gtk-on-nix",
|
||||||
|
"rev": "e601b479a3d08124ee6ceea391cdc3f395aab54e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ezKEa",
|
||||||
|
"repo": "aagl-gtk-on-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"darwin": {
|
"darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -22,6 +44,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761588595,
|
||||||
|
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1747046372,
|
||||||
@@ -57,9 +95,9 @@
|
|||||||
},
|
},
|
||||||
"ghostty": {
|
"ghostty": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"zig": "zig",
|
"zig": "zig",
|
||||||
"zon2nix": "zon2nix"
|
"zon2nix": "zon2nix"
|
||||||
},
|
},
|
||||||
@@ -115,6 +153,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744536153,
|
||||||
|
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 315532800,
|
"lastModified": 315532800,
|
||||||
"narHash": "sha256-sV6pJNzFkiPc6j9Bi9JuHBnWdVhtKB/mHgVmMPvDFlk=",
|
"narHash": "sha256-sV6pJNzFkiPc6j9Bi9JuHBnWdVhtKB/mHgVmMPvDFlk=",
|
||||||
@@ -127,7 +181,7 @@
|
|||||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758360447,
|
"lastModified": 1758360447,
|
||||||
"narHash": "sha256-XDY3A83bclygHDtesRoaRTafUd80Q30D/Daf9KSG6bs=",
|
"narHash": "sha256-XDY3A83bclygHDtesRoaRTafUd80Q30D/Daf9KSG6bs=",
|
||||||
@@ -140,7 +194,7 @@
|
|||||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761597516,
|
"lastModified": 1761597516,
|
||||||
"narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
|
"narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
|
||||||
@@ -156,7 +210,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744536153,
|
"lastModified": 1744536153,
|
||||||
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||||
@@ -174,17 +228,36 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"aagl": "aagl",
|
||||||
"darwin": "darwin",
|
"darwin": "darwin",
|
||||||
"ghostty": "ghostty",
|
"ghostty": "ghostty",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay_2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761791894,
|
||||||
|
"narHash": "sha256-myRIDh+PxaREz+z9LzbqBJF+SnTFJwkthKDX9zMyddY=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "59c45eb69d9222a4362673141e00ff77842cd219",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rust-overlay_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761964689,
|
"lastModified": 1761964689,
|
||||||
@@ -246,7 +319,7 @@
|
|||||||
},
|
},
|
||||||
"zon2nix": {
|
"zon2nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758405547,
|
"lastModified": 1758405547,
|
||||||
|
|||||||
@@ -13,6 +13,10 @@
|
|||||||
};
|
};
|
||||||
ghostty.url = "github:ghostty-org/ghostty";
|
ghostty.url = "github:ghostty-org/ghostty";
|
||||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||||
|
aagl = {
|
||||||
|
url = "github:ezKEa/aagl-gtk-on-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
@@ -23,6 +27,7 @@
|
|||||||
home-manager,
|
home-manager,
|
||||||
ghostty,
|
ghostty,
|
||||||
rust-overlay,
|
rust-overlay,
|
||||||
|
aagl,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
userName = "wyatt";
|
userName = "wyatt";
|
||||||
@@ -34,6 +39,7 @@
|
|||||||
myOverlays = { ... }: {
|
myOverlays = { ... }: {
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
rust-overlay.overlays.default
|
rust-overlay.overlays.default
|
||||||
|
aagl.overlays.default
|
||||||
self.common.overlays
|
self.common.overlays
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -72,7 +78,7 @@
|
|||||||
nixosConfigurations."cloud" = nixpkgs.lib.nixosSystem {
|
nixosConfigurations."cloud" = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit userName userEmail ghostty;
|
inherit userName userEmail ghostty aagl;
|
||||||
hostname = "cloud";
|
hostname = "cloud";
|
||||||
role = "devel";
|
role = "devel";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
pavucontrol
|
pavucontrol
|
||||||
godot
|
godot
|
||||||
aseprite
|
aseprite
|
||||||
|
zathura
|
||||||
gpu-screen-recorder
|
gpu-screen-recorder
|
||||||
gpu-screen-recorder-gtk
|
gpu-screen-recorder-gtk
|
||||||
# ungoogled-chromium
|
# ungoogled-chromium
|
||||||
|
|||||||
@@ -2,10 +2,13 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
aagl,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.gaming;
|
cfg = config.gaming;
|
||||||
in {
|
in {
|
||||||
|
imports = [ aagl.nixosModules.default ];
|
||||||
|
|
||||||
options.gaming = {
|
options.gaming = {
|
||||||
steam = {
|
steam = {
|
||||||
enable = lib.mkEnableOption "Steam gaming platform";
|
enable = lib.mkEnableOption "Steam gaming platform";
|
||||||
@@ -62,6 +65,14 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
vkbasalt = {
|
||||||
|
enable = lib.mkEnableOption "vkBasalt/ReShade/GShade post processing shaders";
|
||||||
|
};
|
||||||
|
|
||||||
|
mangohud = {
|
||||||
|
enable = lib.mkEnableOption "OpenGL/Vulkan overlay tool shown in games presenting FPS, CPU/GPU/memory utilization, load, etc.";
|
||||||
|
};
|
||||||
|
|
||||||
lutris = {
|
lutris = {
|
||||||
enable = lib.mkEnableOption "Lutris game manager and launcher";
|
enable = lib.mkEnableOption "Lutris game manager and launcher";
|
||||||
package = lib.mkOption {
|
package = lib.mkOption {
|
||||||
@@ -108,9 +119,47 @@ in {
|
|||||||
ffxiv = {
|
ffxiv = {
|
||||||
enable = lib.mkEnableOption "Final Fantasy XIV and it's accompanied (unofficial) launcher";
|
enable = lib.mkEnableOption "Final Fantasy XIV and it's accompanied (unofficial) launcher";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# TODO: when aagl gets it's unified launcher all finished/in a stable state, transition to that launcher
|
||||||
|
aagl = {
|
||||||
|
anime-game-launcher = {
|
||||||
|
enable = lib.mkEnableOption "Genshin Impact launcher (legacy)";
|
||||||
|
};
|
||||||
|
|
||||||
|
honkers-railway-launcher = {
|
||||||
|
enable = lib.mkEnableOption "Honkai: Star Rail launcher";
|
||||||
|
};
|
||||||
|
|
||||||
|
honkers-launcher = {
|
||||||
|
enable = lib.mkEnableOption "Honkai: Impact 3rd launcher";
|
||||||
|
};
|
||||||
|
|
||||||
|
wavey-launcher = {
|
||||||
|
enable = lib.mkEnableOption "Wuthering Waves launcher";
|
||||||
|
};
|
||||||
|
|
||||||
|
sleepy-launcher = {
|
||||||
|
enable = lib.mkEnableOption "Zenless Zone Zero (ZZZ) launcher";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
emulators = {
|
||||||
|
enable = lib.mkEnableOption "Emulation";
|
||||||
|
|
||||||
|
n64 = {
|
||||||
|
enable = lib.mkEnableOption "Nintendo 64 (N64) emulator";
|
||||||
|
package = lib.mkOption {
|
||||||
|
type = lib.types.package;
|
||||||
|
default = pkgs.mupen64plus;
|
||||||
|
description = "Package used for the Nintendo 64 (N64) emulator";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = let
|
||||||
|
agl = cfg.aagl;
|
||||||
|
in {
|
||||||
programs.steam = lib.mkIf cfg.steam.enable {
|
programs.steam = lib.mkIf cfg.steam.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = cfg.steam.firewall.remotePlay;
|
remotePlay.openFirewall = cfg.steam.firewall.remotePlay;
|
||||||
@@ -139,6 +188,26 @@ in {
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.anime-game-launcher = lib.mkIf agl.anime-game-launcher.enable {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.honkers-railway-launcher = lib.mkIf agl.honkers-railway-launcher.enable {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.honkers-launcher = lib.mkIf agl.honkers-launcher.enable {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.wavey-launcher = lib.mkIf agl.wavey-launcher.enable {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.sleepy-launcher = lib.mkIf agl.sleepy-launcher.enable {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
(lib.optionals cfg.lutris.enable (
|
(lib.optionals cfg.lutris.enable (
|
||||||
[cfg.lutris.package] ++
|
[cfg.lutris.package] ++
|
||||||
@@ -154,6 +223,22 @@ in {
|
|||||||
cfg.lutris.extraPackages
|
cfg.lutris.extraPackages
|
||||||
)) ++
|
)) ++
|
||||||
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
|
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
|
||||||
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher]);
|
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher pkgs.fflogs]) ++
|
||||||
|
(lib.optionals cfg.vkbasalt.enable [pkgs.vkbasalt pkgs.vkBasalt pkgs.vkbasalt-cli]) ++
|
||||||
|
(lib.optionals cfg.mangohud.enable [pkgs.mangohud]) ++
|
||||||
|
(lib.optionals (cfg.vkbasalt.enable || cfg.mangohud.enable) [pkgs.goverlay pkgs.mesa-demos pkgs.vulkan-tools]) ++
|
||||||
|
(lib.optionals cfg.emulators.enable (
|
||||||
|
lib.optionals cfg.emulators.n64.enable [pkgs.mupen64plus]
|
||||||
|
));
|
||||||
|
|
||||||
|
nix.settings = let
|
||||||
|
inherit agl;
|
||||||
|
in (lib.mkIf
|
||||||
|
(agl.anime-game-launcher.enable || agl.honkers-railway-laucher.enable || agl.honkers-launcher.enable || agl.wavey-launcher.enable || agl.sleepy-launcher.enable)
|
||||||
|
{
|
||||||
|
substituters = [ "https://ezkea.cachix.org" ];
|
||||||
|
trusted-public-keys = [ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ];
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,9 +62,9 @@ in {
|
|||||||
|
|
||||||
(mkIf (cfg.gpuVendor == "amd") {
|
(mkIf (cfg.gpuVendor == "amd") {
|
||||||
services.xserver.videoDrivers = ["amdgpu"];
|
services.xserver.videoDrivers = ["amdgpu"];
|
||||||
hardware.graphics.extraPackages = with pkgs; [
|
# hardware.graphics.extraPackages = with pkgs; [
|
||||||
amdvlk
|
# amdvlk
|
||||||
];
|
# ];
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
radeontop
|
radeontop
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
config,
|
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
userName,
|
userName,
|
||||||
|
aagl,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
flatpakPackages = [
|
flatpakPackages = [
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
(import ../../apps/flatpak.nix {
|
(import ../../apps/flatpak.nix {
|
||||||
inherit lib pkgs flatpakPackages userName;
|
inherit lib pkgs flatpakPackages userName aagl;
|
||||||
})
|
})
|
||||||
../../apps/gaming.nix
|
../../apps/gaming.nix
|
||||||
../../apps/appimage.nix
|
../../apps/appimage.nix
|
||||||
@@ -89,8 +89,11 @@ in {
|
|||||||
localNetworkGameTransfers = true;
|
localNetworkGameTransfers = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
vkbasalt.enable = true;
|
||||||
gamemode.enable = true;
|
gamemode.enable = true;
|
||||||
gamescope.enable = true;
|
gamescope.enable = true;
|
||||||
|
mangohud.enable = true;
|
||||||
|
|
||||||
lutris = {
|
lutris = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wine = {
|
wine = {
|
||||||
@@ -100,14 +103,18 @@ in {
|
|||||||
compatibility = {
|
compatibility = {
|
||||||
protonSupport = true;
|
protonSupport = true;
|
||||||
};
|
};
|
||||||
extraPackages = with pkgs; [
|
};
|
||||||
gamemode
|
|
||||||
mangohud
|
emulators = {
|
||||||
];
|
enable = true;
|
||||||
|
n64 = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
ffxiv.enable = true;
|
ffxiv.enable = true;
|
||||||
minecraft.enable = true;
|
minecraft.enable = true;
|
||||||
|
aagl.anime-game-launcher.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Power management (see ../../pwrMgmt/default.nix)
|
# Power management (see ../../pwrMgmt/default.nix)
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{...}: {
|
# TODO: refactor into module
|
||||||
|
{ pkgs, ...}: {
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
helvum
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user