110 lines
2.5 KiB
Nix
110 lines
2.5 KiB
Nix
|
{pkgs, ...}: {
|
||
|
home.sessionVariables = {
|
||
|
NNN_FIFO = "/tmp/nnn.fifo";
|
||
|
LANG = "en_US.UTF-8";
|
||
|
EDITOR = "nvim";
|
||
|
MOZ_ENABLE_WAYLAND = "1";
|
||
|
};
|
||
|
home.keyboard.layout = "us";
|
||
|
home.keyboard.variant = "3l";
|
||
|
home.packages = with pkgs; [
|
||
|
restic
|
||
|
ripgrep
|
||
|
libqalculate
|
||
|
clapper
|
||
|
git-annex
|
||
|
git-annex-remote-rclone
|
||
|
qrencode
|
||
|
gnomeExtensions.blur-my-shell
|
||
|
gnomeExtensions.burn-my-windows
|
||
|
gnomeExtensions.pop-shell
|
||
|
gnomeExtensions.firefox-pip-always-on-top
|
||
|
];
|
||
|
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.kitty = import programs/kitty.nix pkgs;
|
||
|
programs.password-store = {
|
||
|
enable = true;
|
||
|
package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]);
|
||
|
};
|
||
|
programs.fish = import programs/fish.nix pkgs;
|
||
|
programs.firefox = import programs/firefox.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";
|
||
|
};
|
||
|
# Package broken as of 2022-12-14
|
||
|
# services.etesync-dav.enable = true;
|
||
|
services.syncthing.enable = true;
|
||
|
dconf.settings = import ./dconf.nix;
|
||
|
home.stateVersion = "22.11";
|
||
|
targets.genericLinux.enable = true;
|
||
|
}
|