{pkgs, lib, ...} @ nixpkgs: { imports = [ ../modules/parallel.nix ]; home.sessionVariables = { NNN_FIFO = "/tmp/nnn.fifo"; LANG = "en_US.UTF-8"; EDITOR = "nvim"; RCLONE_CONFIG = "${programs/rclone.conf}"; }; home.keyboard.layout = "us"; home.keyboard.variant = "3l"; home.packages = with pkgs; with (import ../packages/all-packages.nix nixpkgs); [ entr restic ripgrep libqalculate git-annex git-annex-remote-rclone qrencode libwebp libjxl bat dw rclone bubblewrap termdown youtube-dl magic-wormhole-rs ] ++ (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,hs}" = { 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 ]); settings.PASSWORD_STORE_DIR = "$HOME/Sync/Secure/Passwords"; }; 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 {inherit pkgs lib;}; programs.gpg.enable = true; programs.jq.enable = true; programs.tmux = { enable = true; prefix = "C-Space"; clock24 = true; historyLimit = 10000; keyMode = "vi"; shell = "${pkgs.fish}/bin/fish"; shortcut = "Space"; }; programs.parallel = { enable = true; willCite = true; }; programs.ssh = import programs/ssh/settings.nix; home.file.allowedKeys = { text = builtins.concatStringsSep "\n" (import programs/ssh/authorizedKeys.nix); target = ".ssh/authorized_keys"; }; home.file.cargoConfig = { source = programs/cargo.toml; target = ".cargo/config"; }; services.gpg-agent = { enable = true; maxCacheTtl = 180; # Seconds pinentryFlavor = "gnome3"; }; dconf.settings = import ./dconf.nix lib.hm.gvariant.mkTuple; home.stateVersion = "22.11"; nixpkgs.config.allowUnfree = true; targets.genericLinux.enable = true; }