This commit is contained in:
Aly Raffauf 2024-03-07 01:40:43 -05:00
commit b166457e37
6 changed files with 53 additions and 35 deletions

View file

@ -26,11 +26,11 @@
]
},
"locked": {
"lastModified": 1709677162,
"narHash": "sha256-nIXa0KM3FOVjD3XDDigW12qktQvLG+uKuPg00rjIX/8=",
"lastModified": 1709764752,
"narHash": "sha256-+lM4J4JoJeiN8V+3WSWndPHj1pJ9Jc1UMikGbXLqCTk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "bdea159ffab9865f808b8d92fd2bef33521867b2",
"rev": "cf111d1a849ddfc38e9155be029519b0e2329615",
"type": "github"
},
"original": {
@ -88,11 +88,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1709479366,
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
"lastModified": 1709703039,
"narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
"rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d",
"type": "github"
},
"original": {

View file

@ -103,7 +103,7 @@
./system
./users/aly
./desktop/gnome
./modules/virtualization
./modules/homelab
./modules/steam
./modules/via-qmk
./modules/logitech

View file

@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
imports =
@ -10,13 +10,23 @@
./hardware-configuration.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "mauville"; # Define your hostname.
system.autoUpgrade = {
allowReboot = lib.mkForce true;
dates = lib.mkForce "weekly";
operation = lib.mkForce "boot";
};
# Delete generations older than 14 days.
nix.gc = {
options = lib.mkForce "--delete-older-than 14d";
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave

View file

@ -8,23 +8,28 @@
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/ed744c02-8854-4f1a-8e75-ed15f02775e3";
{ device = "/dev/disk/by-uuid/c4217c88-3101-434b-8321-58e2ac89527c";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/37BB-86B6";
{ device = "/dev/disk/by-uuid/3445-B2A0";
fsType = "vfat";
};
fileSystems."/mnt/Media" =
{ device = "/dev/disk/by-uuid/f7e9e6d6-2bf6-429a-aaf0-49b55d53fc83";
fsType = "ext4";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/7a33dbc2-73f7-490b-9aa6-382e119a997e"; }
[ { device = "/dev/disk/by-uuid/26094ada-7ba4-4437-bacb-b3cdf6c3397b"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
@ -32,8 +37,8 @@
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,36 +1,36 @@
{ config, pkgs, ... }:
{
imports = [
../virtualization
];
# Open TCP ports for audiobookshelf, plex-server, and transmission-server.
networking.firewall.allowedTCPPorts = [ 13378 32400 9091 ];
networking.firewall.allowedTCPPorts = [ 51413 13378 32400 9091 ];
networking.firewall.allowedUDPPorts = [ 51413 ];
virtualisation = {
podman = {
enable = true;
# Create a `docker` alias for podman, to use it as a drop-in replacement
dockerCompat = true;
# Required for containers under podman-compose to be able to talk to each other.
defaultNetwork.settings.dns_enabled = true;
};
oci-containers = {
backend = "podman";
};
oci-containers.containers = {
audiobookshelf = {
ports = ["0.0.0.0:13378:80"];
image = "ghcr.io/advplyr/audiobookshelf:latest";
volumes = [
"/mnt/Media:/Media"
];
};
plex-server = {
ports = ["0.0.0.0:32400:32400"];
image = "plexinc/pms-docker:public";
volumes = [
"/mnt/Media:/Media"
];
};
transmission-server = {
ports = ["0.0.0.0:9091:9091"];
ports = ["0.0.0.0:9091:9091" "0.0.0.0:51413:51413"];
image = "linuxserver/transmission:latest";
# volumes = [
# "/home/aly/transmission:/config"
# ];
volumes = [
"/mnt/Media:/Media"
];
};
};
};

View file

@ -18,5 +18,8 @@
# Required for containers under podman-compose to be able to talk to each other.
defaultNetwork.settings.dns_enabled = true;
};
oci-containers = {
backend = "podman";
};
};
}