diff --git a/nix/home.nix b/nix/home.nix new file mode 100644 index 0000000..50f8c31 --- /dev/null +++ b/nix/home.nix @@ -0,0 +1,72 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + home.packages = with pkgs; [ + htop + tmuxinator + ripgrep + ranger + nox + zsh-autosuggestions + zsh-syntax-highlighting + zsh-history-substring-search + ]; + + programs.command-not-found.enable = true; + + programs.git = { + enable = true; + userName = "Haak Saxberg"; + userEmail = "haak.erling@gmail.com"; + }; + + programs.zsh = { + enable = true; + enableCompletion = true; + defaultKeymap = "viins"; + + initExtra = mkForce ('' + export NIX_PATH=$HOME/.nix-defexpr/channels:$NIX_PATH + + source $HOME/.nix-profile/etc/profile.d/nix.sh + source $HOME/.nix-profile/share/fzf/key-bindings.zsh + source $HOME/.nix-profile/share/fzf/completion.zsh + source $HOME/.nix-profile/share/zsh-autosuggestions/zsh-autosuggestions.zsh + source $HOME/.nix-profile/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh + + bindkey '^[[A' history-substring-search-up + bindkey '^[[B' history-substring-search-down + ''); + + oh-my-zsh = { + enable = true; + theme = "bureau"; + plugins = [ + "git" + "z" + "nix-shell" + "tmuxinator" + ]; + }; + }; + + programs.neovim = { + enable = true; + vimAlias = true; + }; + + programs.tmux = { + enable = true; + }; + + programs.fzf = { + enable = true; + enableZshIntegration = true; + defaultCommand = "rg --no-ignore --follow --files --hidden --smart-case --glob \\\"!.git/*\\\""; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; +}