diff --git a/users/moritz/home.nix b/users/moritz/home.nix index e681631..8715b50 100644 --- a/users/moritz/home.nix +++ b/users/moritz/home.nix @@ -8,129 +8,145 @@ home.username = "moritz"; home.homeDirectory = "/home/moritz"; - programs.git = { - enable = true; - userName = "MoritzBoehme"; - userEmail = "mr.x@moritzboeh.me"; + programs = { + git = { + enable = true; + userName = "MoritzBoehme"; + userEmail = "mr.x@moritzboeh.me"; + }; + + zathura = { + enable = true; + options = { + recolor = true; + completion-bg = "#282a36"; + completion-fg = "#ff79c6"; + default-bg = "#44475a"; + default-fg = "#bd93f9"; + inputbar-bg = "#282a36"; + inputbar-fg = "#8be9fd"; + statusbar-bg = "#282a36"; + statusbar-fg = "#bd93f9"; + font = "Jetbrains Mono 9"; + recolor-lightcolor = "#282a36"; + recolor-darkcolor = "#f8f8f2"; + }; + }; + + zsh = { + enable = true; + + shellGlobalAliases = { + ls = "exa -lh"; + cat = "bat"; + }; + + plugins = [ + { + name = "zsh-autosuggestions"; + src = pkgs.fetchFromGitHub { + owner = "zsh-users"; + repo = "zsh-autosuggestions"; + rev = "v0.4.0"; + sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc"; + }; + } + { + name = "zsh-syntax-highlighting"; + src = pkgs.fetchFromGitHub { + owner = "zsh-users"; + repo = "zsh-syntax-highlighting"; + rev = "0e1bb14452e3fc66dcc81531212e1061e02c1a61"; + sha256 = "09ncmyqlk9a3h470z0wgbkrznb5zyc9dj96011wm89rdxc1irxk2"; + }; + } + ]; + }; + + kitty = { + enable = true; + settings = { + scrollback_lines = 10000; + enable_audio_bell = false; + cursor_shape = "underline"; + }; + extraConfig = builtins.readFile ~/.config/kitty/dracula.conf; + font = { + name = "FiraCode Nerd Font"; + size = 10; + }; + }; + + exa.enable = true; + bat.enable = true; + + starship = { + enable = true; + enableZshIntegration = true; + }; + + rofi = { + enable = true; + theme = ~/.config/rofi/dracula_old.rasi; + }; + + emacs.enable = true; }; - # Zathura - programs.zathura = { - enable = true; - options = { - recolor = true; - completion-bg = "#282a36"; - completion-fg = "#ff79c6"; - default-bg = "#44475a"; - default-fg = "#bd93f9"; - inputbar-bg = "#282a36"; - inputbar-fg = "#8be9fd"; - statusbar-bg = "#282a36"; - statusbar-fg = "#bd93f9"; - font = "Jetbrains Mono 9"; - recolor-lightcolor = "#282a36"; - recolor-darkcolor = "#f8f8f2"; - }; - }; - - # Zsh - programs.zsh = { - enable = true; - - shellGlobalAliases = { - ls = "exa -lh"; - cat = "bat"; - }; - - plugins = [ - { - name = "zsh-autosuggestions"; - src = pkgs.fetchFromGitHub { - owner = "zsh-users"; - repo = "zsh-autosuggestions"; - rev = "v0.4.0"; - sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc"; - }; - } - { - name = "zsh-syntax-highlighting"; - src = pkgs.fetchFromGitHub { - owner = "zsh-users"; - repo = "zsh-syntax-highlighting"; - rev = "0e1bb14452e3fc66dcc81531212e1061e02c1a61"; - sha256 = "09ncmyqlk9a3h470z0wgbkrznb5zyc9dj96011wm89rdxc1irxk2"; - }; - } - ]; - }; - xdg = { enable = true; configFile = { - "sxhkd/sxhkdrc".source = ~/.dotfiles/config/sxhkd/sxhkdrc; - "bspwm/bspwmrc".source = ~/.dotfiles/config/bspwm/bspwmrc; + "sxhkd/sxhkdrc" = { + source = ~/.dotfiles/config/sxhkd/sxhkdrc; + onChange = "pkill -USR1 -x sxhkd"; + }; + "bspwm/bspwmrc" = { + source = ~/.dotfiles/config/bspwm/bspwmrc; + onChange = "bspc wm -r"; + }; + "doom" = { + source = ~/.dotfiles/config/doom; + recursive = true; + onChange = builtins.readFile ~/.dotfiles/config/doom/reload.sh; + }; + "kitty" = { + source = ~/.dotfiles/config/kitty; + recursive = true; + }; + "rofi" = { + source = ~/.dotfiles/config/rofi; + recursive = true; + }; }; }; - # Kitty - programs.kitty = { - enable = true; - settings = { - scrollback_lines = 10000; - enable_audio_bell = false; - cursor_shape = "underline"; - }; - extraConfig = builtins.readFile ~/.dotfiles/config/kitty/dracula.conf; - font = { - name = "FiraCode Nerd Font"; - size = 10; + services = { + polybar = { + enable = true; + script = ''for m in $(polybar --list-monitors | ${pkgs.coreutils}/bin/cut -d":" -f1); do + MONITOR=$m polybar --reload bottom & + done + ''; + config = ~/.dotfiles/config/polybar/config.ini; + extraConfig = builtins.readFile ~/.dotfiles/config/polybar/modules.ini + + builtins.readFile ~/.dotfiles/config/polybar/colors.ini; }; - }; - - programs.exa.enable = true; - programs.bat.enable = true; - programs.starship = { - enable = true; - enableZshIntegration = true; + picom = { + enable = true; + inactiveOpacity = "0.95"; + opacityRule = [ + "100:fullscreen" + "80 :class_g = 'Polybar'" + ]; + blur = true; + inactiveDim = "0.1"; + }; + + emacs.enable = true; }; - services.polybar = { - enable = true; - script = ''for m in $(polybar --list-monitors | ${pkgs.coreutils}/bin/cut -d":" -f1); do - MONITOR=$m polybar --reload bottom & -done -''; - config = ~/.dotfiles/config/polybar/config.ini; - extraConfig = builtins.readFile ~/.dotfiles/config/polybar/modules.ini + - builtins.readFile ~/.dotfiles/config/polybar/colors.ini; - }; - services.picom = { - enable = true; - inactiveOpacity = "0.95"; - opacityRule = [ - "100:fullscreen" - "80 :class_g = 'Polybar'" - ]; - blur = true; - inactiveDim = "0.1"; - }; - - programs.rofi = { - enable = true; - }; - - programs.emacs.enable = true; - - services.emacs.enable = true; - - home.file.".doom.d" = { - source = ~/.dotfiles/config/doom; - recursive = true; - onChange = builtins.readFile ~/.dotfiles/config/doom/reload.sh; - }; - home.packages = with pkgs; [ neofetch feh