move graphical applications
This commit is contained in:
parent
4d0ee4459a
commit
c815b0c542
5 changed files with 127 additions and 138 deletions
253
global/home/default.nix
Normal file
253
global/home/default.nix
Normal file
|
|
@ -0,0 +1,253 @@
|
|||
{
|
||||
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 = "${pkgs.foot}/bin/foot";
|
||||
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
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
home.username = "tristan";
|
||||
home.homeDirectory = "/home/tristan";
|
||||
|
||||
xdg.userDirs.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
libnotify
|
||||
dig
|
||||
jq
|
||||
mosh
|
||||
ripgrep
|
||||
usbutils
|
||||
wl-clipboard
|
||||
du-dust
|
||||
htop
|
||||
libsixel
|
||||
yt-dlp
|
||||
playerctl
|
||||
neofetch
|
||||
];
|
||||
|
||||
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;
|
||||
}
|
||||
93
global/home/graphical.nix
Normal file
93
global/home/graphical.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
imv
|
||||
obs-studio
|
||||
selectdefaultapplication
|
||||
easyeffects
|
||||
inkscape
|
||||
libsForQt5.okular
|
||||
pavucontrol
|
||||
qpwgraph
|
||||
element-desktop
|
||||
brave
|
||||
gimp
|
||||
quickemu
|
||||
bitwarden
|
||||
libsForQt5.kasts
|
||||
libreoffice
|
||||
logseq
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Vimix-Doder";
|
||||
package = pkgs.vimix-icon-theme;
|
||||
};
|
||||
cursorTheme = {
|
||||
name = "Vanilla-DMZ";
|
||||
package = pkgs.vanilla-dmz;
|
||||
size = 24;
|
||||
};
|
||||
gtk3.bookmarks = [
|
||||
"file:///home/tristan/Documents"
|
||||
"file:///home/tristan/Pictures/Screenshots"
|
||||
"file:///home/tristan/Downloads"
|
||||
];
|
||||
};
|
||||
|
||||
programs.mpv.enable = true;
|
||||
programs.mpv.bindings = {
|
||||
l = "seek 5";
|
||||
h = "seek -5";
|
||||
e = "add chapter 1";
|
||||
b = "add chapter -1";
|
||||
">" = "multiply speed 1.1";
|
||||
"<" = "multiply speed 1/1.1";
|
||||
"." = "frame-step";
|
||||
"," = "frame-back-step";
|
||||
"ctrl+n" = "playlist-next";
|
||||
"ctrl+p" = "playlist-prev";
|
||||
k = "add volume 2";
|
||||
j = "add volume -2";
|
||||
m = "cycle mute";
|
||||
c = "cycle sub-visibility";
|
||||
};
|
||||
programs.mpv.scripts = [
|
||||
pkgs.mpvScripts.mpris
|
||||
];
|
||||
|
||||
programs.librewolf.enable = true;
|
||||
|
||||
programs.qutebrowser = {
|
||||
enable = true;
|
||||
searchEngines = {
|
||||
DEFAULT = "https://search.brave.com/search?q={}";
|
||||
w = "https://en.wikipedia.org/wiki/Special:Search?search={}&go=Go&ns0=1";
|
||||
aw = "https://wiki.archlinux.org/?search={}";
|
||||
nw = "https://nixos.wiki/index.php?search={}";
|
||||
nixpkgs = "https://search.nixos.org/packages?channel=unstable&query={}";
|
||||
};
|
||||
settings = {
|
||||
colors = {
|
||||
webpage.preferred_color_scheme = "dark";
|
||||
};
|
||||
tabs = {
|
||||
background = false;
|
||||
indicator.width = 0;
|
||||
favicons.scale = 2.0;
|
||||
position = "left";
|
||||
show = "always";
|
||||
width = 40;
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
c.tabs.padding = {
|
||||
"bottom" : 10,
|
||||
"left" : 5,
|
||||
"right" : 5,
|
||||
"top" : 10
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue