programs, xdg: move app packages and MIME defaults into modules

This commit is contained in:
2026-08-01 17:14:44 +08:00
parent 27aaa9d05f
commit 935530aca5
19 changed files with 317 additions and 147 deletions
+23
View File
@@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.ayugram;
in
{
options.my.programs.ayugram = {
enable = lib.mkEnableOption "ayugram";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.ayugram-desktop
];
my.persist.homeDirs = [
".local/share/AyuGramDesktop"
];
};
}
+23
View File
@@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.element;
in
{
options.my.programs.element = {
enable = lib.mkEnableOption "element";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.element-desktop
];
my.persist.homeDirs = [
".config/Element"
];
};
}
+23
View File
@@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.fractal;
in
{
options.my.programs.fractal = {
enable = lib.mkEnableOption "fractal";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.fractal
];
my.persist.homeDirs = [
".local/share/fractal"
];
};
}
+23
View File
@@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.localsend;
in
{
options.my.programs.localsend = {
enable = lib.mkEnableOption "localsend";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.localsend
];
my.persist.homeDirs = [
".local/share/org.localsend.localsend_app"
];
};
}
+26
View File
@@ -0,0 +1,26 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.nautilus;
in
{
options.my.programs.nautilus = {
enable = lib.mkEnableOption "nautilus";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.nautilus
];
my.xdg.defaultApplications = {
"inode/directory" = [ "org.gnome.Nautilus.desktop" ];
};
my.hm.wayland.windowManager.niri.settings.binds."Mod+E".spawn = [
"nautilus"
];
};
}
+21
View File
@@ -0,0 +1,21 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.papers;
in
{
options.my.programs.papers = {
enable = lib.mkEnableOption "papers";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.papers
];
my.xdg.defaultApplications."application/pdf" = [ "org.gnome.Papers.desktop" ];
};
}
+23
View File
@@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.qq;
in
{
options.my.programs.qq = {
enable = lib.mkEnableOption "qq";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.qq-wayland
];
my.persist.homeDirs = [
".config/QQ"
];
};
}
+23
View File
@@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.signal;
in
{
options.my.programs.signal = {
enable = lib.mkEnableOption "signal";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.signal-desktop-wayland
];
my.persist.homeDirs = [
".config/Signal"
];
};
}
+23
View File
@@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.wechat;
in
{
options.my.programs.wechat = {
enable = lib.mkEnableOption "wechat";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = [
pkgs.wechat
];
my.persist.homeDirs = [
".xwechat"
];
};
}
+26
View File
@@ -0,0 +1,26 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.programs.wpsoffice;
in
{
options.my.programs.wpsoffice = {
enable = lib.mkEnableOption "wpsoffice";
};
config = lib.mkIf cfg.enable {
my.hm.home.packages = with pkgs; [
wpsoffice-cn
wps-office-fonts
ttf-wps-fonts
];
my.persist.homeDirs = [
".config/Kingsoft"
".local/share/Kingsoft"
];
};
}