3 Commits

Author SHA1 Message Date
Tom Alexander
b67b491efa Match extension versions for work. 2025-11-25 17:40:55 -05:00
Tom Alexander
ddd3200ca6 Add a role for gnome keyring. 2025-11-24 23:01:40 -05:00
Tom Alexander
d0968ab836 Install remote tunnels on odowork. 2025-11-24 22:55:31 -05:00
7 changed files with 171 additions and 20 deletions

View File

@@ -31,14 +31,15 @@
./roles/firewall
./roles/flux
./roles/fonts
./roles/image_based_appliance
./roles/gcloud
./roles/git
./roles/global_options
./roles/gnome_keyring
./roles/gnuplot
./roles/gpg
./roles/graphics
./roles/hydra
./roles/image_based_appliance
./roles/iso
./roles/iso_mount
./roles/jujutsu

View File

@@ -73,6 +73,8 @@
# Enable TRIM
# services.fstrim.enable = lib.mkDefault true;
fonts.enableDefaultPackages = lib.mkForce true;
me.alacritty.enable = true;
me.amd_s2idle.enable = true;
me.ansible.enable = true;
@@ -92,6 +94,7 @@
me.gcloud.enable = true;
me.git.config = ../../roles/git/files/gitconfig_work;
me.git.enable = true;
me.gnome_keyring.enable = true;
me.gnuplot.enable = true;
me.gpg.enable = true;
me.graphical = true;
@@ -122,6 +125,7 @@
me.thunderbolt.enable = true;
me.user.enable = true;
me.vscode.enable = true;
me.vscode.enable_work_profile = true;
me.waybar.enable = true;
me.wireguard.activated = [
"wgh"

View File

@@ -67,7 +67,7 @@
# Allow sending dark mode preference to websites.
# Allow sending timezone to websites.
"privacy.fingerprintingProtection.overrides" =
"+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC,-CanvasExtractionBeforeUserInputIsBlocked,-CanvasImageExtractionPrompt";
"+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC,-CanvasExtractionBeforeUserInputIsBlocked,-CanvasImageExtractionPrompt,-CanvasExtractionFromThirdPartiesIsBlocked";
# Disable weather on new tab page
"browser.newtabpage.activity-stream.showWeather" = false;
# Disable AI stuff that wastes battery life

View File

@@ -0,0 +1,42 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [ ];
options.me = {
gnome_keyring.enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether we want to install gnome_keyring.";
};
};
config = lib.mkIf (config.me.gnome_keyring.enable && config.me.graphical) {
services.gnome.gnome-keyring.enable = true;
environment.systemPackages = with pkgs; [
seahorse # UI for managing secrets.
libsecret
];
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
hideMounts = true;
users.talexander = {
directories = [
{
directory = ".local/share/keyrings";
user = "talexander";
group = "talexander";
mode = "0755";
}
];
};
};
};
}

View File

@@ -369,7 +369,7 @@ in
exec_before = "${start_screen_share}";
exec_after = "${stop_screen_share}";
chooser_type = "simple";
chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or";
chooser_cmd = "${pkgs.slurp}/bin/slurp -f 'Monitor: %o' -or";
};
};
};

View File

@@ -15,6 +15,13 @@
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) {
@@ -23,26 +30,69 @@
"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
ms-python.python
ms-azuretools.vscode-docker
ms-vscode-remote.remote-ssh
esbenp.prettier-vscode
]
# ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# {
# name = "remote-ssh-edit";
# publisher = "ms-vscode-remote";
# version = "0.47.2";
# sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
# }
# ]
;
vscodeExtensions =
with vscode-extensions;
(
[
bbenoist.nix
ms-azuretools.vscode-docker
ms-vscode-remote.remote-ssh
esbenp.prettier-vscode
]
++ (
if config.me.vscode.enable_work_profile then
[
# ms-python.vscode-pylance
]
else
[
ms-python.python
ms-python.debugpy
]
)
++ (pkgs.vscode-utils.extensionsFromVscodeMarketplace (
if config.me.vscode.enable_work_profile then
[
{
name = "remote-server";
publisher = "ms-vscode";
version = "1.5.3";
sha256 = "MSayIBwvSgIHg6gTrtUotHznvo5kTiveN8iSrehllW0=";
}
{
name = "vscode-python-envs";
publisher = "ms-python";
version = "1.12.0";
sha256 = "8dCnGBuxv+8QwP0FrUZIKFxllVOR2z+wIhyyJgxsRns=";
}
{
name = "vscode-pylance";
publisher = "ms-python";
version = "2025.10.1";
sha256 = "7NLq5huykRAhhEIHjtXLKDBFwQ5yiJKFLG64Tjh0yaM=";
}
{
name = "debugpy";
publisher = "ms-python";
version = "2025.16.0";
sha256 = "QPIDUzzwIfzyicsCwqU2u6hVSjCJMInHhHMBqvL8tYs=";
}
{
name = "python";
publisher = "ms-python";
version = "2025.18.0";
sha256 = "6auzfS1DmOuaqV2rDHSCC9BlrcON4xUrdJZ0N0wYCs4=";
}
]
else
[ ]
))
);
})
];
@@ -54,5 +104,57 @@
source = ./files/keybindings.json;
};
};
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
hideMounts = true;
users.talexander = {
directories = [
{
directory = ".config/Code/User/globalStorage";
user = "talexander";
group = "talexander";
mode = "0755";
}
{
directory = ".config/Code/User/workspaceStorage";
user = "talexander";
group = "talexander";
mode = "0755";
}
];
};
};
environment.persistence."/state" = lib.mkIf (config.me.mountPersistence) {
hideMounts = true;
users.talexander = {
directories = [
{
directory = ".config/Code/CachedProfilesData";
user = "talexander";
group = "talexander";
mode = "0755";
}
{
directory = ".config/Code/CachedConfigurations";
user = "talexander";
group = "talexander";
mode = "0755";
}
{
directory = ".config/Code/Cache";
user = "talexander";
group = "talexander";
mode = "0755";
}
{
directory = ".config/Code/CachedData";
user = "talexander";
group = "talexander";
mode = "0755";
}
];
};
};
};
}

View File

@@ -53,5 +53,7 @@
"editor.autoClosingBrackets": "never",
"editor.autoSurround": "never",
"workbench.editor.navigationScope": "editorGroup",
"python.analysis.typeCheckingMode": "standard"
"python.analysis.typeCheckingMode": "standard",
"python.trace.server": "verbose",
"python.analysis.logLevel": "Trace"
}