nix/home/default.nix
2024-01-06 01:34:39 +00:00

153 lines
3.3 KiB
Nix

{
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 = [
./modules/terminal.nix
./modules/scripts.nix
./modules/email.nix
./modules/editor.nix
./modules/mpd.nix
./modules/menu.nix
./modules/scripts.nix
./programs/graphical.nix
./programs/scripts.nix
./programs/neovim/.
./programs/git.nix
./programs/lf/.
];
programs.home-manager.enable = true;
home.homeDirectory = "/home/${config.home.username}";
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.starship.enable = true;
programs.zsh = {
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";
};
};
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;
}