{ inputs, config, lib, pkgs, pkgs-unstable, ... }: { imports = [ ./fish.nix ]; # Home Manager needs a bit of information about you and the paths it should # manage. home.homeDirectory = "/home/${config.home.username}"; home.stateVersion = "23.05"; # Please read the comment before changing. home.packages = with pkgs; [ file python3 sshfs ripgrep ]; home.file = { ".docker/config.json".text = (builtins.toJSON { detachKeys= "ctrl-z,z"; }); }; home.sessionPath = [ "$HOME/.local/bin" "$HOME/.bin" ]; home.sessionVariables = { EDITOR = "nvim"; GOPATH = "${config.home.homeDirectory}/.local/share/go"; GOMODCACHE = "${config.home.homeDirectory}/.cache/go/pkg/mod"; CCACHE_MAXSIZE = "100Gi"; }; home.keyboard.options = [ "caps:escape" ]; xdg = { enable = true; systemDirs.data = [ "${config.home.homeDirectory}/.local/share" ]; userDirs = { enable = true; createDirectories = false; download = "${config.home.homeDirectory}/downloads"; templates = "${config.home.homeDirectory}/templates"; desktop = "${config.home.homeDirectory}"; documents = "${config.home.homeDirectory}"; music = "${config.home.homeDirectory}"; pictures = "${config.home.homeDirectory}"; publicShare = "${config.home.homeDirectory}"; videos = "${config.home.homeDirectory}"; }; mimeApps = { enable = true; }; }; programs.home-manager.enable = true; programs.nh = { enable = true; flake = "${config.home.homeDirectory}/nix-system"; }; programs.git = { enable = true; aliases = { co = "checkout"; }; extraConfig = { pull.rebase = true; }; userName = config.home.username; userEmail = "${config.home.username}@domain.xyz"; }; programs.direnv = { enable = true; nix-direnv.enable = true; }; programs.neovim = { enable = true; viAlias = true; defaultEditor = true; package = pkgs-unstable.neovim-unwrapped; extraPackages = with pkgs; [ gcc ]; }; programs.tmux = { enable = true; historyLimit = 60000; escapeTime = 10; keyMode = "vi"; mouse = true; terminal = "tmux-256color"; extraConfig = '' unbind-key 'Space' bind-key 'Space' copy-mode set -g status-right "#{net_speed} #{cpu_percentage}" set -g default-terminal "tmux-256color" set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0 run-shell ${pkgs.tmuxPlugins.net-speed}/share/tmux-plugins/net-speed/net_speed.tmux run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux set-option -a terminal-features 'st-256color:RGB' set-option -g focus-events on ''; plugins = with pkgs.tmuxPlugins; [ net-speed ]; }; }