NixOS-Configs/home/gui/default.nix
2025-04-26 15:38:37 -05:00

178 lines
6.1 KiB
Nix

{ pkgs, inputs, config, lib, ... }:
with lib;
let cfg = config.roles.gui;
in {
options.roles.gui = { enable = mkEnableOption "roles gui"; };
config = mkIf cfg.enable {
home-manager.users.don = {
imports = [
./alacritty.nix
./autostart.nix
# ./fuzzel.nix
./kde.nix
./mpv.nix
./redshift.nix
./qutebrowser.nix
./services.nix
./sway.nix
./terminals.nix
./gnome-calenar.nix
];
fonts = { fontconfig = { enable = true; }; };
nixpkgs.overlays = [
(final: prev: {
qutebrowser = prev.qutebrowser.override { enableWideVine = true; };
})
];
home.packages = with pkgs;
[
# cura
# poweralertd
# prusa-slicer
# thunderbird
at-spi2-core
blueberry
calibre
clipman
darktable
element-desktop
firefox
headset-charge-indicator
gnumeric
ibm-plex
imv
jellyfin-media-player
libappindicator
libnotify
libreoffice-fresh
librewolf
libsForQt5.kwallet
neovim-qt
networkmanagerapplet
nextcloud-client
nvd
obsidian
overpass
pasystray
pavucontrol
pwvucontrol
qpwgraph
# quickemu
# quickgui
qutebrowser
shikane
shortwave
signal-desktop
simple-scan
syncthingtray
systemd-lock-handler
telegram-desktop
texlive.combined.scheme-medium
watchmate
widevine-cdm
yt-dlp
] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") feishin;
# ] ++ lib.optional (pkgs.hostPlatform.system == "x86_64-linux") sonixd;
xdg = {
mimeApps = {
enable = true;
associations.added = {
"application/octet-stream" = [ "gvim.desktop" ];
"application/pdf" = [
"qpdfview.desktop;org.gnome.Evince.desktop;org.pwmt.zathura-pdf-mupdf.desktop"
];
"audio/mpeg" = [ "org.kde.kid3.desktop" ];
"image/jpeg" = [ "darktable.desktop;gimp.desktop;imv.desktop" ];
"image/png" = [
"darktable.desktop;gimp.desktop;imv-folder.desktop;imv.desktop"
];
"image/x-adobe-dng" = [ "imv.desktop" ];
"inode/directory" = [ "thunar.desktop" ];
"text/plain" = [ "gvim.desktop" ];
"x-scheme-handler/pdf" = [ "pdfview.desktop" ];
"x-scheme-handler/tg" = [
"userapp-Telegram Desktop-9M6O50.desktop;userapp-Telegram Desktop-6IJLW1.desktop;userapp-Telegram Desktop-IQIXX1.desktop;userapp-Telegram Desktop-FK06Y1.desktop;userapp-Telegram Desktop-1SZ7Y1.desktop;userapp-Telegram Desktop-C24MZ1.desktop;userapp-Telegram Desktop-29FD01.desktop;userapp-Telegram Desktop-21P401.desktop;userapp-Telegram Desktop-LOTG11.desktop"
];
};
defaultApplications = {
"inode/directory" = [ "thunar.desktop" ];
"model/3mf" = [ "com.ultimaker.cura.desktop" ];
"model/gltf+json" = [ "com.ultimaker.cura.desktop" ];
"model/gltf-binary" = [ "com.ultimaker.cura.desktop" ];
"model/stl" = [ "com.ultimaker.cura.desktop" ];
"text/html" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/about" =
[ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/etcher" = [ "balena-etcher.desktop" ];
"x-scheme-handler/http" = [ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/https" =
[ "org.qutebrowser.qutebrowser.desktop" ];
"x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ];
"x-scheme-handler/pdf" = [ "myweb.desktop" ];
"x-scheme-handler/tg" =
[ "userapp-Telegram Desktop-LOTG11.desktop" ];
"x-scheme-handler/tootle" =
[ "com.github.bleakgrey.tootle.desktop" ];
"x-scheme-handler/unknown" =
[ "org.qutebrowser.qutebrowser.desktop" ];
"application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
"x-scheme-handler/mailto" = [ "neomutt.desktop" ];
};
};
desktopEntries = {
mealplanning = {
terminal = false;
name = "Meal Planning";
exec = "/home/don/bin/meal-planning";
icon = "chrome-nkapoddcoleikgbpncmpcfkdjmheccge-Default";
};
neomutt = {
terminal = false;
name = "Neomutt";
exec = "/home/don/.local/share/qutebrowser/userscripts/mymail";
icon = "email";
};
muttmailto = {
terminal = false;
name = "mutt-mailto";
exec = "/home/don/bin/mutt-mailto";
icon = "chrome-kmhopmchchfpfdcdjodmpfaaphdclmlj-Default";
};
myweb = {
terminal = false;
name = "myweb";
exec = "/home/don/bin/myweb %u";
mimeType = [ "x-scheme-handler/pdf" ];
};
cooking-notebook = {
type = "Application";
name = "Cooking Notebook";
icon = "obsidian";
exec = "/home/don/bin/cooking-notebook";
};
mynotes = {
name = "My Notes";
exec = "/home/don/bin/mynotes";
terminal = false;
type = "Application";
icon = "obsidian";
comment = "Obsidian";
mimeType = [ "x-scheme-handler/obsidian" ];
categories = [ "Office" ];
};
journal = {
name = "Journal";
exec = "/home/don/bin/newjournal";
terminal = false;
type = "Application";
icon = "obsidian";
comment = "Obsidian Journal";
mimeType = [ "x-scheme-handler/obsidian" ];
categories = [ "Office" ];
};
};
configFile = { "shikane/config.toml".source = files/shikane.toml; };
};
};
};
}