diff --git a/hosts/common/configs/git/default.nix b/hosts/common/configs/git/default.nix index 04e14ce..d8ac829 100644 --- a/hosts/common/configs/git/default.nix +++ b/hosts/common/configs/git/default.nix @@ -4,4 +4,3 @@ lfs.enable = true; }; } - diff --git a/hosts/common/configs/gpg-agent/default.nix b/hosts/common/configs/gpg-agent/default.nix index 3a0b485..46959f3 100644 --- a/hosts/common/configs/gpg-agent/default.nix +++ b/hosts/common/configs/gpg-agent/default.nix @@ -1,6 +1,3 @@ -{ pkgs, ... }: - { programs.gnupg.agent.enable = true; } - diff --git a/hosts/common/configs/nix-ld/default.nix b/hosts/common/configs/nix-ld/default.nix index 8cfe516..c502844 100644 --- a/hosts/common/configs/nix-ld/default.nix +++ b/hosts/common/configs/nix-ld/default.nix @@ -4,4 +4,3 @@ libraries = [ ]; }; } - diff --git a/hosts/common/configs/ssh/default.nix b/hosts/common/configs/ssh/default.nix index 36f983e..347463d 100644 --- a/hosts/common/configs/ssh/default.nix +++ b/hosts/common/configs/ssh/default.nix @@ -5,4 +5,3 @@ }; }; } - diff --git a/hosts/common/default.nix b/hosts/common/default.nix index 3057e71..a2dfa5a 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -1,4 +1,4 @@ -{ inputs, lib, pkgs, ... }: +{ inputs, pkgs, ... }: { imports = [ diff --git a/users/common/configs/firefox/default.nix b/users/common/configs/firefox/default.nix index 1b11c75..c9cddba 100644 --- a/users/common/configs/firefox/default.nix +++ b/users/common/configs/firefox/default.nix @@ -95,4 +95,3 @@ })) (lib.attrsets.filterAttrs (name: config: config.isNormalUser) config.users.users); }; } - diff --git a/users/common/configs/git/default.nix b/users/common/configs/git/default.nix index 013a18f..80e6f02 100644 --- a/users/common/configs/git/default.nix +++ b/users/common/configs/git/default.nix @@ -32,4 +32,3 @@ })) (lib.attrsets.filterAttrs (name: config: config.isNormalUser) config.users.users); }; } - diff --git a/users/common/configs/neovim/default.nix b/users/common/configs/neovim/default.nix index 23a70c3..c140164 100644 --- a/users/common/configs/neovim/default.nix +++ b/users/common/configs/neovim/default.nix @@ -15,4 +15,3 @@ }; }]; } - diff --git a/users/common/configs/vscode/default.nix b/users/common/configs/vscode/default.nix new file mode 100644 index 0000000..6114f72 --- /dev/null +++ b/users/common/configs/vscode/default.nix @@ -0,0 +1,68 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ./langs/nix.nix + ]; + + home-manager = { + sharedModules = [{ + programs.vscode = { + enable = true; + mutableExtensionsDir = false; + userSettings = { + "editor.accessibilitySupport" = "off"; + "editor.cursorBlinking" = "phase"; + "editor.cursorSmoothCaretAnimation" = "on"; + "editor.formatOnPaste" = true; + "editor.formatOnSave" = true; + "editor.formatOnType" = true; + "editor.indentSize" = "tabSize"; + "editor.inlineSuggest.enabled" = true; + "editor.largeFileOptimizations" = false; + "editor.linkedEditing" = true; + "editor.renderFinalNewline" = "on"; + "editor.smoothScrolling" = true; + "editor.stickyScroll.enabled" = true; + "editor.suggestSelection" = "first"; + "editor.unicodeHighlight.includeComments" = true; + "editor.unicodeHighlight.nonBasicASCII" = true; + "explorer.confirmDelete" = false; + "explorer.confirmDragAndDrop" = false; + "explorer.confirmPasteNative" = false; + "files.autoSave" = "afterDelay"; + "files.eol" = "\n"; + "files.insertFinalNewline" = true; + "files.trimFinalNewlines" = true; + "files.trimTrailingWhitespace" = true; + "git.allowForcePush" = true; + "git.alwaysSignOff" = true; + "git.autofetch" = "all"; + "git.closeDiffOnOperation" = true; + "git.confirmForcePush" = false; + "git.confirmSync" = false; + "git.enableCommitSigning" = true; + "git.enableSmartCommit" = true; + "git.ignoreRebaseWarning" = true; + "git.openRepositoryInParentFolders" = "always"; + "git.path" = "${pkgs.git}/bin/git"; + "mergeEditor.diffAlgorithm" = "advanced"; + "open-in-browser.default" = "firefox"; + "security.workspace.trust.enabled" = false; + "telemetry.telemetryLevel" = "off"; + "terminal.external.linuxExec" = "kitty"; + "terminal.integrated.confirmOnExit" = "hasChildProcesses"; + "terminal.integrated.copyOnSelection" = true; + "window.autoDetectHighContrast" = false; + "window.menuBarVisibility" = "toggle"; + "workbench.editor.historyBasedLanguageDetection" = true; + "workbench.list.smoothScrolling" = true; + }; + }; + }]; + + users = lib.attrsets.mapAttrs (user: config: ({ + home.persistence."/persist${config.home}".directories = [ ".config/Code" ]; + })) (lib.attrsets.filterAttrs (name: config: config.isNormalUser) config.users.users); + }; +} diff --git a/users/common/configs/vscode/langs/nix.nix b/users/common/configs/vscode/langs/nix.nix new file mode 100644 index 0000000..669c603 --- /dev/null +++ b/users/common/configs/vscode/langs/nix.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: + +{ + home-manager = { + sharedModules = [{ + programs.vscode = { + userSettings = { + "nix.enableLanguageServer" = true; + "nix.formatterPath" = "nixpkgs-fmt"; + "nix.serverSettings" = {}; + }; + extensions = with pkgs; with vscode-extensions; [ + jnoortheen.nix-ide + ]; + }; + + home.packages = with pkgs; [ + nil + nixpkgs-fmt + ]; + }]; + }; +} diff --git a/users/common/default.nix b/users/common/default.nix index a4a0c59..9355a8b 100644 --- a/users/common/default.nix +++ b/users/common/default.nix @@ -1,4 +1,4 @@ -{ config, inputs, lib, pkgs, ... }: +{ inputs, ... }: { imports = [ @@ -16,11 +16,13 @@ ./configs/neovim ./configs/stylix ./configs/zsh + ./configs/vscode ]; home-manager = { extraSpecialArgs = { inherit inputs; }; backupFileExtension = "bak"; + useGlobalPkgs = true; sharedModules = [{ home.stateVersion = "24.05"; systemd.user.startServices = "sd-switch";