summaryrefslogtreecommitdiffstats
path: root/hm/zsh/default.nix
diff options
context:
space:
mode:
authorSilas Schöffel <sils@sils.li>2024-04-04 17:06:23 +0200
committerSilas Schöffel <sils@sils.li>2024-04-04 17:06:23 +0200
commit924ec30e7075ea7a9dbac569a537d876f9146850 (patch)
tree11ff56048f05536a1905490137333b3596d0ee18 /hm/zsh/default.nix
parentusers/default.nix: delete (diff)
downloadnix-config-924ec30e7075ea7a9dbac569a537d876f9146850.zip
refactor: move users/sils dir to hm
Diffstat (limited to 'hm/zsh/default.nix')
-rw-r--r--hm/zsh/default.nix81
1 files changed, 81 insertions, 0 deletions
diff --git a/hm/zsh/default.nix b/hm/zsh/default.nix
new file mode 100644
index 0000000..ea47f7a
--- /dev/null
+++ b/hm/zsh/default.nix
@@ -0,0 +1,81 @@
+{
+ config,
+ pkgs,
+ ...
+}: {
+ programs.zsh = {
+ enable = true;
+
+ syntaxHighlighting.enable = true;
+ autosuggestion.enable = true;
+ enableCompletion = true;
+
+ autocd = true;
+ dotDir = ".config/zsh";
+
+ history = {
+ path = "${config.xdg.stateHome}/zsh/zsh_history";
+ ignoreSpace = false;
+ save = 90000;
+ size = 90000;
+ };
+
+ historySubstringSearch.enable = true;
+
+ sessionVariables = {
+ WALLPAPER = "${config.home.homeDirectory}/srv/wallpaper.jpg";
+ };
+
+ shellAliases = {
+ vim = "nvim";
+ ls = "lsd";
+ l = "ls -l";
+ la = "ls -a";
+ lla = "ls -la";
+ lt = "ls --tree";
+ rebackup = "restic -r /mnt/storage/backups --password-file ~/srv/restic_pswd backup";
+ repreconf = "restic -r /mnt/storage/backups --password-file ~/srv/restic_pswd";
+ b-del = "sudo btrfs subv delet /srv/snapshots/home";
+ b-shot = "sudo btrfs subvolume snapshot -r /home /srv/snapshots/home";
+ b-home = ''[ -d /srv/snapshots/home ] && sudo btrfs subvolume delete /srv/snapshots/home; sudo btrfs subvolume snapshot -r /home /srv/snapshots/home; sudo restic -r /mnt/storage/backups --password-file ~/srv/restic_pswd --cache-dir /srv/.restic-cache backup /srv/snapshots/home;'';
+ r-clean = ''
+ sudo restic -r /mnt/storage/backups --password-file ~/srv/restic_pswd --cache-dir /srv/.restic-cache forget \
+ --keep-weekly 7 \
+ --keep-daily 7 \
+ --keep-monthly 6 \
+ --keep-yearly 10 \
+ --keep-hourly 5 \
+ --keep-tag prs
+ '';
+ r-prune = "sudo restic -r /mnt/storage/backups --password-file ~/srv/restic_pswd --cache-
+ dir /srv/.restic-cache prune";
+ r-check = "sudo restic -r /mnt/storage/backups --cache-dir /srv/.restic-cache --password-
+ file ~/srv/.restic_pswd check";
+ zconf = "nvim ~/.config/zsh/.zshrc";
+ zenv = "nvim ~/.config/zsh/.zshenv";
+ o = "xdg-open";
+ wget = "wget --hsts-file=${config.xdg.dataHome}/wget-hsts";
+ addagpl = "curl https://www.gnu.org/licenses/agpl-3.0.txt > COPYING";
+ addgpl = "curl https://www.gnu.org/licenses/gpl-3.0.txt > COPYING";
+ };
+
+ initExtraFirst =
+ builtins.readFile ./config/instant-prompt.zsh
+ + "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
+ # +
+ initExtra =
+ ''
+ export ZSH=${pkgs.oh-my-zsh}/share/oh-my-zsh/
+ export fpath=("$XDG_DATA_HOME/zsh/site-functions" $fpath)
+ HISTFILE="$XDG_STATE_HOME/zsh/history"
+
+ plugins=(git)
+
+
+
+ source $ZSH/oh-my-zsh.sh
+ ''
+ + builtins.readFile ./config/p10k.zsh
+ + builtins.readFile ./config/functions.zsh;
+ };
+}