2023-03-16 02:14:27 +00:00
|
|
|
{pkgs, lib, ...} @ nixpkgs: {
|
2023-03-16 01:17:38 +00:00
|
|
|
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";
|
2023-03-22 02:42:52 +00:00
|
|
|
RCLONE_CONFIG = "${programs/rclone.conf}";
|
2024-03-05 22:49:28 +00:00
|
|
|
LEDGER_FILE = "~/Sync/Budget.journal";
|
2022-12-18 15:15:15 +00:00
|
|
|
};
|
|
|
|
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); [
|
2023-12-18 16:03:34 +00:00
|
|
|
encfs
|
2023-06-09 20:08:16 +00:00
|
|
|
entr
|
2022-12-18 15:15:15 +00:00
|
|
|
restic
|
|
|
|
ripgrep
|
|
|
|
libqalculate
|
|
|
|
git-annex
|
|
|
|
git-annex-remote-rclone
|
|
|
|
qrencode
|
2022-12-30 16:30:13 +00:00
|
|
|
libwebp
|
2023-10-19 18:36:08 +00:00
|
|
|
libjxl
|
2022-12-30 16:30:13 +00:00
|
|
|
bat
|
2023-03-16 02:14:27 +00:00
|
|
|
dw
|
2023-03-22 02:42:52 +00:00
|
|
|
rclone
|
2023-04-08 16:13:34 +00:00
|
|
|
bubblewrap
|
2023-04-10 20:33:03 +00:00
|
|
|
termdown
|
2024-02-23 21:41:51 +00:00
|
|
|
yt-dlp
|
2023-09-28 16:18:49 +00:00
|
|
|
magic-wormhole-rs
|
2024-03-05 22:49:28 +00:00
|
|
|
hledger
|
2022-12-18 22:50:10 +00:00
|
|
|
] ++ (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;
|
|
|
|
};
|
2023-09-28 16:19:13 +00:00
|
|
|
settings."*.{elm,lisp,yml,purs,hs}" = {
|
2022-12-18 15:15:15 +00:00
|
|
|
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 ]);
|
2023-01-15 20:37:50 +00:00
|
|
|
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";
|
|
|
|
};
|
2023-03-16 01:17:38 +00:00
|
|
|
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-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
|
|
|
}
|