diff --git a/hosts/muon/home.nix b/hosts/muon/home.nix index 39c8950..2870d10 100644 --- a/hosts/muon/home.nix +++ b/hosts/muon/home.nix @@ -14,6 +14,7 @@ let cfg = osConfig.mods; in { mods.terminal.tools.enable = true; mods.desktop.development.enable = true; mods.desktop.productivity.enable = true; + mods.desktop.media.enable = true; # Host specific diff --git a/modules/home/default.nix b/modules/home/default.nix index 98c10e0..7c5ecd9 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -1,9 +1,9 @@ { pkgs, lib, config, osConfig, ... }: { imports = [ - ./xdg.nix - ./terminal ./desktop + + ./xdg.nix ]; # Let Home Manager install and manage itself diff --git a/modules/home/desktop/default.nix b/modules/home/desktop/default.nix index b57dbdf..54d097e 100644 --- a/modules/home/desktop/default.nix +++ b/modules/home/desktop/default.nix @@ -8,6 +8,7 @@ in { ./social.nix ./development.nix ./productivity.nix + ./media.nix ]; mods.hyprland.enable = lib.mkIf cfg.wayland.enable true; diff --git a/modules/home/desktop/i3.nix b/modules/home/desktop/i3.nix index feb8bef..69d880d 100644 --- a/modules/home/desktop/i3.nix +++ b/modules/home/desktop/i3.nix @@ -19,7 +19,7 @@ }; }; "tztime local".settings = { - format = "🗓 %Y-%m-%d %H:%M:%S "; + format = "🗓 %Y-%m-%d %a %H:%M:%S "; }; ipv6.enable = false; "wireless _first_".enable = false; diff --git a/modules/home/desktop/media.nix b/modules/home/desktop/media.nix new file mode 100644 index 0000000..5c2ab62 --- /dev/null +++ b/modules/home/desktop/media.nix @@ -0,0 +1,12 @@ +{ pkgs, lib, config, ... }: { + options.mods.desktop.media.enable = + lib.mkEnableOption "enables entertainment programs"; + + config = lib.mkIf config.mods.desktop.media.enable { + # home.packages = with pkgs; [ + # # Movies/TV + # mpv + # ]; + programs.mpv.enable = true; + }; +} diff --git a/modules/home/desktop/productivity.nix b/modules/home/desktop/productivity.nix index 9deeccd..92c2b2f 100644 --- a/modules/home/desktop/productivity.nix +++ b/modules/home/desktop/productivity.nix @@ -3,7 +3,13 @@ lib.mkEnableOption "enables gui productivity tools"; config = lib.mkIf config.mods.desktop.productivity.enable { - # home.packages = with pkgs; []; + home.packages = with pkgs; [ + # ISO downloader + qbittorrent + ]; + + home.sessionVariables.BROWSER = "librewolf"; + programs.zsh.sessionVariables.BROWSER = "librewolf"; programs.librewolf = { enable = true; diff --git a/modules/home/xdg.nix b/modules/home/xdg.nix index fd3763b..fd84ae0 100644 --- a/modules/home/xdg.nix +++ b/modules/home/xdg.nix @@ -1,10 +1,33 @@ - { pkgs, lib, config, ... }: { options.mods.xdg.enable = lib.mkEnableOption "enables xdg settings"; config = lib.mkIf config.mods.xdg.enable { - xdg = { + xdg = let + browser = ["librewolf.desktop"]; + associations = { + "text/html" = browser; + "x-scheme-handler/http" = browser; + "x-scheme-handler/https" = browser; + "x-scheme-handler/ftp" = browser; + "x-scheme-handler/about" = browser; + "x-scheme-handler/unknown" = browser; + "application/x-extension-htm" = browser; + "application/x-extension-html" = browser; + "application/x-extension-shtml" = browser; + "application/xhtml+xml" = browser; + "application/x-extension-xhtml" = browser; + "application/x-extension-xht" = browser; + + "audio/*" = ["mpv.desktop"]; + "video/*" = ["mpv.dekstop"]; + "image/*" = ["imv.desktop"]; + "application/json" = browser; + # "application/pdf" = ["org.pwmt.zathura.desktop.desktop"]; + "x-scheme-handler/tg" = ["kotatogram-desktop.desktop"]; + "x-scheme-handler/discord" = ["vesktop.desktop"]; + }; + in { enable = true; userDirs = { enable = true; @@ -17,6 +40,9 @@ publicShare = "$HOME/misc/public"; templates = "$HOME/misc/templates"; }; + mimeApps.enable = true; + mimeApps.associations.added = associations; + mimeApps.defaultApplications = associations; }; }; } diff --git a/modules/nixos/theme/default.nix b/modules/nixos/theme/default.nix index ebeaf3f..20b10ed 100644 --- a/modules/nixos/theme/default.nix +++ b/modules/nixos/theme/default.nix @@ -30,6 +30,8 @@ in { package = pkgs.noto-fonts-emoji; name = "OpenMoji Color"; }; + serif = config.stylix.fonts.monospace; + sansSerif = config.stylix.fonts.monospace; }; fonts.packages = with pkgs; [