Nix-Configs/configs/home.nogui.nix

130 lines
3 KiB
Nix
Raw Normal View History

2023-03-16 02:14:27 +00:00
{pkgs, lib, ...} @ nixpkgs: {
imports = [ ../modules/parallel.nix ];
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";
2023-03-16 02:14:27 +00:00
home.packages = with pkgs; with (import ../packages/all-packages.nix nixpkgs); [
2022-12-18 15:15:15 +00:00
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
2023-03-16 02:14:27 +00:00
dw
] ++ (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
];
};
2023-02-01 01:07:21 +00:00
programs.neovim = import programs/neovim.nix {inherit pkgs lib;};
2022-12-18 15:15:15 +00:00
programs.gpg.enable = true;
programs.jq.enable = true;
2023-02-01 01:07:05 +00:00
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;
};
2022-12-19 17:24:58 +00:00
2023-02-28 23:44:39 +00:00
programs.ssh = import programs/ssh/settings.nix;
home.file.allowedKeys = {
text = builtins.concatStringsSep "\n" (import programs/ssh/authorizedKeys.nix);
target = ".ssh/authorized_keys";
2022-12-19 17:24:58 +00:00
};
2023-03-16 01:20:09 +00:00
home.file.cargoConfig = {
source = programs/cargo.toml;
target = ".cargo/config";
};
2023-02-28 23:44:39 +00:00
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";
2023-03-16 13:45:37 +00:00
nixpkgs.config.allowUnfree = true;
2022-12-18 15:15:15 +00:00
targets.genericLinux.enable = true;
2022-12-18 18:49:19 +00:00
}