2024-12-25 19:47:59 -08:00
|
|
|
{
|
|
|
|
config,
|
2025-06-22 16:50:15 -07:00
|
|
|
osConfig,
|
2024-12-25 19:47:59 -08:00
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
let
|
|
|
|
cfg = config.liminalOS.programs.bulk;
|
|
|
|
mkEnableOption' =
|
|
|
|
desc:
|
|
|
|
lib.mkOption {
|
|
|
|
type = lib.types.bool;
|
|
|
|
default = cfg.enable;
|
|
|
|
description = ''
|
|
|
|
Whether to enable ${desc}.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
|
|
options.liminalOS.programs.bulk = {
|
|
|
|
enable = lib.mkOption {
|
|
|
|
type = lib.types.bool;
|
|
|
|
default = config.liminalOS.programs.enable;
|
|
|
|
description = ''
|
|
|
|
Whether to enable installation of various useful programs in the system.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
archiveTools.enable = mkEnableOption' "archive tools";
|
|
|
|
instantMessaging.enable = mkEnableOption' "instant messengers";
|
|
|
|
nixCliTools.enable = mkEnableOption' "Nix CLI helper tools and utilities";
|
|
|
|
desktopApps.enable = mkEnableOption' "desktop applications like mail and file explorer";
|
|
|
|
misc.enable = mkEnableOption' "assorted uncategorized utilities";
|
|
|
|
};
|
|
|
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
2024-12-26 01:17:31 -08:00
|
|
|
services.arrpc.enable = cfg.instantMessaging.enable;
|
2025-06-23 17:41:21 -07:00
|
|
|
programs.vesktop = lib.mkIf cfg.instantMessaging.enable {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
arRPC = false;
|
|
|
|
checkUpdates = false;
|
|
|
|
customTitlebar = false;
|
|
|
|
disableMinSize = true;
|
|
|
|
minimizeToTray = true;
|
|
|
|
tray = true;
|
|
|
|
splashTheming = true;
|
|
|
|
splashBackground = "#${config.lib.stylix.colors.base01}";
|
|
|
|
splashColor = "#${config.lib.stylix.colors.base05}";
|
|
|
|
hardwareAcceleration = true;
|
|
|
|
discordBranch = "stable";
|
|
|
|
};
|
|
|
|
vencord.settings = {
|
|
|
|
autoUpdate = false;
|
|
|
|
autoUpdateNotification = false;
|
|
|
|
notifyAboutUpdates = false;
|
|
|
|
useQuickCss = true;
|
|
|
|
disableMinSize = true;
|
|
|
|
useSystem = true;
|
|
|
|
plugins = {
|
|
|
|
FakeNitro.enabled = true;
|
|
|
|
YoutubeAdblock.enabled = true;
|
|
|
|
WhoReacted.enabled = true;
|
|
|
|
LastFMRichPresence = {
|
|
|
|
enabled = true;
|
|
|
|
hideWithActivity = false;
|
|
|
|
hideWithSpotify = true;
|
|
|
|
shareUsername = false;
|
|
|
|
shareSong = true;
|
|
|
|
statusName = "some music";
|
|
|
|
nameFormat = "artist";
|
|
|
|
useListeningStatus = true;
|
|
|
|
missingArt = "lastfmLogo";
|
|
|
|
showLastFmLogo = true;
|
|
|
|
username = "couscousdude";
|
|
|
|
apiKey = "8cf7c619e321677733819dbcc0411c10";
|
|
|
|
};
|
|
|
|
SpotifyCrack.enabled = true;
|
|
|
|
VolumeBooster.enabled = true;
|
|
|
|
"WebRichPresence (arRPC)".enabled = true;
|
|
|
|
PlatformIndicators.enabled = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2025-04-27 21:38:59 -07:00
|
|
|
|
2025-06-06 04:20:39 -07:00
|
|
|
programs.element-desktop.enable = lib.mkIf cfg.instantMessaging.enable true;
|
|
|
|
|
2025-06-01 22:07:00 -07:00
|
|
|
nixpkgs.overlays = [
|
|
|
|
(self: super: {
|
|
|
|
gnome = super.gnome.overrideScope' (
|
|
|
|
gself: gsuper: {
|
|
|
|
nautilus = gsuper.nautilus.overrideAttrs (nsuper: {
|
|
|
|
buildInputs =
|
|
|
|
nsuper.buildInputs
|
|
|
|
++ (with super.gst_all_1; [
|
|
|
|
gst-plugins-good
|
|
|
|
gst-plugins-bad
|
|
|
|
]);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
);
|
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2024-12-25 19:47:59 -08:00
|
|
|
home.packages =
|
|
|
|
lib.optionals cfg.archiveTools.enable (
|
|
|
|
with pkgs;
|
|
|
|
[
|
|
|
|
zip
|
|
|
|
xz
|
|
|
|
unzip
|
|
|
|
p7zip
|
|
|
|
]
|
|
|
|
)
|
|
|
|
++ lib.optionals cfg.nixCliTools.enable (
|
|
|
|
with pkgs;
|
|
|
|
[
|
|
|
|
nurl
|
|
|
|
nix-output-monitor
|
|
|
|
]
|
|
|
|
)
|
|
|
|
++ lib.optionals cfg.misc.enable (
|
|
|
|
with pkgs;
|
|
|
|
[
|
|
|
|
ffmpeg
|
|
|
|
|
|
|
|
pciutils # lspci
|
|
|
|
usbutils # lsusb
|
|
|
|
|
|
|
|
ani-cli
|
|
|
|
manga-tui
|
|
|
|
|
|
|
|
hledger
|
|
|
|
]
|
|
|
|
)
|
|
|
|
++ lib.optionals cfg.instantMessaging.enable (
|
|
|
|
with pkgs;
|
|
|
|
[
|
|
|
|
signal-desktop
|
|
|
|
]
|
|
|
|
++ lib.optionals cfg.desktopApps.enable (
|
|
|
|
with pkgs;
|
|
|
|
[
|
|
|
|
thunderbird
|
2025-06-01 22:07:00 -07:00
|
|
|
nautilus
|
2025-01-27 18:37:59 -08:00
|
|
|
nicotine-plus # soulseek client
|
2025-01-27 19:06:11 -08:00
|
|
|
gapless # music player
|
2025-07-27 02:57:48 +08:00
|
|
|
high-tide # tidal client
|
2025-06-06 05:02:30 -07:00
|
|
|
loupe # image viewer
|
2024-12-25 19:47:59 -08:00
|
|
|
]
|
|
|
|
++ lib.optionals pkgs.stdenv.targetPlatform.isx86_64 [
|
|
|
|
bitwarden-desktop
|
|
|
|
sbctl
|
|
|
|
]
|
|
|
|
++ lib.optionals pkgs.stdenv.targetPlatform.isAarch64 [ ]
|
|
|
|
)
|
|
|
|
);
|
|
|
|
};
|
|
|
|
}
|