mirror of
https://github.com/wlcx/home.git
synced 2026-10-19 04:21:38 +01:00
Prepare for profile-based home manager configs
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let mypkgs = (import ../modules/pkgs.nix { inherit pkgs; });
|
||||
in {
|
||||
home.packages = mypkgs.all;
|
||||
home.sessionVariables = {
|
||||
"EDITOR" = "nvim";
|
||||
"WORDCHARS" = "\${WORDCHARS/\\/}"; # ctrl-w on paths without make angery
|
||||
};
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
||||
# Shell and env-y stuff
|
||||
zsh = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
g = "git";
|
||||
cat = "bat";
|
||||
vim = "nvim";
|
||||
hmswitch = ''home-manager switch --flake ".#$(hostname -s)"'';
|
||||
nrswitch = "sudo nixos-rebuild switch --flake '.#'";
|
||||
};
|
||||
|
||||
plugins = [{
|
||||
name = "zsh-z";
|
||||
file = "share/zsh-z/zsh-z.plugin.zsh";
|
||||
src = pkgs.zsh-z;
|
||||
}];
|
||||
};
|
||||
|
||||
exa = {
|
||||
enable = true;
|
||||
enableAliases = true;
|
||||
};
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
format =
|
||||
"$username$hostname$shlvl$directory$git_branch$git_commit$git_state$git_metrics$git_status$hg_branch$docker_context$golang$kotlin$nodejs$python$rust$terraform$nix_shell$memory_usage$aws$gcloud$openstack$azure$env_var$crystal$custom$sudo$cmd_duration$line_break$jobs$status$shell$character";
|
||||
username.format = "[$user]($style) ";
|
||||
hostname.format = "[$hostname]($style) ";
|
||||
directory = { truncation_length = -1; };
|
||||
git_branch.format = "[$symbol$branch]($style) ";
|
||||
python.format = "[py \${pyenv_prefix}(\${version} )(\\($virtualenv\\) )]($style)";
|
||||
nodejs.format = "[js ($version )]($style)";
|
||||
};
|
||||
};
|
||||
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
nix-direnv.enableFlakes = true;
|
||||
};
|
||||
|
||||
fzf.enable = true;
|
||||
|
||||
# Tools
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "Sam Willcocks";
|
||||
userEmail = "sam@wlcx.cc";
|
||||
|
||||
delta = { # Better diffs
|
||||
enable = true;
|
||||
options = { line-numbers = true; };
|
||||
};
|
||||
|
||||
aliases = {
|
||||
a = "add";
|
||||
ap = "add -p";
|
||||
c = "commit";
|
||||
can = "commit --amend --no-edit";
|
||||
cm = "commit -m";
|
||||
co = "checkout";
|
||||
d = "diff";
|
||||
dc = "diff --cached";
|
||||
l = "log";
|
||||
lp = "log --patch";
|
||||
r = "rebase";
|
||||
rc = "rebase --continue";
|
||||
ra = "rebase --autostash";
|
||||
rai = "rebase --autostash --interactive";
|
||||
st = "status";
|
||||
|
||||
gone = ''
|
||||
! "git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | a
|
||||
│ wk '$2 == \"[gone]\" {print $1}' | xargs -r git branch -D"'';
|
||||
};
|
||||
extraConfig = {
|
||||
branch.sort = "-committerdate";
|
||||
log.showSignature = true;
|
||||
push.default = "current";
|
||||
include.path = "~/.gitconfig.local";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ dev = { ... }: { imports = [ ./default.nix ]; }; }
|
||||
Reference in New Issue
Block a user