Compare commits
2 Commits
bb08c52790
...
0beab15f24
| Author | SHA1 | Date | |
|---|---|---|---|
| 0beab15f24 | |||
| ba8d491cf7 |
@ -2,35 +2,19 @@
|
|||||||
inputs,
|
inputs,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
|
||||||
home.stateVersion = "23.05";
|
|
||||||
programs = {
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Danilo Reyes";
|
|
||||||
userEmail = "CaptainJawZ@protonmail.com";
|
|
||||||
};
|
|
||||||
bash =
|
|
||||||
let
|
let
|
||||||
inherit (pkgs) fd fzf;
|
inherit (pkgs) fd fzf;
|
||||||
inherit (inputs.jawz-scripts.packages.x86_64-linux) pokemon-colorscripts;
|
inherit (inputs.jawz-scripts.packages.x86_64-linux) pokemon-colorscripts;
|
||||||
in
|
shellType = osConfig.my.shell.type;
|
||||||
{
|
commonInit = ''
|
||||||
enable = true;
|
${pokemon-colorscripts}/bin/pokemon-colorscripts -r --no-title
|
||||||
historyFile = "\${XDG_STATE_HOME}/bash/history";
|
export command_timeout=60
|
||||||
historyControl = [
|
'';
|
||||||
"erasedups"
|
commonAliases = {
|
||||||
"ignorespace"
|
|
||||||
"ignoredups"
|
|
||||||
];
|
|
||||||
shellAliases = {
|
|
||||||
cp = "cp -i";
|
cp = "cp -i";
|
||||||
mv = "mv -i";
|
mv = "mv -i";
|
||||||
mkdir = "mkdir -p";
|
mkdir = "mkdir -p";
|
||||||
@ -50,11 +34,44 @@
|
|||||||
cd /srv/pool/scrapping/JawZ/gallery-dl &&
|
cd /srv/pool/scrapping/JawZ/gallery-dl &&
|
||||||
xdg-open "$(${fd}/bin/fd . ./ Husbands wikifeet -tdirectory -d 1 | ${fzf}/bin/fzf -i)"'';
|
xdg-open "$(${fd}/bin/fd . ./ Husbands wikifeet -tdirectory -d 1 | ${fzf}/bin/fzf -i)"'';
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home.stateVersion = "23.05";
|
||||||
|
programs = {
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = shellType == "bash";
|
||||||
|
enableZshIntegration = shellType == "zsh";
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Danilo Reyes";
|
||||||
|
userEmail = "CaptainJawZ@protonmail.com";
|
||||||
|
};
|
||||||
|
bash = lib.mkIf (shellType == "bash") {
|
||||||
|
enable = true;
|
||||||
|
historyFile = "\${XDG_STATE_HOME}/bash/history";
|
||||||
|
shellAliases = commonAliases;
|
||||||
enableVteIntegration = true;
|
enableVteIntegration = true;
|
||||||
initExtra = ''
|
initExtra = commonInit;
|
||||||
${pokemon-colorscripts}/bin/pokemon-colorscripts -r --no-title
|
historyControl = [
|
||||||
export command_timeout=60
|
"erasedups"
|
||||||
'';
|
"ignorespace"
|
||||||
|
"ignoredups"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
zsh = lib.mkIf (shellType == "zsh") {
|
||||||
|
enable = true;
|
||||||
|
dotDir = ".config/zsh";
|
||||||
|
shellAliases = commonAliases;
|
||||||
|
initContent = commonInit;
|
||||||
|
history = {
|
||||||
|
path = "\${XDG_STATE_HOME}/zsh/history";
|
||||||
|
expireDuplicatesFirst = true;
|
||||||
|
ignoreSpace = true;
|
||||||
|
ignoreAllDups = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xdg = {
|
xdg = {
|
||||||
|
|||||||
@ -1,8 +1,10 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
shellType = config.my.shell.type;
|
||||||
krita-thumbnailer = pkgs.writeTextFile {
|
krita-thumbnailer = pkgs.writeTextFile {
|
||||||
name = "krita-thumbnailer";
|
name = "krita-thumbnailer";
|
||||||
destination = "/share/thumbnailers/kra.thumbnailer";
|
destination = "/share/thumbnailers/kra.thumbnailer";
|
||||||
@ -38,7 +40,8 @@ in
|
|||||||
ghostty = {
|
ghostty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.ghostty;
|
package = pkgs.ghostty;
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = shellType == "bash";
|
||||||
|
enableZshIntegration = shellType == "zsh";
|
||||||
installBatSyntax = true;
|
installBatSyntax = true;
|
||||||
installVimSyntax = true;
|
installVimSyntax = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
"doom/templates/programming.org".source = ../../dotfiles/doom/templates/programming.org;
|
"doom/templates/programming.org".source = ../../dotfiles/doom/templates/programming.org;
|
||||||
};
|
};
|
||||||
services.lorri.enable = true;
|
services.lorri.enable = true;
|
||||||
programs.bash.shellAliases = {
|
programs.${config.my.shell.type}.shellAliases = {
|
||||||
edit = "emacsclient -t";
|
edit = "emacsclient -t";
|
||||||
e = "edit";
|
e = "edit";
|
||||||
};
|
};
|
||||||
|
|||||||
@ -5,6 +5,7 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
shellType = config.my.shell.type;
|
||||||
packages = builtins.attrValues {
|
packages = builtins.attrValues {
|
||||||
inherit (pkgs)
|
inherit (pkgs)
|
||||||
nixfmt-rfc-style # formatting
|
nixfmt-rfc-style # formatting
|
||||||
@ -31,5 +32,12 @@ in
|
|||||||
};
|
};
|
||||||
config = lib.mkIf config.my.dev.nix.enable {
|
config = lib.mkIf config.my.dev.nix.enable {
|
||||||
users.users.jawz = { inherit packages; };
|
users.users.jawz = { inherit packages; };
|
||||||
|
home-manager.users.jawz.programs.${shellType}.shellAliases = {
|
||||||
|
nixformat = ''
|
||||||
|
nix run unstable#deadnix -- -e && \
|
||||||
|
nix run unstable#nixfmt-tree && \
|
||||||
|
nix run unstable#statix fix
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,21 +16,33 @@
|
|||||||
inherit (inputs.jawz-scripts.packages.x86_64-linux) download;
|
inherit (inputs.jawz-scripts.packages.x86_64-linux) download;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager.users.jawz = {
|
home-manager.users.jawz.programs.${config.my.shell.type} = {
|
||||||
programs.bash = {
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
dl = "${download}/bin/download -u jawz -i";
|
dl = "${download}/bin/download -u jawz -i";
|
||||||
comic = ''dl "$(cat "$LC" | fzf --multi --exact -i)"'';
|
comic = ''dl "$(cat "$LC" | fzf --multi --exact -i)"'';
|
||||||
gallery = ''dl "$(cat "$LW" | fzf --multi --exact -i)"'';
|
gallery = ''dl "$(cat "$LW" | fzf --multi --exact -i)"'';
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
// (
|
||||||
|
if config.my.shell.type == "bash" then
|
||||||
|
{
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
list_root=$XDG_CONFIG_HOME/jawz/lists/jawz
|
list_root=$XDG_CONFIG_HOME/jawz/lists/jawz
|
||||||
export LW=$list_root/watch.txt
|
export LW=$list_root/watch.txt
|
||||||
export LI=$list_root/instant.txt
|
export LI=$list_root/instant.txt
|
||||||
export LC=$list_root/comic.txt
|
export LC=$list_root/comic.txt
|
||||||
'';
|
'';
|
||||||
};
|
}
|
||||||
};
|
else
|
||||||
|
{
|
||||||
|
initContent = ''
|
||||||
|
list_root=$XDG_CONFIG_HOME/jawz/lists/jawz
|
||||||
|
export LW=$list_root/watch.txt
|
||||||
|
export LI=$list_root/instant.txt
|
||||||
|
export LC=$list_root/comic.txt
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
);
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
services =
|
services =
|
||||||
let
|
let
|
||||||
|
|||||||
20
modules/shell/config.nix
Normal file
20
modules/shell/config.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.my.shell.type = lib.mkOption {
|
||||||
|
type = lib.types.enum [
|
||||||
|
"bash"
|
||||||
|
"zsh"
|
||||||
|
];
|
||||||
|
default = "bash";
|
||||||
|
description = "The shell to use system-wide (bash or zsh)";
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
users.users.jawz.shell = pkgs.${config.my.shell.type};
|
||||||
|
programs.zsh.enable = config.my.shell.type == "zsh";
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -5,6 +5,9 @@
|
|||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
shellType = config.my.shell.type;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
options.my.shell.tools.enable = lib.mkEnableOption "shell tools and utilities";
|
options.my.shell.tools.enable = lib.mkEnableOption "shell tools and utilities";
|
||||||
config = lib.mkIf config.my.shell.tools.enable {
|
config = lib.mkIf config.my.shell.tools.enable {
|
||||||
@ -16,15 +19,10 @@
|
|||||||
};
|
};
|
||||||
zoxide = {
|
zoxide = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = shellType == "bash";
|
||||||
|
enableZshIntegration = shellType == "zsh";
|
||||||
};
|
};
|
||||||
bash = {
|
${shellType} = {
|
||||||
initExtra = ''
|
|
||||||
if command -v fzf-share >/dev/null; then
|
|
||||||
source "$(fzf-share)/key-bindings.bash"
|
|
||||||
source "$(fzf-share)/completion.bash"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
cd = "z";
|
cd = "z";
|
||||||
hh = "hstr";
|
hh = "hstr";
|
||||||
@ -37,7 +35,27 @@
|
|||||||
tr '[:upper:]' '[:lower:]' | sort |
|
tr '[:upper:]' '[:lower:]' | sort |
|
||||||
uniq --count | sort -rn'';
|
uniq --count | sort -rn'';
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
|
// (
|
||||||
|
if shellType == "bash" then
|
||||||
|
{
|
||||||
|
initExtra = ''
|
||||||
|
if command -v fzf-share >/dev/null; then
|
||||||
|
source "$(fzf-share)/key-bindings.bash"
|
||||||
|
source "$(fzf-share)/completion.bash"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
initContent = ''
|
||||||
|
if command -v fzf-share >/dev/null; then
|
||||||
|
source "$(fzf-share)/key-bindings.bash"
|
||||||
|
source "$(fzf-share)/completion.bash"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
);
|
||||||
bat = {
|
bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config.pager = "less -FR";
|
config.pager = "less -FR";
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user