refactor default apps and add walker
This commit is contained in:
@@ -1,63 +1,88 @@
|
||||
{ ... }:
|
||||
{ config, ... }:
|
||||
let
|
||||
mkPrimaryDesktopApplication =
|
||||
{
|
||||
name,
|
||||
package,
|
||||
desktopEntryName,
|
||||
}:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
meta.desktop.${name} = {
|
||||
inherit desktopEntryName;
|
||||
package = package pkgs;
|
||||
};
|
||||
};
|
||||
homeModules = config.flake.modules.homeManager;
|
||||
vivaldiPackage = pkgs: pkgs.vivaldi;
|
||||
nautilusPackage = pkgs: pkgs.nautilus;
|
||||
in
|
||||
{
|
||||
flake.modules.homeManager.primary-browser-vivaldi = mkPrimaryDesktopApplication {
|
||||
name = "browser";
|
||||
package = pkgs: pkgs.vivaldi;
|
||||
desktopEntryName = "vivaldi-stable";
|
||||
flake.modules.homeManager.browser-vivaldi =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ (vivaldiPackage pkgs) ];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.primary-browser-vivaldi =
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
imports = [ homeModules.browser-vivaldi ];
|
||||
|
||||
meta.desktop.browserCommand = lib.getExe (vivaldiPackage pkgs);
|
||||
home.sessionVariables.BROWSER = lib.getExe (vivaldiPackage pkgs);
|
||||
xdg.mimeApps.defaultApplicationPackages = [ (vivaldiPackage pkgs) ];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.file-manager-nautilus =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ (nautilusPackage pkgs) ];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.primary-file-manager-nautilus =
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
imports = [ homeModules.file-manager-nautilus ];
|
||||
|
||||
meta.desktop.fileManagerCommand = lib.getExe (nautilusPackage pkgs);
|
||||
xdg.mimeApps.defaultApplicationPackages = [ (nautilusPackage pkgs) ];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.image-viewer-imv = {
|
||||
programs.imv.enable = true;
|
||||
};
|
||||
|
||||
flake.modules.homeManager.primary-file-manager-nautilus = mkPrimaryDesktopApplication {
|
||||
name = "fileManager";
|
||||
package = pkgs: pkgs.nautilus;
|
||||
desktopEntryName = "org.gnome.Nautilus";
|
||||
flake.modules.homeManager.default-image-viewer-imv =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ homeModules.image-viewer-imv ];
|
||||
|
||||
xdg.mimeApps.defaultApplicationPackages = [ pkgs.imv ];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.document-viewer-sioyek = {
|
||||
programs.sioyek.enable = true;
|
||||
};
|
||||
|
||||
flake.modules.homeManager.desktop-defaults =
|
||||
{ config, pkgs, ... }:
|
||||
flake.modules.homeManager.default-document-viewer-sioyek =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ homeModules.document-viewer-sioyek ];
|
||||
|
||||
xdg.mimeApps.defaultApplicationPackages = [ pkgs.sioyek ];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.workstation-apps =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
postman
|
||||
spotify
|
||||
calcure
|
||||
planify
|
||||
unzip
|
||||
gimp
|
||||
dbeaver-bin
|
||||
];
|
||||
};
|
||||
|
||||
flake.modules.homeManager.xdg =
|
||||
{ config, ... }:
|
||||
let
|
||||
browser = config.meta.desktop.browser;
|
||||
fileManager = config.meta.desktop.fileManager;
|
||||
homeDir = config.home.homeDirectory;
|
||||
localDir = "${homeDir}/.local";
|
||||
mediaDir = "${homeDir}/media";
|
||||
in
|
||||
{
|
||||
home.preferXdgDirectories = true;
|
||||
home.sessionVariables.BROWSER = browser.command;
|
||||
|
||||
home.packages =
|
||||
with pkgs;
|
||||
[
|
||||
postman
|
||||
spotify
|
||||
calcure
|
||||
planify
|
||||
unzip
|
||||
gimp
|
||||
dbeaver-bin
|
||||
]
|
||||
++ [
|
||||
browser.package
|
||||
fileManager.package
|
||||
];
|
||||
|
||||
programs.imv.enable = true;
|
||||
programs.sioyek.enable = true;
|
||||
|
||||
xdg = {
|
||||
enable = true;
|
||||
@@ -85,17 +110,6 @@ in
|
||||
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplicationPackages =
|
||||
with pkgs;
|
||||
[
|
||||
sioyek
|
||||
imv
|
||||
neovim
|
||||
]
|
||||
++ [
|
||||
fileManager.package
|
||||
browser.package
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user