nixos

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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:
Mhome.nix | 189+++----------------------------------------------------------------------------
Astarship.nix | 104+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avesktop.nix | 58++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Azed-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 []"; + }; + }; + }; + }; +}