1

Compare commits

...

11 Commits

11 changed files with 720 additions and 303 deletions

232
flake.lock generated
View File

@ -170,11 +170,11 @@
]
},
"locked": {
"lastModified": 1775087534,
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@ -263,12 +263,15 @@
}
},
"hardware": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1776983936,
"narHash": "sha256-ZOQyNqSvJ8UdrrqU1p7vaFcdL53idK+LOM8oRWEWh6o=",
"lastModified": 1780065812,
"narHash": "sha256-SCSLUKBmwlSLGQ8Xbr8PjRFtiHNk0l9ktqkcmqdBkfE=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "2096f3f411ce46e88a79ae4eafcfc9df8ed41c61",
"rev": "b76b5639c0593e0aeb0b5879ad62d4b30596c144",
"type": "github"
},
"original": {
@ -284,11 +287,11 @@
]
},
"locked": {
"lastModified": 1777594677,
"narHash": "sha256-h90sHwoRJLRvaTpZroTvU2JRHDFj0czUafM8eqLe1RI=",
"lastModified": 1779969295,
"narHash": "sha256-HwIJ3tOcwSMiV75L7KqJXciXR9UfT+d7rwOZMX7cTnA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "899c08a15beae5da51a5cecd6b2b994777a948da",
"rev": "61e2c9659324181e0f0ed911958c536333b1d4f6",
"type": "github"
},
"original": {
@ -320,14 +323,14 @@
},
"hytale-launcher": {
"inputs": {
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1777394001,
"narHash": "sha256-FNHydw2We/qvxBJ2cMNc/eGcxSZkvOXZn2WYGiH6WfE=",
"lastModified": 1779815066,
"narHash": "sha256-QVxEQivn5kA2H4Zf++wiwNR6yfJZJnvAWADUDqgtW0I=",
"owner": "JPyke3",
"repo": "hytale-launcher-nix",
"rev": "822e54c97348a6fbc28dfac563e5bbe9fe1783b8",
"rev": "7b527a3eeff0ee9a95106a056638a407aef1eb43",
"type": "github"
},
"original": {
@ -339,7 +342,7 @@
"impermanence": {
"inputs": {
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1769548169,
@ -405,7 +408,7 @@
"naersk": {
"inputs": {
"fenix": "fenix",
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1763384566,
@ -433,11 +436,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1777542749,
"narHash": "sha256-j4W+WwdiRxTTFdsoB8A7jlLNLbMQANKJxh9eKf8nOIs=",
"lastModified": 1780062130,
"narHash": "sha256-3XF+oy0PX4aajJw2RNB8rlMpyu0eXCG4pGH7fe94yBg=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "36130bc452e0a84c07761d2e176ae875b48eebf3",
"rev": "3cb351d73c357a4e413f59c4551d219118791c14",
"type": "github"
},
"original": {
@ -466,11 +469,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1777468255,
"narHash": "sha256-lBZc1UMy+1P1T/E41j3jQrpS7EFI3qegd+ktHZdamIg=",
"lastModified": 1780056110,
"narHash": "sha256-t7lKVshV/srD0G06j4r5P5qj9zaDeZ9JYFCxHDGROZU=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "dd1c3bcb9f1ef416df33ffa22d1d9bcee1398e7d",
"rev": "f9f43d826ab4014a7c302be28d7da33e12f5be37",
"type": "github"
},
"original": {
@ -483,14 +486,14 @@
"inputs": {
"flake-compat": "flake-compat_2",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_5"
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1776242217,
"narHash": "sha256-TRts0fKUPFcf1i6rZHFGUDTfti/x3oKEg/CqsPRpSgs=",
"lastModified": 1778849865,
"narHash": "sha256-HiVhuhD7Fvfje3iw4slmtcCckz/LbjLITa4g/iTEbw0=",
"owner": "thiagokokada",
"repo": "nix-alien",
"rev": "4c5e52dda0d6ab3de814e364046769321d3e1021",
"rev": "1bb49f5aea63e95a3cf9c4b91f9f1331fef7a52b",
"type": "github"
},
"original": {
@ -506,11 +509,11 @@
]
},
"locked": {
"lastModified": 1775037210,
"narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=",
"lastModified": 1779036909,
"narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "06648f4902343228ce2de79f291dd5a58ee12146",
"rev": "56c666e108467d87d13508936aade6d567f2a501",
"type": "github"
},
"original": {
@ -544,11 +547,11 @@
]
},
"locked": {
"lastModified": 1775970782,
"narHash": "sha256-7jt9Vpm48Yy5yAWigYpde+HxtYEpEuyzIQJF4VYehhk=",
"lastModified": 1778393439,
"narHash": "sha256-mOtQxUjtKaPHLeoLOY/YEDctmud1X9KwJr4kE1MJ3Wc=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "bedba5989b04614fc598af9633033b95a937933f",
"rev": "01466c414c7357ae2ce32be4a272a7c69e94ab5f",
"type": "github"
},
"original": {
@ -575,11 +578,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1777428379,
"narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=",
"lastModified": 1779796641,
"narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "755f5aa91337890c432639c60b6064bb7fe67769",
"rev": "25f538306313eae3927264466c70d7001dcea1df",
"type": "github"
},
"original": {
@ -591,11 +594,11 @@
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1777428379,
"narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=",
"lastModified": 1779796641,
"narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "755f5aa91337890c432639c60b6064bb7fe67769",
"rev": "25f538306313eae3927264466c70d7001dcea1df",
"type": "github"
},
"original": {
@ -605,6 +608,22 @@
"type": "github"
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1775710090,
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1764242076,
@ -623,11 +642,24 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1777268161,
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
"lastModified": 1767892417,
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1779560665,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github"
},
"original": {
@ -637,7 +669,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1768564909,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
@ -653,39 +685,55 @@
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1775710090,
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1777268161,
"narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=",
"owner": "nixos",
"lastModified": 1778443072,
"narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76",
"rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1779560665,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1779877693,
"narHash": "sha256-NOF9NAREhxr50bbBfVcVOq+ArCMSoe8dP79Pk2uyARk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4100e830e085863741bc69b156ec4ccd53ab5be0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1752077645,
"narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=",
@ -701,36 +749,18 @@
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1775710090,
"narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4c1018dae018162ec878d42fec712642d214fdfa",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs_8",
"systems": "systems_3"
},
"locked": {
"lastModified": 1777236345,
"narHash": "sha256-ALOqlq7bE30lsX4rA76hXeQ2aLLEpb44hS+D1+jWS88=",
"lastModified": 1780056171,
"narHash": "sha256-CXpH7axUH7AzI5izVHfOYawY350beplaAKFLDaQY128=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "a67d9cd6ff725a763afe88727aac73208ded3bf4",
"rev": "d7800d4b1c420e0c2dcaaddd58038c8b662e72a8",
"type": "github"
},
"original": {
@ -770,11 +800,11 @@
]
},
"locked": {
"lastModified": 1777624369,
"narHash": "sha256-nQOSodcDhXiKlfCKb4pE/4GBAs2FnBOD+AHVem0EqOc=",
"lastModified": 1780066277,
"narHash": "sha256-VfvIrI792pYYywcEfvMy5FC5hIIq4lFeUK2dcoSq1BQ=",
"owner": "nix-community",
"repo": "NUR",
"rev": "c3ec6b994c235a53a28304564da6422a45230603",
"rev": "58bb8dda9943cc5c0827ece3b1a367d76b64af21",
"type": "github"
},
"original": {
@ -824,7 +854,7 @@
"nix-alien": "nix-alien",
"nix-darwin": "nix-darwin",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable_2",
"nixvim": "nixvim",
"nps": "nps",
@ -879,11 +909,11 @@
]
},
"locked": {
"lastModified": 1777338324,
"narHash": "sha256-bc+ZZCmOTNq86/svGnw0tVpH7vJaLYvGLLKFYP08Q8E=",
"lastModified": 1777944972,
"narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "8eaee5c45428b28b8c47a83e4c09dccec5f279b5",
"rev": "c591bf665727040c6cc5cb409079acb22dcce33c",
"type": "github"
},
"original": {
@ -974,11 +1004,11 @@
]
},
"locked": {
"lastModified": 1777451299,
"narHash": "sha256-Okqpw+zxAwHKXuuxlwYy9Ge9JUpnTbsMXqws2eOKfKo=",
"lastModified": 1779792099,
"narHash": "sha256-HF5M0dr96kDPLS8ebRCG/YZglsKZZdvAhGIAf+lGUiU=",
"owner": "adriankarlen",
"repo": "textfox",
"rev": "3af57df1ed3a38eb584475fd9e032d9643f2a94d",
"rev": "2c35f1f04e6283d37b199f318874c57f7d37ef6a",
"type": "github"
},
"original": {
@ -992,15 +1022,15 @@
"elephant": [
"elephant"
],
"nixpkgs": "nixpkgs_8",
"nixpkgs": "nixpkgs_10",
"systems": "systems_5"
},
"locked": {
"lastModified": 1777299395,
"narHash": "sha256-ZoLkqwPVw8SdW+f9Raf15/ttyKqmC6vtKd5R+orNN/g=",
"lastModified": 1777789924,
"narHash": "sha256-fX3ErzTmHRO9z1SzHC2VZUgKOgRfO13X/joC5a3QN7Q=",
"owner": "abenz1267",
"repo": "walker",
"rev": "7b0cb0fd1f8b0a60b241081483aea4277f0b4500",
"rev": "93d44d1cb41732e1370e4b949429ae8e34ea05a4",
"type": "github"
},
"original": {
@ -1029,11 +1059,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1773622265,
"narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
"lastModified": 1779745227,
"narHash": "sha256-yqY7RtEJGJiENzR0GwL6q69tSAy6xAAmAcLuIhLjPf8=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "a879e5e0896a326adc79c474bf457b8b99011027",
"rev": "5d1efbc9dc3ab1c10160b656e0247f3325daf0f2",
"type": "github"
},
"original": {

View File

@ -64,7 +64,7 @@
# NeoVim <3
nixvim.url = "github:nix-community/nixvim";
nixvim.inputs.nixpkgs.follows = "nixpkgs";
# nixvim.inputs.nixpkgs.follows = "nixpkgs";
# Emacs nightly
# emacs-overlay.url = "github:nix-community/emacs-overlay";

View File

@ -31,14 +31,15 @@
mcp = {
enable = true;
servers = {
nixos = {
command = "uvx";
args = ["mcp-nixos"];
};
svelte = {
# claude mcp add -t stdio -s [scope] svelte -- npx -y @sveltejs/mcp
args = [
"-y"
"@sveltejs/mcp"
];
command = "npx";
# type = "stdio";
args = ["-y" "@sveltejs/mcp"];
type = "stdio";
};
};
};

View File

@ -83,6 +83,9 @@ in {
stylua
tombi
typstyle
nodejs_latest
uv
])
[
@ -97,6 +100,7 @@ in {
(perl.withPackages (p:
with p; [
PLS
PerlCritic
PerlTidy
NetOpenSSH
DateTime
@ -141,6 +145,8 @@ in {
};
programs.nixvim = {
# nixpkgs.pkgs = pkgs;
defaultEditor = true;
enable = true;
enableMan = false; # Nixvim man pages
@ -163,7 +169,7 @@ in {
performance.byteCompileLua = {
enable = true;
configs = true;
initLua = false; # When debugging init.lua turn this off
initLua = true; # When debugging init.lua turn this off
nvimRuntime = true;
plugins = true;
};

View File

@ -53,8 +53,16 @@ in {
in
gtkConfig
// {
gtk3 = gtkConfig // {extraConfig = gtkExtraConfig;};
gtk4 = gtkConfig // {extraConfig = gtkExtraConfig;};
gtk3 =
gtkConfig
// {
extraConfig = gtkExtraConfig;
};
gtk4 =
gtkConfig
// {
extraConfig = gtkExtraConfig;
};
};
dconf = {
@ -453,10 +461,27 @@ in {
prefer-no-csd = true; # Disable client-side decorations (e.g. window titlebars)
spawn-at-startup = [
{argv = ["ashell" "-c" "${config.paths.dotfiles}/ashell/config.toml"];}
{argv = ["waypaper" "--restore"];}
{
argv = [
"ashell"
"-c"
"${config.paths.dotfiles}/ashell/config.toml"
];
}
{
argv = [
"waypaper"
"--restore"
];
}
{argv = ["kitty" "--hold" "fastfetch"];}
{
argv = [
"kitty"
"--hold"
"fastfetch"
];
}
{argv = ["fcitx5"];}
# {argv = ["zeal"];}
# {argv = ["protonvpn-app"];}
@ -467,16 +492,36 @@ in {
];
workspaces = {
"1" = {open-on-output = "DP-1";};
"2" = {open-on-output = "DP-1";};
"3" = {open-on-output = "DP-1";};
"4" = {open-on-output = "DP-1";};
"5" = {open-on-output = "DP-1";};
"6" = {open-on-output = "DP-1";};
"7" = {open-on-output = "DP-1";};
"8" = {open-on-output = "DP-1";};
"9" = {open-on-output = "DP-1";};
"10" = {open-on-output = "DP-2";};
"1" = {
open-on-output = "DP-1";
};
"2" = {
open-on-output = "DP-1";
};
"3" = {
open-on-output = "DP-1";
};
"4" = {
open-on-output = "DP-1";
};
"5" = {
open-on-output = "DP-1";
};
"6" = {
open-on-output = "DP-1";
};
"7" = {
open-on-output = "DP-1";
};
"8" = {
open-on-output = "DP-1";
};
"9" = {
open-on-output = "DP-1";
};
"10" = {
open-on-output = "DP-2";
};
};
outputs = {
@ -517,8 +562,12 @@ in {
border = {
enable = true;
width = 2;
active = {color = color.hex.accent;};
inactive = {color = color.hex.base;};
active = {
color = color.hex.accent;
};
inactive = {
color = color.hex.base;
};
};
# This border is drawn OUTSIDE of the focused window
@ -529,7 +578,9 @@ in {
# Hint where a dragged window will be inserted
insert-hint = {
enable = true;
display = {color = color.hex.accentDim;};
display = {
color = color.hex.accentDim;
};
};
always-center-single-column = true;
@ -552,7 +603,9 @@ in {
};
gestures = {
hot-corners = {enable = false;};
hot-corners = {
enable = false;
};
};
window-rules = [
@ -616,16 +669,16 @@ in {
# Rules for specific windows
{
matches = [{app-id = "neovide";}];
matches = [
{app-id = "neovide";}
{app-id = "dev.zed.Zed";}
{app-id = "code";}
{app-id = "jetbrains-clion";}
];
open-on-workspace = "2";
open-maximized = true;
open-focused = true;
}
{
matches = [{app-id = "jetbrains-clion";}];
open-on-workspace = "2";
open-maximized = true;
}
{
matches = [{app-id = "code-url-handler";}];
open-on-workspace = "2";
@ -703,6 +756,14 @@ in {
draw-behind-window = true;
};
}
# TODO: Missing niri-flake update
# {
# matches = [{namespace = "walker";}];
#
# background-effect = {
# blur = true;
# };
# }
];
debug = {
@ -785,69 +846,101 @@ in {
# DMenu
"Mod+Shift+A" = {
action = spawn "walker" "-m" "providerlist";
hotkey-overlay = {title = "Toggle the launcher.";};
hotkey-overlay = {
title = "Toggle the launcher.";
};
};
"Mod+A" = {
action = spawn "walker" "-m" "desktopapplications";
hotkey-overlay = {title = "Toggle the application launcher.";};
hotkey-overlay = {
title = "Toggle the application launcher.";
};
};
"Mod+C" = {
action = spawn "walker" "-m" "clipboard";
hotkey-overlay = {title = "Show clipboard history.";};
hotkey-overlay = {
title = "Show clipboard history.";
};
};
"Mod+Escape" = {
action = spawn "${sessionMenu}/bin/rofi-menu-Session";
hotkey-overlay = {title = "Toggle the session menu.";};
hotkey-overlay = {
title = "Toggle the session menu.";
};
};
"Mod+W" = {
action = spawn "${wallpaperMenu}/bin/rofi-menu-Wallpaper";
hotkey-overlay = {title = "Open wallpaper menu.";};
hotkey-overlay = {
title = "Open wallpaper menu.";
};
};
"Mod+D" = {
action = spawn "${globalMenu}/bin/rofi-menu-Global";
hotkey-overlay = {title = "Open global menu.";};
hotkey-overlay = {
title = "Open global menu.";
};
};
# Applications
"Mod+Ctrl+W" = {
action = spawn "waypaper";
hotkey-overlay = {title = "Open waypaper.";};
hotkey-overlay = {
title = "Open waypaper.";
};
};
"Mod+Shift+W" = {
action = spawn "waypaper" "--random";
hotkey-overlay = {title = "Select random wallpaper.";};
hotkey-overlay = {
title = "Select random wallpaper.";
};
};
"Mod+T" = {
action = spawn "kitty";
hotkey-overlay = {title = "Spawn Kitty.";};
hotkey-overlay = {
title = "Spawn Kitty.";
};
};
"Mod+E" = {
action = spawn "kitty" "--title=Yazi" "yazi";
hotkey-overlay = {title = "Spawn Yazi.";};
hotkey-overlay = {
title = "Spawn Yazi.";
};
};
"Mod+B" = {
action = spawn "kitty" "--title=Btop" "btop";
hotkey-overlay = {title = "Spawn Btop.";};
hotkey-overlay = {
title = "Spawn Btop.";
};
};
"Mod+R" = {
action = spawn "kitty" "--title=Rmpc" "rmpc";
hotkey-overlay = {title = "Spawn Rmpc.";};
hotkey-overlay = {
title = "Spawn Rmpc.";
};
};
"Mod+N" = {
action = spawn "neovide";
hotkey-overlay = {title = "Spawn Neovide.";};
hotkey-overlay = {
title = "Spawn Neovide.";
};
};
"Mod+Ctrl+N" = {
action = spawn "kitty" "--title=Navi" "navi";
hotkey-overlay = {title = "Call Navi for help.";};
hotkey-overlay = {
title = "Call Navi for help.";
};
};
"Mod+Shift+N" = {
action = spawn "neovide" "${config.paths.dotfiles}/navi/christoph.cheat";
hotkey-overlay = {title = "Edit the Navi cheats.";};
hotkey-overlay = {
title = "Edit the Navi cheats.";
};
};
"Mod+Shift+F" = {
action = spawn "neovide" "${config.paths.dotfiles}/flake.nix";
hotkey-overlay = {title = "Edit the NixFlake.";};
hotkey-overlay = {
title = "Edit the NixFlake.";
};
};
# Screenshots
@ -856,24 +949,34 @@ in {
write-to-disk = true;
show-pointer = false;
};
hotkey-overlay = {title = "Take a screenshot of the current window.";};
hotkey-overlay = {
title = "Take a screenshot of the current window.";
};
};
"Mod+Ctrl+S" = {
action.screenshot-screen = {
write-to-disk = true;
show-pointer = false;
};
hotkey-overlay = {title = "Take a screenshot of the current screen.";};
hotkey-overlay = {
title = "Take a screenshot of the current screen.";
};
};
"Mod+Shift+S" = {
action.screenshot = {show-pointer = false;};
hotkey-overlay = {title = "Take a screenshot of a region.";};
action.screenshot = {
show-pointer = false;
};
hotkey-overlay = {
title = "Take a screenshot of a region.";
};
};
# Niri
"Mod+Shift+Slash" = {
action = show-hotkey-overlay;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
# "Alt+Tab" = {
# action = "next-window";
@ -887,191 +990,283 @@ in {
# Audio
"XF86AudioRaiseVolume" = {
action = spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%+";
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"XF86AudioLowerVolume" = {
action = spawn "wpctl" "set-volume" "-l" "1.5" "@DEFAULT_AUDIO_SINK@" "5%-";
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"XF86AudioPlay" = {
action = spawn "playerctl" "play-pause";
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"XF86AudioPrev" = {
action = spawn "playerctl" "previous";
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"XF86AudioNext" = {
action = spawn "playerctl" "next";
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
# Niri windows
"Mod+Q" = {
action = close-window;
hotkey-overlay = {title = "Close the current window.";};
hotkey-overlay = {
title = "Close the current window.";
};
};
"Mod+F" = {
action = fullscreen-window;
hotkey-overlay = {title = "Toggle between fullscreen and tiled window.";};
hotkey-overlay = {
title = "Toggle between fullscreen and tiled window.";
};
};
"Mod+Equal" = {
action = set-column-width "+10%";
hotkey-overlay = {title = "Increase column width";};
hotkey-overlay = {
title = "Increase column width";
};
};
"Mod+Minus" = {
action = set-column-width "-10%";
hotkey-overlay = {title = "Decrease column width";};
hotkey-overlay = {
title = "Decrease column width";
};
};
"Mod+Shift+M" = {
action = set-column-width "50%";
hotkey-overlay = {title = "Set column width to 50%";};
hotkey-overlay = {
title = "Set column width to 50%";
};
};
"Mod+M" = {
action = maximize-column;
hotkey-overlay = {title = "Maximize column.";};
hotkey-overlay = {
title = "Maximize column.";
};
};
"Mod+Comma" = {
action = reset-window-height;
hotkey-overlay = {title = "Reset window height.";};
hotkey-overlay = {
title = "Reset window height.";
};
};
"Mod+V" = {
action = toggle-window-floating;
hotkey-overlay = {title = "Toggle between floating and tiled window.";};
hotkey-overlay = {
title = "Toggle between floating and tiled window.";
};
};
"Mod+O" = {
action = toggle-overview;
hotkey-overlay = {title = "Toggle overlay.";};
hotkey-overlay = {
title = "Toggle overlay.";
};
};
"Mod+H" = {
action = focus-column-or-monitor-left;
hotkey-overlay = {title = "Focus column on the left. Equivalent bindings for other directions.";};
hotkey-overlay = {
title = "Focus column on the left. Equivalent bindings for other directions.";
};
};
"Mod+J" = {
action = focus-window-or-workspace-down;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+K" = {
action = focus-window-or-workspace-up;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+L" = {
action = focus-column-or-monitor-right;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+WheelScrollUp" = {
action = focus-column-left;
hotkey-overlay = {title = "Focus column on the left. Equivalent binding for other direction.";};
hotkey-overlay = {
title = "Focus column on the left. Equivalent binding for other direction.";
};
};
"Mod+WheelScrollDown" = {
action = focus-column-right;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+WheelScrollUp" = {
action = focus-workspace-up;
hotkey-overlay = {title = "Focus previous workspace. Equivalent binding for other direction.";};
hotkey-overlay = {
title = "Focus previous workspace. Equivalent binding for other direction.";
};
};
"Mod+Shift+WheelScrollDown" = {
action = focus-workspace-down;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+H" = {
action = move-column-left-or-to-monitor-left;
hotkey-overlay = {title = "Move column to the left. Equivalent bindings for other directions.";};
hotkey-overlay = {
title = "Move column to the left. Equivalent bindings for other directions.";
};
};
"Mod+Shift+J" = {
action = move-window-down-or-to-workspace-down;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+K" = {
action = move-window-up-or-to-workspace-up;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+L" = {
action = move-column-right-or-to-monitor-right;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
# Niri workspaces
"Mod+1" = {
action = focus-workspace 1;
hotkey-overlay = {title = "Focus workspace 1. Equivalent bindings for other workspaces.";};
hotkey-overlay = {
title = "Focus workspace 1. Equivalent bindings for other workspaces.";
};
};
"Mod+2" = {
action = focus-workspace 2;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+3" = {
action = focus-workspace 3;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+4" = {
action = focus-workspace 4;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+5" = {
action = focus-workspace 5;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+6" = {
action = focus-workspace 6;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+7" = {
action = focus-workspace 7;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+8" = {
action = focus-workspace 8;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+9" = {
action = focus-workspace 9;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+0" = {
action = focus-workspace 10;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+1" = {
action.move-window-to-workspace = 1;
hotkey-overlay = {title = "Move current window to workspace 1. Equivalent bindings for other workspaces.";};
hotkey-overlay = {
title = "Move current window to workspace 1. Equivalent bindings for other workspaces.";
};
};
"Mod+Shift+2" = {
action.move-window-to-workspace = 2;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+3" = {
action.move-window-to-workspace = 3;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+4" = {
action.move-window-to-workspace = 4;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+5" = {
action.move-window-to-workspace = 5;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+6" = {
action.move-window-to-workspace = 6;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+7" = {
action.move-window-to-workspace = 7;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+8" = {
action.move-window-to-workspace = 8;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+9" = {
action.move-window-to-workspace = 9;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
"Mod+Shift+0" = {
action.move-window-to-workspace = 10;
hotkey-overlay = {hidden = true;};
hotkey-overlay = {
hidden = true;
};
};
};
};

View File

@ -15,44 +15,44 @@ in {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
settings = {
"*" = {
forwardAgent = false;
addKeysToAgent =
ForwardAgent = false;
AddKeysToAgent =
if pkgs.stdenv.isLinux
then "no"
else "yes"; # Don't have keychain on darwin
compression = true;
serverAliveInterval = 0;
serverAliveCountMax = 3;
hashKnownHosts = false;
userKnownHostsFile = "~/.ssh/known_hosts";
controlMaster = "no";
controlPath = "~/.ssh/master-%r@%n:%p";
controlPersist = "no";
Compression = true;
ServerAliveInterval = 0;
ServerAliveCountMax = 3;
HashKnownHosts = false;
UserKnownHostsFile = "~/.ssh/known_hosts";
ControlMaster = "no";
ControlPath = "~/.ssh/master-%r@%n:%p";
ControlPersist = "no";
};
"nixinator" = {
port = 5432;
user = "christoph";
hostname = "vps.chriphost.de";
Port = 5432;
User = "christoph";
HostName = "vps.chriphost.de";
};
"servenix" = {
user = "christoph";
hostname = "local.chriphost.de";
User = "christoph";
HostName = "local.chriphost.de";
};
"thinknix" = {
user = "christoph";
hostname = "think.chriphost.de";
User = "christoph";
HostName = "think.chriphost.de";
};
"vps" = {
user = "root";
hostname = "vps.chriphost.de";
User = "root";
HostName = "vps.chriphost.de";
};
"mars" = {
user = "smchurla";
hostname = "mars.cs.tu-dortmund.de";
serverAliveInterval = 60;
localForwards = [
User = "smchurla";
HostName = "mars.cs.tu-dortmund.de";
ServerAliveInterval = 60;
LocalForward = [
{
# Resultbrowser
bind.port = 22941;

View File

@ -38,6 +38,7 @@ in {
ms-vscode-remote.remote-ssh
ms-vscode-remote.remote-ssh-edit
ms-vscode.remote-explorer
anthropic.claude-code
# Python
ms-python.python

View File

@ -5,10 +5,12 @@
mylib,
pkgs,
...
}: let
}:
let
inherit (config.homemodules) yazi color;
in {
options.homemodules.yazi = import ./options.nix {inherit lib mylib;};
in
{
options.homemodules.yazi = import ./options.nix { inherit lib mylib; };
config = lib.mkIf yazi.enable {
programs.yazi = {
@ -17,7 +19,18 @@ in {
shellWrapperName = "y";
plugins = {
inherit (pkgs.yaziPlugins) chmod diff full-border git lazygit mount ouch rsync starship sudo; # smart-paste
inherit (pkgs.yaziPlugins)
chmod
diff
full-border
git
lazygit
mount
ouch
rsync
starship
sudo
; # smart-paste
};
initLua = ''
@ -70,7 +83,12 @@ in {
{
run = ''mpv "$@"'';
orphan = true;
desc = "Play selection";
desc = "Play selection with mpv";
}
{
run = ''vlc "$@"'';
orphan = true;
desc = "Play selection with vlc";
}
];
edit = [
@ -81,14 +99,18 @@ in {
}
];
open = [
{
run = ''imv "$@"'';
desc = "Open selection with imv";
}
{
run = ''xdg-open "$@"'';
desc = "Open selection";
desc = "Open selection with xdg-open";
}
{
# TODO: For some reason, junction does not exit after choosing an application...
run = ''junction "$@"'';
desc = "Open selection in chosen application";
desc = "Open selection with junction";
}
];
extract = [
@ -106,13 +128,13 @@ in {
plugin.prepend_fetchers = [
{
id = "git";
name = "*";
group = "git";
url = "*";
run = "git";
}
{
id = "git";
name = "*/";
group = "git";
url = "*/";
run = "git";
}
];
@ -162,42 +184,66 @@ in {
mgr.prepend_keymap = [
{
on = ["<C-p>" "m"];
on = [
"<C-p>"
"m"
];
run = "plugin mount";
desc = "Manage device mounts";
}
{
on = ["<C-p>" "c"];
on = [
"<C-p>"
"c"
];
run = "plugin chmod";
desc = "Chmod selection";
}
{
on = ["<C-p>" "g"];
on = [
"<C-p>"
"g"
];
run = "plugin lazygit";
desc = "Run LazyGit";
}
{
on = ["<C-p>" "a"];
on = [
"<C-p>"
"a"
];
run = "plugin ouch";
desc = "Add selection to archive";
}
{
on = ["<C-p>" "d"];
on = [
"<C-p>"
"d"
];
run = ''shell -- ripdrag -a -n "$@"'';
desc = "Drag & drop selection";
}
{
on = ["<C-p>" "D"];
on = [
"<C-p>"
"D"
];
run = "plugin diff";
desc = "Diff the selected with the hovered file";
}
{
on = ["<C-p>" "r"];
on = [
"<C-p>"
"r"
];
run = "plugin rsync";
desc = "Copy files using rsync";
}
{
on = ["<C-p>" "w"];
on = [
"<C-p>"
"w"
];
run = ''wl-copy < "$0"'';
desc = "Copy hovered file contents using wl-copy";
}
@ -209,7 +255,10 @@ in {
}
{
on = "y";
run = [''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list'' "yank"];
run = [
''shell -- for path in "$@"; do echo "file://$path"; done | wl-copy -t text/uri-list''
"yank"
];
desc = "Copy files to system clipboard on yank";
}
# {
@ -228,7 +277,9 @@ in {
# https://github.com/catppuccin/yazi/blob/main/themes/mocha/catppuccin-mocha-lavender.toml
theme = {
mgr = {
cwd = {fg = color.hexS.teal;};
cwd = {
fg = color.hexS.teal;
};
hovered = {
fg = color.hexS.accentText;
@ -285,7 +336,9 @@ in {
};
border_symbol = "";
border_style = {fg = color.hexS.overlay0;};
border_style = {
fg = color.hexS.overlay0;
};
};
tabs = {
@ -354,58 +407,104 @@ in {
bg = color.hexS.surface0;
};
perm_type = {fg = color.hexS.blue;};
perm_read = {fg = color.hexS.yellow;};
perm_write = {fg = color.hexS.red;};
perm_exec = {fg = color.hexS.green;};
perm_sep = {fg = color.hexS.overlay0;};
perm_type = {
fg = color.hexS.blue;
};
perm_read = {
fg = color.hexS.yellow;
};
perm_write = {
fg = color.hexS.red;
};
perm_exec = {
fg = color.hexS.green;
};
perm_sep = {
fg = color.hexS.overlay0;
};
};
input = {
border = {fg = color.hexS.accentDim;};
title = {};
value = {};
selected = {reversed = true;};
border = {
fg = color.hexS.accentDim;
};
title = { };
value = { };
selected = {
reversed = true;
};
};
pick = {
border = {fg = color.hexS.accentDim;};
active = {fg = color.hexS.accentHl;};
inactive = {};
border = {
fg = color.hexS.accentDim;
};
active = {
fg = color.hexS.accentHl;
};
inactive = { };
};
confirm = {
border = {fg = color.hexS.accentDim;};
title = {fg = color.hexS.accentDim;};
content = {};
list = {};
btn_yes = {reversed = true;};
btn_no = {};
border = {
fg = color.hexS.accentDim;
};
title = {
fg = color.hexS.accentDim;
};
content = { };
list = { };
btn_yes = {
reversed = true;
};
btn_no = { };
};
cmp = {
border = {fg = color.hexS.accentDim;};
border = {
fg = color.hexS.accentDim;
};
};
tasks = {
border = {fg = color.hexS.accentDim;};
title = {};
hovered = {underline = true;};
border = {
fg = color.hexS.accentDim;
};
title = { };
hovered = {
underline = true;
};
};
which = {
cand = {fg = color.hexS.accent;};
desc = {fg = color.hexS.accentHl;};
mask = {bg = color.hexS.surface0;};
rest = {fg = color.hexS.surface0;};
cand = {
fg = color.hexS.accent;
};
desc = {
fg = color.hexS.accentHl;
};
mask = {
bg = color.hexS.surface0;
};
rest = {
fg = color.hexS.surface0;
};
separator = " ";
separator_style = {fg = color.hexS.text;};
separator_style = {
fg = color.hexS.text;
};
};
help = {
on = {fg = color.hexS.accent;};
run = {fg = color.hexS.accentHl;};
desc = {fg = color.hexS.text;};
on = {
fg = color.hexS.accent;
};
run = {
fg = color.hexS.accentHl;
};
desc = {
fg = color.hexS.text;
};
hovered = {
fg = color.hexS.accentText; # TODO: This is not applied
@ -420,19 +519,31 @@ in {
};
notify = {
title_info = {fg = color.hexS.teal;};
title_warn = {fg = color.hexS.yellow;};
title_error = {fg = color.hexS.red;};
title_info = {
fg = color.hexS.teal;
};
title_warn = {
fg = color.hexS.yellow;
};
title_error = {
fg = color.hexS.red;
};
};
spot = {
border = {fg = color.hexS.lavender;};
title = {fg = color.hexS.lavender;};
border = {
fg = color.hexS.lavender;
};
title = {
fg = color.hexS.lavender;
};
tbl_cell = {
fg = color.hexS.lavender;
reversed = true;
};
tbl_col = {bold = true;};
tbl_col = {
bold = true;
};
};
# Default rules good enough
@ -442,9 +553,9 @@ in {
# Prepend to override default config
icon = {
prepend_dirs = import ./specialDirectories.nix {inherit color;};
prepend_files = import ./specialFiles.nix {inherit color;};
prepend_exts = import ./specialExtensions.nix {inherit color;};
prepend_dirs = import ./specialDirectories.nix { inherit color; };
prepend_files = import ./specialFiles.nix { inherit color; };
prepend_exts = import ./specialExtensions.nix { inherit color; };
};
};
};

View File

@ -5,10 +5,12 @@
mylib,
pkgs,
...
}: let
}:
let
inherit (config.homemodules) zed color;
in {
options.homemodules.zed = import ./options.nix {inherit lib mylib;};
in
{
options.homemodules.zed = import ./options.nix { inherit lib mylib; };
config = lib.mkIf zed.enable {
programs.zed-editor = {
@ -23,33 +25,74 @@ in {
extensions = [
"catppuccin"
"catppuccin-icons"
"comment"
"git-firefly"
"nix"
"perl"
"fish"
"lua"
"toml"
"csharp"
"java"
"latex"
"typst"
"haskell"
"glsl"
"mermaid"
"clojure"
"verilog"
"qml"
"plantuml"
"graphviz"
"dockerfile"
"docker-compose"
"html"
"svelte"
"svelte-mcp"
"make"
"xml"
"scss"
"rainbow-csv"
"sql"
"nix"
"svelte"
"svelte-mcp"
"jinja2"
"just"
"perl"
"make"
"neocmake"
"assembly"
"wat"
"neocmake"
"linkerscript"
"r"
];
themes = {};
userDebug = [];
themes = { };
userDebug = [ ];
# TODO: Add neovim keymaps
userKeymaps = [
{
context = "Workspace";
bindings = {
ctrl-shift-t = "workspace::NewTerminal";
"ctrl-/" = "terminal_panel::Toggle";
};
}
{
context = "Editor";
unbind = {
"ctrl-/" = [
"editor::ToggleComments"
{
advance_downwards = false;
}
];
};
}
{
context = "(vim_mode == normal || vim_mode == visual) && !menu";
bindings = {
"ctrl-c" = "editor::ToggleComments";
};
}
];
@ -70,6 +113,13 @@ in {
tree_view = true;
};
# TODO: Doesn't work, although perlnavigator advertises Perl::Tidy autoformatting...
languages = {
Perl = {
formatter = "language_server";
};
};
auto_signature_help = true;
lsp = {
nil = {
@ -82,10 +132,31 @@ in {
nixd = {
initialization_options = {
formatting = {
command = ["${pkgs.alejandra}/bin/alejandra"];
command = [ "${pkgs.alejandra}/bin/alejandra" ];
};
};
};
# No idea how to configure the formatter
# perlnavigator-server = let
# # TODO: Duplicated in neovim/default.nix. Need Perl module.
# perl = pkgs.perl.withPackages (p:
# with p; [
# PLS
# PerlCritic
# PerlTidy
# NetOpenSSH
# DateTime
# DBI
# DBDMariaDB
# CursesUI
# TextCSV_XS
# ]);
# in {
# initialization_options = {
# "perlnavigator.perlPath" = "${perl}/bin";
# "perlnavigator.includePaths" = ["${perl}/lib/perl5"];
# };
# };
};
disable_ai = false;
@ -120,7 +191,7 @@ in {
};
};
userTasks = [];
userTasks = [ ];
};
};
}

View File

@ -146,8 +146,8 @@
nvidia-container-toolkit.enable = true;
nvidia = {
# package = config.boot.kernelPackages.nvidiaPackages.stable;
package = config.boot.kernelPackages.nvidiaPackages.beta;
package = config.boot.kernelPackages.nvidiaPackages.stable;
# package = config.boot.kernelPackages.nvidiaPackages.beta;
open = true;
nvidiaSettings = false; # Those are for x-server

View File

@ -8,7 +8,8 @@
# comfyuiVersion = "cu128-slim-20260316";
# comfyuiVersion = "cu128-megapak-20260413";
# comfyuiVersion = "cu130-megapak-pt211-20260413";
comfyuiVersion = "cu130-megapak-pt211-20260508";
# comfyuiVersion = "cu130-megapak-pt211-20260508";
comfyuiVersion = "cu130-megapak-pt211-20260604";
in {
virtualisation.oci-containers.containers = {
comfyui = {
@ -61,6 +62,7 @@ in {
# "--lowvram"
# "--disable-smart-memory"
# "--disable-pinned-memory"
# "--disable-dynamic-vram"
# "--disable-xformers"
# "--use-sage-attention" # Crashes
# "--reserve-vram 1" # (1 or 2) => Assume less vram is available to mitigate OOM due to wrong vram estimation