Joey Hafner 4e9d6dec6a
Refactor flake:
- Delete homeManagerConfigurations from flake.
- Delete laptop nixosConfiguration.
- Delete `home-manager/` and `nixos/` directories.
- Switch from one general "vars" attrset for variables to using built-for-purpose attrsets for variables, each declared where it makes most sense (e.g. the "sys" attrset will be used for system-specific attributes).
- Create `systems/` directory for root-level system configurations and `modules/` directory for re-usable config files.
- Consolidate most app and system configuration into the `desktop-environment.nix` and `terminal-environment.nix` files.
- Standardize all `.nix` files to nixos config nodes, as opposed to home-manager. May reverse this decision.
- Use `${sys.username}` for the username of the primary user of the system.
- Use `${usr.${sys.username}}` for attributes related to that user (e.g. realname, email).
2025-01-08 12:04:28 -08:00

39 lines
1.2 KiB
Nix

{ ... }: {
xdg.mimeApps = let
webBrowser = "zen.desktop";
emailClient = "proton-mail.desktop";
imageViewer = "org.kde.gwenview.desktop";
musicPlayer = "vlc.desktop";
videoPlayer = "vlc.desktop";
textEditor = "dev.zed.Zed.desktop";
docViewer = "zen.desktop";
fileManager = "org.kde.dolphin.desktop";
terminal = "org.kde.konsole.desktop";
archiveManager = "org.kde.ark.desktop";
in {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "${webBrowser}";
"x-scheme-handler/https" = "${webBrowser}";
"x-scheme-handler/about" = "${webBrowser}";
"x-scheme-handler/unknown" = "${webBrowser}";
"application/json" = "${textEditor}";
"application/pdf" = "${webBrowser}";
"application/vnd.apple.keynote" = "${textEditor}";
"application/vnd.ms-publisher" = "${textEditor}";
"application/x-desktop" = "${textEditor}";
"application/x-executable" = "${textEditor}";
"text/css" = "${textEditor}";
"text/html" = "${textEditor}";
"text/plain" = "${textEditor}";
"video/mp4" = "${videoPlayer}";
"video/x-matroska" = "${videoPlayer}";
};
associations.added = {
};
};
}