From 6a01c1c95a9466f77cf2e6e8cbd61fb827e306a2 Mon Sep 17 00:00:00 2001 From: Sean Buckley Date: Wed, 9 Jun 2021 19:38:26 -0400 Subject: [PATCH] move graphical.nix into profiles.nix --- modules/graphical.nix | 61 ----------------------------- modules/profiles.nix | 91 ++++++++++++++++++++++++++++++++++++------- 2 files changed, 77 insertions(+), 75 deletions(-) delete mode 100644 modules/graphical.nix diff --git a/modules/graphical.nix b/modules/graphical.nix deleted file mode 100644 index c94955a..0000000 --- a/modules/graphical.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ pkgs, config, ... }: -{ - environment.systemPackages = with pkgs; [ - brave - gimp - ffmpeg - mpv - tdesktop - element-desktop - pavucontrol - gnome3.dconf-editor - glxinfo - steam-run - - (vscode-with-extensions.override { - vscode = vscodium; - vscodeExtensions = with pkgs.vscode-extensions; [ - bbenoist.Nix - ms-python.python - ms-vscode.cpptools - ms-azuretools.vscode-docker - ]; - }) - - (wrapFirefox firefox-unwrapped { - extraPolicies = { - CaptivePortal = false; - DisablePocket = true; - DisableFirefoxStudies = true; - OfferToSaveLogins = false; - DisableFormHistory = true; - SearchSuggestEnabled = false; - Preferences = { - "extensions.formautofill.available" = { Status = "locked"; Value = "off"; }; - "browser.contentblocking.category" = { Status = "locked"; Value = "strict"; }; - "network.IDN_show_punycode" = { Status = "locked"; Value = true; }; - "browser.zoom.siteSpecific" = { Status = "locked"; Value = false; }; - }; - }; - }) - - ]; - - services.xserver.deviceSection = '' - Option "VariableRefresh" "true" - ''; - - programs.steam.enable = true; - - virtualisation.docker = { enable = true; enableOnBoot = false; }; - - hardware.pulseaudio.enable = false; - services.pipewire = { - enable = true; - pulse.enable = true; - alsa.enable = true; - alsa.support32Bit = true; - }; - - boot.loader.timeout = null; -} diff --git a/modules/profiles.nix b/modules/profiles.nix index dde1377..974431f 100644 --- a/modules/profiles.nix +++ b/modules/profiles.nix @@ -2,24 +2,87 @@ with lib; let cfg = config.sconfig.profile; + + + desktop-config = { + environment.systemPackages = with pkgs; [ + brave + gimp + ffmpeg + mpv + tdesktop + element-desktop + pavucontrol + gnome3.dconf-editor + glxinfo + steam-run + + (vscode-with-extensions.override { + vscode = vscodium; + vscodeExtensions = with pkgs.vscode-extensions; [ + bbenoist.Nix + ms-python.python + ms-vscode.cpptools + ms-azuretools.vscode-docker + ]; + }) + + (wrapFirefox firefox-unwrapped { + extraPolicies = { + CaptivePortal = false; + DisablePocket = true; + DisableFirefoxStudies = true; + OfferToSaveLogins = false; + DisableFormHistory = true; + SearchSuggestEnabled = false; + Preferences = { + "extensions.formautofill.available" = { Status = "locked"; Value = "off"; }; + "browser.contentblocking.category" = { Status = "locked"; Value = "strict"; }; + "network.IDN_show_punycode" = { Status = "locked"; Value = true; }; + "browser.zoom.siteSpecific" = { Status = "locked"; Value = false; }; + }; + }; + }) + + ]; + + services.xserver.deviceSection = '' + Option "VariableRefresh" "true" + ''; + + programs.steam.enable = true; + + virtualisation.docker = { enable = true; enableOnBoot = false; }; + + hardware.pulseaudio.enable = false; + services.pipewire = { + enable = true; + pulse.enable = true; + alsa.enable = true; + alsa.support32Bit = true; + }; + + boot.loader.timeout = + if config.boot.loader.systemd-boot.enable + then null else lib.mkOverride 9999 99; + }; + + + server-config = { + services.openssh.enable = true; + documentation.nixos.enable = false; + nix.gc = { + automatic = true; + options = "--delete-older-than 30d"; + }; + }; + + in { options.sconfig.profile = mkOption { type = types.enum [ "server" "desktop" ]; }; - config = mkMerge [ - - (mkIf (cfg == "server") { - services.openssh.enable = true; - documentation.nixos.enable = false; - nix.gc = { - automatic = true; - options = "--delete-older-than 30d"; - }; - }) - - (mkIf (cfg == "desktop") (import ./graphical.nix { inherit pkgs config; })) - - ]; + config = { inherit desktop server; }."${cfg}-config"; }