2021-05-24 09:23:07 +00:00
|
|
|
{ config, pkgs, lib, hostname, ... }:
|
2020-11-09 21:26:38 +00:00
|
|
|
|
|
|
|
with builtins;
|
|
|
|
let
|
|
|
|
util = import ./util.nix { inherit pkgs; };
|
2021-05-24 09:23:07 +00:00
|
|
|
# host-config = ./machines + "/${hostname}.nix";
|
2021-02-24 20:44:16 +00:00
|
|
|
h = config.home.homeDirectory;
|
2020-11-21 15:51:37 +00:00
|
|
|
in {
|
2020-11-09 21:26:38 +00:00
|
|
|
programs.home-manager.enable = true;
|
|
|
|
|
|
|
|
imports = [
|
|
|
|
./bits/desktop.nix
|
2020-11-26 08:49:52 +00:00
|
|
|
./bits/sway.nix
|
2020-11-09 21:26:38 +00:00
|
|
|
./bits/shell.nix
|
2020-11-17 17:24:33 +00:00
|
|
|
./bits/firefox.nix
|
2020-11-09 21:26:38 +00:00
|
|
|
./bits/emacs.nix
|
|
|
|
./bits/vim.nix
|
2021-02-08 17:05:21 +00:00
|
|
|
./modules/gopass.nix
|
2021-02-24 20:44:38 +00:00
|
|
|
./modules/protonmail.nix
|
2021-05-24 09:23:07 +00:00
|
|
|
] ;#++ lib.lists.optional (pathExists host-config) host-config;
|
|
|
|
|
|
|
|
# nixpkgs.config = {
|
|
|
|
# allowUnfree = true;
|
|
|
|
# joypixels.acceptLicense = true;
|
|
|
|
# packageOverrides = pkgs:
|
|
|
|
# let mypkgs = import ../../nixexprs { inherit pkgs; };
|
|
|
|
# in {
|
|
|
|
# nur = import (builtins.fetchTarball
|
|
|
|
# "https://github.com/nix-community/NUR/archive/master.tar.gz") {
|
|
|
|
# inherit pkgs;
|
|
|
|
# };
|
|
|
|
# inherit (mypkgs) dart-sass;
|
|
|
|
# };
|
|
|
|
# };
|
2020-11-09 21:26:38 +00:00
|
|
|
|
|
|
|
home.username = "jez";
|
2021-02-24 20:44:16 +00:00
|
|
|
# home.homeDirectory = h;
|
2020-11-09 21:26:38 +00:00
|
|
|
|
|
|
|
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 ]);
|
2020-11-09 21:26:38 +00:00
|
|
|
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
|
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
|
2020-11-09 21:26:38 +00:00
|
|
|
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-09 21:26:38 +00:00
|
|
|
|
2020-11-21 15:51:37 +00:00
|
|
|
graphicsmagick
|
|
|
|
qrencode
|
2020-11-09 21:26:38 +00:00
|
|
|
|
|
|
|
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
|
2020-11-09 21:26:38 +00:00
|
|
|
|
2021-04-11 19:59:06 +00:00
|
|
|
rustup
|
|
|
|
go
|
|
|
|
nodejs
|
|
|
|
yarn
|
|
|
|
ghc
|
|
|
|
stack
|
|
|
|
cabal-install
|
|
|
|
hlint
|
2020-11-09 21:26:38 +00:00
|
|
|
|
2020-11-21 15:51:37 +00:00
|
|
|
virt-manager
|
|
|
|
virt-viewer
|
2020-11-09 21:26:38 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
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";
|
2020-11-09 21:26:38 +00:00
|
|
|
|
|
|
|
EDITOR = pkgs.vim + /bin/vim;
|
|
|
|
|
2020-11-21 15:51:37 +00:00
|
|
|
TERMINFO_DIRS =
|
|
|
|
lib.concatStringsSep ":" [ "${h}/.nix-profile/share/terminfo" "" ];
|
2020-11-09 21:26:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
home.file = {
|
|
|
|
".xprofile".source = ./dotfiles/xprofile;
|
|
|
|
".Rprofile".source = ./dotfiles/Rprofile;
|
2020-11-24 21:06:24 +00:00
|
|
|
"bin/shared".source = ./dotfiles/sharedbin;
|
2020-11-09 21:26:38 +00:00
|
|
|
|
|
|
|
".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 = {
|
2021-02-15 10:01:17 +00:00
|
|
|
"ranger" = {
|
|
|
|
source = ./dotfiles/ranger;
|
|
|
|
recursive = true;
|
|
|
|
};
|
2020-11-24 21:06:24 +00:00
|
|
|
"cabal".source = ./dotfiles/cabal;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2020-11-09 21:26:38 +00:00
|
|
|
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"; }];
|
2020-11-09 21:26:38 +00:00
|
|
|
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"
|
2020-11-09 21:26:38 +00:00
|
|
|
".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";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2020-11-09 21:26:38 +00:00
|
|
|
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
|
|
|
|
2020-11-09 21:26: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;
|
|
|
|
};
|
2020-11-09 21:26:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|