138 lines
3.2 KiB
Nix
138 lines
3.2 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
|
|
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 pkgs;
|
|
programs.gpg.enable = true;
|
|
programs.jq.enable = true;
|
|
programs.ssh = {
|
|
enable = true;
|
|
compression = true;
|
|
controlMaster = "auto";
|
|
controlPath = "~/.ssh/socket-%r@%h:%p";
|
|
controlPersist = "1m";
|
|
forwardAgent = true;
|
|
matchBlocks = {
|
|
foss-dashboard.hostname = "foss-dashboard.rit.edu";
|
|
foss-dashboard.proxyCommand = "ssh glados -W %h:%p";
|
|
foss-dashboard.user = "emi";
|
|
|
|
glados.hostname = "129.21.22.196";
|
|
glados.user = "tts1848";
|
|
|
|
muscaria.hostname = "69.61.2.204";
|
|
muscaria.user = "emi";
|
|
|
|
redwood.hostname = "redwood.corviform.gay";
|
|
redwood.port = 57452;
|
|
redwood.user = "ember";
|
|
redwood.localForwards = [{
|
|
bind.port = 8080;
|
|
host.port = 8080;
|
|
host.address = "localhost";
|
|
}];
|
|
|
|
serenity.hostname = "serenity.ist.rit.edu";
|
|
serenity.user = "tts1848";
|
|
serenity.proxyCommand = "ssh glados -W %h:%p";
|
|
|
|
sol.hostname = "sol.is.geeky.gay";
|
|
sol.user = "emi";
|
|
};
|
|
};
|
|
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;
|
|
} |