216 lines
7 KiB
Nix
216 lines
7 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
inputs,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
cfg = config.xyno.presets.gui;
|
|
in
|
|
{
|
|
options.xyno.presets.gui.enable = mkEnableOption "enables xynos gui config";
|
|
options.xyno.presets.gui.terminalEmulator = mkOption {
|
|
type = types.str;
|
|
default = "foot";
|
|
};
|
|
config = mkIf cfg.enable {
|
|
services.udev.packages = [
|
|
pkgs.openocd # fix permission errors with connecting things (especially esp32-c3)
|
|
pkgs.ptouch-print
|
|
pkgs.yubikey-personalization
|
|
];
|
|
xyno.desktop.niri.enable = true;
|
|
xyno.desktop.ibus.enable = true;
|
|
xyno.desktop.audio.enable = mkDefault true;
|
|
xyno.user-services.khal.enable = true;
|
|
boot.kernelPackages = mkDefault pkgs.linuxPackages_zen;
|
|
security.soteria.enable = true;
|
|
security.rtkit.enable = true;
|
|
services.pcscd.enable = true;
|
|
services.pcscd.plugins = [ pkgs.pcsc-scm-scl011 ];
|
|
xyno.hardware.kmonad.enable = true;
|
|
# wayland on electron
|
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
# gdm
|
|
services.displayManager.gdm.enable = true;
|
|
# services.xserver.enable = true;
|
|
services.displayManager.gdm.wayland = true;
|
|
# ssh agent
|
|
programs.ssh.startAgent = true;
|
|
|
|
qt = {
|
|
enable = true;
|
|
platformTheme = "qt5ct";
|
|
};
|
|
home-manager.sharedModules =
|
|
let
|
|
gruvboxDarkColors = pkgs.writeText "gruvbox-dark.conf" ''
|
|
[ColorScheme]
|
|
active_colors=#ffebdbb2, #ff1d2021, #ffbdae93, #ffa89984, #ff3c3836, #ff504945, #ffebdbb2, #ffebdbb2, #ffebdbb2, #ff282828, #ff1d2021, #ff504945, #ff458588, #ff282828, #ff458588, #ffcc241d, #ff282828, #ffebdbb2, #ff1d2021, #ffebdbb2, #ffbdae93
|
|
disabled_colors=#ffbdae93, #ff1d2021, #ffbdae93, #ffa89984, #ff3c3836, #ff504945, #ffbdae93, #ffbdae93, #ffbdae93, #ff282828, #ff1d2021, #ff504945, #ff438184, #ff3c3836, #ff458588, #ffcc241d, #ff282828, #ffebdbb2, #ff1d2021, #ffebdbb2, #ffbdae93
|
|
inactive_colors=#ffebdbb2, #ff1d2021, #ffbdae93, #ffa89984, #ff3c3836, #ff504945, #ffebdbb2, #ffebdbb2, #ffebdbb2, #ff282828, #ff1d2021, #ff504945, #ff438184, #ffa89984, #ff458588, #ffcc241d, #ff282828, #ffebdbb2, #ff1d2021, #ffebdbb2, #ffbdae93
|
|
'';
|
|
qt5ctConf = pkgs.writeText "qt5ct.conf" ''
|
|
[Appearance]
|
|
color_scheme_path=${gruvboxDarkColors}
|
|
custom_palette=true
|
|
icon_theme=breeze-dark
|
|
standard_dialogs=xdgdesktopportal
|
|
style=Breeze
|
|
|
|
[Fonts]
|
|
fixed="Source Sans 3,12,-1,5,50,0,0,0,0,0"
|
|
general="Source Sans 3,12,-1,5,50,0,0,0,0,0"
|
|
'';
|
|
in
|
|
[
|
|
{
|
|
home.file.".config/qt5ct/qt5ct.conf".source = qt5ctConf;
|
|
home.file.".config/qt6ct/qt6ct.conf".source = qt5ctConf;
|
|
dconf = {
|
|
settings = {
|
|
"org/gnome/desktop/interface" = {
|
|
color-scheme = "prefer-dark";
|
|
gtk-theme = "adw-gtk3-dark";
|
|
};
|
|
};
|
|
};
|
|
gtk = {
|
|
enable = true;
|
|
iconTheme.name = "breeze-dark";
|
|
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
|
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
|
gtk3.theme.package = pkgs.adw-gtk3;
|
|
gtk3.theme.name = "adw-gtk3-dark";
|
|
|
|
gtk3.extraCss = ''
|
|
@import url("${inputs.adw-colors}/themes/adw-gruvbox/gtk3-dark.css");
|
|
'';
|
|
gtk4.extraCss = ''
|
|
@import url("${inputs.adw-colors}/themes/adw-gruvbox/gtk4-dark.css");
|
|
'';
|
|
|
|
};
|
|
|
|
}
|
|
];
|
|
|
|
programs.yazi = {
|
|
settings.keymap.mgr.prepend_keymap = [
|
|
{
|
|
on = "y";
|
|
run = [
|
|
''shell -- for path in "$@"; do echo "file://$path"; done | ${pkgs.wl-clipboard-rs}/bin/wl-copy -t text/uri-list''
|
|
"yank"
|
|
];
|
|
}
|
|
];
|
|
};
|
|
|
|
# setup printing
|
|
services.avahi = {
|
|
enable = true;
|
|
nssmdns4 = true;
|
|
nssmdns6 = true;
|
|
openFirewall = true;
|
|
};
|
|
services.printing.enable = true;
|
|
services.printing.stateless = true;
|
|
services.system-config-printer.enable = true;
|
|
|
|
# enable the gnome shit
|
|
services.gnome.gnome-keyring.enable = true;
|
|
services.gnome.gnome-online-accounts.enable = true;
|
|
environment.systemPackages = with pkgs; [
|
|
gnome-calendar
|
|
gnome-clocks
|
|
gnome-font-viewer
|
|
mate.engrampa
|
|
papirus-folders
|
|
kdePackages.gwenview
|
|
kdePackages.skanlite
|
|
kdePackages.okular
|
|
kdePackages.breeze-gtk
|
|
kdePackages.breeze.qt5
|
|
kdePackages.breeze
|
|
kdePackages.breeze-icons
|
|
nautilus # for xdg portal
|
|
];
|
|
services.gnome.gcr-ssh-agent.enable = mkForce false;
|
|
# services.gnome.sushi.enable = true;
|
|
services.gnome.gnome-settings-daemon.enable = true;
|
|
|
|
programs.thunar = {
|
|
enable = true;
|
|
plugins = with pkgs.xfce; [
|
|
thunar-archive-plugin
|
|
thunar-volman
|
|
];
|
|
};
|
|
services.tumbler.enable = true; # thunar image preview
|
|
services.gvfs.enable = true; # thunar network device mount
|
|
|
|
xdg.terminal-exec = {
|
|
enable = true;
|
|
settings.default = [ "foot.desktop" ];
|
|
};
|
|
xdg.portal.xdgOpenUsePortal = true;
|
|
|
|
environment.sessionVariables.GTK_USE_PORTAL = "1";
|
|
|
|
home-manager.users.${config.xyno.system.user.name} =
|
|
{ pkgs, ... }:
|
|
{
|
|
xyno.mpv.enable = true;
|
|
# xdg.mimeApps = {
|
|
# enable = true;
|
|
# defaultApplications = {
|
|
# "x-scheme-handler/mailto" = [ "aerc.desktop" ];
|
|
# "inode/directory" = [ "org.gnome.Nautilus.desktop" ];
|
|
# "application/x-gnome-saved-search" = [ "org.gnome.Nautilus.desktop" ];
|
|
# "x-scheme-handler/http" = "userapp-Zen-D2P132.desktop";
|
|
# "x-scheme-handler/https" = "userapp-Zen-D2P132.desktop";
|
|
# "x-scheme-handler/chrome" = "userapp-Zen-D2P132.desktop";
|
|
# "text/html" = "userapp-Zen-D2P132.desktop";
|
|
# "application/x-extension-htm" = "userapp-Zen-D2P132.desktop";
|
|
# "application/x-extension-html" = "userapp-Zen-D2P132.desktop";
|
|
# "application/x-extension-shtml" = "userapp-Zen-D2P132.desktop";
|
|
# "application/xhtml+xml" = "userapp-Zen-D2P132.desktop";
|
|
# "application/x-extension-xhtml" = "userapp-Zen-D2P132.desktop";
|
|
# "application/x-extension-xht" = "userapp-Zen-D2P132.desktop";
|
|
# "application/pdf" = "org.gnome.Evince.desktop";
|
|
|
|
# };
|
|
# };
|
|
};
|
|
|
|
# fonts
|
|
fonts.fontconfig.defaultFonts = {
|
|
sansSerif = [
|
|
"Source Sans 3"
|
|
"Noto Sans Symbols 2"
|
|
];
|
|
monospace = [
|
|
"JetBrainsMono Nerd Font"
|
|
"Noto Sans Symbols 2"
|
|
];
|
|
};
|
|
fonts.packages = with pkgs; [
|
|
nerd-fonts.jetbrains-mono
|
|
# nerd-fonts.source-sans
|
|
# nerd-fonts.b612
|
|
cantarell-fonts
|
|
dejavu_fonts
|
|
source-code-pro # Default monospace font in 3.32
|
|
source-sans
|
|
b612
|
|
ptouch-print
|
|
noto-fonts
|
|
noto-fonts-color-emoji
|
|
|
|
];
|
|
|
|
};
|
|
}
|