From 1598b620b95a4ed54d2b35dfd1e462e4655e5917 Mon Sep 17 00:00:00 2001 From: biscuit Date: Tue, 13 May 2025 15:35:43 -0500 Subject: [PATCH] sync --- home-manager/home.nix | 3 +- nixos/configuration.nix | 1 + packages/zoxide/config.omp.json | 118 ------------------ packages/zoxide/default.nix | 15 --- packages/zsh/custom/config.omp.json | 55 ++++++++ .../zsh/custom/plugins/zsh-autosuggestions | 1 + packages/zsh/custom/plugins/zsh-vi-mode | 1 + packages/zsh/default.nix | 47 +++++-- 8 files changed, 94 insertions(+), 147 deletions(-) delete mode 100644 packages/zoxide/config.omp.json delete mode 100644 packages/zoxide/default.nix create mode 100644 packages/zsh/custom/config.omp.json create mode 160000 packages/zsh/custom/plugins/zsh-autosuggestions create mode 160000 packages/zsh/custom/plugins/zsh-vi-mode diff --git a/home-manager/home.nix b/home-manager/home.nix index fdefeac..ac5aed3 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -4,7 +4,6 @@ imports = [ ../packages/nvim/default.nix ../packages/zsh/default.nix - ../packages/zoxide/default.nix ]; home = { @@ -15,7 +14,7 @@ home.packages = [ ]; home.sessionVariables = { - + ZSH_CUSTOM = "/home/biscuit/Nixos/packages/zsh/custom/plugins"; }; programs.git.enable = true; diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 73fc875..147c6f6 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -57,6 +57,7 @@ home-manager zsh p7zip + gcc ]; # Enable the OpenSSH daemon. diff --git a/packages/zoxide/config.omp.json b/packages/zoxide/config.omp.json deleted file mode 100644 index 7533a9b..0000000 --- a/packages/zoxide/config.omp.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", - "blocks": [ - { - "alignment": "left", - "newline": true, - "segments": [ - { - "foreground": "#E5C07B", - "properties": { - "time_format": "15:04" - }, - "style": "plain", - "template": "[{{ .CurrentDate | date .Format }}]", - "type": "time" - }, - { - "type": "shell", - "style": "plain", - "foreground": "#E06C75", - "properties": { - "mapped_shell_names": { - "pwsh": "Shell", - "powershell": "Shell", - "cmd": "Cmd", - "bash": "Bash" - } - }, - "template": " \ue795 {{ .Name }}" - }, - { - "foreground": "#F3C267", - "foreground_templates": [ - "{{ if or (.Working.Changed) (.Staging.Changed) }}#FF9248{{ end }}", - "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#ff4500{{ end }}", - "{{ if gt .Ahead 0 }}#B388FF{{ end }}", - "{{ if gt .Behind 0 }}#B388FF{{ end }}" - ], - "properties": { - "branch_template": "{{ trunc 25 .Branch }}", - "fetch_stash_count": true, - "fetch_status": true, - "fetch_upstream_icon": true - }, - "style": "plain", - "template": " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ", - "type": "git" - } - ], - "type": "prompt" - }, - { - "alignment": "right", - "segments": [ - { - "type": "status", - "style": "plain", - "foreground": "#b8ff75", - "foreground_templates": [ - "{{ if gt .Code 0 }}#E06C75{{ end }}" - ], - "template": " x{{ reason .Code }}" - }, - { - "foreground": "#b8ff75", - "foreground_templates": [ - "{{ if gt .Code 0 }}#E06C75{{ end }}" - ], - "properties": { - "style": "roundrock", - "always_enabled": true - }, - "style": "diamond", - "template": " {{ .FormattedMs }} ", - "type": "executiontime" - } - ], - "type": "prompt" - }, - { - "alignment": "left", - "newline": true, - "segments": [ - { - "foreground": "#61AFEF", - "properties": { - "style": "full" - }, - "style": "plain", - "template": "\ue5ff {{ .Path }}", - "type": "path" - } - ], - "type": "prompt" - }, - { - "alignment": "left", - "newline": true, - "segments": [ - { - "foreground": "#E06C75", - "style": "plain", - "template": "\u0021", - "type": "root" - }, - { - "foreground": "#E06C75", - "style": "plain", - "template": "\u276f", - "type": "text" - } - ], - "type": "prompt" - } - ], - "final_space": true, - "version": 3 - } diff --git a/packages/zoxide/default.nix b/packages/zoxide/default.nix deleted file mode 100644 index e321479..0000000 --- a/packages/zoxide/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs , ... }: { - - home.packages = [ - pkgs.zoxide - pkgs.oh-my-posh - ]; - programs.zoxide.enable = true; - programs.zoxide.options = []; - - programs.oh-my-posh.enable = true; - home.file.".config/oh-my-posh/config.omp.json" = { - source = /home/biscuit/Nixos/packages/zoxide/config.omp.json; - force = true; - }; -} diff --git a/packages/zsh/custom/config.omp.json b/packages/zsh/custom/config.omp.json new file mode 100644 index 0000000..a6e6a5d --- /dev/null +++ b/packages/zsh/custom/config.omp.json @@ -0,0 +1,55 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "blocks": [ + { + "alignment": "left", + "segments": [ + { + "foreground": "#ffdd86", + "style": "plain", + "template": "{{ .UserName }}@{{ .HostName }} ", + "type": "session" + }, + { + "foreground": "#42a9ff", + "style": "plain", + "properties": { + "style": "full" + }, + "template": "{{ .Path }} ", + "type": "path" + }, + { + "properties": { + "branch_icon": "", + "fetch_status": true + }, + "style": "plain", + "template": "git:{{ if or (.Working.Changed) (.Staging.Changed) (gt .StashCount 0) }}<#ffdd86>{{ .HEAD }}{{ else }}{{ .HEAD }}{{ end }}{{ if .Staging.Changed }} <#98c379>{{ .Staging.String }}{{ end }}{{ if .Working.Changed }} <#d16971>{{ .Working.String }}{{ end }}", + "type": "git" + } + ], + "type": "prompt" + }, + { + "alignment": "left", + "newline": true, + "segments": [ + { + "foreground": "#ffdd86", + "foreground_templates": [ + "{{ if gt .Code 0 }}#42a9ff{{ end }}" + ], + "properties": { + "always_enabled": true + }, + "style": "plain", + "template": "> ", + "type": "status" + } + ], + "type": "prompt" + } + ], + "version": 3 +} diff --git a/packages/zsh/custom/plugins/zsh-autosuggestions b/packages/zsh/custom/plugins/zsh-autosuggestions new file mode 160000 index 0000000..0e810e5 --- /dev/null +++ b/packages/zsh/custom/plugins/zsh-autosuggestions @@ -0,0 +1 @@ +Subproject commit 0e810e5afa27acbd074398eefbe28d13005dbc15 diff --git a/packages/zsh/custom/plugins/zsh-vi-mode b/packages/zsh/custom/plugins/zsh-vi-mode new file mode 160000 index 0000000..f82c4c8 --- /dev/null +++ b/packages/zsh/custom/plugins/zsh-vi-mode @@ -0,0 +1 @@ +Subproject commit f82c4c8f4b2bdd9c914653d8f21fbb32e7f2ea6c diff --git a/packages/zsh/default.nix b/packages/zsh/default.nix index 0da8c62..55aa0d8 100644 --- a/packages/zsh/default.nix +++ b/packages/zsh/default.nix @@ -1,16 +1,40 @@ { pkgs, ... }: { + home.packages = [ + pkgs.zoxide + pkgs.oh-my-posh + ]; + + programs.zoxide.enable = true; + programs.oh-my-posh.enable = true; + + home.file.".config/oh-my-posh/config.omp.json" = { + source = /home/biscuit/Nixos/packages/zsh/custom/config.omp.json; + force = true; + }; + programs.zsh = { enable = true; plugins = [ + # { + # name = "zsh-autocomplete"; # completes history, commands, etc. + # src = pkgs.fetchFromGitHub { + # owner = "marlonrichert"; + # repo = "zsh-autocomplete"; + # rev = "762afacbf227ecd173e899d10a28a478b4c84a3f"; + # sha256 = "1357hygrjwj5vd4cjdvxzrx967f1d2dbqm2rskbz5z1q6jri1hm3"; + # }; # e.g., nix-prefetch-url --unpack https://github.com/marlonrichert/zsh-autocomplete/archive/762afacbf227ecd173e899d10a28a478b4c84a3f.tar.gz + # } { - name = "zsh-autocomplete"; # completes history, commands, etc. - src = pkgs.fetchFromGitHub { - owner = "marlonrichert"; - repo = "zsh-autocomplete"; - rev = "762afacbf227ecd173e899d10a28a478b4c84a3f"; - sha256 = "1357hygrjwj5vd4cjdvxzrx967f1d2dbqm2rskbz5z1q6jri1hm3"; - }; # e.g., nix-prefetch-url --unpack https://github.com/marlonrichert/zsh-autocomplete/archive/762afacbf227ecd173e899d10a28a478b4c84a3f.tar.gz - } ]; + name = "vi-mode"; + src = pkgs.zsh-vi-mode; + file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh"; + } + { + name = "autosuggestion"; + src = pkgs.zsh-autosuggestions; + file = "share/zsh-autosuggestions/zsh-autosuggestions.zsh"; + } + ]; enableCompletion = true; syntaxHighlighting.enable = true; shellAliases = { @@ -20,11 +44,11 @@ }; history.size = 10000; oh-my-zsh = { - plugins = [ "z" ]; + plugins = [ ]; enable = true; theme = "robbyrussell"; extraConfig = '' - Required for autocomplete with box: https://unix.stackexchange.com/a/778868 + # Required for autocomplete with box: https://unix.stackexchange.com/a/778868 zstyle ':completion:*' completer _expand _complete _ignored _approximate _expand_alias zstyle ':autocomplete:*' default-context curcontext zstyle ':autocomplete:*' min-input 0 @@ -35,7 +59,7 @@ autoload -Uz compinit compinit - setopt autocd # cd without writing 'cd' + # setopt autocd # cd without writing 'cd' setopt globdots # show dotfiles in autocomplete list ''; }; @@ -45,7 +69,6 @@ # zsh-autocomplete bindkey -M menuselect '^M' .accept-line # run code when selected completion - bindkey '^I' autocomplete-manual ''; };