summary refs log tree commit diff stats
path: root/services/zsh/default.nix
blob: b8349f91f407dc5e422ea748a2db303a16b179b6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{pkgs, ...}: {
  programs.zsh = {
    enable = true;
    syntaxHighlighting.enable = true;
    autosuggestions.enable = true;
    interactiveShellInit = ''
        	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)

      alias vim="nvim"
      alias ls='lsd'
      alias l='ls -l'
      alias la='ls -a'
      alias lla='ls -la'
      alias lt='ls --tree'
      alias rebackup='restic -r /mnt/storage/backups --password-file ~/srv/restic_pswd backup'
      alias repreconf='restic -r /mnt/storage/backups --password-file ~/srv/restic_pswd'
      alias b-del="sudo btrfs subv delet /srv/snapshots/home"
      alias b-shot="sudo btrfs subvolume snapshot -r /home /srv/snapshots/home"
      alias 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;'
      alias 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"
      alias r-prune="sudo restic -r /mnt/storage/backups --password-file ~/srv/restic_pswd --cache-dir /srv/.restic-cache prune"
      alias r-check="sudo restic -r /mnt/storage/backups --cache-dir /srv/.restic-cache --password-file ~/srv/.restic_pswd check"
      alias zconf="vim ~/.config/zsh/.zshrc"
      alias zenv="vim ~/.config/zsh/.zshenv"
      alias o="xdg-open"
      alias wget=wget --hsts-file="$XDG_DATA_HOME/wget-hsts"


      source $ZSH/oh-my-zsh.sh
    '';

    promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
  };
}