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