feat: add hosts/aijiro config
My portable desktop machine.
This commit is contained in:
		
							parent
							
								
									327b113a07
								
							
						
					
					
						commit
						79acd090f4
					
				
							
								
								
									
										30
									
								
								hosts/aijiro/README.org
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								hosts/aijiro/README.org
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,30 @@ | |||
| #+TITLE: Aijiro | ||||
| #+DATE:  September 3, 2021 | ||||
| 
 | ||||
| * Overview | ||||
| ... | ||||
| 
 | ||||
| * Specs | ||||
| + Intel i5-6400 | ||||
| + 8GB | ||||
| 
 | ||||
| * Installation | ||||
| ** Set up root file system | ||||
| #+BEGIN_SRC sh | ||||
| parted /dev/sda -- mklabel gpt | ||||
| parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB | ||||
| parted /dev/sda -- mkpart primary linux-swap 512MiB 8.5GiB | ||||
| parted /dev/sda -- mkpart primary 8.5GiB 100% | ||||
| parted /dev/sda -- set 1 boot on | ||||
| mkfs.fat -F32 -n BOOT /dev/sda1 | ||||
| mkswap -L swap /dev/sda2 | ||||
| mkfs.ext4 -L nixos /dev/sda3 | ||||
| #+END_SRC | ||||
| 
 | ||||
| ** Mount drives | ||||
| #+BEGIN_SRC sh | ||||
| mount /dev/sda3 /mnt | ||||
| mkdir -p /mnt/boot | ||||
| mount /dev/sda1 /mnt/boot | ||||
| swapon /dev/sda2 | ||||
| #+END_SRC | ||||
							
								
								
									
										86
									
								
								hosts/aijiro/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								hosts/aijiro/default.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,86 @@ | |||
| # Shiro -- my laptop | ||||
| 
 | ||||
| { ... }: | ||||
| { | ||||
|   imports = [ | ||||
|     ../home.nix | ||||
|     ./hardware-configuration.nix | ||||
|   ]; | ||||
| 
 | ||||
|   ## Modules | ||||
|   modules = { | ||||
|     desktop = { | ||||
|       bspwm.enable = true; | ||||
|       apps = { | ||||
|         discord.enable = true; | ||||
|         rofi.enable = true; | ||||
|         # godot.enable = true; | ||||
|       }; | ||||
|       browsers = { | ||||
|         default = "brave"; | ||||
|         brave.enable = true; | ||||
|         # firefox.enable = true; | ||||
|         # qutebrowser.enable = true; | ||||
|       }; | ||||
|       gaming = { | ||||
|         # steam.enable = true; | ||||
|         # emulators.enable = true; | ||||
|         # emulators.psx.enable = true; | ||||
|       }; | ||||
|       media = { | ||||
|         daw.enable = true; | ||||
|         documents.enable = true; | ||||
|         graphics.enable = true; | ||||
|         mpv.enable = true; | ||||
|         recording.enable = true; | ||||
|         spotify.enable = true; | ||||
|       }; | ||||
|       term = { | ||||
|         default = "xst"; | ||||
|         st.enable = true; | ||||
|       }; | ||||
|       vm = { | ||||
|         qemu.enable = true; | ||||
|       }; | ||||
|     }; | ||||
|     dev = { | ||||
|       node.enable = true; | ||||
|       rust.enable = true; | ||||
|       python.enable = true; | ||||
|     }; | ||||
|     editors = { | ||||
|       default = "nvim"; | ||||
|       emacs.enable = true; | ||||
|       vim.enable = true; | ||||
|     }; | ||||
|     shell = { | ||||
|       # adl.enable = true; | ||||
|       vaultwarden.enable = true; | ||||
|       direnv.enable = true; | ||||
|       git.enable    = true; | ||||
|       gnupg.enable  = true; | ||||
|       tmux.enable   = true; | ||||
|       zsh.enable    = true; | ||||
|     }; | ||||
|     services = { | ||||
|       ssh.enable = true; | ||||
|       docker.enable = true; | ||||
|       # Needed occasionally to help the parental units with PC problems | ||||
|       # teamviewer.enable = true; | ||||
|     }; | ||||
|     theme.active = "alucard"; | ||||
|   }; | ||||
| 
 | ||||
| 
 | ||||
|   ## Local config | ||||
|   programs.ssh.startAgent = true; | ||||
|   services.openssh.startWhenNeeded = true; | ||||
| 
 | ||||
|   networking.networkmanager.enable = true; | ||||
|   # The global useDHCP flag is deprecated, therefore explicitly set to false | ||||
|   # here. Per-interface useDHCP will be mandatory in the future, so this | ||||
|   # generated config replicates the default behaviour. | ||||
|   networking.useDHCP = false; | ||||
| 
 | ||||
|   time.timeZone = "Europe/Copenhagen"; | ||||
| } | ||||
							
								
								
									
										57
									
								
								hosts/aijiro/hardware-configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								hosts/aijiro/hardware-configuration.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,57 @@ | |||
| { config, lib, pkgs, inputs, modulesPath, ... }: | ||||
| 
 | ||||
| { | ||||
|   imports = [ | ||||
|     (modulesPath + "/installer/scan/not-detected.nix") | ||||
|   ]; | ||||
| 
 | ||||
|   boot = { | ||||
|     initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sr_mod" "nvme" ]; | ||||
|     initrd.kernelModules = [ "dm-snapshot" ]; | ||||
|     kernelModules = [ "kvm-intel" ]; | ||||
|     extraModulePackages = [ ]; | ||||
|     kernelParams = [ | ||||
|       # HACK Disables fixes for spectre, meltdown, L1TF and a number of CPU | ||||
|       #      vulnerabilities. Don't copy this blindly! And especially not for | ||||
|       #      mission critical or server/headless builds exposed to the world. | ||||
|       "mitigations=off" | ||||
|     ]; | ||||
| 
 | ||||
|     # Refuse ICMP echo requests on my desktop/laptop; nobody has any business | ||||
|     # pinging them, unlike my servers. | ||||
|     kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = 1; | ||||
|   }; | ||||
| 
 | ||||
|   # Modules | ||||
|   modules.hardware = { | ||||
|     audio.enable = true; | ||||
|     fs = { | ||||
|       enable = true; | ||||
|       ssd.enable = true; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   # CPU | ||||
|   nix.maxJobs = lib.mkDefault 4; | ||||
|   hardware.cpu.intel.updateMicrocode = true; | ||||
|   # performance gives better battery life/perf than ondemand on sandy bridge and | ||||
|   # newer because of intel pstates. | ||||
|   powerManagement.cpuFreqGovernor = "performance"; | ||||
|   # Without this wpa_supplicant may fail to auto-discover wireless interfaces at | ||||
|   # startup (and must be restarted). | ||||
|   networking.wireless.interfaces = [ "wlp3s0" ]; | ||||
| 
 | ||||
|   # Storage | ||||
|   fileSystems = { | ||||
|     "/" = { | ||||
|       device = "/dev/disk/by-label/nixos"; | ||||
|       fsType = "ext4"; | ||||
|       options = [ "noatime" ]; | ||||
|     }; | ||||
|     "/boot" = { | ||||
|       device = "/dev/disk/by-label/BOOT"; | ||||
|       fsType = "vfat"; | ||||
|     }; | ||||
|   }; | ||||
|   swapDevices = [ { device = "/dev/disk/by-label/swap"; }]; | ||||
| } | ||||
		Loading…
	
		Reference in a new issue