You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
4.5 KiB
Nix
177 lines
4.5 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
home.packages = with pkgs; [
|
|
ripgrep fd bat wget silver-searcher tree ranger nodejs yarn mosh newsboat msmtp w3m urlview nmap rtv gnupg youtube-dl nodePackages.tern nodePackages.eslint nodePackages.javascript-typescript-langserver nodePackages.js-beautify nodePackages.prettier ffmpeg ispell aspell hexyl nnn entr
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
EDITOR = "vim";
|
|
BROWSER = "firefox";
|
|
|
|
P4USER = "dswan";
|
|
P4PORT = "humu.iocom.com:1666";
|
|
P4CONFIG = "p4.cfg";
|
|
P4EDITOR = "nvim";
|
|
P4IGNORE = ".ignore";
|
|
};
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
programs.alacritty = {
|
|
enable = true; # TODO
|
|
};
|
|
|
|
programs.tmux = {
|
|
enable = true;
|
|
shortcut = "a";
|
|
keyMode = "vi";
|
|
baseIndex = 1;
|
|
clock24 = true;
|
|
escapeTime = 0;
|
|
newSession = true;
|
|
secureSocket = false;
|
|
plugins = with pkgs.tmuxPlugins; [ sensible resurrect pain-control continuum copycat open urlview fzf-tmux-url yank vim-tmux-navigator ];
|
|
extraConfig = ''
|
|
set -g set-titles on
|
|
set -g set-titles-string "#H (#S)"
|
|
set -g status-right ""
|
|
set -g status-left ""
|
|
|
|
set-option -g mouse on
|
|
set-option -g status-bg default
|
|
set-option -g status-fg "#666666"
|
|
set-option -g status-attr default
|
|
set-option -g pane-border-fg "#666666"
|
|
set-option -g pane-active-border-fg "#666666"
|
|
set-option -g message-bg black
|
|
set-option -g message-fg white
|
|
set-option -g display-panes-active-colour white
|
|
set-option -g display-panes-colour white
|
|
|
|
set-window-option -g window-status-fg "#666666"
|
|
set-window-option -g window-status-bg default
|
|
set-window-option -g window-status-current-fg white
|
|
set-window-option -g window-status-current-bg default
|
|
set-window-option -g window-status-format " #W"
|
|
set-window-option -g window-status-current-format " #W"
|
|
set-window-option -g window-status-separator " "
|
|
# set-window-option -g clock-mode-colour white
|
|
'';
|
|
};
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableAutosuggestions = true;
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
plugins = [ "git" ];
|
|
theme = "refined";
|
|
};
|
|
shellAliases = {
|
|
l = "ls -la";
|
|
n = "nnn -isl";
|
|
ta = "tmux attach -d";
|
|
e = "emacsclient -a \"\" -t -nw";
|
|
weather = "curl http://wttr.in";
|
|
er = "rm -rf logs; unzip -o";
|
|
srsync = "rsync --rsync-path='sudo rsync'";
|
|
};
|
|
# for MacOS
|
|
initExtra = ''
|
|
source ~/.nix-profile/etc/profile.d/nix.sh
|
|
'';
|
|
};
|
|
|
|
programs.fzf = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
programs.broot = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
programs.ssh = {
|
|
enable = true;
|
|
matchBlocks = {
|
|
dustinswan = {
|
|
hostname = "dustinswan.com";
|
|
user = "dustinswan";
|
|
};
|
|
|
|
dswan = {
|
|
hostname = "dswan.iocom.com";
|
|
user = "ec2-user";
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "Dustin Swan";
|
|
userEmail = "dustin@dustinswan.com";
|
|
signing = {
|
|
signByDefault = true;
|
|
key = "AD11750151C10881970BD943AB49BD6B2B3A6377";
|
|
};
|
|
aliases = {
|
|
s = "status";
|
|
a = "add";
|
|
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit";
|
|
};
|
|
};
|
|
|
|
accounts.email = {
|
|
accounts = {
|
|
FastMail = {
|
|
# name = "FastMail";
|
|
address = "dustin@dustinswan.com";
|
|
aliases = "dustinswan@gmail.com";
|
|
primary = true;
|
|
realName = "Dustin Swan";
|
|
folders = {
|
|
inbox = "INBOX";
|
|
drafts = "INBOX.Drafts";
|
|
sent = "INBOX.Sent";
|
|
trash = "INBOX.Trash";
|
|
};
|
|
offlineimap = {
|
|
enable = true;
|
|
extraConfig.remote = {
|
|
remotehost = "mail.messagingengine.com";
|
|
remoteuser = "dustinswan@fastmail.com";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
maildirBasePath = "\$HOME/Mail";
|
|
};
|
|
|
|
# programs.offlineimap.enable = true;
|
|
|
|
programs.neovim = {
|
|
enable = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
withNodeJs = true;
|
|
withPython3 = true;
|
|
extraConfig = builtins.readFile ~/dotfiles/vimrc;
|
|
};
|
|
|
|
programs.gpg.enable = true;
|
|
programs.htop.enable = true;
|
|
programs.mpv.enable = true;
|
|
programs.jq.enable = true;
|
|
programs.emacs.enable = true;
|
|
programs.keychain = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
inheritType = "any";
|
|
agents = ["gpg" "ssh"];
|
|
keys = ["id_rsa" "2B3A6377"];
|
|
};
|
|
}
|