2024-02-08 07:44:47 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: {
|
2024-02-07 07:14:12 +00:00
|
|
|
imports = [./desktop.nix ./firefox.nix ./chromium.nix];
|
2024-01-30 14:21:50 +00:00
|
|
|
nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
|
2023-10-30 15:02:25 +00:00
|
|
|
environment = {
|
2023-12-11 11:16:33 +00:00
|
|
|
sessionVariables = {
|
|
|
|
NIXOS_OZONE_WL = "1";
|
|
|
|
XDG_SESSION_TYPE = "wayland";
|
|
|
|
XDG_SESSION_DESKTOP = "Hyprland";
|
2024-03-04 06:37:35 +00:00
|
|
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
2023-12-11 11:16:33 +00:00
|
|
|
GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
|
|
|
|
};
|
2023-10-30 15:02:25 +00:00
|
|
|
systemPackages = with pkgs; [
|
2024-03-04 06:37:35 +00:00
|
|
|
hyprlock
|
|
|
|
hyprpaper
|
2023-10-30 15:02:25 +00:00
|
|
|
xdg-utils
|
|
|
|
wtype
|
|
|
|
wl-clipboard
|
|
|
|
swayimg
|
|
|
|
pamixer
|
|
|
|
pavucontrol
|
|
|
|
playerctl
|
|
|
|
brightnessctl
|
2024-01-14 18:32:53 +00:00
|
|
|
mpv
|
2024-01-14 11:18:48 +00:00
|
|
|
streamlink
|
2023-10-30 15:02:25 +00:00
|
|
|
];
|
|
|
|
};
|
2024-03-04 13:35:26 +00:00
|
|
|
security.pam.services.hyprlock = {};
|
2023-08-02 10:23:16 +01:00
|
|
|
services = {
|
2024-02-08 07:44:47 +00:00
|
|
|
xserver.enable = false;
|
2023-08-02 10:23:16 +01:00
|
|
|
blueman.enable = true;
|
2023-11-04 15:51:05 +00:00
|
|
|
udisks2.enable = true;
|
2024-02-08 07:44:47 +00:00
|
|
|
tumbler.enable = true;
|
|
|
|
gvfs = {
|
|
|
|
enable = true;
|
|
|
|
package = lib.mkForce pkgs.gnome3.gvfs;
|
|
|
|
};
|
2024-01-30 14:21:50 +00:00
|
|
|
greetd.settings = let
|
|
|
|
command = "Hyprland";
|
2024-01-03 15:40:21 +00:00
|
|
|
in {
|
2024-01-30 14:21:50 +00:00
|
|
|
default_session = {inherit command;};
|
|
|
|
initial_session = {inherit command;};
|
2024-01-03 15:40:21 +00:00
|
|
|
};
|
2023-08-02 10:23:16 +01:00
|
|
|
};
|
2024-02-12 13:03:05 +00:00
|
|
|
xdg.portal.enable = true;
|
2024-02-01 07:24:18 +00:00
|
|
|
xdg.mime = let
|
|
|
|
emacs = ["emacsclient.desktop" "emacs.desktop"];
|
2024-02-05 06:53:12 +00:00
|
|
|
# TODO add nyxt back to browser when I can fix opening
|
|
|
|
# links in existing sessions
|
2024-02-07 07:14:12 +00:00
|
|
|
browser = ["firefox.desktop"]; # nyxt.desktop
|
2024-02-01 07:24:18 +00:00
|
|
|
applications = {
|
2024-02-03 13:09:25 +00:00
|
|
|
"inode/directory" = emacs;
|
2024-02-05 07:24:33 +00:00
|
|
|
"inode/symlink" = emacs;
|
2024-02-03 13:09:25 +00:00
|
|
|
|
2024-02-01 07:24:18 +00:00
|
|
|
"image/jpeg" = ["swayimg.desktop"] ++ emacs;
|
|
|
|
"image/png" = ["swayimg.desktop"] ++ emacs;
|
2024-01-30 14:21:50 +00:00
|
|
|
"video/mp4" = ["mpv.desktop"];
|
2024-02-05 07:24:33 +00:00
|
|
|
|
|
|
|
"text/plain" = emacs;
|
|
|
|
"text/richtext" = emacs;
|
|
|
|
"text/org" = emacs;
|
|
|
|
"text/markdown" = emacs;
|
|
|
|
"text/rust" = emacs;
|
2024-02-01 07:24:18 +00:00
|
|
|
"text/csv" = emacs;
|
2024-02-05 07:24:33 +00:00
|
|
|
"text/html" = emacs;
|
|
|
|
"text/css" = emacs;
|
|
|
|
"text/tab-separated-values" = emacs;
|
|
|
|
|
|
|
|
"text/x-emacs-lisp" = emacs;
|
|
|
|
"text/x-fortran" = emacs;
|
|
|
|
"text/x-idl" = emacs;
|
|
|
|
"text/x-log" = emacs;
|
|
|
|
"text/x-lua" = emacs;
|
|
|
|
"text/x-makefile" = emacs;
|
|
|
|
"text/x-python" = emacs;
|
|
|
|
"text/x-python3" = emacs;
|
|
|
|
"text/x-readme" = emacs;
|
|
|
|
"text/x-scheme" = emacs;
|
|
|
|
"text/x-tex" = emacs;
|
|
|
|
"text/x-texinfo" = emacs;
|
2024-02-02 06:43:10 +00:00
|
|
|
|
2024-02-05 07:24:33 +00:00
|
|
|
"application/json" = emacs;
|
|
|
|
"application/toml" = emacs;
|
|
|
|
"application/yaml" = emacs;
|
|
|
|
"application/xml" = emacs;
|
2024-02-02 06:43:10 +00:00
|
|
|
"application/pdf" = emacs;
|
|
|
|
"application/epub+zip" = emacs;
|
2024-02-05 07:24:33 +00:00
|
|
|
"application/rss+xml" = emacs;
|
2024-02-02 06:43:10 +00:00
|
|
|
"application/oxps" = emacs;
|
2024-02-08 07:11:10 +00:00
|
|
|
# "application/msword" = emacs;
|
2024-02-05 07:24:33 +00:00
|
|
|
"application/xhtml+xml" = browser;
|
|
|
|
|
2024-02-05 06:53:12 +00:00
|
|
|
"application/x-shellscript" = emacs;
|
2024-02-01 07:24:18 +00:00
|
|
|
"application/x-extension-htm" = browser;
|
|
|
|
"application/x-extension-html" = browser;
|
|
|
|
"application/x-extension-shtml" = browser;
|
|
|
|
"application/x-extension-xhtml" = browser;
|
|
|
|
"application/x-extension-xht" = browser;
|
|
|
|
"application/x-mozilla-bookmarks" = browser;
|
2024-02-02 06:43:10 +00:00
|
|
|
|
|
|
|
"x-scheme-handler/http" = browser;
|
|
|
|
"x-scheme-handler/https" = browser;
|
|
|
|
"x-scheme-handler/about" = browser;
|
|
|
|
"x-scheme-handler/chrome" = browser;
|
|
|
|
"x-scheme-handler/webcal" = browser;
|
2024-02-08 07:11:10 +00:00
|
|
|
# "x-scheme-handler/ms-word" = emacs;
|
|
|
|
# "x-scheme-handler/ms-powerpoint" = emacs;
|
|
|
|
# "x-scheme-handler/ms-excel" = emacs;
|
2024-02-02 06:43:10 +00:00
|
|
|
"x-scheme-handler/unknown" = emacs;
|
2024-02-05 07:00:55 +00:00
|
|
|
"x-scheme-handler/msteams" = ["teams-for-linux.desktop"];
|
2024-01-23 19:53:52 +00:00
|
|
|
};
|
2024-02-01 07:24:18 +00:00
|
|
|
in {
|
|
|
|
enable = true;
|
|
|
|
defaultApplications = applications;
|
|
|
|
addedAssociations = applications;
|
2024-02-05 07:00:55 +00:00
|
|
|
removedAssociations = {
|
|
|
|
"x-scheme-handler/msteams" = browser;
|
|
|
|
"x-scheme-handler/zoomus" = browser;
|
|
|
|
};
|
2024-01-23 19:53:52 +00:00
|
|
|
};
|
2023-08-03 16:01:13 +01:00
|
|
|
programs = {
|
2024-01-03 15:40:21 +00:00
|
|
|
dconf.enable = true;
|
|
|
|
light.enable = true;
|
2024-02-08 07:44:47 +00:00
|
|
|
thunar = {
|
|
|
|
enable = true;
|
|
|
|
plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman];
|
|
|
|
};
|
2023-08-08 10:45:13 +01:00
|
|
|
hyprland = {
|
|
|
|
enable = true;
|
2023-09-11 23:04:29 +01:00
|
|
|
xwayland.enable = true;
|
2023-08-08 10:45:13 +01:00
|
|
|
};
|
2023-08-03 16:01:13 +01:00
|
|
|
};
|
2023-08-02 10:23:16 +01:00
|
|
|
}
|