From b804520f4c4755d81bca123966823da21e9473e5 Mon Sep 17 00:00:00 2001 From: Raphael Date: Thu, 2 Oct 2025 11:46:24 +0200 Subject: [PATCH] feat(host/fix): adding the steam possiblities --- hosts/fix/hardware-configuration.nix | 122 +++++++-------- hosts/server/configuration.nix | 219 ++++++++++++++++----------- 2 files changed, 189 insertions(+), 152 deletions(-) diff --git a/hosts/fix/hardware-configuration.nix b/hosts/fix/hardware-configuration.nix index aedd31c..6b795f7 100644 --- a/hosts/fix/hardware-configuration.nix +++ b/hosts/fix/hardware-configuration.nix @@ -4,70 +4,72 @@ { config, lib, pkgs, modulesPath, ... }: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; -# services.dbus.enable = true; - boot = { - initrd = { - availableKernelModules = [ - "xhci_pci" - "ahci" - "usbhid" - "sd_mod" - ]; - kernelModules = []; - }; - kernelModules = [ - "kvm-intel" - ]; - extraModulePackages = []; - }; + # services.dbus.enable = true; + boot = { + initrd = { + availableKernelModules = [ + "xhci_pci" + "ahci" + "usbhid" + "sd_mod" + ]; + kernelModules = []; + }; + kernelModules = [ + "kvm-intel" + ]; + extraModulePackages = []; + }; - fileSystems = { - "/" = { - device = "/dev/disk/by-uuid/a943d592-57d3-497e-bf43-49b50ac73f0b"; - fsType = "ext4"; - }; - "/boot" = { - device = "/dev/disk/by-uuid/5AAB-0026"; - fsType = "vfat"; - options = [ - "fmask=0077" - "dmask=0077" - ]; - }; - "/mnt/data" = { - device = "/dev/disk/by-uuid/5729d30c-5806-4ccd-8a2a-080a258084dc"; - fsType = "ext4"; - }; - }; + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/a943d592-57d3-497e-bf43-49b50ac73f0b"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/5AAB-0026"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; + "/mnt/data" = { + device = "/dev/disk/by-uuid/5729d30c-5806-4ccd-8a2a-080a258084dc"; + fsType = "ext4"; + }; + }; - swapDevices = [ ]; + swapDevices = [ ]; - # 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.docker0.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; - - services.xserver.videoDrivers = ["nvidia"]; + # 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.docker0.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; - hardware = { - graphics.enable = true; - nvidia = { - open = false; - modesetting.enable = true; - powerManagement.enable = false; - powerManagement.finegrained = false; - nvidiaSettings = true; - package = config.boot.kernelPackages.nvidiaPackages.stable; - }; - }; + services.xserver.videoDrivers = ["nvidia"]; - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware = { + graphics.enable = true; + driSupport32Bit = true; + steam-hardware.enable = true; + nvidia = { + open = false; + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.stable; + }; + }; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/server/configuration.nix b/hosts/server/configuration.nix index e9b5a30..f9be28e 100644 --- a/hosts/server/configuration.nix +++ b/hosts/server/configuration.nix @@ -1,102 +1,137 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# configuration.nix :+: :+: :+: # +# +:+ +:+ +:+ # +# By: rparodi +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2025/10/02 00:54:38 by rparodi #+# #+# # +# Updated: 2025/10/02 11:44:15 by rparodi ### ########.fr # +# # +# **************************************************************************** # + { inputs, config, pkgs, lib, ... }: -{ - imports = [ - ../global.nix - ./hardware-configuration.nix - ../../modules/games/global.nix - ../../services/forty_two.nix - ../../services/discord.nix - ../../services/games.nix - ../../services/web.nix - ../../services/self_host.nix - ]; + { + imports = [ + ../global.nix + ./hardware-configuration.nix + ../../modules/games/global.nix + ../../services/forty_two.nix + ../../services/discord.nix + ../../services/games.nix + ../../services/web.nix + ../../services/self_host.nix + ]; - networking = { - hostName = "nixos-fix"; - firewall.enable = false; - networkmanager.enable = true; - wireless.enable = false; - }; + networking = { + hostName = "nixos-fix"; + firewall.enable = false; + networkmanager.enable = true; + wireless.enable = false; + }; - service = { - selfhost = { - htop = true; - ollama = false; - mail = false; - monitor = true; - teamspeak = true; - nextcloud = true; - }; - forty_two.irc = true; - web.portefolio = true; - minecraft = { - enium-pv = false; - }; - bot_discord = { - master = true; - bde = false; - tut = true; - marty = true; - ada = true; - music = false; - tempvoc = true; - ticket = true; - }; - }; + service = { + selfhost = { + htop = true; + ollama = false; + mail = false; + monitor = true; + teamspeak = true; + nextcloud = true; + }; + forty_two.irc = true; + web.portefolio = true; + games = { + enium-pv = false; + }; + bot_discord = { + master = true; + bde = false; + tut = true; + marty = true; + ada = true; + music = false; + tempvoc = true; + ticket = true; + }; + }; - users = { - defaultUserShell = pkgs.zsh; - users = { - axel = { - isNormalUser = true; - initialPassword = "Feuyllelpb12341234"; - description = "feuylle"; - useDefaultShell = true; - extraGroups = [ - "networkmanager" - "plugdev" - "docker" - ]; - packages = with pkgs; [ - home-manager - ]; - }; - }; - }; + programs = { + steam = { + enable = true; + gamescopeSession.enable = true; + }; + gamemode.enable = true; + }; + + users = { + defaultUserShell = pkgs.zsh; + users = { + axel = { + isNormalUser = true; + initialPassword = "Feuyllelpb12341234"; + description = "feuylle"; + useDefaultShell = true; + extraGroups = [ + "networkmanager" + "plugdev" + "docker" + ]; + packages = with pkgs; [ + home-manager + ]; + }; + }; + }; - # Bootloader. - boot.loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; + # Bootloader. + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; - services = { - seatd.enable = true; - openssh = { - enable = true; - ports = [ 42131 ]; - }; - pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - udev.extraRules = '' - SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="5740", MODE="0666" - ''; - redis.servers."" = { - enable = true; - }; - postgresql = { - enable = true; - }; - }; + services = { + seatd.enable = true; + displayManager = { + defaultSession = "steam"; + gdm.enable = true; + autoLogin = { + enable = true; + user = "raphael"; + }; + }; + xserver = { + enable = true; + videoDrivers = [ + "nvidia" + ]; + }; + dbus.enable = true; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + openssh = { + enable = true; + ports = [ 42131 ]; + }; + udev.extraRules = '' + SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="5740", MODE="0666" + ''; + redis.servers."" = { + enable = true; + }; + postgresql = { + enable = true; + }; + }; - virtualisation.docker.enable = true; + virtualisation.docker.enable = true; - system.stateVersion = "24.05"; -} + system.stateVersion = "24.05"; + }