Compare commits
3 Commits
8c223a066d
...
b67b491efa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b67b491efa
|
||
|
|
ddd3200ca6
|
||
|
|
d0968ab836
|
@@ -31,14 +31,15 @@
|
|||||||
./roles/firewall
|
./roles/firewall
|
||||||
./roles/flux
|
./roles/flux
|
||||||
./roles/fonts
|
./roles/fonts
|
||||||
./roles/image_based_appliance
|
|
||||||
./roles/gcloud
|
./roles/gcloud
|
||||||
./roles/git
|
./roles/git
|
||||||
./roles/global_options
|
./roles/global_options
|
||||||
|
./roles/gnome_keyring
|
||||||
./roles/gnuplot
|
./roles/gnuplot
|
||||||
./roles/gpg
|
./roles/gpg
|
||||||
./roles/graphics
|
./roles/graphics
|
||||||
./roles/hydra
|
./roles/hydra
|
||||||
|
./roles/image_based_appliance
|
||||||
./roles/iso
|
./roles/iso
|
||||||
./roles/iso_mount
|
./roles/iso_mount
|
||||||
./roles/jujutsu
|
./roles/jujutsu
|
||||||
|
|||||||
@@ -73,6 +73,8 @@
|
|||||||
# Enable TRIM
|
# Enable TRIM
|
||||||
# services.fstrim.enable = lib.mkDefault true;
|
# services.fstrim.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
fonts.enableDefaultPackages = lib.mkForce true;
|
||||||
|
|
||||||
me.alacritty.enable = true;
|
me.alacritty.enable = true;
|
||||||
me.amd_s2idle.enable = true;
|
me.amd_s2idle.enable = true;
|
||||||
me.ansible.enable = true;
|
me.ansible.enable = true;
|
||||||
@@ -92,6 +94,7 @@
|
|||||||
me.gcloud.enable = true;
|
me.gcloud.enable = true;
|
||||||
me.git.config = ../../roles/git/files/gitconfig_work;
|
me.git.config = ../../roles/git/files/gitconfig_work;
|
||||||
me.git.enable = true;
|
me.git.enable = true;
|
||||||
|
me.gnome_keyring.enable = true;
|
||||||
me.gnuplot.enable = true;
|
me.gnuplot.enable = true;
|
||||||
me.gpg.enable = true;
|
me.gpg.enable = true;
|
||||||
me.graphical = true;
|
me.graphical = true;
|
||||||
@@ -122,6 +125,7 @@
|
|||||||
me.thunderbolt.enable = true;
|
me.thunderbolt.enable = true;
|
||||||
me.user.enable = true;
|
me.user.enable = true;
|
||||||
me.vscode.enable = true;
|
me.vscode.enable = true;
|
||||||
|
me.vscode.enable_work_profile = true;
|
||||||
me.waybar.enable = true;
|
me.waybar.enable = true;
|
||||||
me.wireguard.activated = [
|
me.wireguard.activated = [
|
||||||
"wgh"
|
"wgh"
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
# Allow sending dark mode preference to websites.
|
# Allow sending dark mode preference to websites.
|
||||||
# Allow sending timezone to websites.
|
# Allow sending timezone to websites.
|
||||||
"privacy.fingerprintingProtection.overrides" =
|
"privacy.fingerprintingProtection.overrides" =
|
||||||
"+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC,-CanvasExtractionBeforeUserInputIsBlocked,-CanvasImageExtractionPrompt";
|
"+AllTargets,-CSSPrefersColorScheme,-JSDateTimeUTC,-CanvasExtractionBeforeUserInputIsBlocked,-CanvasImageExtractionPrompt,-CanvasExtractionFromThirdPartiesIsBlocked";
|
||||||
# Disable weather on new tab page
|
# Disable weather on new tab page
|
||||||
"browser.newtabpage.activity-stream.showWeather" = false;
|
"browser.newtabpage.activity-stream.showWeather" = false;
|
||||||
# Disable AI stuff that wastes battery life
|
# Disable AI stuff that wastes battery life
|
||||||
|
|||||||
42
nix/configuration/roles/gnome_keyring/default.nix
Normal file
42
nix/configuration/roles/gnome_keyring/default.nix
Normal 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";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -369,7 +369,7 @@ in
|
|||||||
exec_before = "${start_screen_share}";
|
exec_before = "${start_screen_share}";
|
||||||
exec_after = "${stop_screen_share}";
|
exec_after = "${stop_screen_share}";
|
||||||
chooser_type = "simple";
|
chooser_type = "simple";
|
||||||
chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or";
|
chooser_cmd = "${pkgs.slurp}/bin/slurp -f 'Monitor: %o' -or";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -15,6 +15,13 @@
|
|||||||
example = true;
|
example = true;
|
||||||
description = "Whether we want to install vscode.";
|
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) {
|
config = lib.mkIf (config.me.vscode.enable && config.me.graphical) {
|
||||||
@@ -23,26 +30,69 @@
|
|||||||
"vscode-x86_64-unknown-linux-gnu-with-extensions"
|
"vscode-x86_64-unknown-linux-gnu-with-extensions"
|
||||||
"vscode-with-extensions"
|
"vscode-with-extensions"
|
||||||
"vscode-extension-ms-vscode-remote-remote-ssh"
|
"vscode-extension-ms-vscode-remote-remote-ssh"
|
||||||
|
"vscode-extension-MS-python-vscode-pylance"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
(vscode-with-extensions.override {
|
(vscode-with-extensions.override {
|
||||||
vscodeExtensions = with vscode-extensions; [
|
vscodeExtensions =
|
||||||
|
with vscode-extensions;
|
||||||
|
(
|
||||||
|
[
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
ms-python.python
|
|
||||||
ms-azuretools.vscode-docker
|
ms-azuretools.vscode-docker
|
||||||
ms-vscode-remote.remote-ssh
|
ms-vscode-remote.remote-ssh
|
||||||
esbenp.prettier-vscode
|
esbenp.prettier-vscode
|
||||||
]
|
]
|
||||||
# ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
++ (
|
||||||
# {
|
if config.me.vscode.enable_work_profile then
|
||||||
# name = "remote-ssh-edit";
|
[
|
||||||
# publisher = "ms-vscode-remote";
|
# ms-python.vscode-pylance
|
||||||
# version = "0.47.2";
|
]
|
||||||
# sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
|
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;
|
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";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,5 +53,7 @@
|
|||||||
"editor.autoClosingBrackets": "never",
|
"editor.autoClosingBrackets": "never",
|
||||||
"editor.autoSurround": "never",
|
"editor.autoSurround": "never",
|
||||||
"workbench.editor.navigationScope": "editorGroup",
|
"workbench.editor.navigationScope": "editorGroup",
|
||||||
"python.analysis.typeCheckingMode": "standard"
|
"python.analysis.typeCheckingMode": "standard",
|
||||||
|
"python.trace.server": "verbose",
|
||||||
|
"python.analysis.logLevel": "Trace"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user