summaryrefslogtreecommitdiff
path: root/hm/soft
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2025-12-24 16:21:00 +0100
committeradikro <adikro@disroot.org>2025-12-24 16:21:00 +0100
commit6aaa5993e4c1cfb205ed555d958702f9bba1770d (patch)
tree3af8cf20967cf10542edd2e51232b1da70002fde /hm/soft
parent2ceabfd1d1dc03ca895e960048b73a82e29e45e8 (diff)
a bunch of changes, renames sys to os and refactored some of the logic
Diffstat (limited to 'hm/soft')
-rw-r--r--hm/soft/browser.nix11
-rw-r--r--hm/soft/easyeffects.nix12
-rw-r--r--hm/soft/email.nix8
-rw-r--r--hm/soft/media.nix40
-rw-r--r--hm/soft/mpv.nix63
-rw-r--r--hm/soft/nixcord.nix212
-rw-r--r--hm/soft/soft.nix3
-rw-r--r--hm/soft/vpn.nix6
-rw-r--r--hm/soft/yt-dlp.nix16
9 files changed, 197 insertions, 174 deletions
diff --git a/hm/soft/browser.nix b/hm/soft/browser.nix
index 023dce8..8b9e6dc 100644
--- a/hm/soft/browser.nix
+++ b/hm/soft/browser.nix
@@ -4,23 +4,16 @@ let
in
{
options.hm.soft.browser = {
- enable = lib.mkEnableOption "browser configs";
-
librewolf.enable = lib.mkEnableOption "LibreWolf browser";
- firefox.enable = lib.mkEnableOption "Firefox browser";
brave.enable = lib.mkEnableOption "Brave browser";
};
- config = lib.mkIf cfg.enable (lib.mkMerge [
+ config = lib.mkMerge [
(lib.mkIf cfg.librewolf.enable {
programs.librewolf.enable = true;
})
- (lib.mkIf cfg.firefox.enable {
- programs.firefox.enable = true;
- })
-
(lib.mkIf cfg.brave.enable {
home.packages = [ pkgs.brave ];
})
- ]);
+ ];
}
diff --git a/hm/soft/easyeffects.nix b/hm/soft/easyeffects.nix
deleted file mode 100644
index ab16736..0000000
--- a/hm/soft/easyeffects.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, lib, ... }:
-let
- cfg = config.hm.soft.easyeffects;
-in
-{
- options.hm.soft.easyeffects.enable = lib.mkEnableOption "EasyEffects audio equalizer";
- config = lib.mkIf cfg.enable {
- services.easyeffects = {
- enable = true;
- };
- };
-}
diff --git a/hm/soft/email.nix b/hm/soft/email.nix
index d7ec9ea..d60f802 100644
--- a/hm/soft/email.nix
+++ b/hm/soft/email.nix
@@ -4,18 +4,16 @@ let
in
{
options.hm.soft.email = {
- enable = lib.mkEnableOption "email configs";
-
thunderbird.enable = lib.mkEnableOption "thunderbird config";
evolution.enable = lib.mkEnableOption "evolution config";
};
- config = lib.mkIf cfg.enable (lib.mkMerge [
+ config = lib.mkMerge [
(lib.mkIf cfg.thunderbird.enable {
- programs.librewolf.enable = true;
+ programs.thunderbird.enable = true;
})
(lib.mkIf cfg.evolution.enable {
home.packages = [ pkgs.evolution ];
})
- ]);
+ ];
}
diff --git a/hm/soft/media.nix b/hm/soft/media.nix
index 5b4b06f..b330908 100644
--- a/hm/soft/media.nix
+++ b/hm/soft/media.nix
@@ -3,47 +3,13 @@ let
cfg = config.hm.soft.media;
in
{
- options.hm.soft.media.enable = lib.mkEnableOption "media playback and processing tools";
+ options.hm.soft.media.enable = lib.mkEnableOption "media cli tools";
config = lib.mkIf cfg.enable {
- programs.mpv = {
- enable = true;
- config = {
- profile = "gpu-hq";
- vo = "gpu-next";
- hwdec = "auto-safe";
- save-position-on-quit = true;
- keep-open = "yes";
- sub-auto = "fuzzy";
- volume-max = "200";
- };
- scripts = with pkgs.mpvScripts; [
- webtorrent-mpv-hook
- visualizer
- videoclip
- thumbfast
- reload
- mpv-subtitle-lines
- mpv-notify-send
- mpv-cheatsheet
- modernz
- # modernx
- memo
- # builtins.autoload
- autosubsync-mpv
- autosub
- ];
- };
- programs.yt-dlp = {
- enable = true;
- package = pkgs.yt-dlp_git;
- };
-
home.packages = with pkgs; [
- anime4k
- syncplay-nogui
ffmpeg
imagemagick
- exiftool
+ syncplay-nogui
];
};
}
+
diff --git a/hm/soft/mpv.nix b/hm/soft/mpv.nix
new file mode 100644
index 0000000..8df73e7
--- /dev/null
+++ b/hm/soft/mpv.nix
@@ -0,0 +1,63 @@
+{ config, lib, pkgs, ... }:
+let
+ cfg = config.hm.soft.mpv;
+ shim_dir = "${pkgs.mpv-shim-default-shaders}/share/mpv-shim-default-shaders/shaders";
+ anime4k_dir = "${pkgs.anime4k}"
+in
+{
+ options.hm.soft.mpv.enable = lib.mkEnableOption "mpv media player";
+ config = lib.mkIf cfg.enable {
+ home.packages = with pkgs; [
+ anime4k
+ mpv-shim-default-shaders
+ ];
+ programs.mpv = {
+ enable = true;
+ config = {
+ # general stuff
+ save-position-on-quit = true;
+ keep-open = "yes";
+
+ # video
+ profile = "gpu-hq";
+ gpu-api = "vulkan";
+ vo = "gpu-next";
+ hwdec = "auto";
+
+ # audio
+ ao = "pipewire";
+ sub-auto = "fuzzy";
+ volume-max = "200";
+
+ # network streaming
+ demuxer-max-back-bytes = "50Mib";
+ demuxer-max-bytes = "600Mib";
+ demuxer-readahead-secs = 300;
+ force-seekable = "yes";
+
+ # screenshotting
+ screenshot-format = "png";
+ screenshot-directory = "~/${config.hm.conf.xdg-dirs.mediaPath}/pics/ss";
+ screenshot-template = "mpv-%f-%wH.%wM.%wS-#%#00n";
+ };
+ scripts = with pkgs.mpvScripts; [
+ webtorrent-mpv-hook
+ visualizer
+ videoclip
+ thumbfast
+ reload
+ mpv-subtitle-lines
+ mpv-notify-send
+ mpv-cheatsheet
+ modernx
+ memo
+ autosubsync-mpv
+ autosub
+ ];
+ };
+ hm.soft = {
+ media.enable = true;
+ yt-dlp.enable = true;
+ };
+ };
+}
diff --git a/hm/soft/nixcord.nix b/hm/soft/nixcord.nix
index d31f807..7021f7c 100644
--- a/hm/soft/nixcord.nix
+++ b/hm/soft/nixcord.nix
@@ -18,112 +18,112 @@ in
};
config = {
frameless = true;
- # plugins = {
- # alwaysExpandRoles = { enable = true; hideArrow = true; };
- # alwaysTrust = { enable = true; domain = false; };
- # anammox.enable = true;
- # betterAudioPlayer.enable = true;
- # betterGifAltText.enable = true;
- # betterGifPicker.enable = true;
- # betterInvites.enable = true;
- # betterNotesBox = { enable = true; hide = true; };
- # betterQuickReact = { enable = true; columns = 6.0; rows = 1.0; compactMode = true; };
- # betterRoleContext.enable = true;
- # betterUploadButton.enable = true;
- # biggerStreamPreview.enable = true;
- # callTimer.enable = true;
- # characterCounter = { enable = true; colorEffects = false; };
- # cleanChannelName.enable = true;
- # clearUrLs.enable = true;
- # copyFileContents.enable = true;
- # copyStickerLinks.enable = true;
- # crashHandler.enable = true;
- # customTimestamps.enable = true;
- # disableCallIdle.enable = true;
- # disableDeepLinks.enable = true;
- # dontRoundMyTimestamps.enable = true;
- # equicordHelper = { enable = true; noMirroredCamera = true; };
- # expressionCloner.enable = true;
- # fakeNitro = { enable = true; enableEmojiBypass = false; enableStickerBypass = false; };
- # favoriteEmojiFirst.enable = true;
- # fixCodeblockGap.enable = true;
- # fixFileExtensions.enable = true;
- # fixImagesQuality.enable = true;
- # fixSpotifyEmbeds.enable = true;
- # fixYoutubeEmbeds.enable = true;
- # forceOwnerCrown.enable = true;
- # friendsSince.enable = true;
- # fullSearchContext.enable = true;
- # fullUserInChatbox.enable = true;
- # gifCollections = { enable = true; preventDuplicates = true; showCopyImageLink = true; };
- # gifRoulette = { enable = true; pingOwnerChance = true; };
- # guildTagSettings.enable = true;
- # homeTyping.enable = true;
- # ignoreTerms.enable = true;
- # iLoveSpam.enable = true;
- # imageFilename.enable = true;
- # imageLink.enable = true;
- # imageZoom = { enable = true; nearestNeighbour = true; saveZoomValues = true; square = true; };
- # imgToGif.enable = true;
- # inRole.enable = true;
- # inviteDefaults.enable = true;
- # memberCount.enable = true;
- # mentionAvatars = { enable = true; showAtSymbol = true; };
- # messageLinkEmbeds.enable = true;
- # messageLogger = { enable = true; ignoreSelf = true; };
- # moyai.enable = true;
- # musicControls.enable = true;
- # neverPausePreviews.enable = true;
- # newGuildSettings = { enable = true; messages = 1; };
- # newPluginsManager.enable = true;
- # noF1.enable = true;
- # noMaskedUrlPaste.enable = true;
- # noModalAnimation.enable = true;
- # noNitroUpsell.enable = true;
- # noOnboardingDelay.enable = true;
- # noMosaic.enable = true;
- # noProfileThemes.enable = true;
- # noSystemBadge.enable = true;
- # noTypingAnimation.enable = true;
- # overrideForumDefaults = { enable = true; defaultLayout = 2; };
- # onePingPerDm.enable = true;
- # openInApp.enable = true;
- # pauseInvitesForever.enable = true;
- # permissionFreeWill = { enable = true; lockout = false; };
- # permissionsViewer.enable = true;
- # pinDMs = { enable = true; canCollapseDmSection = true; };
- # pinIcon.enable = true;
- # platformIndicators.enable = true;
- # quoter.enable = true;
- # relationshipNotifier.enable = true;
- # roleColorEverywhere.enable = true;
- # saveFavoriteGiFs.enable = true;
- # sendTimestamps.enable = true;
- # serverInfo.enable = true;
- # showConnections.enable = true;
- # showHiddenChannels = { enable = true; };
- # showHiddenThings.enable = true;
- # showResourceChannels.enable = true;
- # showTimeoutDuration.enable = true;
- # spotifyCrack = { enable = true; noSpotifyAutoPause = false; };
- # streamerModeOnStream.enable = true;
- # typingIndicator = { enable = true; indicatorMode = 2; };
- # typingTweaks.enable = true;
- # unindent.enable = true;
- # universalMention = { enable = true; globalMention = true; };
- # unlimitedAccounts.enable = true;
- # unlockedAvatarZoom.enable = true;
- # userVoiceShow.enable = true;
- # validReply.enable = true;
- # validUser.enable = true;
- # viewIcons = { enable = true; format = "png"; };
- # voiceMessages.enable = true;
- # volumeBooster.enable = true;
- # whoReacted.enable = true;
- # whosWatching.enable = true;
- # youtubeAdblock.enable = true;
- # youtubeDescription.enable = true;
- # };
+ plugins = {
+ alwaysExpandRoles = { enable = true; hideArrow = true; };
+ alwaysTrust = { enable = true; domain = false; };
+ anammox.enable = true;
+ betterAudioPlayer.enable = true;
+ betterGifAltText.enable = true;
+ betterGifPicker.enable = true;
+ betterInvites.enable = true;
+ betterNotesBox = { enable = true; hide = true; };
+ betterQuickReact = { enable = true; columns = 6.0; rows = 1.0; compactMode = true; };
+ betterRoleContext.enable = true;
+ betterUploadButton.enable = true;
+ biggerStreamPreview.enable = true;
+ callTimer.enable = true;
+ characterCounter = { enable = true; colorEffects = false; };
+ cleanChannelName.enable = true;
+ clearUrLs.enable = true;
+ copyFileContents.enable = true;
+ copyStickerLinks.enable = true;
+ crashHandler.enable = true;
+ customTimestamps.enable = true;
+ disableCallIdle.enable = true;
+ disableDeepLinks.enable = true;
+ dontRoundMyTimestamps.enable = true;
+ equicordHelper = { enable = true; noMirroredCamera = true; };
+ expressionCloner.enable = true;
+ fakeNitro = { enable = true; enableEmojiBypass = false; enableStickerBypass = false; };
+ favoriteEmojiFirst.enable = true;
+ fixCodeblockGap.enable = true;
+ fixFileExtensions.enable = true;
+ fixImagesQuality.enable = true;
+ fixSpotifyEmbeds.enable = true;
+ fixYoutubeEmbeds.enable = true;
+ forceOwnerCrown.enable = true;
+ friendsSince.enable = true;
+ fullSearchContext.enable = true;
+ fullUserInChatbox.enable = true;
+ gifCollections = { enable = true; preventDuplicates = true; showCopyImageLink = true; };
+ gifRoulette = { enable = true; pingOwnerChance = true; };
+ guildTagSettings.enable = true;
+ homeTyping.enable = true;
+ ignoreTerms.enable = true;
+ iLoveSpam.enable = true;
+ imageFilename.enable = true;
+ imageLink.enable = true;
+ imageZoom = { enable = true; nearestNeighbour = true; saveZoomValues = true; square = true; };
+ imgToGif.enable = true;
+ inRole.enable = true;
+ inviteDefaults.enable = true;
+ memberCount.enable = true;
+ mentionAvatars = { enable = true; showAtSymbol = true; };
+ messageLinkEmbeds.enable = true;
+ messageLogger = { enable = true; ignoreSelf = true; };
+ moyai.enable = true;
+ musicControls.enable = true;
+ neverPausePreviews.enable = true;
+ newGuildSettings = { enable = true; messages = 1; };
+ newPluginsManager.enable = true;
+ noF1.enable = true;
+ noMaskedUrlPaste.enable = true;
+ noModalAnimation.enable = true;
+ noNitroUpsell.enable = true;
+ noOnboardingDelay.enable = true;
+ noMosaic.enable = true;
+ noProfileThemes.enable = true;
+ noSystemBadge.enable = true;
+ noTypingAnimation.enable = true;
+ overrideForumDefaults = { enable = true; defaultLayout = 2; };
+ onePingPerDm.enable = true;
+ openInApp.enable = true;
+ pauseInvitesForever.enable = true;
+ permissionFreeWill = { enable = true; lockout = false; };
+ permissionsViewer.enable = true;
+ pinDMs = { enable = true; canCollapseDmSection = true; };
+ pinIcon.enable = true;
+ platformIndicators.enable = true;
+ quoter.enable = true;
+ relationshipNotifier.enable = true;
+ roleColorEverywhere.enable = true;
+ saveFavoriteGiFs.enable = true;
+ sendTimestamps.enable = true;
+ serverInfo.enable = true;
+ showConnections.enable = true;
+ showHiddenChannels = { enable = true; };
+ showHiddenThings.enable = true;
+ showResourceChannels.enable = true;
+ showTimeoutDuration.enable = true;
+ spotifyCrack = { enable = true; noSpotifyAutoPause = false; };
+ streamerModeOnStream.enable = true;
+ typingIndicator = { enable = true; indicatorMode = 2; };
+ typingTweaks.enable = true;
+ unindent.enable = true;
+ universalMention = { enable = true; globalMention = true; };
+ unlimitedAccounts.enable = true;
+ unlockedAvatarZoom.enable = true;
+ userVoiceShow.enable = true;
+ validReply.enable = true;
+ validUser.enable = true;
+ viewIcons = { enable = true; format = "png"; };
+ voiceMessages.enable = true;
+ volumeBooster.enable = true;
+ whoReacted.enable = true;
+ whosWatching.enable = true;
+ youtubeAdblock.enable = true;
+ youtubeDescription.enable = true;
+ };
};
};
};
diff --git a/hm/soft/soft.nix b/hm/soft/soft.nix
index 191ada7..bb5018a 100644
--- a/hm/soft/soft.nix
+++ b/hm/soft/soft.nix
@@ -2,12 +2,12 @@
{
imports = [
./browser.nix
- ./easyeffects.nix
./email.nix
./kdeconnect.nix
./kdenlive.nix
./mangohud.nix
./media.nix
+ ./mpv.nix
./nixcord.nix
./obs.nix
./obsidian.nix
@@ -15,5 +15,6 @@
./spicetify.nix
./torrent.nix
./vpn.nix
+ ./yt-dlp.nix
];
}
diff --git a/hm/soft/vpn.nix b/hm/soft/vpn.nix
index 7b83d57..47bd959 100644
--- a/hm/soft/vpn.nix
+++ b/hm/soft/vpn.nix
@@ -4,12 +4,10 @@ let
in
{
options.hm.soft.vpn = {
- enable = lib.mkEnableOption "enables vpn clients";
-
protonvpn.enable = lib.mkEnableOption "protonvpn";
mullvad.enable = lib.mkEnableOption "mullvad vpn";
};
- config = lib.mkIf cfg.enable (lib.mkMerge [
+ config = lib.mkMerge [
(lib.mkIf cfg.mullvad.enable {
programs.mullvad-vpn = {
enable = true;
@@ -18,5 +16,5 @@ in
(lib.mkIf cfg.protonvpn.enable {
home.packages = [ pkgs.protonvpn-gui ];
})
- ]);
+ ];
}
diff --git a/hm/soft/yt-dlp.nix b/hm/soft/yt-dlp.nix
new file mode 100644
index 0000000..4773464
--- /dev/null
+++ b/hm/soft/yt-dlp.nix
@@ -0,0 +1,16 @@
+{ config, lib, pkgs, ... }:
+let
+ cfg = config.hm.soft.yt-dlp;
+in
+{
+ options.hm.soft.yt-dlp.enable = lib.mkEnableOption "youtube content downloading tool";
+ config = lib.mkIf cfg.enable {
+ programs.yt-dlp = {
+ enable = true;
+ package = pkgs.yt-dlp_git;
+ settings = {
+
+ };
+ };
+ };
+}