refactored system

This commit is contained in:
Till 2026-01-22 00:13:33 +01:00
parent 6a62e2f23f
commit 386d889455
55 changed files with 336 additions and 580 deletions

13
hosts/arielle/default.nix Normal file
View file

@ -0,0 +1,13 @@
{ ... }:
{
networking.hostName = "arielle";
networking.domain = "ktiu.net";
imports = [
./hardware
../system
../system/web-server
../system/mail-server
];
}

View file

@ -0,0 +1,28 @@
{ lib, modulesPath, ... }:
{
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/087544b8-4941-436b-be6c-e32bc3787b12";
fsType = "ext4";
};
swapDevices = [
{ device = "/dev/disk/by-uuid/9408a2ce-646d-406e-8407-c9bafd0a728c"; }
];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

16
hosts/homer/default.nix Normal file
View file

@ -0,0 +1,16 @@
{ ... }:
{
networking.hostName = "homer";
imports = [
./hardware.nix
../system
../system/desktop
../system/desktop/gnome.nix
../system/desktop/steam.nix
../system/desktop/remote-desktop.nix
../system/media-server.nix
../users/guest.nix
];
}

65
hosts/homer/hardware.nix Normal file
View file

@ -0,0 +1,65 @@
{ config, lib, modulesPath, ... }:
{
imports = [
(modulesPath + "/hardware/network/broadcom-43xx.nix")
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.extraModprobeConfig = ''
options snd_hda_intel power_save=0
'';
fileSystems."/" =
{ device = "/dev/disk/by-uuid/809e9e9e-ff44-4ecb-8754-e3f2000e5788";
fsType = "btrfs";
options = [ "subvol=root" ];
};
boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/68a19b7d-358a-419c-9507-1e103526f44a";
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/809e9e9e-ff44-4ecb-8754-e3f2000e5788";
fsType = "btrfs";
options = [ "subvol=home" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/809e9e9e-ff44-4ecb-8754-e3f2000e5788";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/553D-668A";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/var/mediathek" = {
device = "/dev/disk/by-uuid/7b0b589f-5759-411a-975a-08a3c7a0f953";
fsType = "ext4";
options = [ # If you don't have this options attribute, it'll default to "defaults"
# boot options for fstab. Search up fstab mount options you can use
"users" # Allows any user to mount and unmount
"nofail" # Prevent system from failing if this drive doesn't mount
];
};
swapDevices = [{
device = "/swapfile";
size = 8 * 1045;
}];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

12
hosts/mila/default.nix Normal file
View file

@ -0,0 +1,12 @@
{ ... }:
{
networking.hostname = "mila";
imports = [
./hardware.nix
../system
../system/desktop
../system/desktop/gnome.nix
];
}

18
hosts/nova/default.nix Normal file
View file

@ -0,0 +1,18 @@
{ config, pkgs, ... }:
{
networking.hostName = "nova";
imports = [
./hardware.nix
../users/alt.nix
../users/guest.nix
../system
../system/desktop
../system/desktop/gnome.nix
# ../system/desktop/cast.nix
../system/desktop/ergodox.nix
../system/desktop/steam.nix
../system/desktop/yubikey.nix
];
}

56
hosts/nova/hardware.nix Normal file
View file

@ -0,0 +1,56 @@
{ config, lib, pkgs, modulesPath, ... }:
let
subvolume = {
device = "/dev/disk/by-uuid/6a0d25d4-0253-4467-85cc-ab3e0ef71f54";
fsType = "btrfs";
};
in
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" "v4l2loopback" ];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
boot.initrd.luks.devices."cryptroot" = {
device = "/dev/disk/by-uuid/eaad533f-8586-4002-9c53-5aecf8e7abd8";
allowDiscards = true;
};
fileSystems."/" = subvolume // {
options = [ "subvol=root" "compress=zstd" "discard=async" ];
};
fileSystems."/nix" = subvolume // {
options = [ "subvol=nix" "compress=zstd" "noatime" "discard=async" ];
};
fileSystems."/home" = subvolume // {
options = [ "subvol=home" "compress=zstd" "discard=async" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/7362-C4C4";
fsType = "vfat";
};
swapDevices = [{
device = "/swapfile";
size = 8 * 1045;
}];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.trackpoint.enable = true;
boot.kernelParams = [ "psmouse.elantech_smbus=0" ];
}