6 Commits

Author SHA1 Message Date
67a7e7a05d mvpf setup 2026-02-19 13:56:13 -05:00
d50f9a57c5 mvpf setup 2026-02-19 13:52:35 -05:00
78794f6394 mvpf setup 2026-02-19 13:51:47 -05:00
2e05330090 mvpf setup 2026-02-19 13:48:58 -05:00
2900ac7b29 mvpf setup 2026-02-19 13:47:24 -05:00
d084280b39 mvpf setup 2026-02-19 13:29:16 -05:00
8 changed files with 49 additions and 270 deletions

View File

@@ -1,78 +0,0 @@
{
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,4 +1,5 @@
{
config,
lib,
pkgs,
...
@@ -77,10 +78,7 @@
};
};
users.users = {
alice.extraGroups = [ "calibre-web" ];
};
users.groups.ollama = { };
users.users.alice.extraGroups = [ "calibre-web" ];
system.stateVersion = "24.05";
@@ -88,10 +86,6 @@
"KWIN_DRM_NO_DIRECT_SCANOUT" = "1";
};
#nixpkgs.config = {
# rocmSupport = true;
#};
sops = {
defaultSopsFile = ./secrets.yaml;
#secrets = {

View File

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

View File

@@ -17,7 +17,6 @@
./minio.nix
./networking.nix
./nextcloud.nix
./ollama.nix
#./plex
./postgresql.nix
./samba.nix
@@ -26,10 +25,8 @@
programs.git.lfs.enable = false;
nixpkgs.config = {
packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
};
boot = {
@@ -100,13 +97,6 @@
smartd.enable = true;
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";

View File

@@ -69,7 +69,6 @@ in
];
ports = [
"8081:8081"
"8083:8083"
];
environment = {
TZ = "America/New_York";

View File

@@ -1,53 +0,0 @@
{
pkgs,
...
}:
{
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"
];
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";
};
};
open-webui = {
enable = true;
port = 21212;
};
};
users.users.ollama = {
extraGroups = [
"render"
"video"
];
group = "ollama";
isSystemUser = true;
};
users.groups.ollama = { };
}

View File

@@ -32,9 +32,9 @@ docker:
sonarr: ENC[AES256_GCM,data:X/hM31ZyHybvy2eQzVnmq8CH1AqBgz1pxq7tKC4lZB3ryAbnEIJksffem8+35tWt/0r5cEH4aaIKD1kS7Q+Ma+8JrRLcWkt6CZq/wspz,iv:44FfdVpQCposXshzNe5DXAxExeQzjVKhkZaVbgKo8KU=,tag:WIWWUt1XBngUTwwqhCrcNw==,type:str]
lidarr: ENC[AES256_GCM,data:xERBECneutNUMZRrHukp8CaNrpI7SXUB16zUkauNP2+wto3eIc/K+2nMCkbwSC9AKlSjnUGSiORmAWn/jofTAuEzQljkCR1XCSkJRMmL,iv:iKf4fZtCfdjT/KuMFK5VFoLAV+Lll8uJowe9Q4cHyYw=,tag:xzmATTkrYRYm9Mw23zEO5g==,type:str]
jellyseerr: ENC[AES256_GCM,data:7dDfHFp8+WbJqrf7Ms/gmfroBePwegXh5CXn5FcOz8IEK7rTvr9KZfz9x/1BwdD8,iv:ZPi3OcMfH76A08piKY4P7hFbeMyouwBoeN5oL3ExzKU=,tag:oOZ37dy/y+DFqNRfAHexvQ==,type:str]
gluetun: ENC[AES256_GCM,data:ryhYVOYEZl5zDs+xMgbWI6q/Ei2AiNZJMxT/TcaHzTEocINgbczWk9GKeeZKno71vFXiF9/tPpYavLqvjWNL77doWDB+wiYrtBJ97PkQ70dqWntua9E8eCalYlIZpRbLsl5OA9ZHorIMPjjSB2CRYLCqq30PPi5I2TtRvs/g6LRUN4sZ/E2TTUjz7AEY7228ZEuHt1UkU+dY/jEbx6fwrm/ocP8xKvYUuAR1/Cx/z4N0mqmVl+FX/5dRSkmhpfAxO9ss898XKiJW4rewQIbG5ccYal+reZZr70TaEJQqg5KIfAnbp6dEjAsSXnRiEF801JXM0h+d14ECT4tQmdyvYBdCVnJ/Ibqw9D15cViHmeDbR68spqOCj67FSMKxgCVx4KFrxPOualsULX7RL/UbHq2cwyziSFkH4n2ljFlKohyj39F7EparJbiCOumNfhRWknDDwvXY+BjJhbAe19ccKP6QWrS68uBp0cTXqb0rVN/qlfz6Sj5EYj5M/u0rl6d5xctnKmOzfLjI2m5+E9WfDJaAUcP/Ihs+p2eD7aSQTIj+O7I66ju+UAz66D9ZoU1U3uVQ9gaPI5dOMmYdLKS3b19EVytwW2W13d0WXKIw5Vfb7MvFh9I0iPWq+ntL4jQzMYSwV5Y=,iv:Cy3h5I3vbqKORdqw91SHL4tRMeGHMLsXgQ0USJ2jtzk=,tag:0J/p1sUQfXR4ujjY7VzZuQ==,type:str]
gluetun-qbitvpn: ENC[AES256_GCM,data:3IdmuLvWs5YRQZuG9y1GRTMKMbR7OynUUVluezviDOV22EkABvo3Ic/+xZrWi/lzAhQRwRsCGjinlUJf7lBvPLg53HaIplbzSIyd3IPLbKzEVAK32WYB/M5cGNQW+XV8TiKK72HO8+WG588A0bsuvp/wQ86ohpRHVrnlboANLS3diCNXI3VdFIHPGpvM77TqB3/vo2AFLKjxi2es4l6KRam8cEUFAz0eH03tTUYaxy+ewA5IZCQSbMURLFKKdh0EATTG5jIz3jFp372fnk8UBgFPeH8+N9VHNM6rnV6zAsC2Vlj2E1YQRTRqOwSK0NRAAV5NBbr7zumS3VS0rVUpIbZVrW/C2BSAVbzowkHuo5o1B7UFsryb3s2FJJGF2biaDoL+ijM5a0Qi4LfNeaSLNKrzaTin0wYq8rPrQKOUBZL4t6FsRbG7KHmfwM4uYdWqV5h1syjI9WWReuePVb416YvqSH9p8HhNsDTka8IGgYkHcYAXYuuxUc6sgQONBwrsdeN5Dhq1IedhuOW+3qAV+hHl8qmVgiWZ8Ss+nmo016nsikifEp08N7J8t3f86/SFZO+YMBxQ/K9PJLsJzR2jsBcf2aTlq0cuzXDvb4cMtro=,iv:N9zdyKJDsj049j5hZOSnAkS/VTWlC3crTODJKIpYYko=,tag:uYHq3CZj0P/BAv+0Ak5ZEw==,type:str]
gluetun-qbitperm: ENC[AES256_GCM,data:kzSrILs78UkzNeAvxoDU3QsLKdapQNyQW9nq0it+7HhhwDQ0MJB1s2Ek8zKErTatpwzG8xiUK0HwX5hFLgNZYc+OE0CH4PUrgX1t6dykuPLD2rKQL7veElNgqhX0/39xNyopyJk2UMVFNSqoV1DCC/ja9MqX9+jBYk++7DeX7v1Gl1ntjzJ+zIscg0nOTN1eQAHtiOWtFU0COC/aA8KS+HLIsMkjrIk9UD4C/DE8AOS07s+gDxPRtl6L7324FRqjEHNyxAobWOOLeG711RZcskF7dlminVJu4aVGbBwIy/zDdHFxRwO6yaLr/AqrTlRVOa2O8Qu2Ydpv8ZNj2F6fHrVNNmVwvMEKYibV6oMVo72uT+DTz/mFaYuTUeuJfkdCy7tnQYhBnpbd5J4mKfVb8uOF9Tx02kL2fTFKyvtET3nrtakQUjv8mEqHn4F8136O2JvUBN5RmC3B3vRdFjYgdfwy8hUT9b0Cmi8w0Zzs+XGMRdvWv2g6b5fmlAn0K+a0KB1fdDLhvbIXhY+sYzR3yOH01K0lW3xVdnl1eMIFjZkUGRTi32HyCYb0SUA1EcXmtA4XmyZ6HHFEXFA5y2guVqU4xLyXXldM+lGB7yGLMcM=,iv:kuueHxYafrEdyBxGUBoU2ks7kdr/rWMnXZmE3Kx/iK4=,tag:bNIfP3H5/Kh3ofuCGGx5Hg==,type:str]
gluetun: ENC[AES256_GCM,data:PV6SWwKfpC77fVvF9Pss8WFgLVA569h3PR9wLw6BkcNXKNA301qttV160FR5SeeNrvX1UtF3r4OclJ2ja0EXeiRRUXE/tHhY7aosAZoF7mwea+BcgQagwBqfP0LRMni/cKWP8UKnhyEXYt8aR0JfYCqEf+XcjX+9cljPnb7/OpmcDe0XmNYI2I2fKAmKjjKbbxX1o51P1N5gSWwKb/6FTeEaKI1k0JgCS8HcEnl1pzuMUA1bk18y7PTNhSSJWOBoovnShDYo/8/nJJN8qXFbdlC+NQfRMe9s8rkZPnHVEzLQVHxCgrYEDZCrjLydc0FTFqeb4eOhekCWkjsoK0HEYc28sa65LHhJ5t4U/tB5iIyWGSQAaqjH0wnAniqaCPpxJ1Se7aPiQlKvYYJjM7T8ZK3tQsRJzuD7NRF9/kZuLPgOV3ZtIAO4haI=,iv:UmXk+/QSeSdgtqwNTumWbu2vq8Blehc3wKWMTK1g+g8=,tag:a0v7YLBAfEkG9FBpSoZRGQ==,type:str]
gluetun-qbitvpn: ENC[AES256_GCM,data:2K39qItMm27Tso3jyYsju8kZwfeJGLKCLnuMbjnfvHtRuOzeFgBDmGHOPdNo6uw8W5XUEqlPVf2exp60S5xjEwNsoRNlPCtm5848yVtvgODcrU3icZ99GW/3qO5pO9r9VlTPQ15j9XhyYS0HpmBF7EzjLND/ph86MqfG4+v1R685i99+9uRmQwa+Z3ueEQ23DWdZMwyu8F2Vspz4MIMUA1hvJvgVOgGV7aNNKX3bbwu9w3wS+DlRgQk2NzON2SzK0pFRSfTgCQDSPQviZrdsn87k8s64X0XkhyJ4mSxtsyMPE6YYI0zlbL8TX2LO4r+iqGHrEiT8BezAKsCk1fOk+7WceHKbaQ6DBegG/iIq5EkZdIKcEWdLaeWxT1hXiMYeaF7+U+7iW8I7CDw3VT/n574HJFhljDfwwIw9KB3LGgKP7EB7fhzxqjfwl/RQWd4O5sNeTWdXDno/8Kh23hE3gvXaL+HuBOsMfE2qz7sQsRHuwGSjoHD1kD4CO8Ttyi72tZFp4z6//3rII/ZsvLvVjzu4BHi3elorcPIRRQQL0PhgHFufspcm9Plyt9GOSglHglKFNIb4DRyWlu8XPAhXYYjUD7023QmB7/s/Garq6LE6zCd9ctqX4uOPTz1eNL5nC6kfmvf+,iv:niYMaxvUFf3WAC4lfp/+RNZcVB/23bbBW1zTt6ckVpA=,tag:SR0pvk2PqZwDgPFqEuNAjw==,type:str]
gluetun-qbitperm: ENC[AES256_GCM,data:+qTTbkuTVANLyUlD8QWedt8+yV0kUcAc7354RxhfV15Vedjxpx5wtw2+kvWXi4KAP2udEbq1hssWBY6SsLQb50QD7S8pcsqh73m0mDmLYLXzDSU+8YXXFjPL8Jgndpz755W7n50rzLmKPSzfZADU6tj0+/kp4+V6Jv5q6fV/01liqfULhwCuqNeB4s52odbos4DjpLS0685jD1sPX3SpIg5oNwlyldXOrvQdZto1voViVRYt7LkSfPCnEuN5PzJ4HwJm5i48KrRSBLKqZ0lwjb4qbVzrN/yerCDv8o8WANL0+/aWMjsdYZgFxtc6Uk9ieRdF6+z60q0j3Y2fGabcTPeyZQx1XJZIDBRApYWEGKDApI5zffGEQs2Ji3AvaSn9IIx9v3F9fIC0J/IZm7mDYB8gecq3SvrvW3SfYAMhV334nRjquPc+1ggHO9QAt3DEBLQkVkwWW5SCYkZQvuI0U8vHsIuyuW9EDLqefT1UkvUVAgZ/8YnlRcXQvEd6mBkYxox5dfkEzRhj78OxLH+3WcvrbOMubJ26s1K8HpnLCVzpRUUXVa1pTL37SaZ0wRVmFAxSkEzuW/yCf+UFmAtTuSKz4D4Cjl2+z+Jp+PwlzptbKlWCCuVC1UdP0DP7k16rZ1SSSYEY,iv:Z4lMTlN4hBGIitRkdbzcQnngnikEf3I0DA/+8V1XsEc=,tag:C8Y19kBsHdXc05xBEiV2tQ==,type:str]
acme:
bunny: ENC[AES256_GCM,data:P2yROVUga9mORcq8VR/l0i4/2Vod1zvlYq+ZJLLNKow0SpblkwQX/i1ucQYAOkTTRddN+3C+t0zj1rMWkdLoaLjEUJJi3VsSxi+chV2FFiVKFQGEcg24,iv:aQvGgGLsgRGoEmwTgZHR8Jm/MYxmGtVTT/fZKaTLeMs=,tag:m3ssF4O8qs4yxvMu6yUcjw==,type:str]
dnsimple: ENC[AES256_GCM,data:37FKyBibFtXZgI4EduJQ0z8F+shBc5Q6YlLa3YkVPh9XuJVS20eybi75bfJxiozcZ9d+YRaqcbkBQCSdFOCotDU=,iv:oq3JjqbfAm2C4jcL1lvUb2EOmnwlR07vPoO8H0BmydQ=,tag:E3NO/jMElL6Q817666gIyg==,type:str]
@@ -53,8 +53,8 @@ sops:
cXNZWmZqd0R0SmhINExscHBKWmxvblUKEFEQvt/zQFARba4S8vHz/1SoKdKg69At
LZ58XQGOmlGbBhPr7EzYQ2XSY4flWbnnD174cmCR8DNFm15DsNA5fw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-01-17T01:50:50Z"
mac: ENC[AES256_GCM,data:8TGSqwEcfmrW1PjuzTVNyDTNs6s3oWbT0tI+rg7u2w5Dcw1EEU+SjJ6VpNY06AZHTjSD6E0O7NzUxybtMpslHUGitOGWwQCk+sbqRJuUseFe7bWFboEVoJpEoYGN5pnn52opMT+NeHGkXumaxjhDjCxfwn1RBHR7TgD4ZHEH6pE=,iv:szBUnn3HL/osWhmTwYmHrUghobWdBR60Lc6uUD/eGMY=,tag:6vgdJeJjL4ZYKc8WjixClg==,type:str]
lastmodified: "2026-02-19T18:52:34Z"
mac: ENC[AES256_GCM,data:c/rbSil5+IMpMsgqkGL2ycHOKiP0ml8MUB5PH40C1QimW7WYgjDg9lWpoLvn3fFrFEzHrt1gls23ImYCrrbNPlUEQQm69bV0I9tm6J0MiyFkxVPqrzLZdp6wn2l2ThwuAfLp674ZpltJuWHnHxusbW892QaVlGtQpN0yHSW57H0=,iv:37DbNJYIN3UIPmUinFJ6taO/INI4/wvCda/ARi70NFc=,tag:pQIPXRJWWu3I0zFY+ATSZg==,type:str]
pgp:
- created_at: "2024-11-28T18:56:39Z"
enc: |-

View File

@@ -1,123 +1,51 @@
{ pkgs, ... }:
{ pkgs, outputs, ... }:
{
programs = {
emacs = {
enable = true;
package = pkgs.emacs30-pgtk;
programs.emacs = {
enable = true;
package = pkgs.emacs30-pgtk;
};
programs.vesktop = {
enable = true;
settings = {
appBadge = false;
arRPC = true;
checkUpdates = false;
customTitleBar = false;
hardwareAcceleration = true;
};
vesktop = {
enable = true;
settings = {
appBadge = false;
arRPC = true;
checkUpdates = false;
customTitleBar = false;
hardwareAcceleration = true;
};
vencord.useSystem = true;
vencord.settings = {
autoUpdate = false;
autoUpdateNotification = false;
notifyAboutUpdates = false;
plugins = {
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;
vencord.useSystem = true;
vencord.settings = {
autoUpdate = false;
autoUpdateNotification = false;
notifyAboutUpdates = false;
plugins = {
AnonymiseFileNames.enabled = true;
BetterFolders.enabled = true;
BetterGifAltText.enabled = true;
CallTimer.enabled = true;
ClearURLs.enabled = true;
CopyFileContents.enabled = true;
CtrlEnterSend.enabled = true;
CustomIdle = {
enabled = true;
remainInIdle = false;
};
};
};
zed-editor = {
enable = true;
mutableUserSettings = false;
extensions = [
"nix"
"toml"
"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"
];
};
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;
};
};
};
home.packages = with pkgs; [
cmake
shellcheck