diff --git a/flake.nix b/flake.nix index 588c9f0..131feaf 100644 --- a/flake.nix +++ b/flake.nix @@ -131,6 +131,51 @@ } ]; }; + + Pegasus = nixpkgs.lib.nixosSystem { + # System + system = "x86_64-linux"; + specialArgs = { + inherit inputs; + inherit system; + }; + + # Modules + modules = [ + #kde2nix Module + #inputs.kde2nix.nixosModules.default + + # NUR Modules + nur.nixosModules.nur + + # Theme Modules + stylix.nixosModules.stylix + ./themes/targets/all.nix + ./themes/tokyonight + + # Host Module + ./hosts/Pegasus + + # Home Manager Modules + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { + inherit inputs; + inherit system; + }; + home-manager.users.panotaka = { + imports = [ + nur.hmModules.nur + ./home + ./home/shell + ./home/applications + ]; + }; + } + ]; + }; }; homeConfigurations.panotaka = home-manager.lib.homeManagerConfiguration { diff --git a/hosts/Pegasus/default.nix b/hosts/Pegasus/default.nix new file mode 100644 index 0000000..7bd96e6 --- /dev/null +++ b/hosts/Pegasus/default.nix @@ -0,0 +1,71 @@ +{lib, ...}: let + hostname = "Pegasus"; +in { + # System version + system.stateVersion = "23.11"; + + imports = [ + # Import system configuration + ../../modules/system.nix + ../../modules/containers.nix + ../../modules/virtualization.nix + ../../modules/harden.nix + ../../modules/kde.nix + ]; + + # Set networking + hardware.enableRedistributableFirmware = true; + networking.hostName = hostname; + networking.networkmanager.enable = true; + networking.useDHCP = lib.mkDefault true; + + # Bootloader configuration + boot = { + kernelModules = ["kvm-intel"]; + extraModulePackages = []; + + initrd = { + kernelModules = []; + availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "vmd" + "nvme" + "usb_storage" + "sd_mod" + "rtsx_pci_sdmmc" + ]; + }; + + loader = { + grub = { + enable = true; + useOSProber = true; + }; + efi = { + canTouchEfiVariables = true; + }; + }; + }; + + # Setup Audio + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + + # Setup bluetooth + hardware.bluetooth.enable = true; + + # Add OpenGl support + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; +}