fix: add kubectl, update charts

This commit is contained in:
2025-12-22 19:01:27 -08:00
parent 01294f3b8c
commit 560609426f
12 changed files with 38 additions and 61 deletions

14
nix/homelab/flake.lock generated
View File

@@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1743598667, "lastModified": 1766150702,
"narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=", "narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6", "rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -22,16 +22,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1743964447, "lastModified": 1766201043,
"narHash": "sha256-nEo1t3Q0F+0jQ36HJfbJtiRU4OI+/0jX/iITURKe3EE=", "narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "063dece00c5a77e4a0ea24e5e5a5bd75232806f8", "rev": "b3aad468604d3e488d627c0b43984eb60e75e782",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View File

@@ -11,6 +11,7 @@
inputs@{ inputs@{
nixpkgs, nixpkgs,
disko, disko,
...
}: }:
let let
nodes = [ nodes = [
@@ -33,11 +34,17 @@
inherit inputs; inherit inputs;
}; };
modules = [ modules = [
{
networking.firewall.enable = false;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
}
disko.nixosModules.disko disko.nixosModules.disko
../modules/keys.nix ../modules/keys.nix
./nodes/${node.name}/configuration.nix ./nodes/${node.name}/configuration.nix
./nodes/${node.name}/hardware-configuration.nix ./nodes/${node.name}/hardware-configuration.nix
./nodes/${node.name}/disk-config.nix
]; ];
}; };
}) nodes }) nodes

View File

@@ -5,15 +5,9 @@ repositories:
url: https://jellyfin.github.io/jellyfin-helm url: https://jellyfin.github.io/jellyfin-helm
releases: releases:
- name: longhorn
namespace: longhorn-system
chart: longhorn/longhorn
version: 1.8.1
values:
- values/longhorn-values.yaml
- name: jellyfin - name: jellyfin
namespace: media namespace: media
chart: jellyfin/jellyfin chart: jellyfin/jellyfin
version: 2.3.0 version: 2.7.0
values: values:
- values/jellyfin.yaml - values/jellyfin.yaml

View File

@@ -1,13 +1,5 @@
ingress:
enabled: true
anontations:
traefik.ingress.kubernetes.io/router.entrypoints: web
hosts:
- host: jellyfin.local
paths:
- path: /
pathType: ImplementationSpecific
persistence: persistence:
config:
size: 5gi
media: media:
size: 10Gi size: 5Gi

View File

@@ -1,6 +0,0 @@
ingress:
enabled: true
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: "web"
host: longhorn.local
path: /

View File

@@ -8,13 +8,14 @@
{ {
imports = [ imports = [
./disk-config.nix
]; ];
boot.loader.grub = { boot.loader.grub = {
enable = true; enable = true;
efiSupport = true; efiSupport = true;
efiInstallAsRemovable = true; efiInstallAsRemovable = true;
device = "/dev/nvme0n1"; device = "/dev/vda";
}; };
networking.hostName = meta.hostname; networking.hostName = meta.hostname;
@@ -31,10 +32,10 @@
role = "server"; role = "server";
tokenFile = /var/lib/rancher/k3s/server/token; tokenFile = /var/lib/rancher/k3s/server/token;
clusterInit = true; clusterInit = true;
extraFlags = toString ([ extraFlags = toString [
"--write-kubeconfig-mode \"0644\"" "--write-kubeconfig-mode \"0644\""
"--disable local-storage" # "--disable local-storage"
]); ];
}; };
services.openiscsi = { services.openiscsi = {

View File

@@ -2,11 +2,15 @@
disko.devices = { disko.devices = {
disk = { disk = {
disk1 = { disk1 = {
device = "/dev/nvme0n1"; device = "/dev/vda";
type = "disk"; type = "disk";
content = { content = {
type = "gpt"; type = "gpt";
partitions = { partitions = {
boot = {
type = "EF02";
size = "1M";
};
ESP = { ESP = {
type = "EF00"; type = "EF00";
size = "1G"; size = "1G";

View File

@@ -1,34 +1,17 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ { config, lib, pkgs, modulesPath, ... }:
config,
lib,
pkgs,
modulesPath,
...
}:
{ {
imports = [ ]; imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
boot.initrd.availableKernelModules = [
"ata_piix"
"uhci_hcd"
"ehci_pci"
"nvme"
"sr_mod"
]; ];
boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
# (the default) this is the recommended approach. When using systemd-networkd it's boot.initrd.kernelModules = [ ];
# still possible to use this option, but it's recommended to use it in conjunction boot.kernelModules = [ "kvm-amd" ];
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. boot.extraModulePackages = [ ];
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens33.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
} }

View File

@@ -73,6 +73,7 @@
alsa-lib alsa-lib
waypipe waypipe
tea tea
kubectl
]; ];
programs.nix-ld.enable = lib.mkDefault true; programs.nix-ld.enable = lib.mkDefault true;
programs.zsh.enable = lib.mkDefault true; programs.zsh.enable = lib.mkDefault true;

View File

@@ -23,6 +23,7 @@ in
export PATH="$GOBIN:$PATH" export PATH="$GOBIN:$PATH"
export PATH="$HOME/.cache/.bun/bin:$PATH" export PATH="$HOME/.cache/.bun/bin:$PATH"
alias cat="bat" alias cat="bat"
alias k="kubectl"
'' ''
+ "\n" + "\n"
+ aliases; + aliases;