server/programs/default.nix

140 lines
2.9 KiB
Nix

_: {
imports = [
./nvim
./fish
./kanata
./kitty
./tmux
./git
./jj
./niri
./zed
./firefox
];
custom.program.graphcial-packages = {
requirements = [ "graphical" ];
home-config =
{ pkgs, ... }:
{
home.packages = with pkgs; [
spotify
obsidian
element-desktop
chromium
bind.dnsutils
mpv
vlc
];
};
};
custom.program.fun-packages = {
requirements = [ "fun" ];
home-config =
{ pkgs, ... }:
{
home.packages = with pkgs; [
p1n3appl3.tab
prismlauncher
];
};
};
custom.program.cli-packages = {
requirements = [ "cli" ];
home-config =
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
# general cli tools
sops
fzf
htop
ncdu
psmisc
ripgrep
rsync
zoxide
tmux
direnv
atuin
rcon
lix
nix-output-monitor
wget
comma
unzip
pciutils
# dev tools
gdb
clang-tools
rustup
git
python3
unixtools.xxd
net-tools
sqlite-interactive
tokei
just
uv
(writeShellScriptBin "nas" ''
mkdir -p ~/Documents/nas
${sshfs}/bin/sshfs fili:/storage/storage/data/ ~/Documents/nas
cd ~/Documents/nas
'')
];
# Set up direnv
programs.direnv = {
package = pkgs.direnv;
silent = false;
nix-direnv = {
enable = true;
package = pkgs.nix-direnv;
};
};
home.file = {
"${config.xdg.configHome}/sqlite3/sqliterc".source = pkgs.writeText ".sqliterc" ''
.mode box
'';
};
};
};
custom.program.homedirs = {
home-config =
{ config, ... }:
{
home.file = {
"dl".source = config.lib.file.mkOutOfStoreSymlink "${config.xdg.userDirs.download}";
"doc".source = config.lib.file.mkOutOfStoreSymlink "${config.xdg.userDirs.documents}";
};
};
};
custom.program.xdg = {
home-config =
{ config, ... }:
{
xdg = {
enable = true;
configHome = "${config.home.homeDirectory}/.config";
userDirs = {
enable = true;
documents = "${config.home.homeDirectory}/Documents";
desktop = "${config.home.homeDirectory}/Documents";
download = "${config.home.homeDirectory}/Downloads";
music = "${config.home.homeDirectory}/Documents/personal/music";
pictures = "${config.home.homeDirectory}/Documents/personal/pictures";
};
mime.enable = true;
};
};
};
}