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:
149 files changed
+9539
-478
No files matched your search
+24
-82
@@ -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
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user