diff --git a/flake.nix b/flake.nix index cee816e..ea0e23c 100644 --- a/flake.nix +++ b/flake.nix @@ -19,14 +19,22 @@ system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; pkgs-stable = nixpkgs-stable.legacyPackages.${system}; + specialArgs = { + inherit pkgs-stable; + inherit flake-programs-sqlite; + }; in { - nixosConfigurations.hyuganatsu = nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = { - inherit pkgs-stable; - inherit flake-programs-sqlite; + nixosConfigurations = { + hyuganatsu = nixpkgs.lib.nixosSystem { + inherit system; + inherit specialArgs; + modules = [ system/hyuganatsu ]; + }; + iyokan = nixpkgs.lib.nixosSystem { + inherit system; + inherit specialArgs; + modules = [ system/iyokan ]; }; - modules = [ system/hyuganatsu ]; }; homeConfigurations.ahnwuoa = home-manager.lib.homeManagerConfiguration { inherit pkgs; diff --git a/system/iyokan/default.nix b/system/iyokan/default.nix new file mode 100644 index 0000000..2b29763 --- /dev/null +++ b/system/iyokan/default.nix @@ -0,0 +1,21 @@ +{ lib, ... }: + +{ + imports = [ + ../common + ./hardware-configuration.nix + ]; + + networking.hostName = "iyokan"; + time.timeZone = "America/Chicago"; + services.xserver = { + videoDrivers = [ "nvidia" ]; + deviceSection = ''Option "TearFree" "true"''; + }; + hardware.nvidia.open = false; + nixpkgs.config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + "nvidia-x11" + "nvidia-settings" + ]; +} diff --git a/system/iyokan/hardware-configuration.nix b/system/iyokan/hardware-configuration.nix new file mode 100644 index 0000000..67f502d --- /dev/null +++ b/system/iyokan/hardware-configuration.nix @@ -0,0 +1,45 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/6c86675c-7428-4a34-98e2-7fa2b423b53e"; + fsType = "ext4"; + }; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/d376771f-3dd5-4d8a-94d3-dcb75aae146d"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/4F3D-4702"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/8049404d-f5fb-4387-bb75-f308a7f7126f"; } + ]; + + # 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.enp0s31f6.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}