{ self, pkgs, inputs, ... }: let ffcheck = pkgs.writeShellScriptBin "ffcheck" '' ${pkgs.ffmpeg}/bin/ffmpeg -v error -stats -hide_banner -i "$1" -c copy -f null - ''; in { imports = [ self.nixosModules.common self.nixosModules.prompt ./backup.nix ]; networking.hostName = "marauder"; fileSystems = { "/" = { device = "/dev/disk/by-uuid/648c6539-892c-40d7-8b07-23fe760df02a"; fsType = "ext4"; }; "/boot" = { device = "/dev/disk/by-uuid/1D62-C30E"; fsType = "vfat"; options = [ "fmask=0022" "dmask=0022" ]; }; }; boot = { loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; initrd = { systemd.enable = true; availableKernelModules = [ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ]; }; kernelModules = [ "kvm-amd" ]; kernelParams = [ "amd_pstate=active" ]; }; hardware = { enableRedistributableFirmware = true; cpu.amd.updateMicrocode = true; opengl = { enable = true; driSupport32Bit = true; extraPackages = [ pkgs.vaapiVdpau ]; }; nvidia.prime = { offload = { enable = true; enableOffloadCmd = true; }; amdgpuBusId = "PCI:05:00:0"; nvidiaBusId = "PCI:01:00:0"; }; }; environment.systemPackages = [ ffcheck inputs.shelvacu.packages.x86_64-linux.sm64coopdx ] ++ (with pkgs; [ # Chat clients discord slack element-desktop telegram-desktop # Browsers firefox filezilla # Coding vscode kotlin rustup pyenv gcc nixd nixpkgs-fmt # Art and 3D inkscape gimp krita openscad-unstable bambu-studio # Multimedia vlc ffmpeg # Productivity obsidian ]); programs.steam = { enable = true; remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; }; programs.direnv = { enable = true; }; services.xserver = { enable = true; videoDrivers = [ "nvidia" ]; desktopManager = { cinnamon.enable = true; xterm.enable = false; }; }; services.displayManager = { defaultSession = "cinnamon"; }; services.tlp = { enable = true; }; services.fstrim = { enable = true; }; services.mullvad-vpn = { enable = true; package = pkgs.mullvad-vpn; # Include GUI }; promptEmoji = "💜"; time.timeZone = "America/Los_Angeles"; system.stateVersion = "24.05"; }