boxen/home/default.nix

259 lines
4.6 KiB
Nix
Raw Normal View History

2021-05-24 10:44:05 +00:00
{ config, pkgs, lib, nixosConfig, ... }:
with builtins;
let
util = import ./util.nix { inherit pkgs; };
2021-05-24 10:44:05 +00:00
hostname = nixosConfig.networking.hostName;
host-config = ./machines + "/${hostname}.nix";
h = config.home.homeDirectory;
2020-11-21 15:51:37 +00:00
in {
programs.home-manager.enable = true;
imports = [
2021-06-01 20:35:47 +00:00
./modules
./bits/desktop.nix
./bits/sway.nix
./bits/shell.nix
./bits/firefox.nix
./bits/emacs.nix
./bits/vim.nix
2021-05-24 10:44:05 +00:00
] ++ lib.lists.optional (pathExists host-config) host-config;
2021-05-24 09:23:07 +00:00
home.username = "jez";
home.stateVersion = "20.09";
home.packages = with pkgs;
2021-04-02 13:12:17 +00:00
let python = python38.withPackages (py: with py; [ ipython sh invoke ]);
in [
2020-11-21 15:51:37 +00:00
nmap
avahi
iftop
s3cmd
dnsutils
whois
nixfmt
2021-01-27 18:54:57 +00:00
ncftp
2020-11-24 13:06:48 +00:00
nix-prefetch-git
2021-06-01 20:36:05 +00:00
weechat
2020-11-21 15:51:37 +00:00
2021-02-15 10:00:47 +00:00
gnutar
gzip
bzip2
zstd
zip
xz
p7zip
xar
2020-11-21 15:51:37 +00:00
yubikey-manager
yubioath-desktop
yubikey-personalization
yubikey-personalization-gui
gopass
tor
torsocks
transmission-gtk
unison
aspell
aspellDicts.en
aspellDicts.en-computers
bpytop
ranger
vifm
gomuks
2021-03-28 15:21:33 +00:00
toot
tut
lynx
w3m
amfora
2021-03-10 17:28:30 +00:00
rmapi
2021-04-11 19:58:41 +00:00
gmni
2020-11-21 15:51:37 +00:00
graphicsmagick
qrencode
mpc_cli
2021-02-08 17:06:06 +00:00
python
2020-11-21 15:51:37 +00:00
pipenv
pew
pandoc
texinfo
graphviz
zotero
2021-02-26 20:51:37 +00:00
bibtool
2021-03-20 22:30:55 +00:00
hugo
2020-11-21 15:51:37 +00:00
R
gcc_latest
sqlite
gnumake
cmake
libtool
libvterm
rustup
go
nodejs
yarn
ghc
stack
cabal-install
hlint
2020-11-21 15:51:37 +00:00
virt-manager
virt-viewer
];
home.sessionVariables = {
2020-11-10 09:08:56 +00:00
WORKON_HOME = "${h}/.local/lib/languages/Python/virtualenvs";
RUSTUP_HOME = "${h}/.local/lib/languages/Rust/rustup";
CABAL_CONFIG = "${h}/.config/cabal/config";
CABAL_DIR = "${h}/.local/lib/languages/Haskell/cabal";
EDITOR = pkgs.vim + /bin/vim;
2020-11-21 15:51:37 +00:00
TERMINFO_DIRS =
lib.concatStringsSep ":" [ "${h}/.nix-profile/share/terminfo" "" ];
};
home.file = {
".xprofile".source = ./dotfiles/xprofile;
".Rprofile".source = ./dotfiles/Rprofile;
2020-11-24 21:06:24 +00:00
"bin/shared".source = ./dotfiles/sharedbin;
".terminfo/x/xterm-kitty" = {
source = pkgs.kitty + /lib/kitty/terminfo/x/xterm-kitty;
recursive = true;
};
};
2020-11-24 21:06:24 +00:00
xdg = {
enable = true;
configFile = {
"ranger" = {
source = ./dotfiles/ranger;
recursive = true;
};
2020-11-24 21:06:24 +00:00
"cabal".source = ./dotfiles/cabal;
};
};
programs.man.generateCaches = true;
programs.git = {
enable = true;
aliases = {
st = "status";
ci = "commit";
co = "checkout";
h = "help";
a = "add";
d = "diff";
b = "branch";
m = "merge";
l = "log";
};
2020-11-21 15:51:37 +00:00
includes = [{ path = "~/.config/git/local"; }];
ignores = [
"*.pyc"
2020-11-21 15:51:37 +00:00
"*.log"
"*.aux"
"*.lol"
"*.out"
"*.toc"
"*.bcf"
"*.bbl"
"*.blg"
"*.nav"
"*.run.xml"
"*.snm"
"*.fdb_latexmk"
"*.fls"
"*.vrb"
"doc/tags"
".sass-cache"
".sconsign.dblite"
".*.sw[op]"
".DS_Store"
"._*"
"~$*"
".*.un~"
"*~"
"\\#*"
".\\#*"
"*.bak"
".~lock.*\\#"
".ipynb_checkpoints"
".stfolder"
".vscode"
".envrc"
];
extraConfig = {
color.ui = "auto";
push.default = "simple";
pull.rebase = "false";
github.user = "jezcope";
fetch.recurseSubmodules = "true";
init.defaultBranch = "main";
pager.branch = "false";
};
};
programs.gpg = {
enable = true;
settings = {
default-key = "0x9E42CE071C4559D1";
keyserver = "hkps://hkps.pool.sks-keyservers.net";
keyserver-options = "no-honor-keyserver-url include-revoked";
};
};
services.gpg-agent = {
enable = true;
enableScDaemon = true;
enableSshSupport = true;
defaultCacheTtl = 3600;
extraConfig = ''
no-allow-external-cache
'';
};
2021-02-08 17:05:21 +00:00
programs.gopass = {
enable = true;
password-store = "${h}/Reference/Passwords";
2021-03-28 15:21:33 +00:00
settings = { safecontent = true; };
2021-02-08 17:05:21 +00:00
};
2021-02-08 17:05:30 +00:00
programs.ssh = {
enable = true;
matchBlocks = {
"remarkable" = {
hostname = "10.11.99.1";
user = "root";
};
};
};
services.keybase.enable = true;
services.kbfs = {
enable = true;
mountPoint = "Keybase";
};
2021-03-28 15:21:33 +00:00
services.protonmail-bridge = { enable = true; };
2021-02-24 20:44:38 +00:00
programs.texlive = {
enable = true;
2020-11-21 15:51:37 +00:00
extraPackages = tpkgs: {
inherit (tpkgs) scheme-medium wrapfig capt-of multirow;
};
};
}