nixos/home-manager/fred.nix
ediblerope d839fe0c3e vscodium: wire through HM programs.vscode so stylix can theme it
Stylix's vscode target injects workbench.colorCustomizations via the
HM programs.vscode module — it can't reach a system-package install.
Move vscodium to programs.vscode with mutableExtensionsDir = true so
GUI-installed extensions stay put, and preserve the six user settings
that aren't colour-related.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 21:16:47 +01:00

64 lines
1.8 KiB
Nix

# home-manager/fred.nix
{ config, pkgs, lib, inputs, osConfig, ... }:
let
isDesktop = lib.elem osConfig.networking.hostName [ "FredOS-Gaming" "FredOS-Macbook" ];
in
{
home.stateVersion = "25.11";
home.packages = with pkgs; [
#
];
home.file.".config/nixpkgs/config.nix".text = ''
{ allowUnfree = true; }
'';
# Wallpaper source — consumed by stylix's image option (set in
# settings/stylix.nix) and by hyprpaper at session start.
home.file.".local/share/backgrounds/wallpaper.png".source =
"${inputs.self}/walls/wallpaper.png";
# btop — stylix's btop target writes the colour theme; we keep our
# non-colour preferences here.
programs.btop = lib.mkIf isDesktop {
enable = true;
settings = {
theme_background = false;
vim_keys = false;
};
};
# Ghostty — stylix's ghostty target writes the colour theme.
programs.ghostty = lib.mkIf isDesktop {
enable = true;
settings = {
font-family = "FiraMono Nerd Font";
font-size = 11;
font-thicken = true;
window-padding-x = 10;
window-padding-y = 10;
window-padding-balance = true;
background-opacity = 0.98;
confirm-close-surface = false;
gtk-titlebar = false;
cursor-style = "bar";
cursor-style-blink = true;
};
};
# VSCodium — stylix's vscode target injects workbench.colorCustomizations.
# mutableExtensionsDir keeps GUI-installed extensions working.
programs.vscode = lib.mkIf isDesktop {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = true;
profiles.default.userSettings = {
"window.menuBarVisibility" = "compact";
"window.commandCenter" = false;
"claudeCode.preferredLocation" = "panel";
"git.enableSmartCommit" = true;
"git.autofetch" = true;
};
};
}