70 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			70 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;
 | |
|       openssh.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";
 | |
|   }; 
 | |
| }
 |