{ 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; }; }