{pkgs, ...}: { home.sessionVariables = { NNN_FIFO = "/tmp/nnn.fifo"; LANG = "en_US.UTF-8"; EDITOR = "nvim"; }; home.keyboard.layout = "us"; home.keyboard.variant = "3l"; home.packages = with pkgs; [ restic ripgrep libqalculate git-annex git-annex-remote-rclone qrencode ] ++ (import ../system/home-manager.nix).extraPackages pkgs; editorconfig = { enable = true; settings."*" = { indent_style = "tab"; indent_size = 4; end_of_line = "lf"; charset = "utf-8"; max_line_length = 90; trim_trailing_whitespace = true; insert_final_newline = false; }; settings."{*.{md,gmi,adoc},COMMIT_EDITMSG}" = { max_line_length = 0; }; settings."*.{elm,lisp,yml,purs}" = { indent_style = "space"; indent_size = 2; }; settings."*.{wat,nix}" = { indent_size = 2; }; settings."*.asm" = { indent_style = "tab"; indent_size = "tab"; max_line_length = 80; }; }; programs.git = { enable = true; lfs.enable = true; signing.key = "ACABBABE77B76F6301F4ACF97A0F4799BF91C8C1"; signing.signByDefault = true; userName = "Emi Simpson"; userEmail = "emi@alchemi.dev"; extraConfig = { init.defaultbranch = "main"; diff.algorithm = "patience"; core.compression = 9; core.editor = "nvim"; pull.rebase = false; }; }; programs.password-store = { enable = true; package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]); }; programs.fish = import programs/fish.nix pkgs; programs.nnn = { enable = true; plugins.mappings = { p = "preview-tui"; }; plugins.src = (pkgs.fetchFromGitHub { owner = "jarun"; repo = "nnn"; rev = "0c23406"; sha256 = "sha256-Hpc8YaJeAzJoEi7aJ6DntH2VLkoR6ToP6tPYn3llR7k="; }) + "/plugins"; extraPackages = with pkgs; [ tree file unzip bat ffmpeg ffmpegthumbnailer poppler_utils glow w3m ]; }; programs.neovim = import programs/neovim.nix pkgs; programs.gpg.enable = true; programs.jq.enable = true; services.gpg-agent = { enable = true; maxCacheTtl = 180; # Seconds pinentryFlavor = "gnome3"; }; dconf.settings = import ./dconf.nix; home.stateVersion = "22.11"; targets.genericLinux.enable = true; }