2026-04-01 17:43:05 +02:00
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
materusArgs,
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
let
|
|
|
|
|
jsonFormat = pkgs.formats.json { };
|
|
|
|
|
in
|
2026-02-08 10:52:41 +01:00
|
|
|
{
|
2026-03-20 08:35:04 +01:00
|
|
|
mkk.neovim.enable = true;
|
|
|
|
|
|
|
|
|
|
mkk.dir = config.lib.file.mkOutOfStoreSymlink "/mkk/config";
|
2026-02-08 10:52:41 +01:00
|
|
|
programs.git = {
|
|
|
|
|
enable = true;
|
|
|
|
|
lfs.enable = true;
|
|
|
|
|
settings = {
|
|
|
|
|
user.email = "materus@podkos.pl";
|
|
|
|
|
user.name = "materus";
|
|
|
|
|
commit.gpgsign = true;
|
|
|
|
|
gpg.format = "ssh";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
signing.signByDefault = true;
|
|
|
|
|
signing.key = "/mkk/config/extra-files/ssh/materus.pub";
|
|
|
|
|
};
|
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
materusArgs.inputs.nixerus.packages.x86_64-linux.polymc
|
2026-03-20 08:39:34 +01:00
|
|
|
neovide
|
2026-02-08 10:52:41 +01:00
|
|
|
|
|
|
|
|
curl
|
|
|
|
|
wget
|
|
|
|
|
python3
|
|
|
|
|
|
|
|
|
|
packwiz
|
|
|
|
|
ani-cli
|
|
|
|
|
mpv
|
2026-03-25 20:16:21 +01:00
|
|
|
kitty
|
2026-02-08 10:52:41 +01:00
|
|
|
|
|
|
|
|
libreoffice-qt6-fresh
|
|
|
|
|
|
2026-04-01 17:43:05 +02:00
|
|
|
direnv
|
|
|
|
|
jsonnet
|
|
|
|
|
jsonnet-language-server
|
2026-02-08 10:52:41 +01:00
|
|
|
];
|
2026-04-01 17:43:05 +02:00
|
|
|
|
|
|
|
|
programs.vscode = {
|
|
|
|
|
enable = true;
|
|
|
|
|
mutableExtensionsDir = true;
|
|
|
|
|
profiles.default.enableExtensionUpdateCheck = true;
|
2026-04-02 14:02:23 +02:00
|
|
|
profiles.default.extensions = with pkgs.nix-vscode-extensions.vscode-marketplace; [
|
|
|
|
|
# VSCode
|
|
|
|
|
kerrickstaley.layered-settings
|
|
|
|
|
mkhl.direnv
|
|
|
|
|
betterthantomorrow.joyride
|
|
|
|
|
dracula-theme.theme-dracula
|
|
|
|
|
leonardssh.vscord
|
|
|
|
|
ms-vscode.hexeditor
|
|
|
|
|
pkief.material-icon-theme
|
|
|
|
|
pkief.material-product-icons
|
|
|
|
|
|
|
|
|
|
# Python
|
|
|
|
|
#ms-python.vscode-pylance
|
|
|
|
|
ms-python.python
|
|
|
|
|
ms-python.debugpy
|
|
|
|
|
ms-python.vscode-python-envs
|
|
|
|
|
|
|
|
|
|
# Git
|
|
|
|
|
eamodio.gitlens
|
|
|
|
|
donjayamanne.githistory
|
|
|
|
|
waderyan.gitblame
|
|
|
|
|
codezombiech.gitignore
|
|
|
|
|
|
|
|
|
|
# Lua
|
|
|
|
|
sumneko.lua
|
|
|
|
|
|
|
|
|
|
# Jsonnet
|
|
|
|
|
grafana.vscode-jsonnet
|
|
|
|
|
|
|
|
|
|
# Nix
|
|
|
|
|
jnoortheen.nix-ide
|
|
|
|
|
|
|
|
|
|
# C++
|
|
|
|
|
twxs.cmake
|
|
|
|
|
llvm-vs-code-extensions.vscode-clangd
|
|
|
|
|
ms-vscode.cmake-tools
|
|
|
|
|
cs128.cs128-clang-tidy
|
|
|
|
|
xaver.clang-format
|
|
|
|
|
|
|
|
|
|
# Other
|
|
|
|
|
redhat.vscode-yaml
|
|
|
|
|
redhat.vscode-xml
|
|
|
|
|
webfreak.debug
|
|
|
|
|
];
|
2026-04-01 17:43:05 +02:00
|
|
|
package = (
|
|
|
|
|
pkgs.vscodium.fhsWithPackages (
|
|
|
|
|
ps: with ps; [
|
|
|
|
|
nixfmt-rfc-style
|
|
|
|
|
nixd
|
|
|
|
|
direnv
|
|
|
|
|
jsonnet
|
|
|
|
|
jsonnet-language-server
|
2026-04-02 14:02:23 +02:00
|
|
|
clang-tools
|
|
|
|
|
clang
|
2026-04-01 17:43:05 +02:00
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
xdg.configFile."VSCodium/User/settings.nix.jsonnet".enable = false;
|
|
|
|
|
home.activation.mutableFileGeneration =
|
|
|
|
|
let
|
|
|
|
|
source = jsonFormat.generate "settings.nix" {
|
2026-04-02 14:02:23 +02:00
|
|
|
# VSCode
|
2026-04-01 17:43:05 +02:00
|
|
|
"window.dialogStyle" = "custom";
|
|
|
|
|
"window.titleBarStyle" = "custom";
|
2026-04-01 18:27:42 +02:00
|
|
|
"workbench.colorTheme" = "Dracula Theme";
|
2026-04-02 14:02:23 +02:00
|
|
|
"workbench.iconTheme" = "material-icon-theme";
|
2026-04-01 17:43:05 +02:00
|
|
|
"editor.fontFamily" = "'Hack Nerd Font', 'monospace', monospace";
|
|
|
|
|
"direnv.path.executable" = "${pkgs.direnv}/bin/direnv";
|
2026-04-02 14:02:23 +02:00
|
|
|
"vscord.app.name" = "VSCodium";
|
2026-04-01 17:43:05 +02:00
|
|
|
|
2026-04-02 14:02:23 +02:00
|
|
|
# Typescript
|
2026-04-01 17:43:05 +02:00
|
|
|
"typescript.tsserver.maxTsServerMemory" = 1024 * 8;
|
|
|
|
|
"typescript.tsserver.nodePath" = "${pkgs.nodejs}/bin/node";
|
2026-04-02 14:02:23 +02:00
|
|
|
# Nix
|
|
|
|
|
"[nix]" = {
|
|
|
|
|
"editor.defaultFormatter" = "jnoortheen.nix-ide";
|
|
|
|
|
};
|
2026-04-01 17:43:05 +02:00
|
|
|
"nix.enableLanguageServer" = true;
|
|
|
|
|
"nix.formatterPath" = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
|
|
|
|
"nix.serverPath" = "${pkgs.nixd}/bin/nixd";
|
|
|
|
|
"nix.serverSettings" = {
|
|
|
|
|
|
|
|
|
|
"nixd" = {
|
|
|
|
|
"nixpkgs" = {
|
|
|
|
|
"expr" = "import (builtins.getFlake \"/mkk/config\").inputs.nixpkgs { }";
|
|
|
|
|
};
|
|
|
|
|
"formatting" = {
|
|
|
|
|
"command" = [
|
|
|
|
|
"nixfmt"
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
"options" = {
|
|
|
|
|
"nixos" = {
|
2026-04-02 14:02:23 +02:00
|
|
|
"expr" =
|
|
|
|
|
"(builtins.getFlake (builtins.toString \"/mkk/config\" )).nixosConfigurations.materusPC.options";
|
2026-04-01 17:43:05 +02:00
|
|
|
};
|
|
|
|
|
"home-manager" = {
|
2026-04-02 14:02:23 +02:00
|
|
|
"expr" =
|
|
|
|
|
"(builtins.getFlake (builtins.toString \"/mkk/config\")).homeConfigurations.materus.options";
|
2026-04-01 17:43:05 +02:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2026-04-02 14:02:23 +02:00
|
|
|
# C++
|
|
|
|
|
"C_Cpp.clang_format_path" = "${pkgs.clang-tools}/bin/clang-format";
|
|
|
|
|
"C_Cpp.clang_format_fallbackStyle" = "Microsoft";
|
|
|
|
|
"clang-tidy.executable" = "${pkgs.clang-tools}/bin/clang-tidy";
|
|
|
|
|
"[cpp]" = {
|
|
|
|
|
"editor.defaultFormatter" = "xaver.clang-format";
|
|
|
|
|
};
|
|
|
|
|
"[c]" = {
|
|
|
|
|
"editor.defaultFormatter" = "xaver.clang-format";
|
|
|
|
|
};
|
|
|
|
|
"cmake.showOptionsMovedNotification" = false;
|
|
|
|
|
"cmake.pinnedCommands" = [
|
|
|
|
|
"workbench.action.tasks.configureTaskRunner"
|
|
|
|
|
"workbench.action.tasks.runTask"
|
|
|
|
|
];
|
|
|
|
|
"clang-format.fallbackStyle" = "Microsoft";
|
|
|
|
|
|
2026-04-01 17:43:05 +02:00
|
|
|
};
|
|
|
|
|
target = config.xdg.configFile."VSCodium/User/settings.nix.jsonnet".target;
|
|
|
|
|
command = ''
|
|
|
|
|
echo "Copying mutable home files for $HOME"
|
|
|
|
|
$VERBOSE_ECHO "${source} -> ${target}"
|
|
|
|
|
$DRY_RUN_CMD cp --remove-destination --no-preserve=mode ${source} ${target}
|
|
|
|
|
'';
|
|
|
|
|
in
|
|
|
|
|
(lib.hm.dag.entryAfter [ "linkGeneration" ] command);
|
|
|
|
|
|
2026-02-08 10:52:41 +01:00
|
|
|
xdg.dataFile."java-runtimes/graalvm-oracle-17".source = pkgs.graalvmPackages.graalvm-oracle_17;
|
|
|
|
|
xdg.dataFile."java-runtimes/graalvm-oracle-latest".source = pkgs.graalvmPackages.graalvm-oracle;
|
|
|
|
|
xdg.dataFile."java-runtimes/openjdk21".source = pkgs.jdk21;
|
|
|
|
|
}
|