rearrange directory structure
This commit is contained in:
parent
2fe0f94a23
commit
67cb4995f9
33 changed files with 213 additions and 219 deletions
|
|
@ -1,268 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
# https://nix-community.github.io/home-manager/options.html
|
||||
let
|
||||
my-deps = {
|
||||
notify-send = "${pkgs.libnotify}/bin/notify-send";
|
||||
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||
grim = "${pkgs.grim}/bin/grim";
|
||||
slurp = "${pkgs.slurp}/bin/slurp";
|
||||
amixer = "${pkgs.alsa-utils}/bin/amixer";
|
||||
swaybg = "${pkgs.swaybg}/bin/swaybg";
|
||||
terminal = "${config.programs.terminal}/bin/${config.programs.terminal.pname}";
|
||||
chafa = "${pkgs.chafa}/bin/chafa";
|
||||
exiftool = "${pkgs.exiftool}/bin/exiftool";
|
||||
wc = "${pkgs.coreutils}/bin/wc";
|
||||
jq = "${pkgs.jq}/bin/jq";
|
||||
hyprctl = "${pkgs.hyprland}/bin/hyprctl";
|
||||
xargs = "${pkgs.findutils}/bin/xargs";
|
||||
menu = "${config.programs.menu.package}${config.programs.menu.dmenuCommand}";
|
||||
fileman = "${pkgs.pcmanfm}/bin/pcmanfm";
|
||||
gawk = "${pkgs.gawk}/bin/awk";
|
||||
glow = "${pkgs.glow}/bin/glow";
|
||||
ffmpegthumbnailer = "${pkgs.ffmpegthumbnailer}/bin/ffmpegthumbnailer";
|
||||
};
|
||||
lf-sixel = pkgs.callPackage ../../custom/lf-sixel/. {};
|
||||
in {
|
||||
imports = [
|
||||
./graphical.nix
|
||||
|
||||
../../lib/scripts.nix
|
||||
|
||||
../../lib/programs/home/neovim/.
|
||||
../../lib/programs/home/git.nix
|
||||
|
||||
../../lib/modules/home/terminal.nix
|
||||
../../lib/modules/home/scripts.nix
|
||||
../../lib/modules/home/email.nix
|
||||
../../lib/modules/home/editor.nix
|
||||
../../lib/modules/home/mpd.nix
|
||||
../../lib/modules/home/menu.nix
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
home.username = "tristan";
|
||||
home.homeDirectory = "/home/tristan";
|
||||
|
||||
xdg.userDirs.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
libnotify
|
||||
dig
|
||||
jq
|
||||
fx
|
||||
mosh
|
||||
ripgrep
|
||||
usbutils
|
||||
wl-clipboard
|
||||
du-dust
|
||||
htop
|
||||
libsixel
|
||||
yt-dlp
|
||||
playerctl
|
||||
neofetch
|
||||
tree
|
||||
ansible
|
||||
];
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.udiskie = {
|
||||
enable = true;
|
||||
notify = true;
|
||||
};
|
||||
|
||||
programs.rbw = {
|
||||
enable = true;
|
||||
settings = {
|
||||
email = "tristan@tristans.cloud";
|
||||
base_url = "https://vault.tristans.cloud";
|
||||
pinentry = "gnome3";
|
||||
};
|
||||
};
|
||||
|
||||
programs.ssh.enable = true;
|
||||
programs.ssh.matchBlocks = {
|
||||
"git.tristans.cloud" = {
|
||||
user = "git";
|
||||
hostname = "100.116.82.65";
|
||||
port = 2222;
|
||||
};
|
||||
"alpine" = {
|
||||
hostname = "100.116.82.65";
|
||||
user = "tristan";
|
||||
};
|
||||
};
|
||||
|
||||
programs.lf.enable = true;
|
||||
programs.lf.package = lf-sixel;
|
||||
programs.lf.keybindings = {
|
||||
D = "trash";
|
||||
R = "drag";
|
||||
"<f-2>" = ":rename";
|
||||
"<enter>" = "open-with";
|
||||
};
|
||||
programs.lf.commands = {
|
||||
drag = "%${pkgs.ripdrag}/bin/ripdrag -x \"$fx\"";
|
||||
trash = "%${pkgs.trash-cli}/bin/trash-put \"$fx\"";
|
||||
open = "$set -f; ${pkgs.ranger}/bin/rifle -p 0 \"$fx\"";
|
||||
open-with = '' ''${{
|
||||
set -f
|
||||
${pkgs.ranger}/bin/rifle -l "$fx"
|
||||
read -p "Open with: " method
|
||||
${pkgs.ranger}/bin/rifle -p "$method" "$fx"
|
||||
}}'';
|
||||
bulk-rename = '' ''${{
|
||||
old="$(mktemp)"
|
||||
new="$(mktemp)"
|
||||
if [ -n "$fs" ]; then
|
||||
fs="$(basename -a $fs)"
|
||||
else
|
||||
fs="$(ls)"
|
||||
fi
|
||||
printf '%s\n' "$fs" >"$old"
|
||||
printf '%s\n' "$fs" >"$new"
|
||||
$EDITOR "$new"
|
||||
[ "$(wc -l < "$new")" -ne "$(wc -l < "$old")" ] && exit
|
||||
paste "$old" "$new" | while IFS= read -r names; do
|
||||
src="$(printf '%s' "$names" | cut -f1)"
|
||||
dst="$(printf '%s' "$names" | cut -f2)"
|
||||
if [ "$src" = "$dst" ] || [ -e "$dst" ]; then
|
||||
continue
|
||||
fi
|
||||
mv -- "$src" "$dst"
|
||||
done
|
||||
rm -- "$old" "$new"
|
||||
lf -remote "send $id unselect"
|
||||
}}'';
|
||||
};
|
||||
programs.lf.previewer.source = pkgs.writeShellScript "preview" ''
|
||||
image () {
|
||||
echo "$1"
|
||||
${my-deps.chafa} "$1" -f sixel -s "$(($2/2))x$3" | sed 's/#/\n#/g'
|
||||
${my-deps.exiftool} "$1"
|
||||
}
|
||||
|
||||
batted () {
|
||||
cat "$@"
|
||||
}
|
||||
|
||||
mkdir -p "$HOME/.cache/lf"
|
||||
CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}'))"
|
||||
|
||||
case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in
|
||||
*.tgz|*.tar.gz) tar tzf "$1" ;;
|
||||
*.tar.bz2|*.tbz2) tar tjf "$1" ;;
|
||||
*.tar.txz|*.txz) xz --list "$1" ;;
|
||||
*.tar) tar tf "$1" ;;
|
||||
*.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;;
|
||||
*.rar) unrar l "$1" ;;
|
||||
*.md) ${my-deps.glow} -s dark "$1" ;;
|
||||
*.7z) 7z l "$1" ;;
|
||||
*.[1-8]) man "$1" | col -b ;;
|
||||
*.o) nm "$1";;
|
||||
*.torrent) transmission-show "$1" ;;
|
||||
*.iso) iso-info --no-header -l "$1" ;;
|
||||
*.odt|*.ods|*.odp|*.sxw) odt2txt "$1" ;;
|
||||
*.doc) catdoc "$1" ;;
|
||||
*.docx) docx2txt "$1" - ;;
|
||||
*.xml|*.html) w3m -dump "$1";;
|
||||
*.xls|*.xlsx)
|
||||
ssconvert --export-type=Gnumeric_stf:stf_csv "$1" "fd://1" | batted --language=csv
|
||||
;;
|
||||
*.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka)
|
||||
${my-deps.exiftool} "$1"
|
||||
;;
|
||||
*.pdf)
|
||||
[ ! -f "$CACHE.jpg" ] && \
|
||||
pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE"
|
||||
image "$CACHE.jpg" "$2" "$3" "$4" "$5"
|
||||
;;
|
||||
*.epub)
|
||||
[ ! -f "$CACHE" ] && \
|
||||
epub-thumbnailer "$1" "$CACHE" 1024
|
||||
image "$CACHE" "$2" "$3" "$4" "$5"
|
||||
;;
|
||||
*.cbz|*.cbr|*.cbt)
|
||||
[ ! -f "$CACHE" ] && \
|
||||
comicthumb "$1" "$CACHE" 1024
|
||||
image "$CACHE" "$2" "$3" "$4" "$5"
|
||||
;;
|
||||
*.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx)
|
||||
[ ! -f "$CACHE.jpg" ] && \
|
||||
${my-deps.ffmpegthumbnailer} -i "$1" -o "$CACHE.jpg" -s 0 -q 5
|
||||
image "$CACHE.jpg" "$2" "$3" "$4" "$5"
|
||||
;;
|
||||
*.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.jfif)
|
||||
image "$1" "$2" "$3" "$4" "$5"
|
||||
;;
|
||||
*.svg)
|
||||
[ ! -f "$CACHE.jpg" ] && \
|
||||
convert "$1" "$CACHE.jpg"
|
||||
image "$CACHE.jpg" "$2" "$3" "$4" "$5"
|
||||
;;
|
||||
*.ino)
|
||||
batted --language=cpp "$1"
|
||||
;;
|
||||
*)
|
||||
batted "$1"
|
||||
;;
|
||||
esac
|
||||
'';
|
||||
home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/Vanilla-DMZ";
|
||||
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
languages = {
|
||||
nix = {
|
||||
auto-format = true;
|
||||
language-server = {
|
||||
command = "${pkgs.rnix-lsp}/bin/rnix-lsp";
|
||||
};
|
||||
};
|
||||
go = {
|
||||
auto-format = true;
|
||||
language-server = {
|
||||
command = "${pkgs.gopls}/bin/gopls";
|
||||
};
|
||||
};
|
||||
typescript = {
|
||||
auto-format = true;
|
||||
language-server = {
|
||||
command = "${pkgs.nodePackages.typescript-language-server}/bin/typescript-language-server";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.file.".config/pipewire/pipewire.conf.d/raop-discover.conf".text = ''
|
||||
context.modules = [
|
||||
{
|
||||
name = libpipewire-module-raop-discover
|
||||
args = { }
|
||||
}
|
||||
]
|
||||
'';
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
};
|
||||
|
||||
programs.pandoc = {
|
||||
enable = true;
|
||||
defaults = {
|
||||
metadata = {
|
||||
author = "Tristan Beedell";
|
||||
};
|
||||
pdf-engine = "xelatex";
|
||||
};
|
||||
};
|
||||
|
||||
programs.direnv.enable = true;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue