_: { 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.discord = { requirements = [ "graphical" ]; home-config = { config, pkgs, lib, ... }: let disableFeatures = [ "WebRtcAllowInputVolumeAdjustment" "ChromeWideEchoCancellation" ]; enableFeatures = [ ]; commandLineArgs = lib.optionals (enableFeatures != [ ]) [ "--enable-features=${lib.concatStringsSep "," enableFeatures}" ] ++ lib.optionals (disableFeatures != [ ]) [ "--disable-features=${lib.concatStringsSep "," disableFeatures}" ]; joinedArgs = lib.concatStringsSep " " commandLineArgs; in { home.file."${config.xdg.configHome}/discord/settings.json".source = pkgs.writeText "settings.json" ( lib.strings.toJSON ( let endpoint = "https://inject.shelter.uwu.network/shelter+yt_ad_block+yt_embed_fix"; in { SKIP_HOST_UPDATE = true; MINIMIZE_TO_TRAY = false; OPEN_ON_STARTUP = false; DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING = true; enableHardwareAcceleration = true; UPDATE_ENDPOINT = endpoint; NEW_UPDATE_ENDPOINT = "${endpoint}/"; BACKGROUND_COLOR = "#2c2d32"; openasar = { setup = true; # using the performance preset breaks vaapi cmdPreset = "balanced"; # quickstart is buggy and breaks discord sometimes. quickstart = false; # this css is made for discord compact mode. if you're not using that, stuff won't align!! css = # css '' /* Hide nitro begging */ @import url("https://raw.codeberg.page/AllPurposeMat/Disblock-Origin/DisblockOrigin.theme.css"); /* Hide the Visual Refresh title bar */ .visual-refresh { /* Hide the bar itself */ --custom-app-top-bar-height: 0px !important; /* Title bar buttons are still visible so hide them too */ div.base__5e434 > div.bar_c38106 { display: none; } /* Bring the server list down a few pixels */ ul[data-list-id="guildsnav"] > div.itemsContainer_ef3116 { margin-top: 8px; } } :root { /* Disblock settings */ --display-clan-tags: none; --display-active-now: none; --display-hover-reaction-emoji: none; --bool-show-name-gradients: false; } /* Make "Read All" vencord button text smaller */ button.vc-ranb-button { font-size: 9.5pt; font-weight: normal; } /* Hide Discover button */ div[data-list-item-id="guildsnav___guild-discover-button"] { display: none !important; } /* Hide voice settings menus in user panel */ div[class^="micButtonParent__"] button[role="switch"] { border-radius: var(--radius-sm); & ~ button { display: none; } } /* Also reduce the gap between the buttons */ div.container__37e49 > div.buttons__37e49 { gap: 1px; } ''; }; } ) ); home.packages = with pkgs; [ (discord.override { # we disable updates in settings.json disableUpdates = false; commandLineArgs = joinedArgs; withTTS = false; enableAutoscroll = true; withOpenASAR = true; }) ]; }; }; custom.program.fun-packages = { requirements = [ "fun" ]; home-config = { pkgs, ... }: { home.packages = with pkgs; [ custom.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 llvmPackages.bintools (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; }; }; }; }