Nix-Configs/configs/home.nogui.nix

138 lines
3.2 KiB
Nix
Raw Normal View History

2022-12-20 19:44:49 +00:00
{pkgs, lib, ...}: {
2022-12-18 15:15:15 +00:00
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
2023-01-11 19:09:03 +00:00
rclone
2022-12-18 15:15:15 +00:00
libqalculate
git-annex
git-annex-remote-rclone
qrencode
2022-12-30 16:30:13 +00:00
libwebp
bat
] ++ (import ../system/home-manager.nix).extraPackages pkgs;
2022-12-18 15:15:15 +00:00
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";
2022-12-18 15:15:15 +00:00
};
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;
2022-12-19 17:24:58 +00:00
programs.ssh = {
enable = true;
compression = true;
controlMaster = "auto";
controlPath = "~/.ssh/socket-%r@%h:%p";
2022-12-19 17:24:58 +00:00
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";
oak.hostname = "oak.corviform.gay";
oak.port = 57452;
oak.user = "emi";
oak.localForwards = [{
bind.port = 8080;
host.port = 8080;
host.address = "localhost";
}];
2022-12-19 17:24:58 +00:00
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";
};
};
2022-12-18 15:15:15 +00:00
services.gpg-agent = {
enable = true;
maxCacheTtl = 180; # Seconds
pinentryFlavor = "gnome3";
};
2022-12-20 19:44:49 +00:00
dconf.settings = import ./dconf.nix lib.hm.gvariant.mkTuple;
2022-12-30 16:29:41 +00:00
xdg.configFile."rclone/rclone.conf".source = programs/rclone.conf;
2022-12-18 15:15:15 +00:00
home.stateVersion = "22.11";
targets.genericLinux.enable = true;
2022-12-18 18:49:19 +00:00
}