Add Pegasus host configuration and modules. Still needs hardware-configuration file

This commit is contained in:
panotaka
2024-01-26 14:26:03 -04:00
parent e3ecfcbbbe
commit 687c12daba
2 changed files with 116 additions and 0 deletions

View File

@@ -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 { homeConfigurations.panotaka = home-manager.lib.homeManagerConfiguration {

71
hosts/Pegasus/default.nix Normal file
View File

@@ -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;
};
}