commit eca433f43ed1f23c989d2a0aae139f43b5e3f0ba
parent f718f4419b6e85b84990356ae01bd73304ef535e
Author: Toni Brown <tb148@proton.me>
Date: Wed, 27 Aug 2025 23:17:38 +0800
separate some long configs into modules
Diffstat:
| M | home.nix | | | 189 | +++---------------------------------------------------------------------------- |
| A | starship.nix | | | 104 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | vesktop.nix | | | 58 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | zed-editor.nix | | | 45 | +++++++++++++++++++++++++++++++++++++++++++++ |
4 files changed, 213 insertions(+), 183 deletions(-)
diff --git a/home.nix b/home.nix
@@ -3,10 +3,15 @@
lib,
pkgs,
osConfig,
- inputs,
...
}:
{
+ imports = [
+ ./starship.nix
+ ./vesktop.nix
+ ./zed-editor.nix
+ ];
+
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "tb148";
@@ -110,193 +115,11 @@
programs.pay-respects.enable = true;
- programs.starship.enable = true;
- programs.starship.settings = {
- format = lib.concatStrings [
- "[ ](bg:red)"
- "$os"
- "$username"
- "[ ](bg:peach fg:red)"
- "$directory"
- "[ ](bg:yellow fg:peach)"
- "$git_branch"
- "$git_state"
- "$git_status"
- "[ ](bg:green fg:yellow)"
- "$c"
- "$cpp"
- "$nodejs"
- "$python"
- "[ ](bg:sapphire fg:green)"
- "$time"
- "[ ](bg:mauve fg:sapphire)"
- "$cmd_duration"
- "[](fg:mauve)"
- "$line_break"
- "$character"
- ];
- os = {
- disabled = false;
- format = "[$symbol]($style)";
- style = "bg:red fg:crust";
- symbols.NixOS = " ";
- };
- username = {
- show_always = true;
- format = "[$user ]($style)";
- style_user = "bg:red fg:crust";
- style_root = "bg:red fg:crust";
- };
- directory = {
- format = "[$path$read_only ]($style)";
- style = "bg:peach fg:crust";
- read_only = " ";
- truncation_symbol = "… /";
- };
- git_branch = {
- format = "[$symbol$branch(:$remote_branch) ]($style)";
- style = "bg:yellow fg:crust";
- symbol = " ";
- };
- git_state = {
- format = "[$state ($progress_current/$progress_total )]($style)";
- style = "bg:yellow fg:crust";
- };
- git_status = {
- format = "([$all_status$ahead_behind ]($style))";
- style = "bg:yellow fg:crust";
- };
- c = {
- format = "[$symbol($version) (\\($name\\) )]($style)";
- style = "bg:green fg:crust";
- symbol = " ";
- };
- cpp = {
- disabled = false;
- format = "[$symbol($version) (\\($name\\) )]($style)";
- style = "bg:green fg:crust";
- symbol = " ";
- };
- nodejs = {
- format = "[$symbol($version) ]($style)";
- style = "bg:green fg:crust";
- symbol = " ";
- };
- python = {
- format = "[$symbol($version) (\\($virtualenv\\) )]($style)";
- style = "bg:green fg:crust";
- symbol = " ";
- };
- time = {
- disabled = false;
- format = "[ $time ]($style)";
- style = "bg:sapphire fg:crust";
- };
- cmd_duration = {
- format = "[$duration ]($style)";
- style = "bg:mauve fg:crust";
- };
- character = {
- success_symbol = "[❯](bold fg:green)";
- error_symbol = "[❯](bold fg:red)";
- vimcmd_symbol = "[❮](bold fg:green)";
- vimcmd_replace_one_symbol = "[❮](bold fg:lavender)";
- vimcmd_replace_symbol = "[❮](bold fg:lavender)";
- vimcmd_visual_symbol = "[❮](bold fg:yellow)";
- };
- };
-
- programs.vesktop.enable = true;
- programs.vesktop.vencord = {
- settings.plugins = {
- AlwaysAnimate.enabled = true;
- AlwaysTrust.enabled = true;
- BetterFolders = {
- enabled = true;
- closeAllFolders = true;
- closeAllHomeButton = true;
- closeOthers = true;
- forceOpen = true;
- showFolderIcon = 0;
- };
- BetterUploadButton.enabled = true;
- BlurNSFW.enabled = true;
- ClearURLs.enabled = true;
- CtrlEnterSend.enabled = true;
- CopyFileContents.enabled = true;
- ImageFilename.enabled = true;
- MentionAvatars = {
- enabled = true;
- showAtSymbol = false;
- };
- RoleColorEverywhere = {
- enabled = true;
- colorChatMessages = true;
- };
- ShikiCodeblocks = {
- enabled = true;
- customTheme = "https://raw.githubusercontent.com/shikijs/textmate-grammars-themes/main/packages/tm-themes/themes/catppuccin-mocha.json";
- };
- ServerInfo.enabled = true;
- ShowHiddenChannels.enabled = true;
- ShowMeYourName = {
- enabled = true;
- mode = "nick-user";
- inReplies = true;
- };
- TypingTweaks.enabled = true;
- WhoReacted.enabled = true;
- };
- settings.enabledThemes = [
- "midnight-catppuccin-mocha.theme.css"
- ];
- themes."midnight-catppuccin-mocha.theme" =
- builtins.readFile "${inputs.midnight}/themes/flavors/midnight-catppuccin-mocha.theme.css";
- };
- xdg.configFile."vesktop/settings/quickCss.css".source = ./quickCss.css;
-
programs.wezterm.enable = true;
programs.wezterm.extraConfig = builtins.readFile ./wezterm.lua;
programs.yazi.enable = true;
- programs.zed-editor.enable = true;
- programs.zed-editor.extraPackages = with pkgs; [
- lua-language-server
- nil
- nixd
- nixfmt
- package-version-server
- prettier
- svelte-language-server
- tailwindcss-language-server
- taplo
- verible
- veridian
- vscode-json-languageserver
- yaml-language-server
- ];
- programs.zed-editor.extensions = [
- "lua"
- "nix"
- "nu"
- "svelte"
- "verilog"
- ];
- programs.zed-editor.userSettings = {
- buffer_font_family = "Sarasa Mono SC";
- buffer_font_size = 16;
- ui_font_family = "Sarasa Mono SC";
- ui_font_size = 16;
- hard_tabs = true;
- lsp.nixd.settings = {
- options = {
- nixos.expr = "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.nixosion.options";
- home-manager.expr = "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.nixosion.options.home-manager.users.type.getSubOptions []";
- };
- };
- };
-
programs.zoxide.enable = true;
i18n.inputMethod = {
diff --git a/starship.nix b/starship.nix
@@ -0,0 +1,104 @@
+{
+ config,
+ lib,
+ pkgs,
+}:
+{
+ programs.starship = {
+ enable = true;
+ settings = {
+ format = lib.concatStrings [
+ "[ ](bg:red)"
+ "$os"
+ "$username"
+ "[ ](bg:peach fg:red)"
+ "$directory"
+ "[ ](bg:yellow fg:peach)"
+ "$git_branch"
+ "$git_state"
+ "$git_status"
+ "[ ](bg:green fg:yellow)"
+ "$c"
+ "$cpp"
+ "$nodejs"
+ "$python"
+ "[ ](bg:sapphire fg:green)"
+ "$time"
+ "[ ](bg:mauve fg:sapphire)"
+ "$cmd_duration"
+ "[](fg:mauve)"
+ "$line_break"
+ "$character"
+ ];
+ os = {
+ disabled = false;
+ format = "[$symbol]($style)";
+ style = "bg:red fg:crust";
+ symbols.NixOS = " ";
+ };
+ username = {
+ show_always = true;
+ format = "[$user ]($style)";
+ style_user = "bg:red fg:crust";
+ style_root = "bg:red fg:crust";
+ };
+ directory = {
+ format = "[$path$read_only ]($style)";
+ style = "bg:peach fg:crust";
+ read_only = " ";
+ truncation_symbol = "… /";
+ };
+ git_branch = {
+ format = "[$symbol$branch(:$remote_branch) ]($style)";
+ style = "bg:yellow fg:crust";
+ symbol = " ";
+ };
+ git_state = {
+ format = "[$state ($progress_current/$progress_total )]($style)";
+ style = "bg:yellow fg:crust";
+ };
+ git_status = {
+ format = "([$all_status$ahead_behind ]($style))";
+ style = "bg:yellow fg:crust";
+ };
+ c = {
+ format = "[$symbol($version) (\\($name\\) )]($style)";
+ style = "bg:green fg:crust";
+ symbol = " ";
+ };
+ cpp = {
+ disabled = false;
+ format = "[$symbol($version) (\\($name\\) )]($style)";
+ style = "bg:green fg:crust";
+ symbol = " ";
+ };
+ nodejs = {
+ format = "[$symbol($version) ]($style)";
+ style = "bg:green fg:crust";
+ symbol = " ";
+ };
+ python = {
+ format = "[$symbol($version) (\\($virtualenv\\) )]($style)";
+ style = "bg:green fg:crust";
+ symbol = " ";
+ };
+ time = {
+ disabled = false;
+ format = "[ $time ]($style)";
+ style = "bg:sapphire fg:crust";
+ };
+ cmd_duration = {
+ format = "[$duration ]($style)";
+ style = "bg:mauve fg:crust";
+ };
+ character = {
+ success_symbol = "[❯](bold fg:green)";
+ error_symbol = "[❯](bold fg:red)";
+ vimcmd_symbol = "[❮](bold fg:green)";
+ vimcmd_replace_one_symbol = "[❮](bold fg:lavender)";
+ vimcmd_replace_symbol = "[❮](bold fg:lavender)";
+ vimcmd_visual_symbol = "[❮](bold fg:yellow)";
+ };
+ };
+ };
+}
diff --git a/vesktop.nix b/vesktop.nix
@@ -0,0 +1,58 @@
+{
+ config,
+ lib,
+ pkgs,
+ inputs,
+}:
+{
+ programs.vesktop = {
+ enable = true;
+ vencord = {
+ settings.plugins = {
+ AlwaysAnimate.enabled = true;
+ AlwaysTrust.enabled = true;
+ BetterFolders = {
+ enabled = true;
+ closeAllFolders = true;
+ closeAllHomeButton = true;
+ closeOthers = true;
+ forceOpen = true;
+ showFolderIcon = 0;
+ };
+ BetterUploadButton.enabled = true;
+ BlurNSFW.enabled = true;
+ ClearURLs.enabled = true;
+ CtrlEnterSend.enabled = true;
+ CopyFileContents.enabled = true;
+ ImageFilename.enabled = true;
+ MentionAvatars = {
+ enabled = true;
+ showAtSymbol = false;
+ };
+ RoleColorEverywhere = {
+ enabled = true;
+ colorChatMessages = true;
+ };
+ ShikiCodeblocks = {
+ enabled = true;
+ customTheme = "https://raw.githubusercontent.com/shikijs/textmate-grammars-themes/main/packages/tm-themes/themes/catppuccin-mocha.json";
+ };
+ ServerInfo.enabled = true;
+ ShowHiddenChannels.enabled = true;
+ ShowMeYourName = {
+ enabled = true;
+ mode = "nick-user";
+ inReplies = true;
+ };
+ TypingTweaks.enabled = true;
+ WhoReacted.enabled = true;
+ };
+ settings.enabledThemes = [
+ "midnight-catppuccin-mocha.theme.css"
+ ];
+ themes."midnight-catppuccin-mocha.theme" =
+ builtins.readFile "${inputs.midnight}/themes/flavors/midnight-catppuccin-mocha.theme.css";
+ };
+ };
+ xdg.configFile."vesktop/settings/quickCss.css".source = ./quickCss.css;
+}
diff --git a/zed-editor.nix b/zed-editor.nix
@@ -0,0 +1,45 @@
+{
+ config,
+ lib,
+ pkgs,
+}:
+{
+ programs.zed-editor = {
+ enable = true;
+ extraPackages = with pkgs; [
+ lua-language-server
+ nil
+ nixd
+ nixfmt
+ package-version-server
+ prettier
+ svelte-language-server
+ tailwindcss-language-server
+ taplo
+ verible
+ veridian
+ vscode-json-languageserver
+ yaml-language-server
+ ];
+ extensions = [
+ "lua"
+ "nix"
+ "nu"
+ "svelte"
+ "verilog"
+ ];
+ userSettings = {
+ buffer_font_family = "Sarasa Mono SC";
+ buffer_font_size = 16;
+ ui_font_family = "Sarasa Mono SC";
+ ui_font_size = 16;
+ hard_tabs = true;
+ lsp.nixd.settings = {
+ options = {
+ nixos.expr = "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.nixosion.options";
+ home-manager.expr = "(builtins.getFlake (builtins.toString ./.)).nixosConfigurations.nixosion.options.home-manager.users.type.getSubOptions []";
+ };
+ };
+ };
+ };
+}