diff --git a/configuration.nix b/configuration.nix index 2a1d1c22..7ac78794 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,9 +1,3 @@ -# Nix Reference Manual: -# https://nixos.org/manual/nix/stable/ -# NixOS Packages / Options: -# https://search.nixos.org/packages? - - { lib, config, pkgs, ... }: { imports = [ diff --git a/desktops/common.nix b/desktops/common.nix index 5b0dfe16..2f0d6c00 100644 --- a/desktops/common.nix +++ b/desktops/common.nix @@ -31,10 +31,6 @@ enable = true; layout = "us"; xkbVariant = ""; - - # Enable nVidia drivers - videoDrivers = [ "nvidia" ]; autorun = true; }; - } \ No newline at end of file diff --git a/desktops/gnome-unstable.nix b/desktops/gnome-unstable.nix index 4d9c1483..4d0dbf6a 100644 --- a/desktops/gnome-unstable.nix +++ b/desktops/gnome-unstable.nix @@ -1,20 +1,65 @@ -{ config, unstable, ... }: { +{ config, unstable, hostname, ... }: { # Use "unstable" instead of "pkgs" to get the latest packages, defined in "flake.nix" services.xserver = with unstable.pkgs; { # https://nixos.org/manual/nixos/stable/index.html#chap-gnome # Enable the GNOME Desktop Environment. - displayManager.gdm.enable = true; desktopManager.gnome.enable = true; - # Disable Wayland - # displayManager.gdm.wayland = false; + displayManager.gdm = { + enable = true; + settings = { + "/apps/gdm/simple-greeter/banner_message_enable" = true; + "/apps/gdm/simple-greeter/banner_message_text" = '' + -- + Welcome to ${hostname} + + You are accessing a U.S. Government (USG) Information + System (IS) that is provided for USG-authorized use only. + + By using this IS (which includes any device attached to + this IS), you consent to the following conditions: + + - The USG routinely intercepts and monitors communications + on this IS for purposes including, but not limited + to, renetration testing, COMSEC monitoring, network + operations and defense, personnel misconduct (PM), law + enforcement (LE), and counterintelligence (CI) + investigations. + + - At any time, the USG may inspect and seize data stored + on this IS. + + - Communications using, or data stored on, this IS are not + private, are subject to routine monitoring, interception, + and search, and may be disclosed or used for any + USG-authorized purpose. + + - This IS includes security measures (e.g., authentication + and access controls) to protect USG interests--not for + your personal benefit or privacy. + + - Notwithstanding the above, using this IS does not + constitute consent to PM, LE or CI investigative + searching or monitoring of the content of privileged + communications, or work product, elated to personal + representation or services by attorneys, psychotherapists, + or clergy, and their assistants. Such communications + and work product are private and confidential. See User + Agreement for details. + + -- + ''; + }; + }; }; # Set Gnome settings: services.gnome = { games.enable = false; core-utilities.enable = true; + gnome-remote-desktop.enable = true; }; + # https://nixos.wiki/wiki/GNOME # Remove unwanted packages environment.gnome.excludePackages = (with unstable.pkgs; [ diff --git a/desktops/gnome.nix b/desktops/gnome.nix deleted file mode 100644 index f0ddc868..00000000 --- a/desktops/gnome.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ config, pkgs, ... }: { - # Use "pkgs" instead of "pkgs" to get the latest packages, defined in "flake.nix" - services.xserver = with pkgs; { - # https://nixos.org/manual/nixos/stable/index.html#chap-gnome - # Enable the GNOME Desktop Environment. - displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; - # Disable Wayland - displayManager.gdm.wayland = false; - }; - - # Set Gnome settings: - services.gnome = { - games.enable = false; - core-utilities.enable = true; - }; - - # https://nixos.wiki/wiki/GNOME - # Remove unwanted packages - environment.gnome.excludePackages = (with pkgs; [ - gnome.cheese - gnome.gnome-music - gnome.epiphany - gnome.geary - gnome.totem - gnome.gnome-characters - gnome-tour - gnome-photos - gnome.yelp - gnome.gnome-font-viewer - gnome-connections - gnome.gnome-contacts - gnome.gnome-logs - gnome.gnome-maps - gnome.simple-scan - ]); - - environment.systemPackages = with pkgs; [ - # Gnome Extensions - gnomeExtensions.tiling-assistant - gnomeExtensions.dash-to-dock - gnomeExtensions.blur-my-shell - gnomeExtensions.vitals - gnomeExtensions.user-themes - gnomeExtensions.caffeine - gnomeExtensions.hibernate-status-button - gnomeExtensions.night-theme-switcher - gnomeExtensions.prime-gpu-profile-selector - - # Gnome relevant packages - gnome3.gnome-tweaks - papirus-icon-theme - ]; - - imports = [ - # Gnome Themes - ./gnome/themes/gruvbox.nix - ./gnome/themes/tokyo-night.nix - ./gnome/themes/nordic.nix - ./gnome/themes/vimix.nix - ./gnome/themes/fluent.nix - # You may need to edit which theme you're using in dconf.nix if you remove themes - ]; - # Idea... Move these to a separate file and tie it into dconf - # sections that load the theme automatically when I want it. -} diff --git a/home-manager/neovim.nix b/home-manager/neovim.nix index e8221a52..031720e8 100644 --- a/home-manager/neovim.nix +++ b/home-manager/neovim.nix @@ -19,17 +19,17 @@ tokyonight-nvim # https://github.com/figsoda/cfg/blob/main/src/programs/neovim/configure/packages.nix - # bufferline-nvim - # cmp-buffer - # cmp-cmdline - # cmp-dap - # cmp-nvim-lsp - # cmp-nvim-lsp-document-symbol - # cmp-path - # cmp_luasnip - # comment-nvim - # crates-nvim - # dressing-nvim + bufferline-nvim + cmp-buffer + cmp-cmdline + cmp-dap + cmp-nvim-lsp + cmp-nvim-lsp-document-symbol + cmp-path + cmp_luasnip + comment-nvim + crates-nvim + dressing-nvim gitsigns-nvim indent-blankline-nvim leap-nvim diff --git a/hosts/nixos-desktop/gnome-dconf.nix b/hosts/nixos-desktop/gnome-dconf.nix new file mode 100644 index 00000000..f338f235 --- /dev/null +++ b/hosts/nixos-desktop/gnome-dconf.nix @@ -0,0 +1,195 @@ +# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix +{ lib, ... }: + +with lib.hm.gvariant; + +{ + dconf.settings = { + "apps/seahorse/listing" = { + keyrings-selected = [ "openssh:///home/albert/.ssh" ]; + }; + + "org/gnome/GWeather4" = { + temperature-unit = "centigrade"; + }; + + "org/gnome/Weather" = { + locations = "[<(uint32 2, <('Osaka International Airport', 'RJOO', false, [(0.60708368566759674, 2.3640484718263193)], @a(dd) [])>)>]"; + }; + + "org/gnome/clocks" = { + world-clocks = "[{'location': <(uint32 2, <('Los Angeles', 'KCQT', true, [(0.59370283970450188, -2.0644336110828618)], [(0.59432360095955872, -2.063741622941031)])>)>}, {'location': <(uint32 2, <('Dallas', 'KDAL', true, [(0.57338429251143708, -1.690448351049749)], [(0.57217226606568217, -1.6895950770317414)])>)>}, {'location': <(uint32 2, <('Washington', 'KDCA', true, [(0.67803131976116615, -1.3444998506811625)], [(0.67884776733195662, -1.344538230471414)])>)>}, {'location': <(uint32 2, <('Coordinated Universal Time (UTC)', '@UTC', false, @a(dd) [], @a(dd) [])>)>}]"; + }; + + "org/gnome/clocks/state/window" = { + maximized = false; + panel-id = "world"; + size = mkTuple [ 870 690 ]; + }; + + "org/gnome/desktop/app-folders" = { + folder-children = [ "Utilities" "YaST" ]; + }; + + "org/gnome/desktop/app-folders/folders/Utilities" = { + apps = [ "gnome-abrt.desktop" "gnome-system-log.desktop" "nm-connection-editor.desktop" "org.gnome.baobab.desktop" "org.gnome.Connections.desktop" "org.gnome.DejaDup.desktop" "org.gnome.Dictionary.desktop" "org.gnome.DiskUtility.desktop" "org.gnome.eog.desktop" "org.gnome.Evince.desktop" "org.gnome.FileRoller.desktop" "org.gnome.fonts.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.tweaks.desktop" "org.gnome.Usage.desktop" "vinagre.desktop" ]; + categories = [ "X-GNOME-Utilities" ]; + name = "X-GNOME-Utilities.directory"; + translate = true; + }; + + "org/gnome/desktop/app-folders/folders/YaST" = { + categories = [ "X-SuSE-YaST" ]; + name = "suse-yast.directory"; + translate = true; + }; + + "org/gnome/desktop/background" = { + color-shading-type = "solid"; + picture-options = "zoom"; + picture-uri = "file:///nix/store/4x0rqlvhvrzkbdigdr9mrgrb40cb52df-simple-blue-2016-02-19/share/backgrounds/nixos/nix-wallpaper-simple-blue.png"; + picture-uri-dark = "file:///nix/store/81y0y8fl92izwbj47aj2d8f48hgsp3wn-simple-dark-gray-2016-02-19/share/backgrounds/nixos/nix-wallpaper-simple-dark-gray.png"; + primary-color = "#3a4ba0"; + secondary-color = "#2f302f"; + }; + + "org/gnome/desktop/calendar" = { + show-weekdate = false; + }; + + "org/gnome/desktop/interface" = { + clock-show-date = true; + clock-show-weekday = false; + color-scheme = "prefer-dark"; + cursor-theme = "Adwaita"; + font-antialiasing = "grayscale"; + font-hinting = "slight"; + gtk-theme = "vimix-dark-doder"; + icon-theme = "Vimix-Doder-dark"; + }; + + "org/gnome/desktop/notifications" = { + show-banners = true; + }; + + "org/gnome/desktop/peripherals/touchpad" = { + tap-to-click = true; + two-finger-scrolling-enabled = true; + }; + + "org/gnome/desktop/wm/preferences" = { + button-layout = "appmenu:minimize,maximize,close"; + }; + + "org/gnome/mutter" = { + edge-tiling = false; + }; + + "org/gnome/settings-daemon/plugins/color" = { + night-light-enabled = true; + night-light-temperature = mkUint32 3418; + }; + + "org/gnome/shell" = { + app-picker-layout = "[{'org.gnome.Extensions.desktop': <{'position': <0>}>, 'htop.desktop': <{'position': <1>}>, 'nixos-manual.desktop': <{'position': <2>}>, 'nvidia-settings.desktop': <{'position': <3>}>, 'vlc.desktop': <{'position': <4>}>, 'xterm.desktop': <{'position': <5>}>, 'org.gnome.Settings.desktop': <{'position': <6>}>, 'org.gnome.Calculator.desktop': <{'position': <7>}>, 'org.gnome.clocks.desktop': <{'position': <8>}>, 'org.gnome.Contacts.desktop': <{'position': <9>}>, 'simple-scan.desktop': <{'position': <10>}>, 'yelp.desktop': <{'position': <11>}>, 'org.gnome.Calendar.desktop': <{'position': <12>}>, 'gnome-system-monitor.desktop': <{'position': <13>}>, 'org.gnome.TextEditor.desktop': <{'position': <14>}>, 'Utilities': <{'position': <15>}>, 'org.gnome.Weather.desktop': <{'position': <16>}>, 'org.gnome.Photos.desktop': <{'position': <17>}>}]"; + disable-user-extensions = false; + disabled-extensions = [ "workspace-indicator@gnome-shell-extensions.gcampax.github.com" ]; + enabled-extensions = [ "blur-my-shell@aunetx" "caffeine@patapon.info" "dash-to-dock@micxgx.gmail.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "Vitals@CoreCoding.com" "tiling-assistant@leleat-on-github" "hibernate-status@dromi" "nightthemeswitcher@romainvigier.fr" ]; + favorite-apps = [ "org.gnome.Nautilus.desktop" "firefox.desktop" "org.gnome.Console.desktop" "bitwarden.desktop" "steam.desktop" "net.lutris.Lutris.desktop" ]; + welcome-dialog-last-shown-version = "44.2"; + }; + + "org/gnome/shell/extensions/caffeine" = { + indicator-position-max = 3; + }; + + "org/gnome/shell/extensions/dash-to-dock" = { + apply-custom-theme = false; + background-opacity = 0.8; + custom-theme-shrink = true; + dance-urgent-applications = true; + dash-max-icon-size = 40; + disable-overview-on-startup = true; + dock-position = "BOTTOM"; + height-fraction = 0.9; + icon-size-fixed = false; + isolate-workspaces = false; + show-icons-emblems = true; + show-icons-notifications-counter = true; + show-show-apps-button = false; + show-windows-preview = true; + transparency-mode = "FIXED"; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/cursor-variants" = { + enabled = false; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/gtk-variants" = { + day = "vimix-doder"; + enabled = true; + night = "vimix-dark-doder"; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/icon-variants" = { + day = "Vimix-Doder"; + enabled = true; + night = "Vimix-Doder-dark"; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/shell-variants" = { + day = "vimix-doder"; + enabled = true; + night = "vimix-dark-doder"; + }; + + "org/gnome/shell/extensions/nightthemeswitcher/time" = { + manual-schedule = true; + nightthemeswitcher-ondemand-keybinding = [ "t" ]; + sunset = 19.0; + }; + + "org/gnome/shell/extensions/user-theme" = { + name = "vimix-dark-doder"; + }; + + "org/gnome/shell/weather" = { + automatic-location = true; + locations = "[<(uint32 2, <('Osaka International Airport', 'RJOO', false, [(0.60708368566759674, 2.3640484718263193)], @a(dd) [])>)>]"; + }; + + "org/gnome/tweaks" = { + show-extensions-notice = false; + }; + + "org/gtk/gtk4/settings/file-chooser" = { + date-format = "regular"; + location-mode = "path-bar"; + show-hidden = false; + show-size-column = true; + show-type-column = true; + sidebar-width = 140; + sort-column = "name"; + sort-directories-first = false; + sort-order = "ascending"; + type-format = "category"; + view-type = "list"; + window-size = mkTuple [ 859 453 ]; + }; + + "org/gtk/settings/file-chooser" = { + date-format = "regular"; + location-mode = "path-bar"; + show-hidden = false; + show-size-column = true; + show-type-column = true; + sidebar-width = 175; + sort-column = "name"; + sort-directories-first = false; + sort-order = "ascending"; + type-format = "category"; + window-position = mkTuple [ 30 26 ]; + window-size = mkTuple [ 1203 902 ]; + }; + }; +} diff --git a/hosts/nixos-laptop/configuration.nix b/hosts/nixos-laptop/configuration.nix index 30efc01f..a58bbd3d 100644 --- a/hosts/nixos-laptop/configuration.nix +++ b/hosts/nixos-laptop/configuration.nix @@ -32,6 +32,9 @@ }; }; + # Enable nVidia graphics + services.xserver.videoDrivers = [ "nvidia" ]; + environment.systemPackages = with pkgs; [ # Fingerprint software fprintd diff --git a/services/promtail.nix b/services/promtail.nix index 0fd8602c..9d7f94cb 100644 --- a/services/promtail.nix +++ b/services/promtail.nix @@ -1,6 +1,7 @@ { config, pkgs, hostname, ... }: { # Promtail Logging + # Set up the secret for the password: sops.secrets.promtail-pass = { owner = "promtail"; sopsFile = ../secrets/secrets.yaml;