9 Commits

Author SHA1 Message Date
github-actions[bot]
bb4ffd96f5 automated: Update flake.lock
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 27s
Check Nix flake / Perform Nix flake checks (pull_request) Successful in 6m53s
Auto-generated by [update.yml][1] with the help of
[create-pull-request][2].

[1]: https://nayeonie.com/ahuston-0/nix-dotfiles/src/branch/main/.github/workflows/flake-update.yml
[2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
2026-03-22 12:14:34 +00:00
bfd766eddc Merge pull request 'fix ollama, remove trr' (#190) from feature/ollama into main
All checks were successful
Check flake.lock / Check health of `flake.lock` (push) Successful in 23s
Check Nix flake / Perform Nix flake checks (push) Successful in 2m52s
Update flakes / update_lockfile (push) Successful in 14m40s
Reviewed-on: #190
2026-03-21 23:45:01 -04:00
d3ba187c8a fix ollama, remove trr
All checks were successful
Check Nix flake / Perform Nix flake checks (pull_request) Successful in 3m41s
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 14s
2026-03-21 23:40:19 -04:00
aa20d15ab3 Merge pull request 'hotfix/revert-updates' (#189) from hotfix/revert-updates into main
All checks were successful
Check Nix flake / Perform Nix flake checks (push) Successful in 4m14s
Check flake.lock / Check health of `flake.lock` (push) Successful in 18s
Reviewed-on: #189
2026-03-21 21:44:18 -04:00
ee8883e6c1 add mco to router
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 8s
Check Nix flake / Perform Nix flake checks (pull_request) Successful in 6m8s
2026-03-21 20:25:32 -04:00
121d5ed892 remove python 3.12, remove kubelet since settings are not valid
All checks were successful
Check flake.lock / Check health of `flake.lock` (pull_request) Successful in 9s
Check Nix flake / Perform Nix flake checks (pull_request) Successful in 7m58s
2026-03-21 20:18:36 -04:00
2a4b19a048 cobblemon overclocked 2026-03-21 20:18:36 -04:00
acbda5c4c9 add zed, ollama, kubernetes 2026-03-21 20:18:36 -04:00
5c37ad035c add ollama 2026-03-21 20:18:36 -04:00
11 changed files with 342 additions and 88 deletions

66
flake.lock generated
View File

@@ -76,11 +76,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1773201798, "lastModified": 1774152686,
"narHash": "sha256-TZQwHvIBz9hr/fci/G/AIjPSKCMtxQm/xFm3MNJ/mVg=", "narHash": "sha256-RlEgsdHr9IQm79SsXKNT8iU+ZjjIOPTJXcatMqgSfwk=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "016edd132727d8ac364454a6b443ef46c2d1c7e4", "rev": "4c83dbe717272428562a33db817f492195e227ae",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -242,11 +242,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773179137, "lastModified": 1774135471,
"narHash": "sha256-EdW2bwzlfme0vbMOcStnNmKlOAA05Bp6su2O8VLGT0k=", "narHash": "sha256-TVeIGOxnfSPM6JvkRkXHpJECnj1OG2dXkWMSA4elzzQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "3f98e2bbc661ec0aaf558d8a283d6955f05f1d09", "rev": "856b01ebd1de3f53c3929ce8082d9d67d799d816",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -283,11 +283,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771502235, "lastModified": 1773993211,
"narHash": "sha256-aH8h5ZOiyEGtHmEyuE/eFxx8TN7a+NGDnl4V+dbzJ6E=", "narHash": "sha256-4J6vEtf7dIw3pZ/xM/dU7ECTmr8AsIIUQJba1B8wp5k=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "918f266dddae39fa4184a1b8bf51ec5381cf29f7", "rev": "43c012d21d9314c585b97ac4f34752f6de93dc8f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -337,11 +337,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772945408, "lastModified": 1774156144,
"narHash": "sha256-PMt48sEQ8cgCeljQ9I/32uoBq/8t8y+7W/nAZhf72TQ=", "narHash": "sha256-gdYe9wTPl4ignDyXUl1LlICWj41+S0GB5lG1fKP17+A=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "1c1d8ea87b047788fd7567adf531418c5da321ec", "rev": "55b588747fa3d7fc351a11831c4b874dab992862",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -417,11 +417,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1772972630, "lastModified": 1774018263,
"narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=", "narHash": "sha256-HHYEwK1A22aSaxv2ibhMMkKvrDGKGlA/qObG4smrSqc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72", "rev": "2d4b4717b2534fad5c715968c1cece04a172b365",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -440,11 +440,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773003096, "lastModified": 1773233796,
"narHash": "sha256-YVIoEualeMIrJ6eSFJE75iwyr8kE2/MTVCeKhAKBr/Q=", "narHash": "sha256-hpAVcTx1xQ7BVf9Y54kFDmjkj3pupEN6miweNXNdTeU=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "nixos-modules", "repo": "nixos-modules",
"rev": "586abeb940735af053f498e14a6ce4ce008e9760", "rev": "753e2d83eee3d259f9c7ab8cdc1933766d4761a5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -502,11 +502,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1772963539, "lastModified": 1773821835,
"narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", "narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9dcb002ca1690658be4a04645215baea8b95f31d", "rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -552,11 +552,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772893680, "lastModified": 1774104215,
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=", "narHash": "sha256-EAtviqz0sEAxdHS4crqu7JGR5oI3BwaqG0mw7CmXkO8=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9", "rev": "f799ae951fde0627157f40aec28dec27b22076d0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -596,11 +596,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773198218, "lastModified": 1774149071,
"narHash": "sha256-sxQV16GQrBEfrwuhYT9WvmFBnN8HakhRfR+JR+3qaTo=", "narHash": "sha256-SYp8NyzwfCO3Guqmu9hPRHR1hwESlQia5nNz3lYo2qA=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "e552b1d2850f5f0a739bba27c6463af1a29e2f4e", "rev": "6a031966eab3bfaa19be9e261eed5b8a79c04b18",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -616,11 +616,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1773096132, "lastModified": 1774154798,
"narHash": "sha256-M3zEnq9OElB7zqc+mjgPlByPm1O5t2fbUrH3t/Hm5Ag=", "narHash": "sha256-zsTuloDSdKf+PrI1MsWx5z/cyGEJ8P3eERtAfdP8Bmg=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "d1ff3b1034d5bab5d7d8086a7803c5a5968cd784", "rev": "3e0d543e6ba6c0c48117a81614e90c6d8c425170",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -650,11 +650,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1772296853, "lastModified": 1774124764,
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=", "narHash": "sha256-Poz9WTjiRlqZIf197CrMMJfTifZhrZpbHFv0eU1Nhtg=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf", "rev": "e31c79f571c5595a155f84b9d77ce53a84745494",
"type": "github" "type": "github"
}, },
"original": { "original": {

78
modules/kubernetes.nix Normal file
View File

@@ -0,0 +1,78 @@
{
config,
pkgs,
lib,
...
}:
{
options = {
services.kubernetes = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to enable Kubernetes services";
};
version = lib.mkOption {
type = lib.types.str;
default = "1.28.0";
description = "Kubernetes version to use";
};
clusterName = lib.mkOption {
type = lib.types.str;
default = "palatine-hill-cluster";
description = "Name of the Kubernetes cluster";
};
controlPlaneEndpoint = lib.mkOption {
type = lib.types.str;
default = "localhost:6443";
description = "Control plane endpoint";
};
networking = lib.mkOption {
type = lib.types.attrs;
default = { };
description = "Kubernetes networking configuration";
};
};
};
config = lib.mkIf config.services.kubernetes.enable {
environment.systemPackages = with pkgs; [
kubectl
kubernetes
];
# Enable containerd for Kubernetes
virtualisation.containerd.enable = true;
# Enable kubelet
#services.kubelet = {
# enable = true;
# extraFlags = {
# "pod-infra-container-image" = "registry.k8s.io/pause:3.9";
# };
#};
## Enable kubeadm for cluster initialization
#environment.etc."kubeadm.yaml".text = ''
# apiVersion: kubeadm.k8s.io/v1beta3
# kind: InitConfiguration
# localAPIEndpoint:
# advertiseAddress: 127.0.0.1
# bindPort: 6443
# ---
# apiVersion: kubeadm.k8s.io/v1beta3
# kind: ClusterConfiguration
# clusterName: ${config.services.kubernetes.clusterName}
# controlPlaneEndpoint: ${config.services.kubernetes.controlPlaneEndpoint}
# networking:
# serviceSubnet: 10.96.0.0/12
# podSubnet: 10.244.0.0/16
# dnsDomain: cluster.local
#'';
};
}

View File

@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
git
python312
];
}

View File

@@ -1,5 +1,4 @@
{ {
config,
lib, lib,
pkgs, pkgs,
... ...
@@ -78,7 +77,9 @@
}; };
}; };
users.users.alice.extraGroups = [ "calibre-web" ]; users.users = {
alice.extraGroups = [ "calibre-web" ];
};
system.stateVersion = "24.05"; system.stateVersion = "24.05";
@@ -86,6 +87,10 @@
"KWIN_DRM_NO_DIRECT_SCANOUT" = "1"; "KWIN_DRM_NO_DIRECT_SCANOUT" = "1";
}; };
#nixpkgs.config = {
# rocmSupport = true;
#};
sops = { sops = {
defaultSopsFile = ./secrets.yaml; defaultSopsFile = ./secrets.yaml;
#secrets = { #secrets = {

View File

@@ -16,6 +16,7 @@
candy-icons candy-icons
chromium chromium
chromedriver chromedriver
claude-code
croc croc
deadnix deadnix
direnv direnv

View File

@@ -17,6 +17,7 @@
./minio.nix ./minio.nix
./networking.nix ./networking.nix
./nextcloud.nix ./nextcloud.nix
./ollama.nix
#./plex #./plex
./postgresql.nix ./postgresql.nix
./samba.nix ./samba.nix
@@ -25,8 +26,10 @@
programs.git.lfs.enable = false; programs.git.lfs.enable = false;
nixpkgs.config.packageOverrides = pkgs: { nixpkgs.config = {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
}; };
boot = { boot = {
@@ -97,6 +100,13 @@
smartd.enable = true; smartd.enable = true;
calibre-server.enable = false; calibre-server.enable = false;
# Kubernetes example configuration
# To enable Kubernetes, uncomment the following:
# kubernetes = {
# enable = true;
# clusterName = "palatine-hill-cluster";
# controlPlaneEndpoint = "localhost:6443";
# };
}; };
nix.gc.options = "--delete-older-than 150d"; nix.gc.options = "--delete-older-than 150d";

View File

@@ -20,7 +20,7 @@
./nextcloud.nix ./nextcloud.nix
# ./postgres.nix # ./postgres.nix
# ./restic.nix # ./restic.nix
./torr.nix #./torr.nix
# ./unifi.nix # ./unifi.nix
]; ];

View File

@@ -12,6 +12,7 @@ let
rlcraft = "rlcraft.alicehuston.xyz"; rlcraft = "rlcraft.alicehuston.xyz";
arcanum-institute = "arcanum.alicehuston.xyz"; arcanum-institute = "arcanum.alicehuston.xyz";
meits = "meits.alicehuston.xyz"; meits = "meits.alicehuston.xyz";
cobblemon-overclocked = "mco.alicehuston.xyz";
# bcg-plus = "bcg.alicehuston.xyz"; # bcg-plus = "bcg.alicehuston.xyz";
pii = "pii.alicehuston.xyz"; pii = "pii.alicehuston.xyz";
}; };
@@ -80,7 +81,7 @@ in
# environmentFiles = [ config.sops.secrets."docker/minecraft".path ]; # environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
#}; #};
prominence-ii = { prominence-ii = {
image = "itzg/minecraft-server:java25-graalvm"; image = "itzg/minecraft-server:java25";
volumes = [ volumes = [
"${minecraft_path}/prominence-ii/modpacks:/modpacks:ro" "${minecraft_path}/prominence-ii/modpacks:/modpacks:ro"
"${minecraft_path}/prominence-ii/data:/data" "${minecraft_path}/prominence-ii/data:/data"
@@ -105,7 +106,7 @@ in
environmentFiles = [ config.sops.secrets."docker/minecraft".path ]; environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
}; };
stoneblock-4 = { stoneblock-4 = {
image = "itzg/minecraft-server:java25-graalvm"; image = "itzg/minecraft-server:java25";
volumes = [ volumes = [
"${minecraft_path}/stoneblock-4/modpacks:/modpacks:ro" "${minecraft_path}/stoneblock-4/modpacks:/modpacks:ro"
"${minecraft_path}/stoneblock-4/data:/data" "${minecraft_path}/stoneblock-4/data:/data"
@@ -127,7 +128,7 @@ in
environmentFiles = [ config.sops.secrets."docker/minecraft".path ]; environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
}; };
submerged-2 = { submerged-2 = {
image = "itzg/minecraft-server:java25-graalvm"; image = "itzg/minecraft-server:java25";
volumes = [ volumes = [
"${minecraft_path}/submerged-2/modpacks:/modpacks:ro" "${minecraft_path}/submerged-2/modpacks:/modpacks:ro"
"${minecraft_path}/submerged-2/data:/data" "${minecraft_path}/submerged-2/data:/data"
@@ -147,6 +148,28 @@ in
log-driver = "local"; log-driver = "local";
environmentFiles = [ config.sops.secrets."docker/minecraft".path ]; environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
}; };
cobblemon-overclocked = {
image = "itzg/minecraft-server:java25";
volumes = [
"${minecraft_path}/cobblemon-overclocked/modpacks:/modpacks:ro"
"${minecraft_path}/cobblemon-overclocked/data:/data"
];
hostname = "cobblemon-overclocked";
environment = defaultEnv // {
VERSION = "1.21.1";
CF_SLUG = "modified-cobblemon-overclocked";
CF_FILENAME_MATCHER = "1.11.2";
USE_AIKAR_FLAGS = "false";
USE_MEOWICE_FLAGS = "true";
DIFFICULTY = "hard";
ENABLE_COMMAND_BLOCK = "true";
INIT_MEMORY = "4G";
MAX_MEMORY = "16G";
};
extraOptions = defaultOptions;
log-driver = "local";
environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
};
}; };
sops = { sops = {

View File

@@ -0,0 +1,71 @@
{
pkgs,
...
}:
let
vars = import ./vars.nix;
in
{
services = {
ollama = {
enable = true;
package = pkgs.ollama;
syncModels = true;
loadModels = [
"gemma3"
"deepseek-r1:latest"
"deepseek-r1:1.5b"
"qwen3"
#"qwen3-coder-next"
"qwen3-coder"
"lennyerik/zeta"
"llama3.1:8b"
"qwen2.5-coder:1.5b-base"
"nomic-embed-text:latest"
];
models = vars.primary_ollama;
environmentVariables = {
FLASH_ATTENTION = "1";
OLLAMA_KV_CACHE_TYPE = "q8_0";
# Ollama memory configuration
OLLAMA_MAX_LOADED_MODELS = "2";
OLLAMA_MAX_QUEUE = "4";
OLLAMA_NUM_PARALLEL = "2";
# ROCm memory optimization
#HIP_VISIBLE_DEVICES = "0";
#ROCR_VISIBLE_DEVICES = "0";
# context length for agents
OLLAMA_CONTEXT_LENGTH = "64000";
};
openFirewall = true;
};
open-webui = {
enable = true;
port = 21212;
openFirewall = true;
};
};
users.users.ollama = {
extraGroups = [
"render"
"video"
];
group = "ollama";
isSystemUser = true;
};
users.groups.ollama = { };
systemd.services = {
ollama.serviceConfig = {
Nice = 19;
IOSchedulingPriority = 7;
};
ollama-model-loader.serviceConfig = {
Nice = 19;
CPUWeight = 50;
IOSchedulingClass = "idle";
IOSchedulingPriority = 7;
};
};
}

View File

@@ -19,4 +19,5 @@ rec {
primary_torr = "${zfs_primary}/torr"; primary_torr = "${zfs_primary}/torr";
primary_plex = "${zfs_primary}/plex"; primary_plex = "${zfs_primary}/plex";
primary_plex_storage = "${zfs_primary}/plex_storage"; primary_plex_storage = "${zfs_primary}/plex_storage";
primary_ollama = "${zfs_primary}/ollama";
} }

View File

@@ -1,51 +1,123 @@
{ pkgs, outputs, ... }: { pkgs, ... }:
{ {
programs.emacs = { programs = {
enable = true; emacs = {
package = pkgs.emacs30-pgtk; enable = true;
}; package = pkgs.emacs30-pgtk;
programs.vesktop = {
enable = true;
settings = {
appBadge = false;
arRPC = true;
checkUpdates = false;
customTitleBar = false;
hardwareAcceleration = true;
}; };
vencord.useSystem = true; vesktop = {
vencord.settings = { enable = true;
autoUpdate = false; settings = {
autoUpdateNotification = false; appBadge = false;
notifyAboutUpdates = false; arRPC = true;
plugins = { checkUpdates = false;
AnonymiseFileNames.enabled = true; customTitleBar = false;
BetterFolders.enabled = false; hardwareAcceleration = true;
BetterGifAltText.enabled = true; };
CallTimer.enabled = true; vencord.useSystem = true;
ClearURLs.enabled = true; vencord.settings = {
CopyFileContents.enabled = true; autoUpdate = false;
CtrlEnterSend.enabled = true; autoUpdateNotification = false;
CustomIdle = { notifyAboutUpdates = false;
enabled = true; plugins = {
remainInIdle = false; AnonymiseFileNames.enabled = true;
BetterFolders.enabled = false;
BetterGifAltText.enabled = true;
CallTimer.enabled = true;
ClearURLs.enabled = true;
CopyFileContents.enabled = true;
CtrlEnterSend.enabled = true;
CustomIdle = {
enabled = true;
remainInIdle = false;
};
FriendsSince.enabled = true;
GameActivityToggle.enabled = true;
ImplicitRelationships.enabled = true;
MutualGroupDMs.enabled = true;
QuickMention.enabled = true;
QuickReply.enabled = true;
ReplaceGoogleSearch = {
enabled = true;
customEngineName = "DuckDuckGo";
};
ReviewDB.enabled = true;
ShowConnections.enabled = true;
}; };
FriendsSince.enabled = true; };
GameActivityToggle.enabled = true; };
ImplicitRelationships.enabled = true; zed-editor = {
MutualGroupDMs.enabled = true; enable = true;
QuickMention.enabled = true; mutableUserSettings = false;
QuickReply.enabled = true; extensions = [
ReplaceGoogleSearch = { "nix"
enabled = true; "toml"
customEngineName = "DuckDuckGo"; "rust"
"java"
"kotlin"
"git firefly"
"make"
"dockerfile"
"sql"
"latex"
"terraform"
"log"
];
userSettings = {
colorize_brackets = true;
hard_tabs = false;
vim_mode = true;
minimap = {
show = "auto";
};
buffer_line_height = "comfortable";
auto_update = false;
autosave = "on_focus_change";
agent = {
default_model = {
provider = "ollama";
model = "qwen2.5-coder:latest";
};
favorite_models = [ ];
model_parameters = [ ];
};
telemetry = {
diagnostics = false;
metrics = false;
};
journal = {
hour_format = "hour24";
};
edit_preditions = {
provider = "open_ai_compatible_api";
open_ai_compatible_api = {
api_url = "http://localhost:11434/v1/completions";
model = "zeta:latest";
prompt_format = "infer";
max_requests = 64;
};
};
texlab = {
build = {
onSave = true;
forwardSearchAfter = true;
};
forwardSearch = {
executable = "zathura";
args = [
"--synctex-forward"
"%l:1:%f"
"-x"
"zed %%{input}:%%{line}"
"%p"
];
};
}; };
ReviewDB.enabled = true;
ShowConnections.enabled = true;
}; };
}; };
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
cmake cmake
shellcheck shellcheck