spec(hakugyokurou): initial configuration

This commit is contained in:
514fpv 2024-07-27 18:18:35 +08:00
parent d732d2dce6
commit 4876ee08e3
Signed by: koishi
SSH key fingerprint: SHA256:i6TyMdSpIH+dGyo6hTa6wyF+9OHsFkBnmLdkGBPblgI
2 changed files with 140 additions and 0 deletions

View file

@ -0,0 +1,65 @@
{ pkgs, lib, config, ... }: {
global = {
id = "09a2900f15b74f36b023a9ebcd539f6a";
fs.esp.uuid = "AE73-B83E";
fs.type = "xfs";
fs.store = "e4c673cb-03c5-44ac-b2f1-1085a7f7a553";
fs.cryptsetup.enable = true;
fs.cryptsetup.uuids.persist = "122001b1-7a43-4bab-ae7c-ba8eeb1cc864";
boot.lanzaboote = true;
gpu.enable = true;
gpu.type = "amdgpu";
};
home = {
jetbrains.enable = true;
vscode.enable = true;
minecraft.enable = true;
minecraft.user = "app";
};
users.homeModules = [ {
wayland.windowManager.sway.config = {
input = {
"9610:30:HID_258a:001e_Mouse".natural_scroll = "disabled";
"1539:61441:NVTK0603:00_0603:F001_UNKNOWN".map_to_output = "eDP-1";
"1539:61441:NVTK0603:00_0603:F001".map_to_output = "eDP-1";
};
output = {
eDP-1.scale = "2";
eDP-1.transform = "270";
};
};
} ];
powerManagement.enable = true;
powerManagement.cpuFreqGovernor = "performance";
boot.kernelParams = [
"video=eDP-1:1600x2560M@120D,rotate=90"
];
jovian.steamos.useSteamOSConfig = lib.mkDefault false;
services.greetd.settings.default_session.command = let
cfg = config.programs.regreet;
in lib.mkOverride 999 "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${pkgs.writeShellScript "cageResolution" ''
${lib.getExe pkgs.wlr-randr} --output eDP-1 --scale 2 --transform 270
${lib.getExe cfg.package}
''}";
environment.systemPackages = with pkgs; [
(writeShellScriptBin "sway-logout" ''
${systemd}/bin/systemctl --user unset-environment WAYLAND_DISPLAY SWAYSOCK
${sway}/bin/swaymsg exit
'')
];
hardware.enableRedistributableFirmware = true;
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usbhid" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
hardware.cpu.intel.updateMicrocode = true;
imports = [
./jovian.nix
];
}

View file

@ -0,0 +1,75 @@
{ pkgs, lib, config, jovian, ... }: with lib; {
specialisation.steamos.configuration = {
jovian = {
hardware.has.amd.gpu = true;
steamos.useSteamOSConfig = true;
steamos.enableDefaultCmdlineConfig = false;
steam = {
enable = true;
autoStart = true;
desktopSession = "plasma";
user = "app";
};
};
users.home.persistApp.directories = [
".steam" ".local/share/Steam"
".config/gamescope" ".config/hhd"
".kodi"
];
users.users.app.extraGroups = [ "networkmanager" "gamemode" ];
programs.gamemode.enable = true;
programs.regreet.enable = false;
home.plasma.enable = true;
home.plasma.extraConfig = {
configFile = {
kwinrc.Xwayland.Scale = 1.75;
kscreenlockerrc.Daemon.Autolock = false;
};
};
home-manager.users.app.home.packages = with pkgs; [
(pkgs.kodi-wayland.passthru.withPackages (kodiPkgs: with kodiPkgs; [
joystick # keymap steam-controller
#controller-topology-project
libretro libretro-2048
libretro-fuse libretro-genplus libretro-mgba
libretro-nestopia libretro-snes9x
jellycon
]))
];
services.handheld-daemon = {
enable = true;
user = "app";
};
jovian.decky-loader = {
# ~/.steam/steam/.cef-enable-remote-debugging
enable = true;
user = "app";
extraPackages = with pkgs; [
curl unzip util-linux gnugrep procps pciutils kmod ryzenadj
];
extraPythonPackages = pythonPackages: with pythonPackages; [
hid pyyaml
];
stateDir = "/nix/persist/decky";
};
boot.kernelParams = [
"iomem=relaxed"
"amd_pstate=passive"
];
services.udev.extraRules = ''
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="${pkgs.ryzenadj}/bin/ryzenadj --max-performance"
'';
};
imports = [
jovian.nixosModules.jovian
];
}