{ 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; }