Compare commits

..

2 Commits

Author SHA1 Message Date
Steph
390831788d Merge branch 'master' of https://code.steph.tools/steph/os 2024-11-21 21:06:47 +01:00
Steph
c1ef14cfd4 crimes 2024-11-21 21:06:08 +01:00
6 changed files with 72 additions and 28 deletions

View File

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View File

@ -58,6 +58,7 @@
executable = true; executable = true;
source = "${./git-identity.sh}"; source = "${./git-identity.sh}";
}; };
home.file.".background-image".source = "${./background-image.jpg}";
home.sessionPath = [ home.sessionPath = [
"$HOME/.local/bin" "$HOME/.local/bin"
]; ];

View File

@ -32,6 +32,7 @@
wl-clipboard wl-clipboard
zotero zotero
signal-desktop signal-desktop
freetube
]; ];
dconf.settings = { dconf.settings = {
@ -84,6 +85,4 @@
"picture-uri" = "${config.home.homeDirectory}/.background-image"; "picture-uri" = "${config.home.homeDirectory}/.background-image";
}; };
}; };
home.file.".background-image".source = "${./.}/Morskie Oko.jpg";
} }

View File

@ -1,33 +1,41 @@
{config, lib, pkgs, inputs, os, ...} : { {config, lib, pkgs, inputs, os, ...} : {
programs.bash.enable = true; programs.bash.enable = true;
programs.bash.bashrcExtra = '' programs.bash.bashrcExtra = lib.concatStrings [
if [ -n "$PS1" ]; then ''
NEW_PROMPT_COMMAND=' if [ -n "$PS1" ]; then
MY_PWD="$PWD" NEW_PROMPT_COMMAND='
[[ "$MY_PWD" =~ ^"$HOME"(/|$) ]] && MY_PWD="~''${MY_PWD#$HOME}" MY_PWD="$PWD"
TRIMMED_PWD=''${MY_PWD: -40}; [[ "$MY_PWD" =~ ^"$HOME"(/|$) ]] && MY_PWD="~''${MY_PWD#$HOME}"
TRIMMED_PWD=''${TRIMMED_PWD:-$MY_PWD} TRIMMED_PWD=''${MY_PWD: -40};
[[ "''${#MY_PWD}" -ge 41 ]] && TRIMMED_PWD="…$TRIMMED_PWD" TRIMMED_PWD=''${TRIMMED_PWD:-$MY_PWD}
[[ "''${#MY_PWD}" -ge 41 ]] && TRIMMED_PWD="…$TRIMMED_PWD"
SHELL_PREFIX="" SHELL_PREFIX=""
[[ -n "$IN_NIX_SHELL" ]] && SHELL_PREFIX="$SHELL_PREFIX " [[ -n "$IN_NIX_SHELL" ]] && SHELL_PREFIX="$SHELL_PREFIX "
[[ -n "$AWS_VAULT" ]] && SHELL_PREFIX="$SHELL_PREFIX 🔓" [[ -n "$AWS_VAULT" ]] && SHELL_PREFIX="$SHELL_PREFIX 🔓"
[[ -n "$FLUTTER_ENV" ]] && SHELL_PREFIX="$SHELL_PREFIX " [[ -n "$FLUTTER_ENV" ]] && SHELL_PREFIX="$SHELL_PREFIX "
[[ -n "$REACTNATIVE_ENV" ]] && SHELL_PREFIX="$SHELL_PREFIX " [[ -n "$REACTNATIVE_ENV" ]] && SHELL_PREFIX="$SHELL_PREFIX "
' '
if [ -n "''${PROMPT_COMMAND// /}" ]; then if [ -n "''${PROMPT_COMMAND// /}" ]; then
PROMPT_COMMAND="$PROMPT_COMMAND PROMPT_COMMAND="$PROMPT_COMMAND
$NEW_PROMPT_COMMAND" $NEW_PROMPT_COMMAND"
else else
PROMPT_COMMAND="$NEW_PROMPT_COMMAND" PROMPT_COMMAND="$NEW_PROMPT_COMMAND"
fi fi
unset NEW_PROMPT_COMMAND unset NEW_PROMPT_COMMAND
export PS1="[\t \[\e[32m\]\u\[\e[m\]\[\e[32m\]@\[\e[m\]\[\e[32m\]\h\[\e[m\]]"'$SHELL_PREFIX'" \[\e[36m\]"'$TRIMMED_PWD'"\[\e[m\] \$ " export PS1="[\t \[\e[32m\]\u\[\e[m\]\[\e[32m\]@\[\e[m\]\[\e[32m\]\h\[\e[m\]]"'$SHELL_PREFIX'" \[\e[36m\]"'$TRIMMED_PWD'"\[\e[m\] \$ "
fi fi
''
# On mac we have to import brew
(if (os == "darwin") then ''
eval "$(/opt/homebrew/bin/brew shellenv)"
'' else ''
'')
];
eval "$(/opt/homebrew/bin/brew shellenv)"
'';
programs.bash.shellAliases = { programs.bash.shellAliases = {
chmod = "chmod --preserve-root"; chmod = "chmod --preserve-root";
chown = "chown --preserve-root"; chown = "chown --preserve-root";

View File

@ -28,4 +28,40 @@
} ; } ;
} ; } ;
}; };
home.packages = let
edit = (pkgs.writeShellApplication {
name = "edit";
text = ''
CMND=$(cat <<'END'
BUFFER_NAME=''$(echo -n "''$PWD" | xxd -ps -c 200 | tr -d '\n' | shasum | head -c -4)
tmux -L "$BUFFER_NAME" has-session -t "$BUFFER_NAME" || {
tmux -L "$BUFFER_NAME" new-session -d -s "$BUFFER_NAME" "BUFFER_NAME=$BUFFER_NAME EDITOR=wraphx lf"
tmux -L "$BUFFER_NAME" set -g status off
tmux -L "$BUFFER_NAME" set -g pane-border-style fg=#0c0c0c
tmux -L "$BUFFER_NAME" set -g pane-active-border-style "bg=default fg=#0c0c0c"
}
tmux -L "$BUFFER_NAME" attach -t "$BUFFER_NAME"
END
)
if [ -f "shell.nix" ] && [ -z ''${IN_NIX_SHELL+x} ]; then
nix-shell --command "$CMND"
else
eval "$CMND"
fi
'';
});
wraphx = (pkgs.writeShellApplication {
name = "wraphx";
text = ''
test "$(tmux -L "$BUFFER_NAME" list-panes | wc -l)" -eq 1 && {
tmux -L "$BUFFER_NAME" split-window -h hx "$1"
}
'';
});
in [ edit wraphx ];
} }

View File

@ -189,7 +189,7 @@ let
}); });
}); });
kak-wrap = (writeShellApplication { kak-wrap = (writeShellApplication {
name = "edit"; name = "edit-kak";
runtimeInputs = [ myKakoune ]; runtimeInputs = [ myKakoune ];
text = '' text = ''
CMND=$(cat <<'END' CMND=$(cat <<'END'