diff --git a/dotfiles.nix b/dotfiles.nix index 8ba5f976f..e999bc2bc 100644 --- a/dotfiles.nix +++ b/dotfiles.nix @@ -12,20 +12,16 @@ let dotfiles = pkgs.stdenv.mkDerivation { ]; installPhase = '' - mkdir -p $out/dotfiles - cp ./* $out/dotfiles/ + mkdir -p $out + cp ./* $out/ ''; }; in { # /etc/ is a special place in NixOS! # Symlinks that need to be created there must be specified explicitly. environment.etc = { - "i3/config" = { - source = "${dotfiles}/dotfiles/i3.conf"; - # Setting a mode causes Nix to copy the file instead of symlinking it. - # For i3 config in particular this is desirable because I want to be able - # to modify and reload it before committing a change. - mode = "0644"; - }; + "i3/config".source = "${dotfiles}/i3.conf"; + "tmux.conf".source = "${dotfiles}/tmux.conf"; + "fish/foreign-env/tazjin".source = "${dotfiles}/config.fish"; }; } diff --git a/dotfiles/config.fish b/dotfiles/config.fish new file mode 100644 index 000000000..55809a2ab --- /dev/null +++ b/dotfiles/config.fish @@ -0,0 +1,27 @@ +# Configure classic prompt +set fish_color_user --bold blue +set fish_color_cwd --bold white +#set __fish_git_prompt_color green +set __fish_git_prompt_showcolorhints yes +set __fish_git_prompt_color_prefix purple +set __fish_git_prompt_color_suffix purple + +# Fish configuration +set fish_greeting "" +set PATH $HOME/.local/bin $GOPATH/bin $PATH + +# Editor configuration +set -gx EDITOR "emacsclient" +set -gx ALTERNATE_EDITOR "emacs -q -nw" +set -gx VISUAL "emacsclient" + +# Miscellaneous +eval (direnv hook fish) + +# Useful command aliases +alias gpr 'git pull --rebase' +alias gco 'git checkout' +alias gf 'git fetch' +alias gap 'git add -p' +alias pbcopy 'xclip -selection clipboard' +alias edit 'emacsclient -n' diff --git a/dotfiles/tmux.conf b/dotfiles/tmux.conf new file mode 100644 index 000000000..6c20ae037 --- /dev/null +++ b/dotfiles/tmux.conf @@ -0,0 +1,14 @@ +set -g status off +set -gw mode-keys emacs +setw -g mouse on + +# Correctly set window titles +set -g set-titles on +set -g set-titles-string "#W (#T)" + +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-yank' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm'