nixos-config/home.nix
Sridhar Ratnakumar c56141af59 cleanup
2022-03-30 14:04:29 -04:00

168 lines
3.8 KiB
Nix

{ pkgs, inputs, system, ... }:
let
#himalayaSrc = inputs.himalaya;
#himalaya = import ./features/email/himalaya.nix { inherit pkgs inputs system; };
neovim-nightly = inputs.neovim-nightly-overlay.packages.${system}.neovim;
in
rec {
imports = [ inputs.nix-doom-emacs.hmModule ];
home.packages = with pkgs; [
gnumake
psmisc
lsof
# psutils -- collides with tex
usbutils
git-crypt
ghcid
# https://github.com/nix-community/emacs-overlay
/* (emacsWithPackagesFromUsePackage {
config = ./config/init.el;
package = emacsPgtkGcc;
extraEmacsPackages = epkgs: [
epkgs.emacsql-sqlite
epkgs.emacsql-sqlite3
epkgs.vterm
];
}) */
sqlite
gcc
cachix
tig
procs # no more: ps -ef | grep
tealdeer
unzip
dust
ripgrep
htop
bottom # htop alternative
fzf
aria2
wol
pulsemixer
# ^ easy to forget these; write SRS?
hledger
hledger-web
];
programs = {
git = import ./home/git.nix;
tmux = import ./home/tmux.nix;
# Leaving this disabled, as it doesn't look like nix-doom-emacs is being
# maintained or kept up to date anymore.
doom-emacs = {
enable = false;
doomPrivateDir = ./config/doom.d;
};
neovim = {
enable = true;
package = neovim-nightly;
viAlias = true;
# withNodeJs = true;
extraPackages = [
# himalaya
];
plugins = with pkgs.vimPlugins; [
vim-airline
papercolor-theme
#(pkgs.vimUtils.buildVimPlugin {
# name = "himalaya";
# src = himalayaSrc + "/vim";
#})
];
extraConfig = ''
" papercolor-theme
" set t_Co=256 " This is may or may not needed.
set background=light
colorscheme PaperColor
'';
};
bash = {
enable = true;
shellAliases = {
g = "${pkgs.git}/bin/git";
t = "${pkgs.tig}/bin/tig";
l = "${pkgs.exa}/bin/exa";
ll = "${pkgs.exa}/bin/exa -l";
ls = "l";
pux = "sh -c \"tmux -S $(pwd).tmux attach\"";
pux-iterm = "sh -c \"tmux -S $(pwd).tmux -CC attach\"";
};
sessionVariables = { };
# XXX: These are needed only on non-NixOS Linux (on NixOS, they are broken)
#bashrcExtra = ''
# . ~/.nix-profile/etc/profile.d/nix.sh
# export PATH=$HOME/.nix-profile/bin:$PATH
# # https://github.com/nix-community/home-manager/issues/1871#issuecomment-852739277
# for completion_script in ~/.nix-profile/share/bash-completion/completions/*
# do
# source "$completion_script"
# done
#'';
};
direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv = {
enable = true;
};
};
starship =
{
enable = true;
settings = {
username = {
format = "[$user](bold blue) ";
disabled = false;
show_always = true;
};
hostname = {
ssh_only = false;
format = "on [$hostname](bold red) ";
trim_at = ".companyname.com";
disabled = false;
};
};
};
bat.enable = true;
autojump.enable = false;
zoxide.enable = true;
fzf.enable = true;
jq.enable = true;
};
programs.ssh = {
enable = true;
matchBlocks = {
"thick" = {
hostname = "192.168.2.14";
};
};
};
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
# home.stateVersion = "21.03";
}