diff options
-rw-r--r-- | home-manager/zsh/config/custom_cursor.sh (renamed from services/zsh/custom_cursor.sh) | 0 | ||||
-rw-r--r-- | home-manager/zsh/config/zsh-init.sh (renamed from services/zsh/zsh-init.sh) | 0 | ||||
-rw-r--r-- | home-manager/zsh/config/zsh-prompt.sh (renamed from services/zsh/zsh-prompt.sh) | 0 | ||||
-rw-r--r-- | home-manager/zsh/default.nix | 148 | ||||
-rw-r--r-- | services/default.nix | 1 | ||||
-rw-r--r-- | services/zsh/zsh.nix | 130 |
6 files changed, 148 insertions, 131 deletions
diff --git a/services/zsh/custom_cursor.sh b/home-manager/zsh/config/custom_cursor.sh index 9a6da012..9a6da012 100644 --- a/services/zsh/custom_cursor.sh +++ b/home-manager/zsh/config/custom_cursor.sh diff --git a/services/zsh/zsh-init.sh b/home-manager/zsh/config/zsh-init.sh index bc9af87a..bc9af87a 100644 --- a/services/zsh/zsh-init.sh +++ b/home-manager/zsh/config/zsh-init.sh diff --git a/services/zsh/zsh-prompt.sh b/home-manager/zsh/config/zsh-prompt.sh index 1f0f164b..1f0f164b 100644 --- a/services/zsh/zsh-prompt.sh +++ b/home-manager/zsh/config/zsh-prompt.sh diff --git a/home-manager/zsh/default.nix b/home-manager/zsh/default.nix new file mode 100644 index 00000000..f694b4a9 --- /dev/null +++ b/home-manager/zsh/default.nix @@ -0,0 +1,148 @@ +{ + config, + pkgs, + ... +}: { + programs.zsh = { + enable = true; + enableAutosuggestions = true; + enableCompletion = true; + enableSyntaxHighlighting = true; + + autocd = true; + + dotDir = ".config/zsh"; + + history = { + extended = true; + ignoreDups = false; + expireDuplicatesFirst = false; + ignoreSpace = false; # TODO I might change that + + path = "${config.xdg.dataHome}/zsh/history"; + save = 9000000; # number of lines to save + keep = 9000000; # number of lines to keep + share = true; # share between sessions + + hostorySubstringSearch = { + enable = true; + searchDownKey = "^[[B"; # DOWN Arrow key + searchUpKey = "^[[A"; # UP Arrow key + }; + }; + + loginExtra = + builtins.readFile ./config/zsh-prompt.sh + + builtins.readFile ./config/custome_cursor + + '' + eval $(ssh-agent -s) > /dev/null # start ssh agent + export ENHANCHED_NEOFETCH="$(pacman -Qn | wc -l) (pacman), $(pacman -Qm | wc -l) (aur), $(($(cargo install --list | wc -l ) / 2)) (cargo)" + '' + + builtins.concatSepList "setopt" [ + "AUTO_CD" + "AUTO_PUSHD" + "CHASE_DOTS" + + "ALWAYS_TO_END" + + "EXTENDED_HISTORY" + "HIST_ALLOW_CLOBBER" + "HIST_VERIFY" + "HIST_FCNTL_LOCK" + + "DVORAK" + "CORRECT" + + "PROMPT_SUBST" + "TRANSIENT_RPROMPT" # maybe? + + "COMBINING_CHARS" + "VI" + ]; + + initExtraFirst = builtins.readFile ./config/zsh-init.sh; + + shellAliases = { + ls = "ls -a --color=auto"; + ll = ". ll"; + pip = "pip --require-virtualenv"; + hisea = "history info | grep"; + + mocp = "mocp -M ${config.xdg.configHome}/moc"; + yarn = "yarn --use-yarnrc ${config.xdg.configHome}/yarn/config"; + }; + sessionVariables = { + # managed by home-manager xdg + # XDG_DATA_HOME = "$HOME/.local/share"; + # XDG_STATE_HOME = "$HOME/.local/state"; + # XDG_CACHE_HOME = "$HOME/.cache"; + # XDG_CONFIG_HOME = "$HOME/.config"; + # XDG_BIN_HOME = "\${HOME}/.local/bin"; + + # HISTSIZE = "9000000"; # This Should already be set by the shell + TIMEFMT = "'$fg[green]%J$reset_color' time: $fg[blue]%*Es$reset_color, cpu: $fg[blue]%P$reset_color"; # no idea what this does or why it is needed + REPORTTIME = "10"; + + PATH = [ + "\${PATH}:/home/dt/repos/shell/scripts" + "/home/dt/.local/bin" + "/home/dt/.local/share/cargo/bin/" + ]; + EDITOR = "nvim"; + IVIEWER = "imv"; + READER = "zathura"; + VISUAL = "nvim"; + CODEEDITOR = "nvim"; + TERMINAL = "alacritty"; + BROWSER = "firefox"; + COLORTERM = "truecolor"; + PAGER = "less -R"; + WM = "river"; + AWMWALLPAPER = "/home/dt/media/pictures/tes/wallpapers-linux_cast/Dedicated_Colorschemes/nord/Abstract-Nord.png"; + + # FUNCNEST for more functions in functions + FUNCNEST = "2000"; + + WALLPAPERDIR = "$HOME/media/pictures/wallpapers/"; + LESS = "R"; + MANPAGER = "less -R --use-color -Dd+r -Du+b"; + LIBVIRT_DEFAULT_URI = "qemu:///system"; + BEMENU_SCALE = "1.5"; + BEMENU_BACKEND = "wayland"; + BEMENU_OPTS = "--fn 'Source Code Pro 10' -c -l 30 -B 1 -W 0.9 --hf #ffffff"; + + # Clean the home dir {{{ + _JAVA_OPTIONS = builtins.concatSep " " [ + ''-Djava.util.prefs.userRoot="${config.xdg.configHome}/java"'' + ''-Djavafx.cachedir="${config.xdg.cacheHome}/openjfx"'' + ]; + GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle"; + CARGO_HOME = "${config.xdg.dataHome}/cargo"; + GNUPGHOME = "${config.xdg.dataHome}/gnupg"; + GOPATH = "${config.xdg.dataHome}/go"; + GTK2_RC_FILES = "${config.xdg.configHome}/gtk-2.0/gtkrc"; + LESSHISFILE = "${config.xdg.cacheHome}/less/history"; + LESSKEYIN = "${config.xdg.configHome}/less/lesskey"; + RUSTUP_HOME = "${config.xdg.dataHome}/rustup"; + NPM_CONFIG_USERCONFIG = "${config.xdg.configHome}/npm/npmrc"; + NUGET_PACKAGES = "${config.xdg.cacheHome}/NuGetPackages"; + PYTHONSTARTUP = "${config.xdg.configHome}/python/pythonrc"; + XAUTHORITY = "${config.xdg.stateHome}/Xauthority"; + COMPDUMPFILE = "${config.xdg.dataHome}/zsh/.zcompdump}"; + IPYTHONDIR = "${config.xdg.configHome}/ipython"; + PARALLEL_HOME = "${config.xdg.configHome}/parallel"; + STACK_XDG = "1"; + # }}} + + # Export Wayland env Vars {{{ + QT_QPA_PLATFORM = "wayland"; + QT_QPA_PLATFORMTHEME = "qt5ct"; # needs qt5ct + CLUTTER_BACKEND = "wayland"; + SDL_VIDEODRIVER = "wayland"; # might brake some things + MOZ_ENABLE_WAYLAND = "1"; + # }}} + }; + }; +} +# vim: ts=2 + diff --git a/services/default.nix b/services/default.nix index 27e5086f..4de96e62 100644 --- a/services/default.nix +++ b/services/default.nix @@ -1,6 +1,5 @@ {config, ...}: { imports = [ - ./zsh/zsh.nix ./printing/printing.nix ./nix/nix.nix ]; diff --git a/services/zsh/zsh.nix b/services/zsh/zsh.nix deleted file mode 100644 index b8079fd4..00000000 --- a/services/zsh/zsh.nix +++ /dev/null @@ -1,130 +0,0 @@ -{ - config, - pkgs, - ... -}: let - path_config_cursor = builtins.writeFile ./custom_cursor; -in { - programs.zsh = { - enable = true; - zsh-autoenv = { - enable = true; - }; - syntaxHighlighting = { - enable = true; - }; - shellAliases = { - ls = "ls -a --color=auto"; - ll = ". ll"; - pip = "pip --require-virtualenv"; - hisea = "history info | grep"; - - mocp = "mocp -M \"$XDG_CONFIG_HOME\"/moc"; - yarn = "yarn --use-yarnrc \"$XDG_CONFIG_HOME\"/yarn/config"; - }; - setOptions = [ - "AUTO_CD" - "AUTO_PUSHD" - "CHASE_DOTS" - - "ALWAYS_TO_END" - - "EXTENDED_HISTORY" - "HIST_ALLOW_CLOBBER" - "HIST_VERIFY" - "HIST_FCNTL_LOCK" - - "DVORAK" - "CORRECT" - - "PROMPT_SUBST" - "TRANSIENT_RPROMPT" # maybe? - - "COMBINING_CHARS" - "VI" - ]; - - promptInit = - builtins.readFile ./zsh-prompt.sh; - loginShellInit = '' - eval $(ssh-agent -s) > /dev/null # start ssh agent - export ENHANCHED_NEOFETCH="$(pacman -Qn | wc -l) (pacman), $(pacman -Qm | wc -l) (aur), $(($(cargo install --list | wc -l ) / 2)) (cargo)" - ''; - interactiveShellInit = builtins.readFile ./zsh-init.sh; - histSize = 9999999; - histFile = "$XDG_DATA_HOME/zsh/history"; - autosuggestions = { - enable = true; - }; - }; - - environment = { - variables = { - XDG_DATA_HOME = "$HOME/.local/share"; - XDG_STATE_HOME = "$HOME/.local/state"; - XDG_CACHE_HOME = "$HOME/.cache"; - XDG_CONFIG_HOME = "$HOME/.config"; - XDG_BIN_HOME = "\${HOME}/.local/bin"; - - HISTSIZE = "9000000"; - TIMEFMT = "'$fg[green]%J$reset_color' time: $fg[blue]%*Es$reset_color, cpu: $fg[blue]%P$reset_color"; # no idea what this does or why it is needed - REPORTTIME = "10"; - - PATH = [ - "\${PATH}:/home/dt/repos/shell/scripts" - "/home/dt/.local/bin" - "/home/dt/.local/share/cargo/bin/" - ]; - EDITOR = "nvim"; - IVIEWER = "imv"; - READER = "zathura"; - VISUAL = "nvim"; - CODEEDITOR = "nvim"; - TERMINAL = "alacritty"; - BROWSER = "firefox"; - COLORTERM = "truecolor"; - PAGER = "less -R"; - WM = "river"; - AWMWALLPAPER = "/home/dt/media/pictures/tes/wallpapers-linux_cast/Dedicated_Colorschemes/nord/Abstract-Nord.png"; - - # FUNCNEST for more functions in functions - FUNCNEST = "2000"; - - WALLPAPERDIR = "$HOME/media/pictures/wallpapers/"; - LESS = "R"; - MANPAGER = "less -R --use-color -Dd+r -Du+b"; - LIBVIRT_DEFAULT_URI = "qemu:///system"; - BEMENU_SCALE = "1.5"; - BEMENU_BACKEND = "wayland"; - BEMENU_OPTS = "--fn 'Source Code Pro 10' -c -l 30 -B 1 -W 0.9 --hf #ffffff"; - - # Clean the home dir {{{ - _JAVA_OPTIONS = "-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java -Djavafx.cachedir = \"$XDG_CACHE_HOME/openjfx\""; - GRADLE_USER_HOME = "\"$XDG_DATA_HOME\"/gradle"; - CARGO_HOME = "\"$XDG_DATA_HOME\"/cargo"; - GNUPGHOME = "\"$XDG_DATA_HOME\"/gnupg"; - GOPATH = "\"$XDG_DATA_HOME\"/go"; - GTK2_RC_FILES = "\"$XDG_CONFIG_HOME\"/gtk-2.0/gtkrc"; - LESSHISFILE = "\"$XDG_CACHE_HOME\"/less/history"; - LESSKEYIN = "\"$XDG_CONFIG_HOME\"/less/lesskey"; - RUSTUP_HOME = "\"$XDG_DATA_HOME\"/rustup"; - NPM_CONFIG_USERCONFIG = "\"$XDG_CONFIG_HOME\"/npm/npmrc"; - NUGET_PACKAGES = "\"$XDG_CACHE_HOME\"/NuGetPackages"; - PYTHONSTARTUP = "\"$XDG_CONFIG_HOME\"/python/pythonrc"; - XAUTHORITY = "\"$XDG_RUNTIME_DIR\"/Xauthority"; - COMPDUMPFILE = "\"$XDG_DATA_DIR\"/zsh/.zcompdump}"; - IPYTHONDIR = "\"$XDG_CONFIG_HOME\"/ipython"; - PARALLEL_HOME = "\"$XDG_CONFIG_HOME\"/parallel"; - STACK_XDG = "1"; - # }}} - - # Export Wayland env Vars {{{ - QT_QPA_PLATFORM = "wayland"; - QT_QPA_PLATFORMTHEME = "qt5ct"; # needs qt5ct - CLUTTER_BACKEND = "wayland"; - SDL_VIDEODRIVER = "wayland"; # might brake some things - MOZ_ENABLE_WAYLAND = "1"; - # }}} - }; - }; -} |