{ pkgs, lib, config, ... }: { imports = [ ./bash ./neovim ./firefox ./ssh ./syncthing ./keepassxc ./git ./direnv ./thunderbird ./fzf ./bat ]; home = { username = "pim"; homeDirectory = "/home/pim"; stateVersion = "23.05"; packages = with pkgs; [ moonlight-qt vlc nicotine-plus logseq signal-desktop telegram-desktop strawberry gimp libreoffice (pkgs.nerdfonts.override { fonts = [ "Hack" ]; }) virt-manager gnome.gnome-tweaks impression poppler_utils # For pdfunite silicon dbeaver wireshark traceroute units ]; file.k3s-pim-privkey = { target = ".kube/config"; source = ./kubeconfig.yml; }; }; programs = { home-manager.enable = true; chromium.enable = true; terminator = { enable = true; config = { profiles.default = { # Gruvbox theme: https://github.com/egel/terminator-gruvbox background_color = "#282828"; cursor_color = "#7c6f64"; foreground_color = "#ebdbb2"; palette = "#181818:#cc241d:#98971a:#d79921:#458588:#b16286:#689d6a:#a89984:#928374:#fb4934:#b8bb26:#fabd2f:#83a598:#d3869b:#8ec07c:#ebdbb2"; }; keybindings = { zoom_in = "plus"; zoom_out = "minus"; new_tab = "T"; cycle_next = "Tab"; cycle_prev = "Tab"; split_horiz = "C"; split_vert = "V"; go_left = "H"; go_right = "L"; go_up = "K"; go_down = "J"; copy = "C"; paste = "V"; layout_launcher = ""; # Default L }; }; }; }; # Let home-manager manage the X session xsession = { enable = true; }; xdg = { userDirs.enable = true; configFile."home/postgresql_server.crt".source = ./postgresql_server.crt; configFile."home/postgresql_client.crt".source = ./postgresql_client.crt; }; homeage = { identityPaths = [ "/home/pim/.ssh/age_ed25519" ]; installationType = "systemd"; file."common-pg-tfbackend" = { source = ../secrets/common-pg-tfbackend.age; symlinks = [ "${config.xdg.configHome}/home/common.pg.tfbackend" ]; }; file."ansible-vault-secret" = { source = ../secrets/ansible-vault-secret.age; symlinks = [ "${config.xdg.configHome}/home/ansible-vault-secret" ]; }; file."powerdns-api-key" = { source = ../secrets/powerdns-api-key.json.age; symlinks = [ "${config.xdg.configHome}/home/powerdns-api-key.json" ]; }; file."postgresql_client.key" = { source = ../secrets/postgresql_client.key.age; symlinks = [ "${config.xdg.configHome}/home/postgresql_client.key" ]; }; file."k3s-pim-privkey" = { source = ../secrets/k3s-pim-privkey.age; symlinks = [ "${config.home.homeDirectory}/.kube/k3s-pim-privkey" ]; }; }; fonts.fontconfig.enable = true; dconf.settings = with lib.hm.gvariant; { "org/gnome/desktop/input-sources" = { sources = [ (mkTuple [ "xkb" "us" ]) ]; xkb-options = [ "terminate:ctrl_alt_bksp" "caps:escape" ]; }; "org/gnome/desktop/interface" = { monospace-font-name = "Hack Nerd Font Mono 10"; }; "org/gnome/desktop/sound" = { allow-volume-above-100-percent = true; }; }; }