Compare commits
30
Commits
81a7e80360
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
437697cbd5 | ||
|
|
367c4bde11 | ||
|
|
af50f7f39d | ||
|
|
627c848d1d | ||
|
|
09b138391b | ||
|
|
0aa0cc0e0d | ||
|
|
5d9cd9d835 | ||
|
|
656fc82d7f | ||
|
|
f37b4db130 | ||
|
|
52c6a60404 | ||
|
|
f7c68efe3d | ||
|
|
07c53ac387 | ||
|
|
0ea3a46059 | ||
|
|
b4443ea131 | ||
|
|
e47eef6e56 | ||
|
|
f4ac164633 | ||
|
|
b14d48b3e2 | ||
|
|
3475d0cde1 | ||
|
|
65d251504a | ||
|
|
2b24333e3f | ||
|
|
8d0589e157 | ||
|
|
bb549a8ad9 | ||
|
|
9ab0508157 | ||
|
|
ca6e2b5a57 | ||
|
|
ce139a1eec | ||
|
|
679d18b278 | ||
|
|
b4f0765591 | ||
|
|
01753a10f6 | ||
|
|
125edfb31b | ||
|
|
58a47d94fb |
No files matched your search
@@ -0,0 +1,5 @@
|
||||
## Me
|
||||
|
||||
[mcp_servers.nixos]
|
||||
command = "nix"
|
||||
args = ["run", "github:utensils/mcp-nixos", "--"]
|
||||
@@ -1,3 +1 @@
|
||||
- Evaluate Plasma Manager when Plasma 6.7 support improves
|
||||
- Review system-wide package list periodically
|
||||
- Add additional hosts
|
||||
Generated
+32
-31
@@ -37,11 +37,11 @@
|
||||
"sf-pro": "sf-pro"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787373040,
|
||||
"narHash": "sha256-mSpL69LSAA/+cQx+v9tC2XC/DD7cUepUmhiMx0/Hw64=",
|
||||
"lastModified": 1789419105,
|
||||
"narHash": "sha256-T5A/AqlF4iL908aIZh45e35Mvj8lTJKq8ddS5bk7nd8=",
|
||||
"owner": "Lyndeno",
|
||||
"repo": "apple-fonts.nix",
|
||||
"rev": "69f20e9ba294420e4b6407a827c6b5aea3afcc12",
|
||||
"rev": "3861e2249cb244bfbc7cfab2303c152cf5f9d9e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -96,15 +96,16 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1784665499,
|
||||
"narHash": "sha256-9BMxlTxCCDAeoNLtb1a/st7udtTIJep+wpUzquA29VU=",
|
||||
"owner": "nix-community",
|
||||
"lastModified": 1788011267,
|
||||
"narHash": "sha256-mEq2kU+ljompTToZ44Afvm7d/rHJ5iMBl0tjZuyShJs=",
|
||||
"owner": "Mic92",
|
||||
"repo": "bun2nix",
|
||||
"rev": "0f2a1f0b6f42cebe3b149bf62d38754c5e0e9729",
|
||||
"rev": "5765b0614591f75ee8ba5596e81ae85c167d1071",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"owner": "Mic92",
|
||||
"ref": "fix-structured-attrs-hook",
|
||||
"repo": "bun2nix",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -161,11 +162,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787559586,
|
||||
"narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
|
||||
"lastModified": 1788450739,
|
||||
"narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
|
||||
"rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -220,11 +221,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787680808,
|
||||
"narHash": "sha256-9168tNt0NZdtlx5RM5huEuc9NCWMLACJA9O4UK/l2Zc=",
|
||||
"lastModified": 1789978077,
|
||||
"narHash": "sha256-p/e37FfVifxJQJM7OiiVbUXdpj6eXmOJk34TKLKyYe4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "6840c9a8f50722944eb106ce8bb237c138584f2a",
|
||||
"rev": "a26f7158fbc4aa740fcc7fa79a01e1ed29910bc2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -242,11 +243,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787704590,
|
||||
"narHash": "sha256-WxaT4eXm7WynrXjyi8XZHVD8y7bEE086AFa0zTtxy6A=",
|
||||
"lastModified": 1789987094,
|
||||
"narHash": "sha256-jzlT1EofmNifqUjpiSJMPbm/GiU17r65WUi44Kfkmdc=",
|
||||
"owner": "numtide",
|
||||
"repo": "llm-agents.nix",
|
||||
"rev": "4c7c50e9c7aab5a1fbc8d4e26d196a76fde00fc3",
|
||||
"rev": "7c0157f864d113d9f0ce324a78496de6da6e7e07",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -276,11 +277,11 @@
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1787708809,
|
||||
"narHash": "sha256-g8nkh08udC9gGpHnSb10+yjaw7Ie3bxCz2VmDy1XjRM=",
|
||||
"lastModified": 1789964597,
|
||||
"narHash": "sha256-L+tPmy48VrsS/qVrj504pETaGEcVFMs1QpU5kKpBo0U=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "60132c95fbfebfc9db33217b4eca3b921ff98d38",
|
||||
"rev": "fa4ec37adf8d8c725bfd8915c497ed41c7cb0f70",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -322,11 +323,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1787424095,
|
||||
"narHash": "sha256-dWLO5AHhKaw6rdWCtTes8hnntT1r0/J5yhQGm0f0ZgU=",
|
||||
"lastModified": 1789813231,
|
||||
"narHash": "sha256-dsU+UU4X3ND95E/O6Z33qK5jPxIeB/7akn/+NfAk+nY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "174eb786fb68e3a13e4e535a3deea479a0c07a6a",
|
||||
"rev": "c80073788adf88abfdc443465311f00e7a231600",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -354,11 +355,11 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1787498568,
|
||||
"narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
|
||||
"lastModified": 1789785513,
|
||||
"narHash": "sha256-B44WL6h0XoLjJ41bUPJk0X5SDinLCII//6EcBLXKiJ0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
|
||||
"rev": "20b1ddd1aa5ace70c9468305030aa4f9ef79671b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -444,7 +445,7 @@
|
||||
"sf-compact": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-83JwqfF9O4+gemMQXWHLRg2GNz2jHxsej1F1IkM2dug=",
|
||||
"narHash": "sha256-KjCzuJOrNxgptsMLGaR8wcrU/bBxCpwtUGzGDcCxJTc=",
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
|
||||
},
|
||||
@@ -492,7 +493,7 @@
|
||||
"sf-pro": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"narHash": "sha256-vINUEMyFmNzZRBOX2aQ4heScWur6RyA/MPmsqlMPIx4=",
|
||||
"narHash": "sha256-dvGLO786y9ygKRSKDJlhIF6AGmn2NTJ5tBulKinPRxY=",
|
||||
"type": "file",
|
||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
|
||||
},
|
||||
@@ -508,11 +509,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1786706192,
|
||||
"narHash": "sha256-NViIxuTn4VA6w5JPpzamwkCnFUmhFc4CFMemIKsC/B8=",
|
||||
"lastModified": 1789899222,
|
||||
"narHash": "sha256-B00sDpFqhTYuVQIesCdR7GeYJFNogz5U1VmJlSEJnmc=",
|
||||
"owner": "wimpysworld",
|
||||
"repo": "sidra",
|
||||
"rev": "8ace425cda0f462acc7a00ada1e71f87aa30c2cf",
|
||||
"rev": "ebba6a85eadd15de9d324503b012f84bf5eaf4ce",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -5,7 +5,9 @@ let
|
||||
in
|
||||
{
|
||||
home.packages = with agents; [
|
||||
antigravity-cli
|
||||
codex
|
||||
codex-acp
|
||||
claude-code
|
||||
claude-agent-acp
|
||||
];
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./git.nix
|
||||
@@ -7,12 +8,14 @@
|
||||
programs.home-manager.enable = true;
|
||||
programs.btop.enable = true;
|
||||
|
||||
# Per-project toolchain resolution (nix-shell / flake devShell), used by
|
||||
# nixvim's LSP servers so they don't need language toolchains installed globally.
|
||||
# Per-project toolchain resolution through nix-shell / flake devShell.
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
fastfetch
|
||||
];
|
||||
|
||||
home.stateVersion = "25.11";
|
||||
}
|
||||
@@ -3,9 +3,6 @@
|
||||
programs.btop.package = pkgs.btop.override { cudaSupport = false; rocmSupport = true; };
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# --- Base y Terminal ---
|
||||
vim
|
||||
fastfetch
|
||||
nvtopPackages.full
|
||||
];
|
||||
}
|
||||
@@ -5,6 +5,7 @@
|
||||
./hardware-configuration.nix
|
||||
../../modules/profiles/desktop.nix
|
||||
../../modules/profiles/server.nix
|
||||
../../modules/services/ollama.nix
|
||||
../../modules/services/samba.nix
|
||||
../../modules/system/home-profile.nix
|
||||
../../modules/system/nix-ld.nix
|
||||
@@ -36,7 +37,7 @@
|
||||
hostName = "miku-homelab";
|
||||
useNetworkManager = true;
|
||||
staticIp = {
|
||||
interface = "enp6s0";
|
||||
interface = "enp9s0";
|
||||
address = "10.1.1.21";
|
||||
prefixLength = 24;
|
||||
gateway = "10.1.1.1";
|
||||
@@ -67,7 +68,7 @@
|
||||
extraGroups = [ "plugdev" "networkmanager" "wheel" "video" "mikushare-group" "render" ];
|
||||
authorizedKeys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA8vfwM5g9RJXqHtqTgNqsYg9SxSm+UMvFqTjBoAsLJ6 emmatherock@MAIN-PC"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIpTslcK0yQ6k+h8foNl17wVRyJUfEGzq7f1h3014WNB s21 plus"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO6pnKpUEaeoNXqlenc8MAz1GG8P6BRILyIHMSLtvdeF termius"
|
||||
];
|
||||
};
|
||||
serviceUsers.mikushare = {
|
||||
@@ -110,7 +111,35 @@
|
||||
plymouth.enable = true;
|
||||
initrd.kernelModules = [ "amdgpu" ];
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "iommu=pt" ];
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
"splash"
|
||||
"boot.shell_on_fail"
|
||||
"loglevel=3"
|
||||
"iommu=pt"
|
||||
"zswap.enabled=1"
|
||||
"zswap.compressor=zstd"
|
||||
"zswap.max_pool_percent=20"
|
||||
"zswap.zpool=zsmalloc"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/dev/disk/by-label/optane-swap-1";
|
||||
priority = 50;
|
||||
}
|
||||
{
|
||||
device = "/dev/disk/by-label/optane-swap-2";
|
||||
priority = 50;
|
||||
}
|
||||
];
|
||||
|
||||
zramSwap = {
|
||||
enable = true;
|
||||
algorithm = "zstd";
|
||||
memoryPercent = 50;
|
||||
priority = 100;
|
||||
};
|
||||
|
||||
time.timeZone = "America/Argentina/Buenos_Aires";
|
||||
@@ -146,7 +175,7 @@
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.ethtool}/bin/ethtool -K enp6s0 rx-udp-gro-forwarding on rx-gro-list on";
|
||||
ExecStart = "${pkgs.ethtool}/bin/ethtool -K enp9s0 rx-udp-gro-forwarding on rx-gro-list on";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
};
|
||||
|
||||
+15
-1
@@ -11,6 +11,10 @@
|
||||
|
||||
age.secrets.vps-wg.file = ../../secrets/vps-wg.age;
|
||||
|
||||
myHomeProfile.extraPrograms = [
|
||||
../../home/emmatherock/agents.nix
|
||||
];
|
||||
|
||||
myNetworking = {
|
||||
hostName = "vps";
|
||||
useNetworkManager = false;
|
||||
@@ -37,6 +41,10 @@
|
||||
publicKey = "bqxDHQNxOSFpTo3We9ujC2WljtaRBgiNEewW+Rlu10k=";
|
||||
allowedIPs = [ "10.20.0.2/32" ];
|
||||
}
|
||||
{
|
||||
publicKey = "6aw0w7v9uFGvLn/eSdf7z/ljvzz4kviYlSOSj0LKp1E=";
|
||||
allowedIPs = [ "10.20.0.3/32" ];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
@@ -48,8 +56,8 @@
|
||||
extraGroups = [ "wheel" ];
|
||||
authorizedKeys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA8vfwM5g9RJXqHtqTgNqsYg9SxSm+UMvFqTjBoAsLJ6 emmatherock@MAIN-PC"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIpTslcK0yQ6k+h8foNl17wVRyJUfEGzq7f1h3014WNB s21 plus"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEUCpjAuJobymPPAoPjLdL1eD6g4v6wrquu3cyHP22Wj emmatherock@NixOS"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO6pnKpUEaeoNXqlenc8MAz1GG8P6BRILyIHMSLtvdeF termius"
|
||||
];
|
||||
};
|
||||
};
|
||||
@@ -66,6 +74,12 @@
|
||||
boot.loader.systemd-boot.configurationLimit = 10;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Required for this host to act as a Tailscale/Headscale exit node.
|
||||
boot.kernel.sysctl = {
|
||||
"net.ipv4.ip_forward" = 1;
|
||||
"net.ipv6.conf.all.forwarding" = 1;
|
||||
};
|
||||
|
||||
time.timeZone = "America/Argentina/Buenos_Aires";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
|
||||
@@ -9,5 +9,7 @@
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
|
||||
services.journald.extraConfig = "SystemMaxUse=500M";
|
||||
services.journald.settings.Journal = {
|
||||
SystemMaxUse = "500M";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services.ollama = {
|
||||
enable = true;
|
||||
# `services.ollama.acceleration` does not exist (that option only lives on
|
||||
# services.tabby); GPU backend selection for ollama is done by package choice.
|
||||
package = pkgs.ollama-rocm;
|
||||
|
||||
# Same "don't expose services directly" pattern as the rest of the homelab:
|
||||
# bind to localhost only. If this needs to be reachable from other devices
|
||||
# later, put it behind Traefik + Headscale like the other services instead
|
||||
# of opening it up directly.
|
||||
host = "127.0.0.1";
|
||||
port = 11434;
|
||||
|
||||
environmentVariables = {
|
||||
# Ollama is on-demand by design: it loads a model into VRAM on the first
|
||||
# request and unloads it after this much idle time. 5m is already the
|
||||
# ollama default, set explicitly so it's not an implicit behavior.
|
||||
OLLAMA_KEEP_ALIVE = "5m";
|
||||
};
|
||||
|
||||
# RDNA4 (gfx1200/gfx1201, incl. the RX 9060 XT) has official ROCm support
|
||||
# since ROCm 6.4.4. Verified on this host (2026-08-30) with rocmPackages.clr
|
||||
# 7.2.3: `rocminfo` correctly reports "Name: gfx1200" and `rocm-smi
|
||||
# --showmeminfo vram` reports the full 16GiB, so the "detected with 0 VRAM,
|
||||
# falls back to CPU" issue does not reproduce here and rocmOverrideGfx is
|
||||
# not needed. If a future nixpkgs bump regresses this, re-check with:
|
||||
# nix shell nixpkgs#rocmPackages.rocminfo -c rocminfo | grep -i gfx
|
||||
# nix shell nixpkgs#rocmPackages.rocm-smi -c rocm-smi --showmeminfo vram
|
||||
# and only then set rocmOverrideGfx = "12.0.0"; (gfx1200) if VRAM reports 0.
|
||||
# rocmOverrideGfx = "12.0.0";
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user