All checks were successful
Check flake / build-amd64-linux (push) Successful in 2m41s
284 lines
8.4 KiB
Nix
284 lines
8.4 KiB
Nix
{ config, lib, pkgs, self, ... }:
|
|
|
|
let cfg = config.modules.desktop.gnome;
|
|
in {
|
|
options.modules.desktop.gnome = {
|
|
enable = lib.mkOption {
|
|
default = false;
|
|
example = true;
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
services.xserver = {
|
|
enable = true;
|
|
displayManager.gdm.enable = true;
|
|
desktopManager.gnome.enable = true;
|
|
};
|
|
|
|
services.flatpak.enable = true;
|
|
services.fwupd.enable = true;
|
|
|
|
programs.dconf.enable = true;
|
|
dconf.settings = {
|
|
"io/github/celluloid-player/celluloid" = {
|
|
draggable-video-area-enable = true;
|
|
};
|
|
"org/gnome/desktop/interface" = {
|
|
color-scheme = "prefer-dark";
|
|
cursor-theme = "Adwaita";
|
|
enable-hot-corners = false;
|
|
font-name = "Cantarell 11";
|
|
gtk-theme = "adw-gtk3-dark";
|
|
icon-theme = "MoreWaita";
|
|
monospace-font-name = "UbuntuMono Nerd Font 11";
|
|
toolbar-style = "both-horiz";
|
|
};
|
|
"org/gnome/desktop/peripherals/touchpad" = {
|
|
tap-to-click = true;
|
|
};
|
|
"org/gnome/desktop/sound" = {
|
|
theme-name = "freedesktop";
|
|
};
|
|
"org/gnome/desktop/search-providers" = {
|
|
disabled = [ "org.gnome.Epiphany.desktop" ];
|
|
};
|
|
"org/gnome/desktop/wm/keybindings" = {
|
|
switch-group = [ "<Super>grave" ];
|
|
switch-group-backward = [ "<Shift><Super>grave" ];
|
|
};
|
|
"org/gnome/desktop/wm/preferences" = {
|
|
button-layout = "appmenu:close";
|
|
};
|
|
"org/gnome/gnome-session" = {
|
|
auto-save-session = true;
|
|
};
|
|
"org/gnome/gnome-system-monitor" = {
|
|
show-dependencies = true;
|
|
};
|
|
"org/gnome/mutter" = {
|
|
center-new-windows = true;
|
|
edge-tiling = true;
|
|
experimental-features = [ "scale-monitor-framebuffer" ];
|
|
};
|
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
|
volume-up = [
|
|
"<Shift>F12"
|
|
"XF86AudioRaiseVolume"
|
|
];
|
|
volume-down = [
|
|
"<Shift>F11"
|
|
"XF86AudioLowerVolume"
|
|
];
|
|
};
|
|
"org/gnome/shell" = {
|
|
disable-user-extensions = false;
|
|
enabled-extensions = [
|
|
"appindicatorsupport@rgcjonas.gmail.com"
|
|
# "arcmenu@arcmenu.com"
|
|
"blur-my-shell@aunetx"
|
|
"burn-my-windows@schneegans.github.com"
|
|
"clipboard-indicator@tudmotu.com"
|
|
"CoverflowAltTab@palatis.blogspot.com"
|
|
# "dash-to-panel@jderose9.github.com"
|
|
# "desktop-cube@schneegans.github.com"
|
|
# "EasyScreenCast@iacopodeenosee.gmail.com"
|
|
"espresso@coadmunkee.github.com"
|
|
"flypie@schneegans.github.com"
|
|
# "forge@jmmaranan.com"
|
|
"gsconnect@andyholmes.github.io"
|
|
# "gSnap@micahosborne"
|
|
"hidetopbar@mathieu.bidon.ca"
|
|
"just-perfection-desktop@just-perfection"
|
|
# "mediacontrols@cliffniff.github.com"
|
|
# "mousefollowsfocus@matthes.biz"
|
|
# "pano@elhan.io"
|
|
# "paperwm@hedning:matrix.org"
|
|
"pip-on-top@rafostar.github.com"
|
|
# "search-light@icedman.github.com"
|
|
# "smart-auto-move@khimaros.com"
|
|
"space-bar@luchrioh"
|
|
# "tiling-assistant@leleat-on-github"
|
|
"tilingshell@ferrarodomenico.com"
|
|
"Vitals@CoreCoding.com"
|
|
"windowIsReady_Remover@nunofarruca@gmail.com"
|
|
# "worksets@blipk.xyz"
|
|
# "wsmatrix@martin.zurowietz.de"
|
|
];
|
|
favorite-apps = [
|
|
"firefox.desktop"
|
|
"org.gnome.Nautilus.desktop"
|
|
];
|
|
};
|
|
"org/gnome/shell/extensions/blur-my-shell/panel" = {
|
|
static-blur = true;
|
|
};
|
|
"org/gnome/shell/extensions/blur-my-shell/applications" = {
|
|
blur = false;
|
|
};
|
|
"org/gnome/shell/extensions/burn-my-windows" = {
|
|
fire-close-effect = false;
|
|
glide-open-effect = true;
|
|
glide-close-effect = true;
|
|
};
|
|
"org/gnome/shell/extensions/dash-to-panel" = {
|
|
intellihide = true;
|
|
panel-positions = ''
|
|
{"0":"TOP"}
|
|
'';
|
|
trans-panel-opacity = 0.3;
|
|
trans-use-custom-opacity = true;
|
|
trans-use-dynamic-opacity = true;
|
|
};
|
|
"org/gnome/shell/extensions/espresso" = {
|
|
enable-fullscreen = true;
|
|
show-indicator = true;
|
|
show-notifications = false;
|
|
inhibit-apps = [
|
|
"com.obsproject.Studio.desktop"
|
|
];
|
|
};
|
|
"org/gnome/shell/extensions/flypie" = {
|
|
preview-on-right-side = true;
|
|
};
|
|
"org/gnome/shell/extensions/forge" = {
|
|
window-gap-size = 8;
|
|
window-gap-hidden-on-single = false;
|
|
};
|
|
"org/gnome/shell/extensions/hidetopbar" = {
|
|
mouse-sensitive = true;
|
|
mouse-sensitive-fullscreen-window = true;
|
|
enable-active-window = false;
|
|
};
|
|
"org/gnome/shell/extensions/just-perfection" = {
|
|
activities-button = false;
|
|
window-demands-attention-focus = true;
|
|
workspace-wrap-around = true;
|
|
};
|
|
"org/gnome/shell/extensions/paperwm" = {
|
|
use-default-background = true;
|
|
};
|
|
"org/gnome/shell/extensions/pip-on-top" = {
|
|
stick = true;
|
|
};
|
|
"org/gnome/shell/extensions/search-light" = {
|
|
popup-at-cursor-monitor = true;
|
|
};
|
|
"org/gnome/shell/extensions/space-bar/behavior" = {
|
|
enable-activate-workspace-shortcuts = true;
|
|
show-empty-workspaces = true;
|
|
smart-workspace-names = false;
|
|
};
|
|
"org/gnome/shell/extensions/tiling-assistant" = {
|
|
screen-top-gap = 8;
|
|
screen-right-gap = 8;
|
|
screen-bottom-gap = 8;
|
|
screen-left-gap = 8;
|
|
window-gap = 8;
|
|
};
|
|
"org/gnome/shell/extensions/tilingshell" = {
|
|
inner-gaps = 16;
|
|
outer-gaps = 8;
|
|
enable-blur-snap-assistant = true;
|
|
};
|
|
"org/gnome/Console" = {
|
|
font-scale = 1.4;
|
|
use-system-font = false;
|
|
custom-font = "ComicShannsMono Nerd Font 10";
|
|
};
|
|
"org/gtk/settings/file-chooser" = {
|
|
show-hidden = true;
|
|
sort-directories-first = true;
|
|
};
|
|
"org/gtk/gtk4/settings/file-chooser" = {
|
|
show-hidden = true;
|
|
sort-directories-first = true;
|
|
};
|
|
};
|
|
|
|
environment.sessionVariables = {
|
|
QT_STYLE_OVERRIDE = lib.mkForce "kvantum";
|
|
QT_WAYLAND_DECORATION = lib.mkForce "adwaita";
|
|
};
|
|
|
|
home.configFile = {
|
|
"Kvantum/kvantum.kvconfig".text = lib.generators.toINI {} {
|
|
General.theme = "KvLibadwaitaDark";
|
|
};
|
|
"Kvantum/KvLibadwaita".source = "${self.inputs.kvlibadwaita}/src/KvLibadwaita";
|
|
};
|
|
|
|
user.packages = with pkgs; [
|
|
authenticator
|
|
# bottles
|
|
# bustle
|
|
celluloid
|
|
# d-spy
|
|
# drawing
|
|
# fragments
|
|
gnome.dconf-editor
|
|
gnome.ghex
|
|
# gnome-builder
|
|
gnome-decoder
|
|
gnome-firmware
|
|
gnome-frog
|
|
# gnome-obfuscate
|
|
gnome-podcasts
|
|
identity
|
|
mission-center
|
|
mousam
|
|
newsflash
|
|
# schemes
|
|
shortwave
|
|
sysprof
|
|
] ++ (if config.virtualisation.podman.enable then [
|
|
pods
|
|
] else []);
|
|
|
|
environment.systemPackages = with pkgs.unstable; [
|
|
adw-gtk3
|
|
kdePackages.qtstyleplugin-kvantum
|
|
libsForQt5.qtstyleplugin-kvantum
|
|
morewaita-icon-theme
|
|
nautilus-python
|
|
qadwaitadecorations
|
|
qadwaitadecorations-qt6
|
|
|
|
## Shell extensions
|
|
gnomeExtensions.appindicator
|
|
gnomeExtensions.arcmenu
|
|
gnomeExtensions.blur-my-shell
|
|
gnomeExtensions.burn-my-windows
|
|
gnomeExtensions.clipboard-indicator
|
|
gnomeExtensions.coverflow-alt-tab
|
|
gnomeExtensions.dash-to-panel
|
|
gnomeExtensions.desktop-cube
|
|
gnomeExtensions.easyScreenCast
|
|
gnomeExtensions.espresso
|
|
gnomeExtensions.fly-pie
|
|
gnomeExtensions.forge
|
|
gnomeExtensions.gsconnect
|
|
gnomeExtensions.gsnap
|
|
gnomeExtensions.hide-top-bar
|
|
gnomeExtensions.just-perfection
|
|
gnomeExtensions.media-controls
|
|
gnomeExtensions.mouse-follows-focus
|
|
gnomeExtensions.pano
|
|
gnomeExtensions.paperwm
|
|
gnomeExtensions.pip-on-top
|
|
gnomeExtensions.search-light
|
|
gnomeExtensions.smart-auto-move
|
|
gnomeExtensions.space-bar
|
|
gnomeExtensions.tiling-assistant
|
|
gnomeExtensions.tiling-shell
|
|
gnomeExtensions.todotxt
|
|
gnomeExtensions.vitals
|
|
gnomeExtensions.window-is-ready-remover
|
|
gnomeExtensions.worksets
|
|
gnomeExtensions.workspace-matrix
|
|
];
|
|
|
|
home.services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
|
|
};
|
|
}
|