From 7e7c8947fc2ff5598124c4a4c18bd28432fa017e Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Mon, 8 Sep 2025 14:01:35 -0500 Subject: rework most of config; probably broke jupiter again; working to add ganymede (non-nixos) to this repo --- modules/desktop/nixos/default.nix | 11 +++ modules/desktop/nixos/gnome.nix | 120 ++++++++++++++++++++++++++++ modules/desktop/nixos/greeters/gdm.nix | 13 +++ modules/desktop/nixos/greeters/greetd.nix | 19 +++++ modules/desktop/nixos/programs/blackbox.nix | 31 +++++++ modules/desktop/nixos/programs/firefox.nix | 37 +++++++++ 6 files changed, 231 insertions(+) create mode 100644 modules/desktop/nixos/default.nix create mode 100644 modules/desktop/nixos/gnome.nix create mode 100644 modules/desktop/nixos/greeters/gdm.nix create mode 100644 modules/desktop/nixos/greeters/greetd.nix create mode 100644 modules/desktop/nixos/programs/blackbox.nix create mode 100644 modules/desktop/nixos/programs/firefox.nix (limited to 'modules/desktop/nixos') diff --git a/modules/desktop/nixos/default.nix b/modules/desktop/nixos/default.nix new file mode 100644 index 0000000..23deeca --- /dev/null +++ b/modules/desktop/nixos/default.nix @@ -0,0 +1,11 @@ +{...}: { + imports = [ + ./gnome.nix + + ./greeters/greetd.nix + ./greeters/gdm.nix + + ./programs/firefox.nix + ./programs/blackbox.nix + ]; +} diff --git a/modules/desktop/nixos/gnome.nix b/modules/desktop/nixos/gnome.nix new file mode 100644 index 0000000..967452e --- /dev/null +++ b/modules/desktop/nixos/gnome.nix @@ -0,0 +1,120 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.collinux.desktop.gnome; +in + lib.mkIf cfg.enable { + services.desktopManager.gnome.enable = true; + + environment.gnome.excludePackages = with pkgs; [ + orca + evince + # file-roller + geary + # gnome-disk-utility + seahorse + # sushi + # sysprof + # gnome-shell-extensions + adwaita-icon-theme + # nixos-background-info + gnome-backgrounds + # gnome-bluetooth + # gnome-color-manager + # gnome-control-center + # gnome-shell-extensions + gnome-tour # GNOME Shell detects the .desktop file on first log-in. + gnome-user-docs + # glib # for gsettings program + # gnome-menus + # gtk3.out # for gtk-launch program + # xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/ + # xdg-user-dirs-gtk # Used to create the default bookmarks + # + baobab + epiphany + gnome-text-editor + gnome-calculator + gnome-calendar + gnome-characters + # gnome-clocks + gnome-console + gnome-contacts + gnome-font-viewer + gnome-logs + gnome-maps + gnome-music + # gnome-system-monitor + gnome-weather + # loupe + # nautilus + gnome-connections + simple-scan + snapshot + totem + yelp + gnome-software + ]; + + hjem.users."${config.collinux.user.name}".packages = with pkgs.gnomeExtensions; [blur-my-shell dash-to-dock]; + + programs.dconf = { + enable = true; + profiles.user.databases = [ + { + settings = { + "org/gnome/mutter" = { + workspaces-only-on-primary = false; + }; + "org/gnome/shell/app-switcher" = { + current-workspace-only = true; + }; + + # Idle settings + "org/gnome/desktop/session" = { + idle-delay = lib.gvariant.mkInt16 0; + }; + "org/gnome/settings-daemon/plugins/power" = { + sleep-inactive-ac-type = "nothing"; + }; + + # Keybindings + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + binding = "Return"; + command = "blackbox"; + name = "Terminal"; + }; + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" + ]; + }; + + # Background + "org/gnome/desktop/background" = rec { + picture-uri = "file://${pkgs.gnome-backgrounds}/share/backgrounds/gnome/blobs-d.svg"; + picture-uri-dark = picture-uri; + }; + + # Extensions + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = with pkgs.gnomeExtensions; [ + blur-my-shell.extensionUuid + dash-to-dock.extensionUuid + ]; + }; + + "org/gnome/shell/extensions/dash-to-dock" = { + dash-max-icon-size = lib.gvariant.mkInt16 48; + show-trash = false; + show-mounts = false; + }; + }; + } + ]; + }; + } diff --git a/modules/desktop/nixos/greeters/gdm.nix b/modules/desktop/nixos/greeters/gdm.nix new file mode 100644 index 0000000..598114a --- /dev/null +++ b/modules/desktop/nixos/greeters/gdm.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + cfg = config.collinux.desktop.gdm; +in + lib.mkIf cfg.enable { + services.displayManager.gdm = { + enable = true; + wayland = true; + }; + } diff --git a/modules/desktop/nixos/greeters/greetd.nix b/modules/desktop/nixos/greeters/greetd.nix new file mode 100644 index 0000000..42ff9a7 --- /dev/null +++ b/modules/desktop/nixos/greeters/greetd.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + cfg = config.collinux.desktop.greetd; +in + lib.mkIf cfg.enable { + services.greetd = { + enable = true; + settings = rec { + initial_session = { + command = lib.getExe cfg.command; + user = config.collinux.user.name; + }; + default_session = initial_session; + }; + }; + } diff --git a/modules/desktop/nixos/programs/blackbox.nix b/modules/desktop/nixos/programs/blackbox.nix new file mode 100644 index 0000000..37567b5 --- /dev/null +++ b/modules/desktop/nixos/programs/blackbox.nix @@ -0,0 +1,31 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.collinux.desktop.programs.blackbox; +in + lib.mkIf cfg.enable { + programs.dconf.profiles.user.databases = [ + { + settings = { + "com/raggesilver/BlackBox" = { + context-aware-header-bar = true; + fill-tabs = true; + notify-process-completion = true; + opacity = lib.gvariant.mkInt16 100; + pixel-scrolling = true; + pretty = true; + show-scrollbars = false; + terminal-padding = lib.gvariant.mkTuple (builtins.map lib.gvariant.mkInt16 [10 10 10 10]); + + floating-controls = false; + show-headerbar = true; + }; + }; + } + ]; + + hjem.users."${config.collinux.user.name}".packages = [pkgs.blackbox-terminal]; + } diff --git a/modules/desktop/nixos/programs/firefox.nix b/modules/desktop/nixos/programs/firefox.nix new file mode 100644 index 0000000..8ca4b30 --- /dev/null +++ b/modules/desktop/nixos/programs/firefox.nix @@ -0,0 +1,37 @@ +{ + lib, + config, + ... +}: let + cfg = config.collinux.desktop.programs.firefox; +in + lib.mkIf cfg.enable { + programs.firefox = { + enable = true; + policies = { + PasswordManagerEnabled = false; # use bitwarden instead + DisableAccounts = true; + DisablePocket = true; + + OverrideFirstRunPage = ""; + OverridePostUpdatePage = ""; + + ExtensionSettings = let + ext = name: { + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi"; + }; + in + lib.mkMerge [ + { + "{446900e4-71c2-419f-a6a7-df9c091e268b}" = ext "bitwarden-password-manager"; + "uBlock0@raymondhill.net" = ext "uBlock0@raymondhill.net"; + "addon@darkreader.org" = ext "addon@darkreader.org"; + } + (lib.optionalAttrs (cfg.theme == "catppuccin") { + "{88b098c8-19be-421e-8ffa-85ddd1f3f004}" = ext "catppuccin-mocha-blue"; + }) + ]; + }; + }; + } -- cgit v1.3.1