hosts/hyacinth: init

This commit is contained in:
LavaDesu 2023-01-28 00:12:28 +07:00
parent 1d770f1678
commit f8952fc47e
Signed by: cilly
GPG key ID: 6500251E087653C9
8 changed files with 130 additions and 6 deletions

View file

@ -0,0 +1,41 @@
{ config, inputs, modules, overlays, pkgs, ... }: {
networking.hostName = "hyacinth";
system.stateVersion = "21.11";
time.timeZone = "Asia/Phnom_Penh";
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
nixpkgs.overlays = [ inputs.neovim-nightly.overlay ];
age.secrets = {
passwd.file = ../../secrets/passwd.age;
wg_hyacinth.file = ../../secrets/wg_blossom.age;
wpa_conf.file = ../../secrets/wpa_conf.age;
};
imports = with modules.system; [
inputs.home-manager.nixosModule
home-manager
audio
base
greetd
gui
input
kernel
nix
packages
security
snapper
wireguard
./filesystem.nix
./kernel.nix
./networking.nix
../../users/rin
];
programs.corectrl.enable = true;
services.murmur = {
enable = true;
openFirewall = true;
};
}

View file

@ -0,0 +1,35 @@
{ config, ... }:
let
mkLabelMount = label: type: {
device = "/dev/disk/by-label/${label}";
fsType = type;
options = [ "defaults" "relatime" ];
};
mkBtrfsMount = subvol: atime: mkLabelMount "CAKE" "btrfs" // {
options = [ "autodefrag" "compress=zstd:3" "defaults" "discard=async" "space_cache=v2" "ssd" "subvol=${subvol}" (if atime then "relatime" else "noatime") ];
};
in
{
fileSystems = {
"/" = {
device = "rootfs";
fsType = "tmpfs";
options = [ "defaults" "size=8G" "mode=755" ];
};
"/boot" = mkLabelMount "CUP" "vfat";
"/mnt/butter" = mkBtrfsMount "/" true;
"/nix" = mkBtrfsMount "/current/snow" false;
"/home" = mkBtrfsMount "/current/home" true;
"/home/.snapshots" = mkBtrfsMount "/snapshot/home" false;
"/root" = mkBtrfsMount "/current/root" false;
"/var" = mkBtrfsMount "/current/var" false;
"/persist" = {
depends = [ "/var" ];
device = "/var/persist";
fsType = "none";
options = [ "bind" ];
neededForBoot = true;
};
};
}

26
hosts/hyacinth/kernel.nix Normal file
View file

@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }: {
boot = {
loader = {
efi.canTouchEfiVariables = true;
systemd-boot.enable = true;
};
initrd.availableKernelModules = [ "xhci_pci" "nvme" ];
initrd.kernelModules = [ "amdgpu" ];
kernelParams = [
"amdgpu.gpu_recovery=1"
"intel_pstate=passive"
];
kernelPackages = lib.mkForce (pkgs.linuxPackagesFor pkgs.me.linux-lava);
extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out ];
kernelModules = [ "v4l2loopback" ];
};
services.xserver.xrandrHeads = [{
output = "DisplayPort-0";
primary = true;
monitorConfig = ''
Modeline "1920x1080_165.00" 525.00 1920 2088 2296 2672 1080 1083 1088 1192 -hsync +vsync
Option "PreferredMode" "1920x1080_165.00"
'';
}];
}

View file

@ -0,0 +1,21 @@
{ config, ... }: {
environment.etc."wpa_supplicant.conf".source = config.age.secrets.wpa_conf.path;
networking = {
useDHCP = false;
interfaces.enp5s0.useDHCP = false;
interfaces.enp5s0.ipv4.addresses = [{
address = "192.168.100.16";
prefixLength = 24;
}];
defaultGateway = "192.168.100.1";
nameservers = [ "1.1.1.1" ];
extraHosts = ''
192.168.100.12 strawberry
192.168.100.15 caramel
10.100.0.1 sugarcane
'';
};
}