diff --git a/configurations/nixos/emergent/configuration.nix b/configurations/nixos/emergent/configuration.nix index eaac657..8176f97 100644 --- a/configurations/nixos/emergent/configuration.nix +++ b/configurations/nixos/emergent/configuration.nix @@ -2,6 +2,7 @@ # your system. Help is available in the configuration.nix(5) man page, on # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). { + config, lib, pkgs, ... diff --git a/configurations/nixos/horizon/configuration.nix b/configurations/nixos/horizon/configuration.nix index 4a73d8c..770eeef 100644 --- a/configurations/nixos/horizon/configuration.nix +++ b/configurations/nixos/horizon/configuration.nix @@ -1,8 +1,7 @@ { - lib, - pkgs, config, inputs, + pkgs, ... }: { imports = [ @@ -11,19 +10,6 @@ nixpkgs.config.allowUnfree = true; - boot = { - initrd = { - availableKernelModules = ["usb_storage" "sd_mod"]; - }; - kernelModules = ["sg"]; - - # Bootloader. - loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - }; - host = { users = { leyla = { @@ -63,10 +49,8 @@ }; environment.systemPackages = with pkgs; [ - cachefilesd webtoon-dl ]; - services.cachefilesd.enable = true; programs = { adb.enable = true; @@ -77,16 +61,6 @@ }; }; - networking = { - networkmanager.enable = true; - hostName = "horizon"; # Define your hostname. - }; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - - hardware = { - graphics.enable = true; - }; - sops.secrets = { "vpn-keys/tailscale-authkey/horizon" = { sopsFile = "${inputs.secrets}/vpn-keys.yaml"; diff --git a/configurations/nixos/horizon/hardware-configuration.nix b/configurations/nixos/horizon/hardware-configuration.nix index cec4914..e88d8dc 100644 --- a/configurations/nixos/horizon/hardware-configuration.nix +++ b/configurations/nixos/horizon/hardware-configuration.nix @@ -4,6 +4,7 @@ { config, lib, + pkgs, modulesPath, ... }: { @@ -11,10 +12,22 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-intel"]; - boot.extraModulePackages = []; + boot = { + initrd = { + availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"]; + kernelModules = []; + }; + kernelModules = ["kvm-intel" "sg"]; + extraModulePackages = []; + + # Bootloader. + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + supportedFilesystems = ["nfs"]; + }; fileSystems = { "/" = { @@ -26,20 +39,98 @@ device = "/dev/disk/by-uuid/E138-65B5"; fsType = "vfat"; }; + + "/mnt/leyla_documents" = { + device = "defiant:/export/leyla_documents"; + fsType = "nfs"; + options = [ + "vers=4" + "x-systemd.automount" + "noauto" + "user" + "noatime" + "nofail" + "x-systemd.idle-timeout=600" + "fsc" + "timeo=600" + "retrans=2" + ]; + }; + + "/mnt/eve_documents" = { + device = "defiant:/export/eve_documents"; + fsType = "nfs"; + options = [ + "vers=4" + "x-systemd.automount" + "noauto" + "user" + "nofail" + "x-systemd.idle-timeout=600" + "fsc" + "timeo=600" + "retrans=2" + ]; + }; + + "/mnt/users_documents" = { + device = "defiant:/export/users_documents"; + fsType = "nfs"; + options = [ + "vers=4" + "x-systemd.automount" + "noauto" + "user" + "nofail" + "x-systemd.idle-timeout=600" + "fsc" + "timeo=600" + "retrans=2" + ]; + }; + + "/mnt/media" = { + device = "defiant:/export/media"; + fsType = "nfs"; + options = [ + "vers=4" + "x-systemd.automount" + "noauto" + "user" + "noatime" + "nofail" + "x-systemd.idle-timeout=600" + "noatime" + "nodiratime" + "relatime" + "fsc" + "timeo=600" + "retrans=2" + ]; + }; }; + environment.systemPackages = with pkgs; [ + cachefilesd + ]; + + services.cachefilesd.enable = true; + swapDevices = [ {device = "/dev/disk/by-uuid/be98e952-a072-4c3a-8c12-69500b5a2fff";} ]; - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.tailscale0.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp170s0.useDHCP = lib.mkDefault true; + networking = { + networkmanager.enable = true; + useDHCP = lib.mkDefault true; + hostName = "horizon"; # Define your hostname. + }; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + + hardware = { + graphics.enable = true; + cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + }; }