nix-config/home/default.nix

168 lines
4.3 KiB
Nix

{
pkgs,
...
}:
let
colors_light = {
background = "fdf6e3";
foreground = "657b83";
regular0 = "eee8d5"; # background darker
regular1 = "dc322f"; # red
regular2 = "859900"; # green
regular3 = "b58900"; # dark orange
regular4 = "268bd2"; # azure blue
regular5 = "d33682"; # hot pink
regular6 = "2aa198"; # petrol
regular7 = "073642"; # navy
bright0 = "cb4b16"; # orange
bright1 = "fdf6e3"; # foreground
bright2 = "93a1a1"; # grey
bright3 = "839496"; # slightly darker grey
bright4 = "657b83"; # even slightly darker grey
bright5 = "6c71c4"; # purple
bright6 = "586e75"; # pretty dark grey
bright7 = "002b36"; # dark navy blue
};
colors_dark = {
cursor = "002b36 93a1a1";
background = "002b36";
foreground = "839496";
regular0 = "073642";
regular1 = "dc322f";
regular2 = "859900";
regular3 = "b58900";
regular4 = "268bd2";
regular5 = "d33682";
regular6 = "2aa198";
regular7 = "eee8d5";
bright0 = "002b36";
bright1 = "cb4b16";
bright2 = "586e75";
bright3 = "657b83";
bright4 = "839496";
bright5 = "6c71c4";
bright6 = "93a1a1";
bright7 = "fdf6e3";
selection-foreground = "93a1a1";
selection-background = "073642";
};
in
{
imports = [
./git.nix
./helix
./tmux.nix
./xdg.nix
./zsh.nix
];
home.stateVersion = "20.09";
home.sessionVariables = {
EDITOR = "hx";
PAGER = "less";
};
programs.gpg = {
enable = true;
settings = {
default-key = "99658A3EB5CD7C13";
fixed-list-mode = true;
keyid-format = "0xlong";
verify-options = "show-uid-validity";
list-options = "show-uid-validity";
cert-digest-algo = "SHA256";
use-agent = true;
keyserver = "hkps://keys.openpgp.org";
};
};
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = false;
};
# Languagetool server for web extension
systemd.user.services."languagetool-http-server" = {
Unit = {
Description = "Languagetool HTTP server";
PartOf = [ "graphical-session-pre.target" ];
After = [ "graphical-session.target" ];
};
Service = {
Type = "simple";
ExecStart = "${pkgs.languagetool}/bin/languagetool-http-server org.languagetool.server.HTTPServer --allow-origin '*'";
Restart = "always";
};
Install = {
WantedBy = [ "graphical-session.target" ];
};
};
systemd.user.timers."backup-keepassxc" = {
Unit.Description = "Backup password DB";
Timer = {
OnBootSec = "15min";
OnUnitActiveSec = "1d";
};
Install.WantedBy = [ "timers.target" ];
};
systemd.user.services."backup-keepassxc" = {
Unit.Description = "Backup password DB";
Unit.Type = "oneshot";
Service.ExecStart = "${pkgs.openssh}/bin/scp -P 23 -i /home/dadada/.ssh/keepassxc-backup /home/dadada/lib/sync/Personal.kdbx u355513-sub4@u355513-sub4.your-storagebox.de:Personal.kdbx";
Install.WantedBy = [ "multi-user.target" ];
};
systemd.user.timers."backup-keepassxc-ninurta" = {
Unit.Description = "Backup password DB to ninurta";
Timer = {
OnBootSec = "15min";
OnUnitActiveSec = "1d";
};
Install.WantedBy = [ "timers.target" ];
};
systemd.user.services."backup-keepassxc-ninurta" = {
Unit.Description = "Backup password DB to ninurta";
Unit.Type = "oneshot";
Service.ExecStart = "${pkgs.openssh}/bin/scp -P 22 -i /home/dadada/.ssh/keepassxc-backup /home/dadada/lib/sync/Personal.kdbx backup-keepassxc@ninurta.bs.dadada.li:/mnt/storage/backups/backup-keepassxc/Personal.kdbx";
Install.WantedBy = [ "multi-user.target" ];
};
programs.foot = {
enable = true;
server.enable = false;
settings = {
colors = colors_dark;
main = {
shell = "tmux";
dpi-aware = false;
};
mouse.hide-when-typing = true;
csd.preferred = "server";
cursor.color = "fdf6e3 586e75";
bell = {
urgent = true;
visual = false;
};
};
};
services.syncthing.enable = true;
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
home.packages = import ./pkgs.nix { pkgs = pkgs; };
}