Begin testing remote builds
This commit is contained in:
parent
1a4e5103b2
commit
7aa39a1110
7 changed files with 109 additions and 68 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
48
hosts/jupiter/jovian/gnome/default.nix
Normal file
48
hosts/jupiter/jovian/gnome/default.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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;
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ 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;
|
||||||
|
@ -11,8 +13,7 @@
|
||||||
|
|
||||||
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" ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
33
modules/system/settings/nix/distributed/default.nix
Normal file
33
modules/system/settings/nix/distributed/default.nix
Normal 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;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue