Config_nix_Thatoo/desktop_environnement.nix
2025-05-26 00:58:40 +02:00

194 lines
7.7 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, inputs, ... }:
{
services = {
# Enable the login manager
displayManager.cosmic-greeter.enable = lib.mkDefault true;
# Enable the COSMIC DE itself
desktopManager.cosmic = {
enable = lib.mkDefault true;
# Enable XWayland support in COSMIC
xwayland.enable = lib.mkDefault true;
};
};
environment.sessionVariables = {
# to make Clipboard Manager work
COSMIC_DATA_CONTROL_ENABLED = 1;
# enable Ozone Wayland support in Chromium and Electron
NIXOS_OZONE_WL = "1";
};
# to allow to open link in web browser from any app
systemd.user.extraConfig = ''DefaultEnvironment="PATH=/run/wrappers/bin:/etc/profiles/per-user/%u/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin"'';
specialisation = {
gnome.configuration = {
services = {
# Disable Cosmic
desktopManager.cosmic = {
enable = false;
xwayland.enable = false;
};
displayManager.cosmic-greeter.enable = false;
# Enable Gnome
xserver = {
enable = true;
desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;
};
};
environment.systemPackages = with pkgs; [
adwaita-icon-theme
gnomeExtensions.appindicator
gnomeExtensions.arcmenu
gnomeExtensions.blur-my-shell
gnomeExtensions.caffeine
gnomeExtensions.clipboard-indicator
gnomeExtensions.clipboard-history
gnomeExtensions.compiz-alike-magic-lamp-effect
gnomeExtensions.compiz-windows-effect
gnomeExtensions.coverflow-alt-tab
gnomeExtensions.custom-accent-colors
gnomeExtensions.dash-to-panel
gnomeExtensions.gtk4-desktop-icons-ng-ding
# gnomeExtensions.put-windows
gnomeExtensions.transparent-window-moving
gnomeExtensions.unblank
gnomeExtensions.window-state-manager
gnome-settings-daemon
gnome-themes-extra
gnome-tweaks
];
programs.dconf = {
enable = true;
profiles = {
user.databases = [{
settings = with lib.gvariant; {
"org/gnome/desktop/interface" = {
cursor-theme = "Adwaita";
gtk-theme = "Adwaita";
icon-theme = "Adwaita";
clock-format = "24h";
clock-show-weekday = true;
clock-show-seconds = true;
show-battery-percentage = true;
};
"org/gnome/desktop/calendar".show-weekdate = true;
"org/gtk/settings/file-chooser" = {
sort-directories-first = true;
# show-hidden = true;
# view-type = "list";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Control><Alt>t";
command = "kgx";
name = "Terminal";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Control><Alt>m";
command = "gnome-system-monitor";
name = "Monitor";
};
"org/gnome/settings-daemon/plugins/media-keys".custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
];
"org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"arcmenu@arcmenu.com"
"auto-move-windows@gnome-shell-extensions.gcampax.github.com"
"blur-my-shell@aunetx"
"caffeine@patapon.info"
"clipboard-history@alexsaveau.dev"
"CoverflowAltTab@palatis.blogspot.com"
"custom-accent-colors@demiskp"
"dash-to-panel@jderose9.github.com"
"gsconnect@andyholmes.github.io"
"gtk4-ding@smedius.gitlab.com"
"transparent-window-moving@noobsai.github.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"workspace-switch-wraparound@theychx.org"
];
# "org/gnome/shell".favorite-apps = [
# "firefox.desktop"
# "thunderbird.desktop"
# "element-desktop.desktop"
# "org.keepassxc.KeePassXC.desktop"
# "org.gnome.Nautilus.desktop"
# "org.gnome.TextEditor.desktop"
# ];
"org/gnome/shell/extensions/dash-to-panel" = {
# Even when we are not using multiple panels on multiple monitors,
# the extension still creates them in the config, so we set the same
# configuration for each (up to 2 monitors).
animate-appicon-hover = true;
dot-position = "BOTTOM";
dot-style-focused = "METRO";
dot-style-unfocused = "DOTS";
intellihide = false;
# panel-positions = builtins.toJSON (lib.genAttrs [ "0" "1" ] (x: "TOP"));
# panel-sizes = builtins.toJSON (lib.genAttrs [ "0" "1" ] (x: 32));
panel-element-positions = builtins.toJSON (lib.genAttrs [ "0" "1" ] (x: [
{ element = "showAppsButton"; visible = false; position = "stackedTL"; }
{ element = "activitiesButton"; visible = false; position = "stackedTL"; }
{ element = "leftBox"; visible = true; position = "stackedTL"; }
{ element = "taskbar"; visible = true; position = "centered"; }
{ element = "centerBox"; visible = false; position = "stackedBR"; }
{ element = "rightBox"; visible = true; position = "stackedBR"; }
{ element = "dateMenu"; visible = true; position = "stackedBR"; }
{ element = "systemMenu"; visible = true; position = "stackedBR"; }
{ element = "desktopButton"; visible = false; position = "stackedBR"; }
]));
multi-monitors = true;
# show-apps-icon-file = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg";
# show-apps-icon-padding = mkInt32 4;
# focus-highlight-dominant = true;
# dot-size = mkInt32 0;
# appicon-padding = mkInt32 2;
# appicon-margin = mkInt32 0;
# trans-use-custom-opacity = true;
# trans-panel-opacity = 0.25;
# show-favorites = false;
# group-apps = false;
# isolate-workspaces = true;
# hide-overview-on-startup = true;
# stockgs-keep-dash = true;
};
"org/gnome/shell/extensions/arcmenu" = {
menu-layout = "Budgie";
menu-button-icon = "Distro_Icon";
distro-icon = "22";
};
"org/gnome/shell/extensions/custom-accent-colors" = {
accent-color = "purple";
theme-flatpak = true;
theme-gtk3 = true;
theme-shell = true;
};
"org/gnome/shell/extensions/user-theme".name = "Custom-Accent-Colors";
};
}];
};
};
system.nixos.tags = [ "Gnome" ];
};
};
}