Inject the password-store flag to vscode.
This commit is contained in:
parent
d8d466e737
commit
dc28b9a112
@ -5,59 +5,21 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
let
|
||||||
imports = [ ];
|
extensions_to_install =
|
||||||
|
final:
|
||||||
options.me = {
|
with final.vscode-extensions;
|
||||||
vscode.enable = lib.mkOption {
|
let
|
||||||
type = lib.types.bool;
|
common = [
|
||||||
default = false;
|
|
||||||
example = true;
|
|
||||||
description = "Whether we want to install vscode.";
|
|
||||||
};
|
|
||||||
|
|
||||||
vscode.enable_work_profile = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
example = true;
|
|
||||||
description = "Whether we want to install the remote tunnels vscode extension.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf (config.me.vscode.enable && config.me.graphical) {
|
|
||||||
allowedUnfree = [
|
|
||||||
"vscode"
|
|
||||||
"vscode-x86_64-unknown-linux-gnu-with-extensions"
|
|
||||||
"vscode-with-extensions"
|
|
||||||
"vscode-extension-ms-vscode-remote-remote-ssh"
|
|
||||||
"vscode-extension-MS-python-vscode-pylance"
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
(vscode-with-extensions.override {
|
|
||||||
vscodeExtensions =
|
|
||||||
with vscode-extensions;
|
|
||||||
(
|
|
||||||
[
|
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
ms-azuretools.vscode-docker
|
ms-azuretools.vscode-docker
|
||||||
ms-vscode-remote.remote-ssh
|
ms-vscode-remote.remote-ssh
|
||||||
esbenp.prettier-vscode
|
esbenp.prettier-vscode
|
||||||
]
|
];
|
||||||
++ (
|
work_specific = [
|
||||||
if config.me.vscode.enable_work_profile then
|
|
||||||
[
|
|
||||||
# ms-python.vscode-pylance
|
# ms-python.vscode-pylance
|
||||||
]
|
]
|
||||||
else
|
++ (pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||||
[
|
|
||||||
ms-python.python
|
|
||||||
ms-python.debugpy
|
|
||||||
]
|
|
||||||
)
|
|
||||||
++ (pkgs.vscode-utils.extensionsFromVscodeMarketplace (
|
|
||||||
if config.me.vscode.enable_work_profile then
|
|
||||||
[
|
|
||||||
{
|
{
|
||||||
name = "remote-server";
|
name = "remote-server";
|
||||||
publisher = "ms-vscode";
|
publisher = "ms-vscode";
|
||||||
@ -88,12 +50,47 @@
|
|||||||
version = "2025.18.0";
|
version = "2025.18.0";
|
||||||
sha256 = "6auzfS1DmOuaqV2rDHSCC9BlrcON4xUrdJZ0N0wYCs4=";
|
sha256 = "6auzfS1DmOuaqV2rDHSCC9BlrcON4xUrdJZ0N0wYCs4=";
|
||||||
}
|
}
|
||||||
]
|
]);
|
||||||
|
personal_specific = [
|
||||||
|
ms-python.python
|
||||||
|
ms-python.debugpy
|
||||||
|
];
|
||||||
|
in
|
||||||
|
if config.me.vscode.enable_work_profile then
|
||||||
|
common ++ work_specific
|
||||||
else
|
else
|
||||||
[ ]
|
common ++ personal_specific;
|
||||||
))
|
in
|
||||||
);
|
{
|
||||||
})
|
imports = [ ];
|
||||||
|
|
||||||
|
options.me = {
|
||||||
|
vscode.enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Whether we want to install vscode.";
|
||||||
|
};
|
||||||
|
|
||||||
|
vscode.enable_work_profile = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Whether we want to install the remote tunnels vscode extension.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf (config.me.vscode.enable && config.me.graphical) {
|
||||||
|
allowedUnfree = [
|
||||||
|
"vscode"
|
||||||
|
"vscode-x86_64-unknown-linux-gnu-with-extensions"
|
||||||
|
"vscode-with-extensions"
|
||||||
|
"vscode-extension-ms-vscode-remote-remote-ssh"
|
||||||
|
"vscode-extension-MS-python-vscode-pylance"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vscode-with-extensions
|
||||||
];
|
];
|
||||||
|
|
||||||
me.install.user.talexander.file = {
|
me.install.user.talexander.file = {
|
||||||
@ -156,5 +153,25 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
vscode-with-extensions = (
|
||||||
|
prev.vscode-with-extensions.override {
|
||||||
|
vscodeExtensions = (extensions_to_install final);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
})
|
||||||
|
(final: prev: {
|
||||||
|
vscode-with-extensions = pkgs.symlinkJoin {
|
||||||
|
name = prev.vscode-with-extensions.name;
|
||||||
|
paths = [ prev.vscode-with-extensions ];
|
||||||
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
|
postBuild = ''
|
||||||
|
wrapProgram $out/bin/code --add-flags --password-store=gnome-libsecret
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user