forked from fabian/nix
		
	add t14 sys platform
This commit is contained in:
		
							parent
							
								
									b64c85e314
								
							
						
					
					
						commit
						e6a8a66432
					
				
					 8 changed files with 260 additions and 2 deletions
				
			
		
							
								
								
									
										71
									
								
								home/platforms/fabian@t14/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								home/platforms/fabian@t14/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,71 @@ | ||||||
|  | { | ||||||
|  |   flakes, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./systemd | ||||||
|  |     ./isolation.nix | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   nix.registry = { | ||||||
|  |     "system".to = { | ||||||
|  |       type = "path"; | ||||||
|  |       path = "/home/fabian/nix"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "nixpkgs".flake = flakes.nixpkgs; | ||||||
|  |     "unstable".flake = flakes.unstable; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   local = { | ||||||
|  |     baseline.enable = true; | ||||||
|  | 
 | ||||||
|  |     services = { | ||||||
|  |       zsh = { | ||||||
|  |         enable = true; | ||||||
|  |         prompt = "%B[%~] \${vcs_info_msg_0_}%b"; | ||||||
|  |       }; | ||||||
|  |       accounts.enable = true; | ||||||
|  |       gpg = { | ||||||
|  |         enable = true; | ||||||
|  |         defaultKey = "7206D8EE2474F3DF18EA876F0EC1691FF8C1A81F"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     apps = { | ||||||
|  |       terminal.enable = true; | ||||||
|  |       neovim.enable = true; | ||||||
|  |       gaming.enable = true; | ||||||
|  |       yubikey.enable = true; | ||||||
|  |       browsers.enable = true; | ||||||
|  |       defaultDesktopPack.enable = true; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     gui = { | ||||||
|  |       enable = true; | ||||||
|  |       monitors = { | ||||||
|  |         eDP-1 = { | ||||||
|  |           primary = true; | ||||||
|  |           position = "0x0"; | ||||||
|  |           mode = "1920x1080"; | ||||||
|  |           rate = "60.00"; | ||||||
|  |           fingerprint = "00ffffffffffff000dae0a1400000000291d0104a51f11780328659759548e271e505400000001010101010101010101010101010101363680a0703820403020a60035ad10000018000000fe004e3134304843412d4541450a20000000fe00434d4e0a202020202020202020000000fe004e3134304843412d4541450a200002"; | ||||||
|  |           initialI3Workspace = 1; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   home = { | ||||||
|  |     packages = with pkgs; [ | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |     username = "fabian"; | ||||||
|  |     homeDirectory = "/home/fabian"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   programs.home-manager.enable = true; | ||||||
|  | } | ||||||
							
								
								
									
										22
									
								
								home/platforms/fabian@t14/isolation.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								home/platforms/fabian@t14/isolation.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | ||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   home.isolation = { | ||||||
|  |     enable = true; | ||||||
|  |     btrfsSupport = true; | ||||||
|  |     defaults = { | ||||||
|  |       static = true; | ||||||
|  |       bindHome = "home/"; | ||||||
|  |       persist = { | ||||||
|  |         base = "shenvs"; | ||||||
|  |         btrfs = true; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     modulesUnder = ./shenvs; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										13
									
								
								home/platforms/fabian@t14/shenvs/c.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								home/platforms/fabian@t14/shenvs/c.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | ||||||
|  | {pkgs, ...}: { | ||||||
|  |   static = true; | ||||||
|  | 
 | ||||||
|  |   packages = with pkgs; [ | ||||||
|  |     binutils | ||||||
|  |     cmake | ||||||
|  |     curl | ||||||
|  |     gdb | ||||||
|  |     gnumake | ||||||
|  |     rustup | ||||||
|  |     valgrind | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								home/platforms/fabian@t14/shenvs/python.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								home/platforms/fabian@t14/shenvs/python.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,11 @@ | ||||||
|  | {pkgs, ...}: { | ||||||
|  |   static = true; | ||||||
|  | 
 | ||||||
|  |   packages = with pkgs; [ | ||||||
|  |     pipenv | ||||||
|  |     (python310.withPackages (packages: | ||||||
|  |       with packages; [ | ||||||
|  |         setuptools | ||||||
|  |       ])) | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								home/platforms/fabian@t14/systemd/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								home/platforms/fabian@t14/systemd/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | ||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | with lib; { | ||||||
|  |   systemd.user.tmpfiles.rules = [ | ||||||
|  |     "d %t/tmp 0700 fabian fabian 24h" | ||||||
|  |   ]; | ||||||
|  | } | ||||||
|  | @ -19,6 +19,7 @@ | ||||||
|     graphics.enable = true; |     graphics.enable = true; | ||||||
|     virtualisation.enable = true; |     virtualisation.enable = true; | ||||||
|     androidSupport.enable = true; |     androidSupport.enable = true; | ||||||
|  | 
 | ||||||
|     users = { |     users = { | ||||||
|       fabian = { |       fabian = { | ||||||
|         enable = true; |         enable = true; | ||||||
|  | @ -47,7 +48,7 @@ | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # Select internationalisation properties. |   # Select internationalisation properties. | ||||||
|   i18n.defaultLocale = "en_US.UTF-8"; |   i18n.defaultLocale = "en_US.UTF-8"; #todo: move to baseline? | ||||||
| 
 | 
 | ||||||
|   time.timeZone = "America/Costa_Rica"; |   time.timeZone = "America/Costa_Rica"; #todo: move to baseline? | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										68
									
								
								sys/platforms/t14/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								sys/platforms/t14/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,68 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   flakes, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     flakes.home-manager.nixosModules.home-manager | ||||||
|  |     flakes.impermanence.nixosModule | ||||||
|  |     ./hardware-configuration.nix | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   local.sys = { | ||||||
|  |     baseline.enable = true; | ||||||
|  | 
 | ||||||
|  |     yubikey.enable = true; | ||||||
|  |     audio.enable = true; | ||||||
|  |     graphics.enable = true; | ||||||
|  |     androidSupport.enable = true; | ||||||
|  |     bluetooth.enable = true; | ||||||
|  | 
 | ||||||
|  |     users = { | ||||||
|  |       fabian = { | ||||||
|  |         enable = true; | ||||||
|  |         unixId = 1002; | ||||||
|  |       }; | ||||||
|  |       vanessa.enable = true; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   networking = { | ||||||
|  |     hostName = "t14"; | ||||||
|  |     networkmanager.enable = true; | ||||||
|  | 
 | ||||||
|  |     useDHCP = false; # The global useDHCP flag is deprecated, therefore explicitly set to false here. | ||||||
|  |     interfaces.enp7s0.useDHCP = true; # Per-interface useDHCP will be mandatory in the future, so this generated config | ||||||
|  |     interfaces.wlp6s0.useDHCP = true; # replicates the default behaviour. | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   boot = { | ||||||
|  |     loader = { | ||||||
|  |       systemd-boot.enable = true; | ||||||
|  |       efi.canTouchEfiVariables = true; | ||||||
|  |     }; | ||||||
|  |     tmp.useTmpfs = true; | ||||||
|  |     kernelPackages = pkgs.linuxPackages_latest; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # Select internationalisation properties. | ||||||
|  |   i18n.defaultLocale = "en_US.UTF-8"; #todo: move to baseline? | ||||||
|  | 
 | ||||||
|  |   time.timeZone = "America/Costa_Rica"; #todo: move to baseline? | ||||||
|  | 
 | ||||||
|  |   ###### MODULARIZE AFTER THIS | ||||||
|  | 
 | ||||||
|  |   services = { | ||||||
|  |     fwupd.enable = true; | ||||||
|  |     thinkfan.enable = true; | ||||||
|  |     tlp.enable = true; | ||||||
|  |     tp-auto-kbbl.enable = true; | ||||||
|  |     pcscd.enable = true; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   hardware.acpilight.enable = true; | ||||||
|  | 
 | ||||||
|  |   services.fprintd.enable = true; | ||||||
|  | } | ||||||
							
								
								
									
										62
									
								
								sys/platforms/t14/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								sys/platforms/t14/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,62 @@ | ||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   pkgs, | ||||||
|  |   flakes, | ||||||
|  |   modulesPath, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  |   services.xserver.videoDrivers = ["i915" "modesetting" "fbdev"]; | ||||||
|  | 
 | ||||||
|  |   boot = { | ||||||
|  |     initrd = { | ||||||
|  |       availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "sdhci_pci"]; | ||||||
|  |       kernelModules = ["dm-snapshot"]; | ||||||
|  |       luks.devices."tomb" = { | ||||||
|  |         device = "/dev/disk/by-uuid/0b2b9aec-c239-4cce-948d-4411d9300c1d"; | ||||||
|  |         preLVM = true; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |     kernelModules = ["kvm-intel"]; | ||||||
|  |     extraModulePackages = []; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   fileSystems = { | ||||||
|  |     "/" = { | ||||||
|  |       device = "/dev/disk/by-uuid/2774158f-8ec5-4ba1-a4fb-a37f55b8bb38"; | ||||||
|  |       fsType = "btrfs"; | ||||||
|  |       options = ["subvol=root"]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/boot" = { | ||||||
|  |       device = "/dev/disk/by-uuid/A7E5-EEAB"; | ||||||
|  |       fsType = "vfat"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/nix" = { | ||||||
|  |       device = "/dev/disk/by-uuid/2774158f-8ec5-4ba1-a4fb-a37f55b8bb38"; | ||||||
|  |       fsType = "btrfs"; | ||||||
|  |       options = ["subvol=nix"]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/home" = { | ||||||
|  |       device = "/dev/disk/by-uuid/2774158f-8ec5-4ba1-a4fb-a37f55b8bb38"; | ||||||
|  |       fsType = "btrfs"; | ||||||
|  |       options = ["subvol=home"]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/toplevel" = { | ||||||
|  |       device = "/dev/disk/by-uuid/2774158f-8ec5-4ba1-a4fb-a37f55b8bb38"; | ||||||
|  |       fsType = "btrfs"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   swapDevices = []; | ||||||
|  | 
 | ||||||
|  |   powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; | ||||||
|  |   hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue