Begin testing remote builds

This commit is contained in:
Bun 2025-06-09 15:34:04 -04:00
parent 1a4e5103b2
commit 7aa39a1110
7 changed files with 109 additions and 68 deletions

View file

@ -12,9 +12,10 @@
system = { system = {
nixos.tags = [ "pc" ]; nixos.tags = [ "pc" ];
steamdeck.enable = true;
stateVersion = "24.11"; stateVersion = "24.11";
}; };
deployment.targetHost = "5ce:969c:40d1:9575:f5e:591d:c377:a20b"; deployment.targetHost = "5ce:969c:40d1:9575:f5e:591d:c377:a20b";
jovian.steam.enable = true;
} }

View file

@ -1,16 +1,15 @@
{ config, lib, pkgs, jovian, ... }: { config, lib, pkgs, jovian, ... }:
{ {
imports = [ jovian.nixosModules.default ]; imports = [
./gnome
jovian.nixosModules.default
];
options.system.steamdeck.enable = lib.mkEnableOption "Jovian NixOS environment"; config = lib.mkIf config.jovian.steam.enable {
config = lib.mkIf config.system.steamdeck.enable {
jovian = { jovian = {
steam = { steam = {
enable = true;
autoStart = true; autoStart = true;
desktopSession = "gnome"; user = config.vars.mainUser;
user = config.sysusers.main;
}; };
decky-loader = { decky-loader = {
enable = true; enable = true;
@ -30,7 +29,6 @@
programs.steam.extest.enable = true; programs.steam.extest.enable = true;
services = { services = {
desktopManager.gnome.enable = true;
keyd.enable = lib.mkForce false; keyd.enable = lib.mkForce false;
tlp.enable = lib.mkForce false; tlp.enable = lib.mkForce false;
}; };
@ -42,51 +40,10 @@
wireless.enable = lib.mkForce false; wireless.enable = lib.mkForce false;
}; };
environment = { environment.persistence."/persist".directories = [
persistence."/persist".directories = [ "/etc/NetworkManager/system-connections"
"/etc/NetworkManager/system-connections" "/var/lib/decky-loader"
"/var/lib/decky-loader" ];
];
gnome.excludePackages = with pkgs; [
adwaita-icon-theme
baobab
epiphany
evince
file-roller
geary
gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
gnome-color-manager
gnome-connections
gnome-console
gnome-contacts
gnome-disk-utility
gnome-font-viewer
gnome-logs
gnome-maps
gnome-music
gnome-remote-desktop
gnome-shell-extensions
gnome-software
gnome-system-monitor
gnome-text-editor
gnome-tour
gnome-user-docs
gnome-weather
loupe
nautilus
orca
seahorse
simple-scan
snapshot
sushi
sysprof
totem
yelp
];
};
nixpkgs.allowUnfreePackages = [ nixpkgs.allowUnfreePackages = [
"steam" "steam"
@ -96,6 +53,6 @@
"xow_dongle-firmware" "xow_dongle-firmware"
]; ];
specialisation.desktop.configuration.config.system.steamdeck.enable = lib.mkForce false; specialisation.desktop.configuration.config.jovian.steam.enable = lib.mkForce false;
}; };
} }

View file

@ -0,0 +1,48 @@
{ config, lib, pkgs, ... }:
{
config = lib.mkIf config.jovian.steam.enable {
jovian.steam.desktopSession = "gnome";
services.desktopManager.gnome.enable = true;
environment.gnome.excludePackages = with pkgs; [
adwaita-icon-theme
baobab
epiphany
evince
file-roller
geary
gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
gnome-color-manager
gnome-connections
gnome-console
gnome-contacts
gnome-disk-utility
gnome-font-viewer
gnome-logs
gnome-maps
gnome-music
gnome-remote-desktop
gnome-shell-extensions
gnome-software
gnome-system-monitor
gnome-text-editor
gnome-tour
gnome-user-docs
gnome-weather
loupe
nautilus
orca
seahorse
simple-scan
snapshot
sushi
sysprof
totem
yelp
];
};
}

View file

@ -1,6 +1,6 @@
{ config, lib, ... }: { config, lib, ... }:
{ {
config = lib.mkIf (!config.system.steamdeck.enable) { config = lib.mkIf (!config.jovian.steam.enable) {
networking.useNetworkd = lib.mkForce false; networking.useNetworkd = lib.mkForce false;
services.globalprotect.enable = true; services.globalprotect.enable = true;

View file

@ -1,18 +1,19 @@
{ config, lib, ... }: { config, lib, ... }:
{ {
config = lib.mkIf (lib.elem "nvidia" config.services.xserver.videoDrivers) { boot.kernelParams = [
boot.kernelParams = [ "nvidia_drm.fbdev=1" ]; # Framebuffer fixes TTY access "nouveau.config=NvGspRm=1" # Use high power mode for Nouveau
"nvidia_drm.fbdev=1" # Fix framebuffer
];
hardware.nvidia = { hardware.nvidia = {
modesetting.enable = true; modesetting.enable = true;
nvidiaSettings = false; nvidiaSettings = false;
open = true; open = true;
}; };
nixpkgs.allowUnfreePackages = [ "nvidia-x11" ]; nixpkgs.allowUnfreePackages = [ "nvidia-x11" ];
specialisation.nouveau.configuration.config.services.xserver.videoDrivers = lib.mkForce [ "nouveau" ]; specialisation = lib.mkIf (lib.elem "nvidia" config.services.xserver.videoDrivers) {
} // { nouveau.configuration.config.services.xserver.videoDrivers = lib.mkForce [ "nouveau" ];
boot.kernelParams = [ "nouveau.config=NvGspRm=1" ];
}; };
} }

View file

@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./channels ./channels
./distributed
./gc ./gc
./unfree ./unfree
]; ];
@ -17,6 +18,6 @@
}; };
}; };
# Use nixos-rebuild-ng # Use a newer implementation of nixos-rebuild
system.rebuild.enableNg = true; system.rebuild.enableNg = true;
} }

View file

@ -0,0 +1,33 @@
{ nodes, ... }:
{
nix = {
settings = {
max-jobs = 0;
trusted-users = [ "root" ];
};
distributedBuilds = true;
buildMachines = with nodes; [
{
hostName = midas.config.deployment.targetHost;
system = midas.config.nixpkgs.localSystem.system;
}
{
hostName = kitty.config.deployment.targetHost;
system = kitty.config.nixpkgs.localSystem.system;
}
{
hostName = prophet.config.deployment.targetHost;
system = prophet.config.nixpkgs.localSystem.system;
}
{
hostName = detritus.config.deployment.targetHost;
system = detritus.config.nixpkgs.localSystem.system;
}
{
hostName = elder.config.deployment.targetHost;
system = elder.config.nixpkgs.localSystem.system;
}
];
};
}