162 lines
4.9 KiB
Nix
162 lines
4.9 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
|
|
# ./kde.nix
|
|
./librewolf.nix
|
|
./mpv.nix
|
|
./qutebrowser.nix
|
|
./services.nix
|
|
./sway.nix
|
|
./terminals.nix
|
|
];
|
|
fonts = {fontconfig = {enable = true;};};
|
|
nixpkgs.overlays = [
|
|
(final: prev: {
|
|
qutebrowser = prev.qutebrowser.override {enableWideVine = true;};
|
|
})
|
|
];
|
|
home.packages = with pkgs; [
|
|
# cura
|
|
# poweralertd
|
|
# prusa-slicer
|
|
inputs.bzmenu.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
at-spi2-core
|
|
blueberry
|
|
calibre
|
|
clipman
|
|
darktable
|
|
# element-desktop
|
|
gnumeric
|
|
headset-charge-indicator
|
|
ibm-plex
|
|
imv
|
|
jellyfin-media-player
|
|
libappindicator
|
|
libnotify
|
|
libreoffice-fresh
|
|
libsForQt5.kwallet
|
|
neovim-qt
|
|
networkmanagerapplet
|
|
nextcloud-client
|
|
nvd
|
|
obsidian
|
|
overpass
|
|
pavucontrol
|
|
pwvucontrol
|
|
qpwgraph
|
|
# quickemu
|
|
# quickgui
|
|
qutebrowser
|
|
shikane
|
|
# signal-desktop
|
|
simple-scan
|
|
# syncthingtray
|
|
systemd-lock-handler
|
|
# telegram-desktop
|
|
texlive.combined.scheme-medium
|
|
# watchmate
|
|
widevine-cdm
|
|
wlsunset
|
|
# 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" = ["nvim-qt.desktop"];
|
|
"application/pdf" = [
|
|
"org.pwmt.zathura-pdf-mupdf.desktop;qpdfview.desktop;org.gnome.Evince.desktop"
|
|
];
|
|
"image/jpeg" = ["imv.desktop;darktable.desktop;gimp.desktop"];
|
|
"image/png" = ["imv.desktop;darktable.desktop;gimp.desktop"];
|
|
"image/x-adobe-dng" = ["imv.desktop"];
|
|
"inode/directory" = ["thunar.desktop"];
|
|
"text/plain" = ["nvim-qt.desktop"];
|
|
"x-scheme-handler/pdf" = [
|
|
"org.pwmt.zathura-pdf-mupdf.desktop;qpdfview.desktop;org.gnome.Evince.desktop"
|
|
];
|
|
};
|
|
defaultApplications = {
|
|
"inode/directory" = ["thunar.desktop"];
|
|
"text/html" = ["org.qutebrowser.qutebrowser.desktop"];
|
|
"x-scheme-handler/about" = ["org.qutebrowser.qutebrowser.desktop"];
|
|
"x-scheme-handler/http" = ["org.qutebrowser.qutebrowser.desktop"];
|
|
"x-scheme-handler/https" = ["org.qutebrowser.qutebrowser.desktop"];
|
|
"x-scheme-handler/pdf" = ["myweb.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;};
|
|
};
|
|
};
|
|
};
|
|
}
|