mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-24 16:39:42 -04:00
seperate git bash logic
This commit is contained in:
parent
24401dfd63
commit
354e765844
4 changed files with 33 additions and 28 deletions
|
|
@ -1,30 +1,6 @@
|
||||||
''
|
''
|
||||||
export DIRENV_LOG_FORMAT=
|
export DIRENV_LOG_FORMAT=
|
||||||
|
|
||||||
function cdg() {
|
|
||||||
if [[ $1 == "--help" ]]; then
|
|
||||||
echo "A simple utility for navigating to the root of a git repo"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check for invalid command
|
|
||||||
if [[ -n "$1" ]]; then
|
|
||||||
echo "Invalid command: $1. Try 'cdg --help'."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local root_dir
|
|
||||||
root_dir=$(git rev-parse --show-toplevel 2>/dev/null)
|
|
||||||
local git_status=$?
|
|
||||||
|
|
||||||
if [ $git_status -ne 0 ]; then
|
|
||||||
echo "Error: Not a git repo."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "$root_dir"
|
|
||||||
}
|
|
||||||
|
|
||||||
function penpot() {
|
function penpot() {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
run)
|
run)
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ check_ssh() {
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
${optionalString git.enable ''
|
${optionalString git.enable ''
|
||||||
add_icon() {
|
add_icon() {
|
||||||
local icon=$1
|
local icon=$1
|
||||||
|
|
@ -91,7 +90,6 @@ check_project() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
''}
|
''}
|
||||||
|
|
||||||
function set_prompt() {
|
function set_prompt() {
|
||||||
local green_arrow="\[\033[01;32m\]>> "
|
local green_arrow="\[\033[01;32m\]>> "
|
||||||
local white_text="\[\033[00m\]"
|
local white_text="\[\033[00m\]"
|
||||||
|
|
@ -107,7 +105,7 @@ function set_prompt() {
|
||||||
check_project
|
check_project
|
||||||
''}
|
''}
|
||||||
|
|
||||||
PS1="$ssh_PS1\n$working_dir$green_arrow$white_text"
|
PS1="$ssh_PS1\n$working_dir\n$green_arrow$white_text"
|
||||||
|
|
||||||
${optionalString git.enable ''
|
${optionalString git.enable ''
|
||||||
PS1="$ssh_PS1\n$working_dir\n$venv_icons$green_arrow$git_branch_PS1$white_text"
|
PS1="$ssh_PS1\n$working_dir\n$venv_icons$green_arrow$git_branch_PS1$white_text"
|
||||||
|
|
|
||||||
25
src/user/modules/git/config/cdg.nix
Normal file
25
src/user/modules/git/config/cdg.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
''
|
||||||
|
function cdg() {
|
||||||
|
if [[ $1 == "--help" ]]; then
|
||||||
|
echo "A simple utility for navigating to the root of a git repo"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check for invalid command
|
||||||
|
if [[ -n "$1" ]]; then
|
||||||
|
echo "Invalid command: $1. Try 'cdg --help'."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local root_dir
|
||||||
|
root_dir=$(git rev-parse --show-toplevel 2>/dev/null)
|
||||||
|
local git_status=$?
|
||||||
|
|
||||||
|
if [ $git_status -ne 0 ]; then
|
||||||
|
echo "Error: Not a git repo."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$root_dir"
|
||||||
|
}
|
||||||
|
''
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
{ lib, pkgs, config, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let cfg = config.modules.user.git;
|
let
|
||||||
|
cfg = config.modules.user.git;
|
||||||
|
bash = config.modules.user.bash;
|
||||||
|
|
||||||
in
|
in
|
||||||
{ options.modules.user.git = { enable = mkEnableOption "user.git"; };
|
{ options.modules.user.git = { enable = mkEnableOption "user.git"; };
|
||||||
|
|
@ -19,5 +21,9 @@ in
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
git-crypt
|
git-crypt
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.bash.initExtra = mkAfter ''
|
||||||
|
${import ./config/cdg.nix}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue