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 = {
|
||||
nixos.tags = [ "pc" ];
|
||||
steamdeck.enable = true;
|
||||
stateVersion = "24.11";
|
||||
};
|
||||
|
||||
deployment.targetHost = "5ce:969c:40d1:9575:f5e:591d:c377:a20b";
|
||||
|
||||
jovian.steam.enable = true;
|
||||
}
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
{ 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.system.steamdeck.enable {
|
||||
config = lib.mkIf config.jovian.steam.enable {
|
||||
jovian = {
|
||||
steam = {
|
||||
enable = true;
|
||||
autoStart = true;
|
||||
desktopSession = "gnome";
|
||||
user = config.sysusers.main;
|
||||
user = config.vars.mainUser;
|
||||
};
|
||||
decky-loader = {
|
||||
enable = true;
|
||||
|
@ -30,7 +29,6 @@
|
|||
programs.steam.extest.enable = true;
|
||||
|
||||
services = {
|
||||
desktopManager.gnome.enable = true;
|
||||
keyd.enable = lib.mkForce false;
|
||||
tlp.enable = lib.mkForce false;
|
||||
};
|
||||
|
@ -42,51 +40,10 @@
|
|||
wireless.enable = lib.mkForce false;
|
||||
};
|
||||
|
||||
environment = {
|
||||
persistence."/persist".directories = [
|
||||
environment.persistence."/persist".directories = [
|
||||
"/etc/NetworkManager/system-connections"
|
||||
"/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 = [
|
||||
"steam"
|
||||
|
@ -96,6 +53,6 @@
|
|||
"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.mkIf (!config.system.steamdeck.enable) {
|
||||
config = lib.mkIf (!config.jovian.steam.enable) {
|
||||
networking.useNetworkd = lib.mkForce false;
|
||||
|
||||
services.globalprotect.enable = true;
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
config = lib.mkIf (lib.elem "nvidia" config.services.xserver.videoDrivers) {
|
||||
boot.kernelParams = [ "nvidia_drm.fbdev=1" ]; # Framebuffer fixes TTY access
|
||||
boot.kernelParams = [
|
||||
"nouveau.config=NvGspRm=1" # Use high power mode for Nouveau
|
||||
"nvidia_drm.fbdev=1" # Fix framebuffer
|
||||
];
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
|
@ -11,8 +13,7 @@
|
|||
|
||||
nixpkgs.allowUnfreePackages = [ "nvidia-x11" ];
|
||||
|
||||
specialisation.nouveau.configuration.config.services.xserver.videoDrivers = lib.mkForce [ "nouveau" ];
|
||||
} // {
|
||||
boot.kernelParams = [ "nouveau.config=NvGspRm=1" ];
|
||||
specialisation = lib.mkIf (lib.elem "nvidia" config.services.xserver.videoDrivers) {
|
||||
nouveau.configuration.config.services.xserver.videoDrivers = lib.mkForce [ "nouveau" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
{
|
||||
imports = [
|
||||
./channels
|
||||
./distributed
|
||||
./gc
|
||||
./unfree
|
||||
];
|
||||
|
@ -17,6 +18,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
# Use nixos-rebuild-ng
|
||||
# Use a newer implementation of nixos-rebuild
|
||||
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