summaryrefslogtreecommitdiff
path: root/hosts/niuwux
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/niuwux')
-rw-r--r--hosts/niuwux/default.nix130
-rw-r--r--hosts/niuwux/hardware-configuration.nix91
2 files changed, 221 insertions, 0 deletions
diff --git a/hosts/niuwux/default.nix b/hosts/niuwux/default.nix
new file mode 100644
index 0000000..ea3617a
--- /dev/null
+++ b/hosts/niuwux/default.nix
@@ -0,0 +1,130 @@
+{
+ systemState,
+ user,
+ hostname,
+}:
+{
+ pkgs,
+ config,
+ inputs,
+ lib,
+ ...
+}:
+{
+ imports = with inputs.self.nixosModules; [
+ ./hardware-configuration.nix
+ (import ../common.nix { inherit user; })
+ beeMods
+ ];
+
+ boot.kernelPackages = pkgs.linuxPackages_zen;
+
+ programs.dconf.enable = true;
+
+ beeMods = {
+ windowManagers = {
+ mango.enable = true;
+ hyprland.enable = false;
+ dwm.enable = false;
+ };
+ };
+
+ programs.gpu-screen-recorder.enable = true;
+
+ xdg.portal = lib.mkForce {
+ enable = true;
+ extraPortals = [
+ pkgs.xdg-desktop-portal-gtk
+ pkgs.xdg-desktop-portal-wlr
+ ];
+ config = {
+ common = {
+ default = [ "gtk" ];
+ "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
+ "org.freedesktop.impl.portal.Inhibit" = ["none"];
+ };
+ mango = {
+ "org.freedesktop.impl.portal.ScreenCast" = [ "wlr" ];
+ "org.freedesktop.impl.portal.Screenshot" = [ "wlr" ];
+ "org.freedesktop.impl.portal.Inhibit" = [ "none" ];
+ };
+ hyrpland = {
+ default = [
+ "hyrland"
+ "gtk"
+ ];
+ };
+ };
+ };
+
+ programs.gamemode.enable = config.programs.steam.enable;
+ programs.gamescope = {
+ enable = config.programs.steam.enable;
+ # capSysNice = true;
+ };
+ programs.steam = {
+ enable = false;
+ protontricks.enable = true;
+ gamescopeSession.enable = false;
+ remotePlay.openFirewall = true;
+ dedicatedServer.openFirewall = true;
+ localNetworkGameTransfers.openFirewall = true;
+ };
+
+ users.users.${user} = {
+ isNormalUser = true;
+ shell = pkgs.fish;
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "video"
+ ];
+ };
+
+ environment.sessionVariables = { };
+
+ networking.hostName = hostname;
+ networking.firewall.allowedTCPPorts = [ ];
+ networking.firewall.allowedUDPPorts = [ ];
+ networking.firewall.enable = true;
+
+ environment.systemPackages = with pkgs; [
+ libva-utils
+ vulkan-tools
+ pciutils
+ direnv
+ mangohud
+ ];
+
+ services.xserver.videoDrivers = [ "nvidia" ];
+ hardware = {
+ graphics = {
+ enable = true;
+ enable32Bit = config.programs.steam.enable;
+ extraPackages = with pkgs; [
+ libvdpau-va-gl
+ nvidia-vaapi-driver
+ ];
+ };
+
+ nvidia = {
+ modesetting.enable = true;
+ powerManagement.enable = true;
+ powerManagement.finegrained = true;
+ open = true;
+ nvidiaSettings = false;
+
+ prime = {
+ offload.enable = true;
+ offload.enableOffloadCmd = true;
+ offload.offloadCmdMainProgram = "prime-run";
+ nvidiaBusId = "PCI:1:0:0";
+ amdgpuBusId = "PCI:5:0:0";
+ };
+
+ package = config.boot.kernelPackages.nvidiaPackages.latest; # or stable
+ };
+ };
+
+ system.stateVersion = systemState; # check flake.nix
+}
diff --git a/hosts/niuwux/hardware-configuration.nix b/hosts/niuwux/hardware-configuration.nix
new file mode 100644
index 0000000..96c39c3
--- /dev/null
+++ b/hosts/niuwux/hardware-configuration.nix
@@ -0,0 +1,91 @@
+# 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 = [
+ "nvme"
+ "xhci_pci"
+ "usb_storage"
+ "usbhid"
+ "sd_mod"
+ ];
+ boot.initrd.kernelModules = [ ];
+ boot.kernelModules = [ "kvm-amd" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/85c4da5f-b234-498f-bf47-f2d3b26bf0cc";
+ fsType = "btrfs";
+ options = [
+ "subvol=@"
+ "compress=zstd"
+ "noatime"
+ "discard=async"
+ "space_cache=v2"
+ ];
+ };
+
+ fileSystems."/home" = {
+ device = "/dev/disk/by-uuid/85c4da5f-b234-498f-bf47-f2d3b26bf0cc";
+ fsType = "btrfs";
+ options = [
+ "subvol=@home"
+ "compress=zstd"
+ "noatime"
+ "discard=async"
+ "space_cache=v2"
+ ];
+ };
+
+ fileSystems."/nix" = {
+ device = "/dev/disk/by-uuid/85c4da5f-b234-498f-bf47-f2d3b26bf0cc";
+ fsType = "btrfs";
+ options = [
+ "subvol=@nix"
+ "compress=zstd"
+ "noatime"
+ "discard=async"
+ "space_cache=v2"
+ ];
+ };
+
+ fileSystems."/var/log" = {
+ device = "/dev/disk/by-uuid/85c4da5f-b234-498f-bf47-f2d3b26bf0cc";
+ fsType = "btrfs";
+ options = [
+ "subvol=@log"
+ "compress=zstd"
+ "noatime"
+ "discard=async"
+ "space_cache=v2"
+ ];
+ };
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/DD2D-BC85";
+ fsType = "vfat";
+ options = [
+ "fmask=0022"
+ "dmask=0022"
+ ];
+ };
+
+ swapDevices = [
+ { device = "/dev/disk/by-uuid/247afe44-bbc1-4931-bf26-29a540e9d7df"; }
+ ];
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}