diff --git a/flake.nix b/flake.nix index fba3182..e2337e5 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,9 @@ ... } @ inputs: { nixosConfigurations = { + ################### + # Primary Desktop # + ################### Parzival = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; @@ -31,6 +34,9 @@ sops-nix.nixosModules.sops ]; }; + ################### + # Personal Laptop # + ################### Parzival-Mobile = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; @@ -45,6 +51,26 @@ sops-nix.nixosModules.sops ]; }; + ###################### + # Work Issued Laptop # + ###################### + Parzival-Framework = nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs; + pkgs = import nixpkgs { + system = "x86_64-linux"; + config.allowUnfree = true; + }; + }; + modules = [ + ./hosts/Parzival-Mobile + home-manager.nixosModules.home-manager + sops-nix.nixosModules.sops + ]; + }; + ############### + # Home Server # + ############### WCE-Overseer = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; @@ -59,6 +85,9 @@ sops-nix.nixosModules.sops ]; }; + ################################### + # ISO Installer w/ recovery tools # + ################################### Parzival-Live = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; diff --git a/hosts/Parzival-Framework/default.nix b/hosts/Parzival-Framework/default.nix new file mode 100644 index 0000000..f561100 --- /dev/null +++ b/hosts/Parzival-Framework/default.nix @@ -0,0 +1,22 @@ +{ + lib, + config, + pkgs, + ... +}: { + imports = [ + ./hardware-configuration.nix + ../../modules + ]; + + networking.hostName = "Parzival-Framework"; + + user.crow.enable = true; + + desktop.sway.enable = true; + + module.gui.enable = true; + module.programming.enable = true; + module.hacking.enable = true; + software.keyd.enable = true; +} diff --git a/hosts/Parzival-Framework/hardware-configuration.nix b/hosts/Parzival-Framework/hardware-configuration.nix new file mode 100644 index 0000000..833edea --- /dev/null +++ b/hosts/Parzival-Framework/hardware-configuration.nix @@ -0,0 +1,41 @@ +# 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" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; + + fileSystems."/" = { + device = "/dev/disk/by-label/nixos"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-label/boot"; + fsType = "vfat"; + options = ["fmask=0022" "dmask=0022"]; + }; + + # 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; + # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/Parzival-Mobile/hardware-configuration.nix b/hosts/Parzival-Mobile/hardware-configuration.nix index 5be6e7d..49c6e71 100644 --- a/hosts/Parzival-Mobile/hardware-configuration.nix +++ b/hosts/Parzival-Mobile/hardware-configuration.nix @@ -28,9 +28,9 @@ options = ["fmask=0022" "dmask=0022"]; }; - #swapDevices = [ - # {device = "/dev/disk/by-uuid/928718de-b495-4a7c-b9d4-eb491b6c8253";} - # ]; + swapDevices = [ + {device = "/dev/disk/by-uuid/928718de-b495-4a7c-b9d4-eb491b6c8253";} + ]; # 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