nix-config/modules/shell.nix
2024-06-12 14:01:05 -04:00

135 lines
2.4 KiB
Nix

{ pkgs, lib, ... }:
let
inherit (pkgs) fish;
inherit (lib) mkMerge;
inherit (builtins) attrValues;
in
{
config = {
users.defaultUserShell = fish;
environment.shells = [ fish ];
environment.sessionVariables = {
GIT_DISCOVERY_ACROSS_FILESYSTEM = "1";
FZF_DEFAULT_OPTS = "--height 40% --reverse --border --color=16";
NODE_OPTIONS = "--max-old-space-size=16384";
BAT_THEME = "base16";
GATSBY_TELEMETRY_DISABLED = "1";
};
environment.systemPackages = mkMerge [
(attrValues {
inherit (pkgs)
wget
jq
eza
fd
fzf
ripgrep
file
timg
choose
sd
;
inherit (pkgs)
treefmt
httpie
yt-dlp
sox
dig
mtr
mediainfo
fdupes
whois
killall
trashy
hwinfo
stress
hdparm
recode
rmlint
jpegoptim
pass
;
inherit (pkgs)
sudachi-rs
tango
npm-check-updates
;
inherit (pkgs)
neofetch
onefetch
scc
genact
dwt1-shell-color-scripts
colorpanes
sanctity
cmatrix
;
inherit (pkgs)
gdu
hexyl
zellij
diskonaut
pgcli
litecli
iamb
;
inherit (pkgs)
p7zip
unar
rsync
rclone
ffmpeg
imagemagick
smartmontools
restic
borgbackup
zbar
lychee
ventoy
taskwarrior3
;
inherit (pkgs)
nixpkgs-review
nix-init
nvd
nix-search-cli
nix-tree
;
inherit (pkgs)
nodejs
deno
;
inherit (pkgs)
rustc
rustfmt
cargo
cargo-info
cargo-license
cargo-feature
cargo-tarpaulin
cargo-edit
bacon
clippy
;
inherit (pkgs)
texliveFull
tectonic
;
})
];
programs = {
fish.enable = true;
neovim.enable = true;
direnv = {
enable = true;
silent = true;
};
};
};
}