1
0
Fork 0
nixos-config/home-manager/default.nix
2019-02-06 00:51:39 +01:00

156 lines
4.2 KiB
Nix

{ pkgs, config, ... }:
let
me = config.m-0.private.me;
meWork = config.m-0.private.meWork;
unstablePkgs = import <unstable> {};
in {
imports = [
./zsh
./modules/taskwarrior.nix
./modules/force-copies.nix
./modules/battery.nix
./modules/laptop.nix
./modules/accounting
./modules/rustdev.nix
./modules/latex.nix
./modules/sleep-nag.nix
./modules/graphical
./modules/mail.nix
./modules/home-options.nix
./modules/eventd.nix
./modules/unlock.nix
./modules/weechat
./modules/update_tasks.nix
./modules/bugwarrior.nix
./modules/habitask.nix
./modules/pythia.nix
../common
# ./sort-mail.nix
# ./morgenreport.nix
];
nixpkgs.config = {
allowUnfree = true;
packageOverrides = pkgs: with pkgs; {
tasktree = callPackage ./packages/tasktree {};
habitask = unstablePkgs.callPackage ./packages/habitask {};
# rust_scripts = unstablePkgs.callPackage ./packages/rust-scripts {};
jali = callPackage ./packages/jali {};
eventd = unstablePkgs.callPackage ./packages/eventd {};
my-st = (import packages/st) pkgs config.m-0.colors;
neovim = (import ./nvim) pkgs config.m-0.rustdev.enable;
bugwarrior = unstablePkgs.python3Packages.bugwarrior.overrideAttrs (oldAttrs: rec {
version = "d48f735";
src = fetchFromGitHub {
owner = "ralphbean";
repo = "bugwarrior";
rev = version;
sha256 = "1facsqp1x3mcfal0c8rh6n12bavy6a9w2frlgmvv0by93y7a4nhj";
};
});
};
};
programs = {
tmux = {
enable = true;
extraConfig = ''
set -g set-titles on
set -g status off
set -g escape-time 1
'';
};
git = {
enable = true;
ignores = [
".syncthing*.tmp"
"*.swp"
"*.autosave~"
"*.aux"
"*.bbl"
"*.fls"
"*.idx"
"*.ilg"
"*.ind"
"*.log"
"*.out"
"*.toc"
"*.bcf"
"*.blg"
"*.fdb*"
"*.thm"
"*.run.xml"
"*.slnc"
"*.glade~"
"__pycache__"
".hledger-web_client_session_key.aes"
".nix-gc-roots"
];
userEmail = me.mail;
userName = me.name;
};
htop = {
enable = true;
hideThreads = true;
hideUserlandThreads = true;
highlightBaseName = true;
shadowOtherUsers = true;
showProgramPath = false;
treeView = true;
};
ssh = {
controlMaster = "yes";
enable = true;
matchBlocks = let
matheGwProxy = "ssh -q gw nc -q0 %h %p";
kivaHost = "fb04386.mathematik.tu-darmstadt.de";
agHost = "fb04217.mathematik.tu-darmstadt.de";
in [
{ host = "charon"; hostname = "charon.olymp.space"; }
{ host = "hera"; hostname = "hera.m-0.eu"; }
{ host = "*.olymp.space"; user = me.user; }
{ host = "ag-forward"; hostname = agHost; proxyCommand = matheGwProxy; user = meWork.user; }
{ host = "ag"; hostname = agHost; user = meWork.user; }
{ host = "kiva-forward"; hostname = kivaHost; proxyCommand = matheGwProxy; user = meWork.user; }
{ host = "kiva"; hostname = kivaHost; user = meWork.user; }
{ host = "gw"; hostname = "gwres4.mathematik.tu-darmstadt.de"; user = meWork.user; }
{ host = "shells"; hostname = "shells.darmstadt.ccc.de"; }
{ host = "vorstand"; hostname = "vorstand.darmstadt.ccc.de"; }
{ host = "*.darmstadt.ccc.de"; user = me.user; }
{ host = "whisky"; hostname = "whisky.w17.io"; user = "chaos"; }
{ host = "kitchen"; hostname = "kitchen.w17.io"; user = "chaos"; }
{ host = "door.w17.io"; identityFile = "~/.ssh/door_rsa";}
];
};
};
home.sessionVariables = {
PATH = "$HOME/.cargo/bin:/etc/profiles/per-user/${config.home.username}/bin:$PATH";
BROWSER = "${pkgs.firefox}/bin/firefox";
EDITOR = "${pkgs.neovim}/bin/nvim";
TERMINAL = config.m-0.terminal;
EMAIL = me.mail;
SUDO_ASKPASS = let
print-pw = pkgs.writeShellScriptBin "print-pw" "pass show eu/m-0/${config.m-0.hostName}/user/${config.home.username}";
in
"${print-pw}/bin/print-pw";
};
fonts.fontconfig.enableProfileFonts = true;
systemd.user.startServices = true;
services = {
gpg-agent = {
enable = true;
defaultCacheTtl = 31536000; # 1year
maxCacheTtl = 31536000; #1year
};
};
home.packages = with pkgs; [
neovim
];
xdg.enable = true;
}