Add emulation module (steam, wine, retroarch, pcsx2, ppsspp) + pi config
This commit is contained in:
parent
b00ae1feb3
commit
3e2fe60219
4 changed files with 107 additions and 4 deletions
|
|
@ -43,7 +43,8 @@
|
|||
imports = [
|
||||
./home/sscoble.nix
|
||||
./home/desktop.nix
|
||||
./home/wgu.nix
|
||||
./home/pi.nix
|
||||
./home/wgu.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
@ -65,7 +66,8 @@
|
|||
users.sscoble = {
|
||||
imports = [
|
||||
./home/sscoble.nix
|
||||
./home/wgu.nix
|
||||
./home/pi.nix
|
||||
./home/wgu.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
@ -77,7 +79,8 @@
|
|||
pkgs = nixpkgs.legacyPackages.${darwinSystem};
|
||||
modules = [
|
||||
./home/sscoble.nix
|
||||
./home/wgu.nix
|
||||
./home/pi.nix
|
||||
./home/wgu.nix
|
||||
{
|
||||
home.homeDirectory = "/Users/sscoble";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
|
|
|||
68
home/pi.nix
Normal file
68
home/pi.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# === Pi coding agent configuration ===
|
||||
# Managed via home-manager — API keys live here because the flake repo is private.
|
||||
# If you need to move secrets out, create /etc/nixos/pi-secrets.json and source it.
|
||||
|
||||
home.file.".pi/agent/models.json".text = builtins.toJSON {
|
||||
providers = {
|
||||
openrouter = {
|
||||
baseUrl = "https://openrouter.ai/api/v1";
|
||||
api = "openai-completions";
|
||||
apiKey = "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";
|
||||
};
|
||||
ollama-cloud = {
|
||||
baseUrl = "https://ollama.com/v1";
|
||||
api = "openai-completions";
|
||||
apiKey = "1658177a8be642d8a25783a70116f74f.5St4R7VUOyaeVPW6OEB0GGG0";
|
||||
compat = {
|
||||
supportsDeveloperRole = false;
|
||||
supportsReasoningEffort = false;
|
||||
};
|
||||
models = [
|
||||
{ id = "kimi-k2.6:cloud"; }
|
||||
{ id = "glm-5.1:cloud"; }
|
||||
{ id = "gemma4:31b-cloud"; }
|
||||
{ id = "devstral-small-2:24b-cloud"; }
|
||||
{ id = "devstral-2:123b-cloud"; }
|
||||
{ id = "cogito-2.1:671b-cloud"; }
|
||||
{ id = "gemini-3-flash-preview:cloud"; }
|
||||
{ id = "nematron-3-super:cloud"; }
|
||||
{ id = "deepseek-v3.1:671b"; }
|
||||
{ id = "deepseek-v3.2"; }
|
||||
{ id = "deepseek-v4-flash"; }
|
||||
{ id = "deepseek-v4-pro"; }
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".pi/agent/settings.json".text = builtins.toJSON {
|
||||
defaultProvider = "ollama-cloud";
|
||||
defaultModel = "deepseek-v4-pro";
|
||||
packages = [
|
||||
"npm:pi-subagents"
|
||||
"npm:pi-mcp-adapter"
|
||||
];
|
||||
defaultThinkingLevel = "high";
|
||||
enableInstallTelemetry = false;
|
||||
collapseChangelog = true;
|
||||
quietStartup = true;
|
||||
doubleEscapeAction = "tree";
|
||||
treeFilterMode = "default";
|
||||
enabledModels = [
|
||||
"ollama-cloud/deepseek-v4-flash"
|
||||
"ollama-cloud/kimi-k2.6:cloud"
|
||||
"ollama-cloud/glm-5.1:cloud"
|
||||
"ollama-cloud/gemma4:31b-cloud"
|
||||
"ollama-cloud/devstral-small-2:24b-cloud"
|
||||
"ollama-cloud/devstral-2:123b-cloud"
|
||||
"ollama-cloud/cogito-2.1:671b-cloud"
|
||||
"ollama-cloud/gemini-3-flash-preview:cloud"
|
||||
"ollama-cloud/nematron-3-super:cloud"
|
||||
"ollama-cloud/deepseek-v3.1:671b"
|
||||
"ollama-cloud/deepseek-v3.2"
|
||||
];
|
||||
};
|
||||
}
|
||||
32
modules/emulation.nix
Normal file
32
modules/emulation.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# === Gaming / Emulation ===
|
||||
# Emulators, Steam, Wine for Windows apps, and Xbox One controller support.
|
||||
# Modern kernels have xpad built-in for Xbox One controllers.
|
||||
# User is added to the "input" group below for controller permissions.
|
||||
|
||||
# Steam — proper NixOS module (sets up FHS, udev, etc.)
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Factorio headless etc.
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Windows apps via Wine (Logos Bible Software, etc.)
|
||||
wineWow64Packages.stable
|
||||
# Retroarch + cores (NES/SNES/PS1)
|
||||
retroarch
|
||||
# Standalone PS2 emulator
|
||||
pcsx2
|
||||
# Standalone PSP emulator
|
||||
ppsspp-sdl
|
||||
];
|
||||
|
||||
# Add user to input group for controller access
|
||||
# (xpad kernel module handles Xbox One controllers automatically)
|
||||
users.users.sscoble = {
|
||||
extraGroups = [ "input" ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ../hardware-configuration.nix ];
|
||||
imports = [ ../hardware-configuration.nix ./emulation.nix ];
|
||||
|
||||
# === System Packages ===
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue