nix-config/hosts/odyssey/default.nix

118 lines
2.5 KiB
Nix

{ config, pkgs, ... }:
let
streamrip = pkgs.callPackage ../../pkgs/streamrip/package.nix { };
in
{
imports = [
./hardware-configuration.nix
../desktop.nix
];
nixpkgs = {
hostPlatform = "x86_64-linux";
config = {
allowUnfree = true;
nvidia.acceptLicense = true;
};
};
boot.loader = {
systemd-boot = {
enable = true;
graceful = true;
netbootxyz.enable = true;
};
efi.canTouchEfiVariables = true;
};
networking = {
hostId = "c5e68d78";
networkmanager.enable = true;
firewall.trustedInterfaces = [
"lxdbr0"
"virbr0"
]; # Work around https://github.com/NixOS/nixpkgs/issues/263359
};
virtualisation = {
libvirtd.enable = true;
lxd.enable = true;
};
services.nix-serve = {
enable = true;
secretKeyFile = "/var/cache-priv-key.pem";
};
services.nginx = {
enable = true;
recommendedProxySettings = true;
virtualHosts = {
"odyssey.mesh.vimium.net" = {
locations."/".proxyPass =
"http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}";
};
};
};
environment.systemPackages = [
streamrip
];
modules = {
programs = {
dev = {
node.enable = true;
};
emulators = {
gamecube.enable = true;
ps2.enable = true;
ps3.enable = true;
psp.enable = true;
wii.enable = true;
xbox.enable = true;
};
firefox.enable = true;
git.enable = true;
gpg.enable = true;
graphics = {
modeling.enable = true;
raster.enable = true;
vector.enable = true;
};
libreoffice.enable = true;
lutris.enable = true;
pass.enable = true;
neovim.enable = true;
qbittorrent.enable = true;
recording = {
audio.enable = true;
video.enable = true;
};
};
hardware.presonus-studio.enable = true;
services = {
borgmatic = {
enable = true;
directories = [
"/home/jordan/Documents"
"/home/jordan/Downloads"
"/home/jordan/Music"
"/home/jordan/Pictures"
"/home/jordan/projects"
"/home/jordan/Videos"
"/home/jordan/.mozilla"
];
repoPath = "ssh://iqwu22oq@iqwu22oq.repo.borgbase.com/./repo";
};
gitea-runner.enable = true;
};
shell = {
zsh.enable = true;
};
};
system.stateVersion = "22.11";
}