Compare commits

...

3 Commits

7 changed files with 46 additions and 6 deletions

View File

@@ -34,8 +34,9 @@ in {
config = { config = {
boot.tmp.cleanOnBoot = true; boot.tmp.cleanOnBoot = true;
time.timeZone = cfg.timezone;
console.keyMap = cfg.keymap; console.keyMap = cfg.keymap;
time.timeZone = cfg.timezone;
environment.pathsToLink = ["/share/bash-completion" "/share/zsh"];
services = { services = {
orca.enable = false; orca.enable = false;
envfs.enable = true; envfs.enable = true;

View File

@@ -45,9 +45,8 @@ in {
default-command = "st"; default-command = "st";
pager = ":builtin"; pager = ":builtin";
show-cryptographic-signatures = true; show-cryptographic-signatures = true;
conflict-marker-style = "git"; # Support for vc-jj.el
diff-formatter = ":git"; # Support for vc-jj.el
diff-editor = ":builtin"; diff-editor = ":builtin";
merge-editort = ":builtin";
inherit (cfg) editor; inherit (cfg) editor;
}; };
signing = mkIf cfg.signing.enable { signing = mkIf cfg.signing.enable {
@@ -63,24 +62,41 @@ in {
eject = ["squash" "--from" "@" "--into"]; eject = ["squash" "--from" "@" "--into"];
d = ["diff"]; d = ["diff"];
dm = ["desc" "-m"]; dm = ["desc" "-m"];
gc = ["git" "clone"];
gcc = ["git" "clone" "--colocate"];
l = ["log"]; l = ["log"];
la = ["log" "-r" "::"];
lc = ["log" "-r" "(remote_bookmarks()..@)::"]; lc = ["log" "-r" "(remote_bookmarks()..@)::"];
ll = ["log" "-T" "builtin_log_detailed"]; ll = ["log" "-T" "builtin_log_detailed"];
open = ["log" "-r" "open()"]; open = ["log" "-r" "open()"];
n = ["new"]; n = ["new"];
nd = ["new" "dev()"]; nd = ["new" "dev()"];
nt = ["new" "trunk()"]; nt = ["new" "trunk()"];
revlog = ["evolog"];
s = ["show"]; s = ["show"];
tug = ["bookmark" "move" "--from" "heads(::@- & bookmarks())" "--to" "@-"]; tug = ["bookmark" "move" "--from" "heads(::@- & bookmarks())" "--to" "@-"];
}; };
colors.working_copy.underline = true;
git = {
private-commits = "blacklist()";
colocate = true;
subprocess = true;
};
revset-aliases = { revset-aliases = {
"immutable_heads()" = "present(trunk()) | tags()";
# Resolves by default to latest main/master remote bookmarks
"trunk()" = "latest((present(main) | present(master)) & remote_bookmarks())";
# Same as trunk() but for `dev` or `develop` bookmarks
"dev()" = "latest((present(dev) | present(develop)) & remote_bookmarks())";
"user(x)" = "author(x) | committer(x)"; "user(x)" = "author(x) | committer(x)";
"gh_pages()" = "ancestors(remote_bookmarks(exact:\"gh-pages\"))"; "gh_pages()" = "ancestors(remote_bookmarks(exact:\"gh-pages\"))";
"trunk()" = "latest((present(main) | present(master)) & remote_bookmarks())";
"dev()" = "latest((present(dev) | present(develop)) & remote_bookmarks())"; #Private and WIP commits that should never be pushed
"wip()" = "description(glob:\"wip:*\")"; "wip()" = "description(glob:\"wip:*\")";
"private()" = "description(glob:\"private:*\")"; "private()" = "description(glob:\"private:*\")";
"blacklist()" = "wip() | private()"; "blacklist()" = "wip() | private()";
# stack(x, n) is the set of mutable commits reachable from # stack(x, n) is the set of mutable commits reachable from
# 'x', with 'n' parents. 'n' is often useful to customize the # 'x', with 'n' parents. 'n' is often useful to customize the
# display and return set for certain operations. 'x' can be # display and return set for certain operations. 'x' can be
@@ -93,6 +109,7 @@ in {
"open()" = "stack(dev().. & mine(), 1)"; "open()" = "stack(dev().. & mine(), 1)";
"ready()" = "open() ~ blacklist()::"; "ready()" = "open() ~ blacklist()::";
}; };
remotes.origin.auto-track-bookmarks = "*";
}; };
}; };
} }

View File

@@ -16,6 +16,11 @@ in {
lns = "ln -si"; lns = "ln -si";
}; };
}; };
autocompletion = mkOption {
type = types.bool;
default = config.home.shell.autocompletion;
example = true;
};
eatIntegration = mkEnableOption "Enable Emacs Eat integration"; eatIntegration = mkEnableOption "Enable Emacs Eat integration";
bashrcExtra = mkOption { bashrcExtra = mkOption {
type = types.lines; type = types.lines;
@@ -33,6 +38,7 @@ in {
(strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/bash"'') (strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/bash"'')
cfg.bashrcExtra cfg.bashrcExtra
]; ];
enableCompletion = cfg.autocompletion;
shellAliases = cfg.aliases; shellAliases = cfg.aliases;
shellOptions = [ shellOptions = [
"histappend" "histappend"

View File

@@ -88,6 +88,10 @@ in {
default = {}; default = {};
example = {la = "ls -a";}; example = {la = "ls -a";};
}; };
autocompletion = mkOption {
type = types.bool;
default = true;
};
}; };
config.home.shell = { config.home.shell = {
enableShellIntegration = cfg.bash.enable or cfg.zsh.enable or cfg.fish.enable; enableShellIntegration = cfg.bash.enable or cfg.zsh.enable or cfg.fish.enable;

View File

@@ -17,6 +17,11 @@ in {
lns = "ln -si"; lns = "ln -si";
}; };
}; };
autocompletion = mkOption {
type = types.bool;
default = config.home.shell.autocompletion;
example = true;
};
extraShellInit = mkOption { extraShellInit = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
@@ -26,6 +31,7 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
programs.fish = { programs.fish = {
enable = true; enable = true;
generateCompletions = cfg.autocompletion;
shellAbbrs = cfg.abbrs; shellAbbrs = cfg.abbrs;
preferAbbrs = true; preferAbbrs = true;
shellInit = with lib; shellInit = with lib;

View File

@@ -17,6 +17,11 @@ in {
lns = "ln -si"; lns = "ln -si";
}; };
}; };
autocompletion = mkOption {
type = types.bool;
default = config.home.shell.autocompletion;
example = true;
};
eatIntegration = mkEnableOption "Enable Emacs Eat integration"; eatIntegration = mkEnableOption "Enable Emacs Eat integration";
zshrcExtra = lib.mkOption { zshrcExtra = lib.mkOption {
type = types.lines; type = types.lines;
@@ -32,7 +37,7 @@ in {
enable = true; enable = true;
strategy = ["match_prev_cmd" "completion"]; strategy = ["match_prev_cmd" "completion"];
}; };
enableCompletion = true; enableCompletion = cfg.autocompletion;
enableVteIntegration = true; enableVteIntegration = true;
history = { history = {
findNoDups = true; findNoDups = true;

View File

@@ -8,6 +8,7 @@
@@@ Sauvez un arbre, mangez un castor @@@ @@@ Sauvez un arbre, mangez un castor @@@
@@@ Save a tree, eat a beaver @@@ @@@ Save a tree, eat a beaver @@@
@@@ Bjarg tré, et bjórr @@@
''; '';
in { in {
home.file.".signature" = { home.file.".signature" = {