73 lines
1.9 KiB
Nix
73 lines
1.9 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
osConfig,
|
|
...
|
|
}: {
|
|
config = {
|
|
nixpkgs.config = {
|
|
allowUnfree = true;
|
|
};
|
|
|
|
# Programs that need to be installed with some extra configuration
|
|
programs = lib.mkMerge [
|
|
{
|
|
# Let Home Manager install and manage itself.
|
|
home-manager.enable = true;
|
|
}
|
|
(lib.mkIf (config.user.isDesktopUser || config.user.isTerminalUser) {
|
|
# git = {
|
|
# enable = true;
|
|
# userName = "Ivy";
|
|
# userEmail = "ivy@example.com"; # Update this with actual email
|
|
# extraConfig.init.defaultBranch = "main";
|
|
# };
|
|
|
|
openssh = {
|
|
enable = true;
|
|
hostKeys = [
|
|
{
|
|
type = "ed25519";
|
|
path = "${config.home.username}_${osConfig.networking.hostName}_ed25519";
|
|
}
|
|
];
|
|
};
|
|
})
|
|
(lib.mkIf config.user.isDesktopUser {
|
|
vscode = {
|
|
enable = true;
|
|
package = pkgs.vscodium;
|
|
mutableExtensionsDir = false;
|
|
|
|
profiles.default = {
|
|
enableUpdateCheck = false;
|
|
enableExtensionUpdateCheck = false;
|
|
|
|
extraExtensions = {
|
|
# Cline extension (Claude AI assistant)
|
|
claudeDev.enable = true;
|
|
# Auto Rename Tag
|
|
autoRenameTag.enable = true;
|
|
# Live Server
|
|
liveServer.enable = true;
|
|
};
|
|
|
|
extensions = let
|
|
extension-pkgs = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version;
|
|
in (
|
|
with extension-pkgs.open-vsx; [
|
|
streetsidesoftware.code-spell-checker
|
|
]
|
|
);
|
|
};
|
|
};
|
|
|
|
firefox.enable = true;
|
|
discord.enable = true;
|
|
signal-desktop-bin.enable = true;
|
|
claude-code.enable = true;
|
|
})
|
|
];
|
|
};
|
|
}
|