Evie Litherland-Smith
8c5ba7f4c3
Move home-manager setup back into being NixOS module where possible Parameterise common elements of system config to minimise rewriting and pass as function to all places needed
37 lines
874 B
Nix
37 lines
874 B
Nix
{ pkgs, user, shell ? "zsh", ... }:
|
|
let homeDirectory = "/Users/${user}";
|
|
in {
|
|
imports = [
|
|
../../home/shell/${shell}.nix
|
|
../../home/git
|
|
../../home/ssh
|
|
../../home/tui
|
|
../../home/tmux
|
|
../../home/alacritty
|
|
../../home/emacs
|
|
];
|
|
home = {
|
|
inherit homeDirectory;
|
|
username = user;
|
|
stateVersion = "23.05";
|
|
packages = with pkgs; [ coreutils-prefixed ];
|
|
};
|
|
programs = {
|
|
home-manager.enable = true;
|
|
zsh = {
|
|
sessionVariables.CC = "${pkgs.gcc}/bin/gcc";
|
|
envExtra = ''
|
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
'';
|
|
};
|
|
emacs.package = pkgs.emacs29;
|
|
gpg.enable = true;
|
|
password-store = {
|
|
enable = true;
|
|
package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]);
|
|
settings.PASSWORD_STORE_DIR = "$HOME/.password-store";
|
|
};
|
|
};
|
|
services.syncthing.enable = true;
|
|
}
|