full PC config setup

shifting towards manual symlinks for more complex setup than laptop, allows for GUI settings changes to actually apply, and is much easier than nix-ifying every config
This commit is contained in:
greyweather committed 2026-07-12 04:01:28 +01:00
1 parent 19e8f0a6d5
commit 0f018cd2e3
149 files changed
+9539 -478

No files matched your search

+24 -82
View File
@@ -1,89 +1,31 @@
{
config,
pkgs,
lib,
...
}: {
programs.vscode = {
enable = true;
package = pkgs.vscode-with-extensions.override {
vscodeExtensions = with pkgs.vscode-extensions; [
bbenoist.nix
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "patternstore";
publisher = "jdunkel";
version = "0.1.12";
sha256 = "sha256-JtVtBFZPsSMDC9040UE8gTg4YmNLVFQJz0NGa0+QBqA=";
}
{
name = "kdl";
publisher = "kdl-org";
version = "2.1.3";
sha256 = "sha256-Jssmb5owrgNWlmLFSKCgqMJKp3sPpOrlEUBwzZSSpbM=";
}
];
};
profiles.default = {
enableUpdateCheck = false;
userSettings = {
"[nix]" = {
"editor.tabSize" = 2;
};
"chat.disableAIFeatures" = true;
"workbench.welcomePage.walkthroughs.openOnInstall" = false;
"patternStore.savedPatterns" = [
{
label = "convert JSON pairs to Nix format";
find = "\"(\\w+)\": (.+?),?$";
replace = "$1 = $2;";
flags = {
"isRegex" = true;
"isCaseSensitive" = false;
"matchWholeWord" = false;
"isMultiline" = false;
};
scope = "global";
}
{
label = "convert JSON opening bracket to Nix format";
find = "(\"\\w+\"): \\{$";
replace = "$1 = {";
flags = {
"isRegex" = true;
"isCaseSensitive" = false;
"matchWholeWord" = false;
"isMultiline" = false;
};
scope = "global";
}
{
label = "convert JSON closing bracket to Nix format";
find = "\\},?$";
replace = "};";
flags = {
"isRegex" = true;
"isCaseSensitive" = false;
"matchWholeWord" = false;
"isMultiline" = false;
};
scope = "global";
}
];
"search.exclude" = {
"**/flake.lock" = true;
"**/assets/**" = true;
};
};
keybindings = [
{
command = "workbench.action.closeActiveEditor";
key = "alt+q";
}
{
command = "workbench.action.files.newFile";
key = "alt+enter";
}
];
};
programs.vscode.enable = true;
home.activation = {
linkVsCodeConfig = lib.hm.dag.entryAfter ["writeBoundary"] ''
#!/bin/bash
if [ -f /home/grey/.config/Code/User/settings.json ]; then
rm /home/grey/.config/Code/User/settings.json
fi
ln -s /home/grey/nixos/assets/dotfiles/vscode-config/settings.json /home/grey/.config/Code/User/settings.json
if [ -f /home/grey/.config/Code/User/keybindings.json ]; then
rm /home/grey/.config/Code/User/keybindings.json
fi
ln -s /home/grey/nixos/assets/dotfiles/vscode-config/keybindings.json /home/grey/.config/Code/User/keybindings.json
'';
linkVsCodeExtensions = lib.hm.dag.entryAfter ["writeBoundary"] ''
#!/bin/bash
if [ -d /home/grey/.vscode/extensions ]; then
rm -rf /home/grey/.vscode/extensions
fi
ln -s /home/grey/nixos/assets/dotfiles/vscode-extensions /home/grey/.vscode/extensions
'';
};
}