111 lines
2.6 KiB
Nix
111 lines
2.6 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
modulesPath,
|
|
inputs,
|
|
stable_pkgs,
|
|
unstable_pkgs,
|
|
...
|
|
}: {
|
|
imports = [
|
|
# Include the results of the hardware scan.
|
|
(modulesPath + "/installer/scan/not-detected.nix")
|
|
#./hardware-configuration.nix
|
|
../../nixos
|
|
../../../users/blake
|
|
../../../modules/desktop
|
|
../../../modules/system
|
|
];
|
|
|
|
# home grown nixos modules
|
|
system = {
|
|
secure_boot.enable = true;
|
|
ssh.enable = true;
|
|
sops.enable = true;
|
|
yubikey.enable = true;
|
|
yubikey.lock_on_remove = true;
|
|
tailscale.enable = true;
|
|
syncthing.enable = true;
|
|
flatpak.enable = true;
|
|
graphics = {
|
|
enable = true;
|
|
vendor = "intel";
|
|
};
|
|
};
|
|
desktop = {
|
|
pipewire.enable = true;
|
|
hypr.enable = true;
|
|
greetd.enable = true;
|
|
};
|
|
gaming = {
|
|
steam.enable = true;
|
|
lutris.enable = true;
|
|
proton_ge.enable = true;
|
|
gamemode.enable = true;
|
|
mangohud.enable = true;
|
|
};
|
|
|
|
# import home grown host specific home-manager modules
|
|
home-manager.users.blake.imports = [
|
|
../../../users/blake/hosts/yveltal.nix
|
|
];
|
|
|
|
# fix power buttons
|
|
# move this to a laptops file at some point
|
|
services.logind.settings.Login = {
|
|
HandlePowerKey = "suspend-then-hibernate";
|
|
HandleLidSwitch = "suspend-then-hibernate";
|
|
};
|
|
# sets the delay before hibernation for ^
|
|
systemd.sleep.extraConfig = ''
|
|
HibernateDelaySec=1800
|
|
'';
|
|
|
|
# boot (systemd is growing on me)
|
|
boot = {
|
|
kernelModules = ["kvm-intel"];
|
|
extraModulePackages = [];
|
|
loader = {
|
|
systemd-boot.enable = true; # systemd your pretty cool ya know
|
|
efi.canTouchEfiVariables = true;
|
|
};
|
|
initrd = {
|
|
systemd.enable = true; # better logging
|
|
availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod"];
|
|
kernelModules = [];
|
|
};
|
|
};
|
|
|
|
# setup hostname and networking stack
|
|
networking = {
|
|
hostName = "yveltal"; # hostname
|
|
useDHCP = lib.mkDefault true;
|
|
interfaces = {
|
|
wlp0s20f3.useDHCP = lib.mkDefault true;
|
|
};
|
|
firewall = {
|
|
enable = true;
|
|
allowedTCPPorts = [22];
|
|
allowedUDPPorts = [51820]; # wireguard
|
|
};
|
|
networkmanager = {
|
|
enable = true; # the goat
|
|
dns = "systemd-resolved"; # the backup dancer!
|
|
};
|
|
};
|
|
services.resolved = {
|
|
enable = true;
|
|
fallbackDns = ["1.1.1.1" "9.9.9.9"];
|
|
dnsovertls = "opportunistic";
|
|
};
|
|
|
|
hardware.bluetooth.enable = true;
|
|
|
|
system.stateVersion = "25.05"; # stays here : )
|
|
|
|
# hardware shit
|
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
}
|