diff --git a/home-manager/editors.nix b/home-manager/editors.nix new file mode 100644 index 0000000..dfa298e --- /dev/null +++ b/home-manager/editors.nix @@ -0,0 +1,72 @@ +{ pkgs, config, ... }: +{ + programs.vscode = { + enable = true; + extensions = with pkgs.vscode-extensions; [ + jnoortheen.nix-ide + sumneko.lua + ms-vsliveshare.vsliveshare + (catppuccin.catppuccin-vsc.override { + accent = "pink"; + boldKeywords = false; + italicComments = false; + italicKeywords = false; + extraBordersEnabled = false; + workbenchMode = "flat"; + #bracketMode = "rainbow"; + }) + ]; + mutableExtensionsDir = false; + enableExtensionUpdateCheck = false; + enableUpdateCheck = false; + userSettings = with config.opinions.font; { + "telemetry.enableTelemetry" = false; + + "editor.tabSize" = 2; + "editor.cursorSmoothCaretAnimation" = "on"; + + "editor.fontFamily" = "'${monospace.family}', monospace"; + "editor.fontSize" = monospace.size; + + "terminal.integrated.fontFamily" = "\"${monospace.family}\""; + "terminal.integrated.fontSize" = monospace.size; + + "window.dialogStyle" = "custom"; + "window.titleBarStyle" = "custom"; + + "workbench.tips.enabled" = false; + "workbench.colorTheme" = "Catppuccin Mocha"; + + "nix.enableLanguageServer" = true; + "nix.serverPath" = "${lib.getExe pkgs.nil}"; + + "security.workspace.trust.untrustedFiles" = "open"; + + "explorer.confirmDelete" = false; + "explorer.confirmDragAndDrop" = false; + + "editor.bracketPairColorization.enabled" = false; + "editor.smoothScrolling" = true; + "editor.wordWrap" = "on"; + "editor.wrappingStrategy" = "advanced"; + "editor.fontWeight" = "normal"; + "editor.semanticHighlighting.enabled" = true; + + # prevent VSCode from modifying the terminal colors + "terminal.integrated.minimumContrastRatio" = 1; + }; + }; + + programs.micro = { + enable = true; + settings = { + autosu = true; + clipboard = "terminal"; + savecursor = true; + scrollbar = true; + tabsize = 2; + tabstospaces = true; + }; + }; + microColors.enable = true; +} \ No newline at end of file diff --git a/home-manager/home.nix b/home-manager/home.nix index 9124d57..c27ea1c 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -10,6 +10,7 @@ outputs.homeManagerModules.microColors outputs.homeManagerModules.gnomeBindings outputs.homeManagerModules.disableNews + ./editors.nix ]; home.username = "oatmealine"; @@ -87,8 +88,6 @@ init.defaultBranch = "main"; }; }; - - alacritty.enable = true; gtkConfig = { enable = true; @@ -103,86 +102,12 @@ }; }; - programs.vscode = { - enable = true; - extensions = with pkgs.vscode-extensions; [ - jnoortheen.nix-ide - sumneko.lua - ms-vsliveshare.vsliveshare - (catppuccin.catppuccin-vsc.override { - accent = "pink"; - boldKeywords = false; - italicComments = false; - italicKeywords = false; - extraBordersEnabled = false; - workbenchMode = "flat"; - #bracketMode = "rainbow"; - }) - ]; - mutableExtensionsDir = false; - enableExtensionUpdateCheck = false; - enableUpdateCheck = false; - userSettings = with config.opinions.font; { - "telemetry.enableTelemetry" = false; - - "editor.tabSize" = 2; - "editor.cursorSmoothCaretAnimation" = "on"; - - "editor.fontFamily" = "'${monospace.family}', monospace"; - "editor.fontSize" = monospace.size; - - "terminal.integrated.fontFamily" = "\"${monospace.family}\""; - "terminal.integrated.fontSize" = monospace.size; - - "window.dialogStyle" = "custom"; - "window.titleBarStyle" = "custom"; - - "workbench.tips.enabled" = false; - "workbench.colorTheme" = "Catppuccin Mocha"; - - "nix.enableLanguageServer" = true; - "nix.serverPath" = "${lib.getExe pkgs.nil}"; - - "security.workspace.trust.untrustedFiles" = "open"; - - "explorer.confirmDelete" = false; - "explorer.confirmDragAndDrop" = false; - - "editor.bracketPairColorization.enabled" = false; - "editor.smoothScrolling" = true; - "editor.wordWrap" = "on"; - "editor.wrappingStrategy" = "advanced"; - "editor.fontWeight" = "normal"; - "editor.semanticHighlighting.enabled" = true; - - # prevent VSCode from modifying the terminal colors - "terminal.integrated.minimumContrastRatio" = 1; - }; - }; - + alacritty.enable = true; shellColors.enable = true; programs.fish.enable = true; programs.fish.plugins = [ { name = "grc"; src = pkgs.fishPlugins.grc.src; } ]; - - programs.micro = { - enable = true; - settings = { - autosu = true; - clipboard = "terminal"; - colorscheme = "generated"; - savecursor = true; - scrollbar = true; - tabsize = 2; - tabstospaces = true; - }; - }; - microColors.enable = true; - - services.syncthing = { - enable = true; - tray.enable = true; - }; - + services.syncthing.enable = true; + services.syncthing.tray.enable = true; gnomeBindings.enable = true; gnomeBindings.shell = { # disable defaults diff --git a/modules/home-manager/micro-colors.nix b/modules/home-manager/micro-colors.nix index 4af1a31..75599f1 100644 --- a/modules/home-manager/micro-colors.nix +++ b/modules/home-manager/micro-colors.nix @@ -3,13 +3,15 @@ with lib; let cfg = config.microColors; + name = "generated"; in { options.microColors = { enable = mkEnableOption "Enable shell color config"; }; config = mkIf cfg.enable { - home.file.".config/micro/colorschemes/generated.micro".text = with config.colorScheme.colors; '' + programs.micro.colorScheme = name; + home.file.".config/micro/colorschemes/${name}.micro".text = with config.colorScheme.colors; '' color-link default "#${base05},#${base00}" color-link comment "#${base03},#${base00}" color-link identifier "#${base0D},#${base00}"