forked from extern/nix-config
2995ae4d7a
pqiv is an image viewer that, unlike feh, has native support for Wayland, which makes working with it quite nice. It also supports showing a thumbnail mode that lets you preview and switch between images with ease, as well as the ability to run custom commands based on the current image. pqiv has more features than imv *and* anti-aliasing *actually works*, making it an ideal choice for image viewing on Wayland. After years of using feh, I am quite happy that I found pqiv.
95 lines
3.2 KiB
Nix
95 lines
3.2 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
users.defaultUserShell = pkgs.fish;
|
|
environment.shells = [ pkgs.fish ];
|
|
|
|
environment.sessionVariables = {
|
|
GIT_DISCOVERY_ACROSS_FILESYSTEM = "1";
|
|
FZF_DEFAULT_OPTS = "--height 40% --reverse --border --color=16";
|
|
NODE_OPTIONS = "--max_old_space_size=16384";
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
wget
|
|
jq
|
|
exa
|
|
fd
|
|
fzf
|
|
ripgrep
|
|
];
|
|
|
|
programs.fish = {
|
|
enable = true;
|
|
|
|
shellAliases = {
|
|
ls = "${pkgs.exa}/bin/exa --group-directories-first -I 'lost+found'";
|
|
tree = "${pkgs.exa}/bin/exa --group-directories-first --all --long --tree -I 'node_modules|.git|public|lost+found|target'";
|
|
mv = "mv -i";
|
|
cp = "cp -ia";
|
|
rg = "${pkgs.ripgrep}/bin/rg --max-columns=2000 --smart-case";
|
|
yarn = "${pkgs.yarn}/bin/yarn --emoji true";
|
|
};
|
|
|
|
shellAbbrs = {
|
|
g = "git";
|
|
ga = "git add";
|
|
gaa = "git add --all";
|
|
gap = "git add --patch";
|
|
gb = "git branch"; # List all branches
|
|
gbd = "git branch --delete";
|
|
gc = "git commit -m";
|
|
gca = "git commit --amend";
|
|
gcl = "git clone";
|
|
gco = "git checkout";
|
|
gd = "git diff"; # Show all file changes not staged yet
|
|
gds = "git diff --staged"; # Show changes staged but not committed
|
|
gi = "git init";
|
|
gl = "git log --oneline --decorate --all --graph -n 10";
|
|
gm = "git merge";
|
|
gp = "git push"; # Push your commits to a remote server
|
|
gr = "git reset HEAD~"; # Undo the last commit but keep changed files
|
|
gR = "git restore";
|
|
gRs = "git restore --staged";
|
|
gra = "git remote add";
|
|
gre = "git remote --verbose"; # List all remotes
|
|
grh = "git reset HEAD";
|
|
grr = "git reset --hard HEAD~"; # Remove the last commit and all changes with it
|
|
gs = "git status";
|
|
gst = "git stash";
|
|
gstp = "git stash pop";
|
|
gt = "git tag";
|
|
gts = "git tag -s";
|
|
|
|
y = "yarn";
|
|
ya = "yarn add";
|
|
yar = "yarn remove";
|
|
yi = "yarn init";
|
|
yin = "yarn install";
|
|
yu = "yarn upgrade-interactive";
|
|
|
|
dl = "yt-dlp";
|
|
vol = "wpctl set-volume '@DEFAULT_AUDIO_SINK@'"; # Change the volume, e.g. vol 10%+, vol 10%-, vol 100%
|
|
nf = "tput clear; and neofetch --size 56%";
|
|
df = "df --human-readable --type=ext4 --total";
|
|
du = "du --human-readable --summarize";
|
|
jis = "recode shift_jis..utf8"; # Easily convert shift_jis-encoded files to utf8
|
|
utf16 = "recode utf16..utf8"; # Rarely, some files from Japan are utf16 instead
|
|
jp = "LANG=ja_JP.UTF-8 LC_ALL=ja_JP.UTF-8";
|
|
vm = /* fish */ ''cd ~/nix-config && crystal spec tests/main.cr --progress --verbose --tag local && nixos-rebuild build-vm --flake . --verbose && ./result/bin/run-nixos-vm && trash put result nixos.qcow2'';
|
|
sw = "cd ~/nix-config && crystal spec tests/main.cr --progress --verbose --tag local && sudo nixos-rebuild switch --flake . --verbose";
|
|
st = "cd ~/nix-config && crystal spec tests/main.cr --progress --verbose --tag local";
|
|
tf = "treefmt";
|
|
|
|
c = "tput clear"; # Clear the terminal completely
|
|
e = "exit";
|
|
k = "kitty @ set-colors -c -a ~/.cache/wal/kitty";
|
|
l = "ls -l";
|
|
n = "nvim";
|
|
j = "joshuto";
|
|
w = "wal -o ~/.config/wal/done.sh";
|
|
t = "tree";
|
|
};
|
|
};
|
|
}
|