120 lines
2.7 KiB
Nix
120 lines
2.7 KiB
Nix
{pkgs, lib, ...}: {
|
|
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
|
|
rclone
|
|
libqalculate
|
|
git-annex
|
|
git-annex-remote-rclone
|
|
qrencode
|
|
parallel
|
|
libwebp
|
|
bat
|
|
] ++ (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 ]);
|
|
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.ssh = import programs/ssh/settings.nix;
|
|
home.file.allowedKeys = {
|
|
text = builtins.concatStringsSep "\n" (import programs/ssh/authorizedKeys.nix);
|
|
target = ".ssh/authorized_keys";
|
|
};
|
|
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
maxCacheTtl = 180; # Seconds
|
|
pinentryFlavor = "gnome3";
|
|
};
|
|
dconf.settings = import ./dconf.nix lib.hm.gvariant.mkTuple;
|
|
xdg.configFile."rclone/rclone.conf".source = programs/rclone.conf;
|
|
home.stateVersion = "22.11";
|
|
targets.genericLinux.enable = true;
|
|
} |