Reconcile nix setup with PC config

This commit is contained in:
Andrei Lazarescu 2026-02-18 17:47:42 +02:00
parent 0586ac23dc
commit d09bfa5c42
Signed by: lazandrei19
SSH Key Fingerprint: SHA256:/KoKmXLdUaBkf6PPceiJzDezV957xmuD7T9TTKsf28Q
5 changed files with 101 additions and 37 deletions

24
flake.lock generated
View File

@ -28,11 +28,11 @@
]
},
"locked": {
"lastModified": 1758375677,
"narHash": "sha256-BLtD+6qWz7fQjPk2wpwyXQLGI0E30Ikgf2ppn2nVadI=",
"lastModified": 1761395627,
"narHash": "sha256-9wQpgBRW2PzYw1wx+MgCt1IbPAYz93csApLMgSZOJCk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "edc7468e12be92e926847cb02418e649b02b59dd",
"rev": "7296022150cd775917e4c831c393026eae7c2427",
"type": "github"
},
"original": {
@ -49,11 +49,11 @@
]
},
"locked": {
"lastModified": 1758102940,
"narHash": "sha256-wwqf3+A8EiqwWpcAaPN20QXJLlpGPpwtLTrzgnngI2o=",
"lastModified": 1761339987,
"narHash": "sha256-IUaawVwItZKi64IA6kF6wQCLCzpXbk2R46dHn8sHkig=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "ebd0bfc11fc2b5cff37401e9b3703881ad5fabbd",
"rev": "7cd9aac79ee2924a85c211d21fafd394b06a38de",
"type": "github"
},
"original": {
@ -65,11 +65,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1758262103,
"narHash": "sha256-aBGl3XEOsjWw6W3AHiKibN7FeoG73dutQQEqnd/etR8=",
"lastModified": 1761349956,
"narHash": "sha256-tH3wHnOJms+U4k/rK2Nn1RfBrhffX92jLP/2VndSn0w=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "12bd230118a1901a4a5d393f9f56b6ad7e571d01",
"rev": "02f2cb8e0feb4596d20cc52fda73ccee960e3538",
"type": "github"
},
"original": {
@ -87,11 +87,11 @@
]
},
"locked": {
"lastModified": 1758381358,
"narHash": "sha256-3edVTFHJavTAZH4D0MMraM+4JxrxXWeizQvlCWXcKnE=",
"lastModified": 1761424731,
"narHash": "sha256-R1dkdI2bLlhAFOLAT+W40lU1ab7+DBGaOORr/UrFZzY=",
"owner": "nix-community",
"repo": "NUR",
"rev": "62688dab3927fc080aad78d6814250b65cac1261",
"rev": "ceae515c833b8c6ac57307ccdefb08d782ea2432",
"type": "github"
},
"original": {

View File

@ -4,11 +4,11 @@
programs.git = {
enable = true;
package = pkgs.gitFull;
aliases = {};
lfs.enable = true;
userEmail = "lazarescu.andrei19@gmail.com";
userName = "Andrei Lazarescu";
extraConfig = {
settings = {
alias = {};
user.email = "lazarescu.andrei19@gmail.com";
user.name = "Andrei Lazarescu";
user.signingkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFkft5uSiWODIKIBGFPSCRktDEaxYPbudDUYlYyj53w/";
gpg.format = "ssh";
gpg.ssh.program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign";

View File

@ -1,6 +1,8 @@
{
programs.ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks."*" = {};
extraConfig = ''
Host *
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"

View File

@ -1,23 +1,59 @@
{ pkgs, ... }:
{ lib, ... }:
let
vscodeExtensions = [
"github.copilot"
"github.copilot-chat"
"ms-azuretools.vscode-containers"
"ms-dotnettools.csdevkit"
"ms-dotnettools.csharp"
"ms-dotnettools.vscode-dotnet-runtime"
"ms-vscode-remote.remote-containers"
"ms-vscode-remote.remote-ssh"
"ms-vscode-remote.remote-ssh-edit"
"ms-vscode-remote.remote-wsl"
"ms-vscode-remote.vscode-remote-extensionpack"
"ms-vscode.remote-explorer"
"ms-vscode.remote-server"
"ms-vsliveshare.vsliveshare"
];
cursorExtensions = [
"anysphere.cursorpyright"
"anysphere.remote-ssh"
"astro-build.astro-vscode"
"castwide.solargraph"
"expo.vscode-expo-tools"
"github.vscode-github-actions"
"jnoortheen.nix-ide"
"ms-dotnettools.csdevkit"
"ms-dotnettools.csharp"
"ms-dotnettools.vscode-dotnet-runtime"
"ms-python.anaconda-extension-pack"
"ms-python.debugpy"
"ms-python.python"
"msjsdiag.vscode-react-native"
"redhat.vscode-yaml"
"rust-lang.rust-analyzer"
"shopify.ruby-lsp"
];
installExtensions = editor: extensions: ''
if command -v ${editor} >/dev/null 2>&1; then
for ext in ${lib.concatStringsSep " " (map lib.escapeShellArg extensions)}; do
$DRY_RUN_CMD ${editor} --install-extension "$ext" --force >/dev/null 2>&1 || true
done
fi
'';
in
{
programs.vscode = {
enable = true;
mutableExtensionsDir = false;
# Allow manual extension installs from within the editor.
mutableExtensionsDir = true;
profiles.default = {
enableExtensionUpdateCheck = true;
enableUpdateCheck = true;
extensions = [
pkgs.vscode-extensions.ms-vscode-remote.remote-ssh
pkgs.vscode-extensions.ms-vscode-remote.remote-ssh-edit
pkgs.vscode-extensions.jnoortheen.nix-ide
pkgs.vscode-extensions.ms-dotnettools.csdevkit
pkgs.vscode-extensions.ms-dotnettools.csharp
pkgs.vscode-extensions.ms-dotnettools.vscode-dotnet-runtime
pkgs.vscode-extensions.shopify.ruby-lsp
pkgs.vscode-extensions.castwide.solargraph
pkgs.vscode-extensions.astro-build.astro-vscode
];
userSettings = {
"editor.fontSize" = 16;
"editor.fontFamily" = "'FiraCode Nerd Font Mono'";
@ -28,4 +64,10 @@
};
};
};
home.activation.installEditorExtensions = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
# Keep your current VS Code and Cursor extensions as baseline.
${installExtensions "code" vscodeExtensions}
${installExtensions "cursor" cursorExtensions}
'';
}

View File

@ -1,16 +1,36 @@
{ pkgs, ... }:
{ ... }:
{
homebrew = {
enable = true;
brews = [ "asdf" "libyaml" "libpq" "k9s" "sst/tap/opencode" "awscli" "helm" "sops" "yq" "opencode"
{
name = "postgresql@17";
restart_service = "changed";
}
brews = [
"asdf"
"awscli"
"azure-cli"
"cloc"
"hashicorp/tap/terraform"
"helm"
"k9s"
"libpq"
"sops"
"sst/tap/opencode"
"yq"
];
taps = [ "hashicorp/tap" "sst/tap" ];
casks = [
"cursor"
"dotnet-sdk"
"firefox"
"flutter"
"google-chrome"
"obsidian"
"qbittorrent"
"raycast"
"slack"
"structuredlogviewer"
"visual-studio-code"
"vlc"
];
taps = [ "sst/tap" ];
casks = [ "raycast" "firefox" "slack" "google-chrome" "cursor" "qbittorrent" "vlc" "obsidian" ];
onActivation = {
cleanup = "zap";
};