nix-config/overhaul/machines/terra/configuration.nix
2025-02-10 22:16:14 +01:00

109 lines
2.4 KiB
Nix

{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
inputs.home-manager.nixosModules.home-manager
./hardware-configuration.nix
./refind.nix
../../pkgs/firefox.nix
../common/configuration.nix
];
# NVIDIA Drivers
hardware.graphics.enable32Bit = true;
hardware.graphics.enable = true;
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
# End NVIDIA
home-manager = {
extraSpecialArgs = { inherit inputs outputs; };
users = {
horseman = import ../../home-manager/apps.nix;
};
};
networking.hostName = "terra";
systemd.timers."enable-wol" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5m";
OnUnitActiveSec = "1m";
Unit = "enable-wol.service";
};
};
systemd.services."enable-wol" = {
script = ''
/home/horseman/nix-config/misc/startup.sh
'';
serviceConfig = {
Type = "oneshot";
User = "root";
};
};
environment.systemPackages = with pkgs; [
ethtool
];
environment.plasma6.excludePackages = with pkgs.kdePackages; [
kate
konsole
];
environment.gnome.excludePackages = with pkgs; [
gnome-calendar
gnome-characters
nautilus
gnome-clocks
gnome-contacts
evince
file-roller
geary
gnome-system-monitor
eog
gnome-logs
gnome-maps
gnome-music
seahorse
gnome-text-editor
];
services.xserver.enable = true;
services.desktopManager.plasma6.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.displayManager.sddm.enable = true;
services.displayManager.sddm.autoNumlock = true;
services.displayManager.sddm.wayland.enable = false;
services.displayManager.defaultSession = "plasma";
boot.loader.systemd-boot.enable = true;
programs.ssh.askPassword = lib.mkForce "/nix/store/qrzq7dqp8dkffb5dvi42q647dhm87ady-ksshaskpass-6.0.3/bin/ksshaskpass";
networking.networkmanager.enable = true;
virtualisation.docker.enable = true;
hardware.pulseaudio.enable = false;
services.jack = {
jackd.enable = true;
alsa.enable = false;
loopback.enable = true;
};
users.extraUsers.horseman.extraGroups = [ "jackaudio" ];
}