summaryrefslogtreecommitdiff
path: root/home/zsh
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2024-12-21 15:47:33 +0100
committerLinnnus <[email protected]>2024-12-21 16:19:04 +0100
commit8353554315564b89dfe27d5130080ed04a0a65ad (patch)
tree896de88b6ea2701692b3ffe977c23947a786318e /home/zsh
parent9b7ed17b27157a25e57a6e38be3bcfeaa70ec9e8 (diff)
Move to a profile-based configuration where common
This patch makes it so common configuration is now located in shared/ and each host basically just becomes a bunch of import statements. The exception here is host-specific configuration like the `*.linus.onl` that live inside `hosts/ahmed/`. Specifically I have: - moved common configuration `shared/{nixos,home-manager,nix-darwin}`. - moved `hosts/common.nix` to `shared/nixos/common-{nix,shell}-settings.nix`. - split `hosts/muhammed/{dev-utils,neovim}` into per-language configuration. This patch was done in preparation for the arrival of a new host, which will need to share a lot of configuration with Muhammed.
Diffstat (limited to 'home/zsh')
-rw-r--r--home/zsh/default.nix31
-rw-r--r--home/zsh/editing.nix43
-rw-r--r--home/zsh/plugins.nix47
3 files changed, 0 insertions, 121 deletions
diff --git a/home/zsh/default.nix b/home/zsh/default.nix
deleted file mode 100644
index 31796a9..0000000
--- a/home/zsh/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{config, ...}: {
- imports = [
- ./plugins.nix
- ./editing.nix
- ];
-
- programs.zsh = {
- enable = true;
-
- # Feeble attempt at cleaning up home directory.
- # TODO: dotDir = (pathRelativeTo config.xdg.configHome config.home) + "/zsh";
- dotDir = ".config/zsh";
- history.path = config.xdg.cacheHome + "/zsh/history";
-
- initExtra = ''
- set -o PROMPTSUBST
- if [ -v NVIM -o -v VIM ]; then
- # smol prompt
- PROMPT='%# '
- else
- # loong looooong prooooompt – Nagāi Sakeru Gumi
- PROMPT='%B%(2L.LVL%L .)%b%F{red}%(?..E%? )%f%F{93}%n%f@%F{35}%m%f%# '
- fi
- RPROMPT='%F{green}%$((COLUMNS/4))<...<%~%<<%f'
-
- mkcd () {
- mkdir "$1" && cd "$1"
- }
- '';
- };
-}
diff --git a/home/zsh/editing.nix b/home/zsh/editing.nix
deleted file mode 100644
index 241ef3c..0000000
--- a/home/zsh/editing.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-# This module contains all ZSH configuration related to the editing experience (e.g. setting VI mode).
-{
- pkgs,
- lib,
- ...
-}: let
- inherit (lib.strings) concatStringsSep;
- inherit (lib.attrsets) catAttrs;
-
- plugins = [
- {
- name = "zsh-vi-mode-cursor";
- src = pkgs.fetchFromGitHub {
- owner = "Buckmeister";
- repo = "zsh-vi-mode-cursor";
- rev = "fa7cc0973ee71636e906e25e782d0aea19545d60";
- hash = "sha256-j73M4bvAoHWt5Wwg47hM0p5Or74x/3btTOPnI22SqG8=";
- };
- }
- ];
-in {
- programs.zsh = {
- # VIM! VIM! VIM!
- defaultKeymap = "viins";
-
- plugins = map (p: removeAttrs p ["config"]) plugins;
-
- initExtra = ''
- # Set up external editing by pressing '!' in normal mode.
- autoload -z edit-command-line
- zle -N edit-command-line
- bindkey -M vicmd '!' edit-command-line
-
- # Plugins config.
- ${concatStringsSep "\n" (catAttrs "config" plugins)}
- '';
- };
-
- programs.fzf = {
- enable = true;
- enableZshIntegration = true;
- };
-}
diff --git a/home/zsh/plugins.nix b/home/zsh/plugins.nix
deleted file mode 100644
index 6dbc151..0000000
--- a/home/zsh/plugins.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-# This module manages behavioral plugins – plugins that alter how ZSH acts (e.g. autovenv, direnv).
-{
- pkgs,
- lib,
- config,
- ...
-}: let
- inherit (lib.strings) concatStringsSep;
- inherit (lib.attrsets) catAttrs;
-
- plugins = [
- {
- name = "autovenv";
- src = pkgs.fetchFromGitHub {
- owner = "linnnus";
- repo = "autovenv";
- rev = "d9f0cd7";
- hash = "sha256-GfJIybMYxE97xLSkrOSGsn+AREmnCyqe9n2aZwjw4w4=";
- };
- }
- {
- name = "zsh-vi-mode-cursor";
- src = pkgs.fetchFromGitHub {
- owner = "Buckmeister";
- repo = "zsh-vi-mode-cursor";
- rev = "fa7cc0973ee71636e906e25e782d0aea19545d60";
- hash = "sha256-j73M4bvAoHWt5Wwg47hM0p5Or74x/3btTOPnI22SqG8=";
- };
- }
- {
- name = "zsh-nix-shell";
- file = "nix-shell.plugin.zsh";
- src = pkgs.fetchFromGitHub {
- owner = "chisui";
- repo = "zsh-nix-shell";
- rev = "v0.7.0";
- sha256 = "149zh2rm59blr2q458a5irkfh82y3dwdich60s9670kl3cl5h2m1";
- };
- }
- ];
-in {
- programs.zsh = {
- plugins = map (p: removeAttrs p ["config"]) plugins;
-
- initExtra = concatStringsSep "\n" (catAttrs "config" plugins);
- };
-}