{ config, lib, pkgs, hasDestopEnvironment, ... }: { home = { enableNixpkgsReleaseCheck = lib.mkDefault false; homeDirectory = lib.mkDefault "/home/${config.home.username}"; packages = with pkgs; [ age clinfo cpufetch deadnix lm_sensors nano nixfmt-rfc-style pciutils protonup rsync smartmontools sops tailscale tree usbutils vim vulkan-tools wget ] ++ (if hasDestopEnvironment then [ chromium firefox gamescope gamescope-wsi gparted goverlay mission-center vesktop ] else [ ]); stateVersion = lib.mkDefault "23.11"; }; programs = { btop.enable = lib.mkDefault true; fastfetch.enable = lib.mkDefault true; home-manager.enable = lib.mkDefault true; java = { enable = lib.mkDefault true; }; mangohud.enable = lib.mkDefault hasDestopEnvironment; password-store.enable = true; nh = { enable = true; flake = "/etc/nixos"; clean = { enable = true; extraArgs = "--keep 5"; }; }; micro = { enable = lib.mkDefault true; settings = { autoindent = true; autosu = true; eofnewline = true; tabsize = 4; tabstospaces = true; }; }; tmux = { enable = lib.mkDefault true; terminal = "screen-256color"; sensibleOnTop = true; focusEvents = true; newSession = true; mouse = true; plugins = with pkgs; [ tmuxPlugins.cpu { plugin = tmuxPlugins.resurrect; extraConfig = "set -g @resurrect-strategy-nvim 'session'"; } { plugin = tmuxPlugins.continuum; extraConfig = '' set -g @continuum-restore 'on' set -g @continuum-save-interval '60' # minutes ''; } tmuxPlugins.better-mouse-mode ]; extraConfig = '' set -g status-right '#[fg=black,bg=color15] #{cpu_percentage}  %H:%M ' run-shell ${pkgs.tmuxPlugins.cpu}/share/tmux-plugins/cpu/cpu.tmux set -g default-terminal "xterm-256color" set -ga terminal-overrides ",*256col*:Tc" set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q' set-environment -g COLORTERM "truecolor" # Mouse works as expected set-option -g mouse on # easy-to-remember split pane commands bind | split-window -h -c "#{pane_current_path}" bind - split-window -v -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" ''; }; }; services = { nextcloud-client.enable = lib.mkDefault hasDestopEnvironment; pass-secret-service.enable = lib.mkDefault true; kdeconnect = { enable = lib.mkDefault hasDestopEnvironment; indicator = lib.mkDefault true; }; }; }