Files
nixos/hosts/marauder/default.nix
2024-08-06 14:58:30 -06:00

136 lines
2.3 KiB
Nix
Executable File

{ self, pkgs, ... }:
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 = 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
openscad-unstable
bambu-studio
# Multimedia
vlc
ffmpeg
ffcheck
# 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;
};
promptEmoji = "💜";
time.timeZone = "America/Denver";
system.stateVersion = "24.05";
}