{ 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; [ unstable.moonlight-qt unstable.vlc unstable.nicotine-plus unstable.logseq unstable.signal-desktop unstable.telegram-desktop unstable.strawberry unstable.gimp unstable.libreoffice (pkgs.nerdfonts.override { fonts = [ "Hack" ]; }) virt-manager gnome.gnome-tweaks unstable.impression poppler_utils # For pdfunite silicon unstable.dbeaver unstable.wireshark units btrfs-progs exfat unstable.qFlipper f3 unstable.insomnia unstable.vorta jellyfin-media-player jq kubectl file yq age sops nmap unstable.devenv unstable.attic-client unstable.hexchat sbctl borgbackup unstable.krita unstable.bottles-unwrapped ]; }; 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 }; }; }; # Currently, it is not possible to have Home Manager manage Liberwolf extensions. # There is a draft PR which addresses this: # https://github.com/nix-community/home-manager/pull/3339 # The extensions I currently use are: # - ublock-origin (already installed by librewolf) # - cookie-autodelete # - clearurls # - istilldontcareaboutcookies # - keepassxc-browser # - redirector # - violentmonkey # - boring-rss # - kagi-search # - refined-github librewolf = { enable = true; settings = { "identity.fxaccounts.enabled" = true; "privacy.clearOnShutdown.history" = false; "privacy.clearOnShutdown.downloads" = false; "browser.translations.automaticallyPopup" = false; "browser.aboutConfig.showWarning" = false; "privacy.clearOnShutdown.cookies" = false; }; }; }; # 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" ]; }; }; 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; }; "org.gnome.desktop.wm.preferences" = { auto-raise = true; }; }; }