ooknet/system/profiles/base/default.nix

69 lines
1.7 KiB
Nix

{ inputs, outputs, lib, config, pkgs, ... }:
let
isx86Linux = pkgs: with pkgs.stdenv; hostPlatform.isLinux && hostPlatform.isx86;
cfg = config.systemProfile.base;
in
{
imports = [
../../modules
inputs.home-manager.nixosModules.home-manager
];
config = lib.mkIf cfg.enable {
systemModules = {
security.enable = true;
nixOptions.enable = true;
pipewire.enable = true;
networking = {
enable = true;
firewall = true;
resolved = true;
ssh = true;
tools = true;
hardenTcp = true;
};
locale.enable = true;
bootloader.systemd.enable = true;
programs.gnomeServices.enable = true;
displayManager.tuigreet.enable = true;
hardware.ssd.enable = true;
services.system76Scheduler.enable = true;
};
environment.systemPackages = [pkgs.git];
environment.enableAllTerminfo = true;
services = {
dbus.enable = true; # Need this for gtk
printing.enable = true; # Do I even print?
udisks2 = { # Used to manage mount of temp storage
enable = true;
mountOnMedia = true; # Auto mounts device to /media
};
};
boot.supportedFilesystems = ["ntfs"]; # For when someone hands me a usb
programs = {
dconf.enable = true;
kdeconnect.enable = true;
};
home-manager.extraSpecialArgs = { inherit inputs outputs; };
hardware = {
enableAllFirmware = true;
enableRedistributableFirmware = true;
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = isx86Linux pkgs;
};
};
system.stateVersion = lib.mkDefault "23.11";
};
}