flake/nixos/profiles/common/core/default.nix

80 lines
2.2 KiB
Nix

{
config,
lib,
inputs,
pkgs,
...
}: {
imports = [
./hardening
./networking
./nix
./packages
# Flake modules
inputs.self.nixosModules.default
inputs.disko.nixosModules.disko
inputs.home-manager.nixosModules.home-manager
inputs.impermanence.nixosModules.impermanence
inputs.lanzaboote.nixosModules.lanzaboote
inputs.sops-nix.nixosModules.sops
inputs.nix-gaming.nixosModules.pipewireLowLatency
];
users.mutableUsers = false;
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {inherit inputs;}; # ??? isnt specialArgs imported by default ???
};
### Boot
boot.initrd.systemd.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = lib.mkDefault true; # mkDefault for Lanzaboote
### Default Programs
environment.defaultPackages = [];
# In addtion of https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/config/system-path.nix
environment.systemPackages = with pkgs; [
unzip
wget
tree
file
htop
lsof
ltrace
dnsutils
pciutils
usbutils
];
programs.dconf.enable = true;
programs.nano.enable = false; # make sure to add another editor and set the $EDITOR variable
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
defaultEditor = true;
};
services.openssh = {
enable = true;
settings.PermitRootLogin = "no";
settings.PasswordAuthentication = false;
};
services.getty.greetingLine = let
inherit (config.system) nixos;
in ''
NixOS ${nixos.label} ${nixos.codeName} (\m) - \l
${lib.strings.optionalString (builtins.elem "nvidia" config.services.xserver.videoDrivers)
"--my-next-gpu-wont-be-nvidia"}
${lib.strings.optionalString (builtins.elem "amdgpu" config.boot.initrd.kernelModules)
"[ 5.996722] amdgpu 0000:67:00.0: Fatal error during GPU init"}
'';
### WORKAROUND: Revert to NVIDIA version 535.146.02 due to performance issues introduced in version 545.29.06,
# this shouldn't affect non-nvidia machines.
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.production;
hardware.nvidia.nvidiaSettings = false;
}