From eb04da9d76b19f925fa75d855711b99aa1fef148 Mon Sep 17 00:00:00 2001 From: Julian Sutter Date: Wed, 25 Jan 2023 09:06:56 -0800 Subject: [PATCH] first try at gnome --- flake.nix | 1 + roles/gnome.nix | 109 ++++++++++++++++++++++++++++++++++++++++++ systems/common.nix | 44 +++-------------- systems/framework.nix | 2 +- users/jsutter.nix | 79 +----------------------------- 5 files changed, 118 insertions(+), 117 deletions(-) create mode 100644 roles/gnome.nix diff --git a/flake.nix b/flake.nix index fb6a7be..a7770bc 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,7 @@ ./systems/common.nix ./systems/framework.nix ./users/jsutter.nix + ./roles/gnome.nix ]; }; aurora = nixpkgs.lib.nixosSystem { diff --git a/roles/gnome.nix b/roles/gnome.nix new file mode 100644 index 0000000..510486d --- /dev/null +++ b/roles/gnome.nix @@ -0,0 +1,109 @@ + { config, pkgs, home-manager, ... }: + + { + services.xserver.enable = true; + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + services.xserver.displayManager.gdm.wayland = false; + services.xserver = { + layout = "us"; + xkbVariant = ""; + }; + # Exclude gnome garbage + environment.gnome.excludePackages = (with pkgs; [ + gnome-photos + gnome-tour + ]) ++ (with pkgs.gnome; [ + gnome-weather + cheese # webcam tool + gnome-music + gedit # text editor + epiphany # web browser + geary # email reader + evince # document viewer + gnome-characters + totem # video player + tali # poker game + iagno # go game + hitori # sudoku game + atomix # puzzle game + ] + ); +home-manager.users.jsutter = { + gtk = { + enable = true; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + theme = { + name = "palenight"; + package = pkgs.palenight-theme; + }; + cursorTheme = { + name = "Numix-Cursor"; + package = pkgs.numix-cursor-theme; + }; + gtk3.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + gtk4.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + }; + dconf.settings = { + "org/gnome/shell" = { + favorite-apps = [ + "org.gnome.Console.desktop" + "firefox.desktop" + "slack.desktop" + "codium.desktop" + "com.nextcloud.desktopclient.nextcloud.desktop" + "Zoom.desktop" + "steam.desktop" + "vmware-view.desktop" + ]; + }; + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + enable-hot-corners = false; + }; + "org/gnome/desktop/wm/preferences" = { + workspace-names = [ "Main" ]; + }; + "org/gnome/desktop/background" = { + picture-uri = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/2.jpg"; + picture-uri-dark = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/3.jpg"; + }; + "org/gnome/desktop/screensaver" = { + picture-uri = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/4.jpg"; + primary-color = "#3465a4"; + secondary-color = "#000000"; + }; + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = [ # "gnome-extensions list" to get a list. + "user-theme@gnome-shell-extensions.gcampax.github.com" + "trayIconsReloaded@selfmade.pl" + "dash-to-panel@jderose9.github.com" + ]; + }; + }; + home.packages = with pkgs; [ + gnomeExtensions.user-themes + gnomeExtensions.tray-icons-reloaded + gnomeExtensions.dash-to-panel + ]; + home.sessionVariables.GTK_THEME = "palenight"; + home.file."firefox-gnome-theme" = { + target = ".mozilla/firefox/default/chrome/firefox-gnome-theme"; + source = fetchTarball { + url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/master.tar.gz"; + sha256 = "1k7w7drq5xvxccxijjl6spf4w02ghil9jya35crysa3hi0mvyn29"; + }; + }; +} \ No newline at end of file diff --git a/systems/common.nix b/systems/common.nix index b1fce9e..81974b7 100644 --- a/systems/common.nix +++ b/systems/common.nix @@ -43,14 +43,6 @@ }; # Services - services.xserver.enable = true; - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; - services.xserver.displayManager.gdm.wayland = false; - services.xserver = { - layout = "us"; - xkbVariant = ""; - }; services.printing.enable = true; sound.enable = true; hardware.pulseaudio.enable = false; @@ -61,7 +53,7 @@ alsa.support32Bit = true; pulse.enable = true; }; - + services.openssh.enable = true; programs.java.enable = true; # System packages @@ -83,41 +75,17 @@ bumblebee glxinfo libgdiplus - gnome.gnome-tweaks zerotierone ]; - # Exclude gnome garbage - environment.gnome.excludePackages = (with pkgs; [ - gnome-photos - gnome-tour - ]) ++ (with pkgs.gnome; [ - gnome-weather - cheese # webcam tool - gnome-music - gedit # text editor - epiphany # web browser - geary # email reader - evince # document viewer - gnome-characters - totem # video player - tali # poker game - iagno # go game - hitori # sudoku game - atomix # puzzle game - ]); services.xserver.excludePackages = [ pkgs.xterm ]; documentation.nixos.enable = false; # GNUPG Stuff services.pcscd.enable = true; - programs.gnupg.agent = { - enable = true; - pinentryFlavor = "gnome3"; - enableSSHSupport = true; - }; - - services.openssh.enable = true; - - + programs.gnupg.agent = { + enable = true; + pinentryFlavor = "gnome3"; + enableSSHSupport = true; + }; } diff --git a/systems/framework.nix b/systems/framework.nix index e1a6155..0613151 100644 --- a/systems/framework.nix +++ b/systems/framework.nix @@ -55,7 +55,7 @@ services.fprintd.enable = lib.mkDefault true; # FSTrim for the SSD - services.fstrim.enable = lib.mkDefault true; + services.fstrim.enable = lib.mkDefault true; # Custom udev rules services.udev.extraRules = '' diff --git a/users/jsutter.nix b/users/jsutter.nix index a6e5cfe..19d0d7a 100644 --- a/users/jsutter.nix +++ b/users/jsutter.nix @@ -70,84 +70,7 @@ in }; }; - # Gnome Stuff - gtk = { - enable = true; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; - }; - theme = { - name = "palenight"; - package = pkgs.palenight-theme; - }; - cursorTheme = { - name = "Numix-Cursor"; - package = pkgs.numix-cursor-theme; - }; - gtk3.extraConfig = { - Settings = '' - gtk-application-prefer-dark-theme=1 - ''; - }; - gtk4.extraConfig = { - Settings = '' - gtk-application-prefer-dark-theme=1 - ''; - }; - }; - dconf.settings = { - "org/gnome/shell" = { - favorite-apps = [ - "org.gnome.Console.desktop" - "firefox.desktop" - "slack.desktop" - "codium.desktop" - "com.nextcloud.desktopclient.nextcloud.desktop" - "Zoom.desktop" - "steam.desktop" - "vmware-view.desktop" - ]; - }; - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - enable-hot-corners = false; - }; - "org/gnome/desktop/wm/preferences" = { - workspace-names = [ "Main" ]; - }; - "org/gnome/desktop/background" = { - picture-uri = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/2.jpg"; - picture-uri-dark = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/3.jpg"; - }; - "org/gnome/desktop/screensaver" = { - picture-uri = "https://git.sym.bio/jsutter/backgrounds/-/raw/main/4.jpg"; - primary-color = "#3465a4"; - secondary-color = "#000000"; - }; - "org/gnome/shell" = { - disable-user-extensions = false; - enabled-extensions = [ # "gnome-extensions list" to get a list. - "user-theme@gnome-shell-extensions.gcampax.github.com" - "trayIconsReloaded@selfmade.pl" - "dash-to-panel@jderose9.github.com" - ]; - }; - }; - home.packages = with pkgs; [ - gnomeExtensions.user-themes - gnomeExtensions.tray-icons-reloaded - gnomeExtensions.dash-to-panel - ]; - home.sessionVariables.GTK_THEME = "palenight"; - home.file."firefox-gnome-theme" = { - target = ".mozilla/firefox/default/chrome/firefox-gnome-theme"; - source = fetchTarball { - url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/master.tar.gz"; - sha256 = "1k7w7drq5xvxccxijjl6spf4w02ghil9jya35crysa3hi0mvyn29"; - }; - }; - + # Firefox programs.firefox = { enable = true; package = pkgs.wrapFirefox pkgs.firefox-unwrapped {