From 2a88e5e5db65d5378807fb5c07c56b257f29c4d1 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 16 Jul 2020 14:55:00 -0700 Subject: [PATCH] Changes on atom --- defaults.nix | 12 +- fudo/profiles/common-ui.nix | 374 +++++++++++++++++++----------------- fudo/profiles/default.nix | 1 + fudo/profiles/laptop.nix | 49 +++-- hosts/atom.nix | 7 +- 5 files changed, 244 insertions(+), 199 deletions(-) diff --git a/defaults.nix b/defaults.nix index 8974062..a4577f7 100644 --- a/defaults.nix +++ b/defaults.nix @@ -82,7 +82,7 @@ yubikey-manager ]; - system.stateVersion = "19.09"; + system.stateVersion = "20.03"; system.autoUpgrade.enable = true; @@ -92,7 +92,15 @@ krb5.libdefaults.default_realm = "FUDO.ORG"; krb5.kerberos = pkgs.heimdalFull; - console.keyMap = "dvp"; + services.xserver = { + layout = "us"; + xkbVariant = "dvp"; + xkbOptions = "ctrl:nocaps"; + }; + + console = { + useXkbConfig = true; + }; i18n = { defaultLocale = "en_US.UTF-8"; diff --git a/fudo/profiles/common-ui.nix b/fudo/profiles/common-ui.nix index b937ad7..8edd847 100644 --- a/fudo/profiles/common-ui.nix +++ b/fudo/profiles/common-ui.nix @@ -4,182 +4,206 @@ with lib; let profile = config.fudo.common.profile; -in mkIf ((profile == "desktop") || (profile == "laptop")) { - environment.systemPackages = with pkgs; [ - cool-retro-term - corefonts - chrome-gnome-shell - chromium - evince - ffmpeg-full - firefox - gimp - glxinfo - gnome3.gnome-shell - gnome3.gnome-session - google-chrome - gtk2 - gtk2-x11 - gtk3 - gtkimageview - i3lock - libfixposix - #minecraft-current - mono - mplayer - mpv - nomacs - openssl_1_1 - pdftk - python37Packages.youtube-dl - redshift - rhythmbox - shotwell - spotify - sqlite - (steam.override { - nativeOnly = true; - extraPkgs = pkgs: [ - mono - gtk3 - gtk3-x11 - libgdiplus - zlib - ]; - withJava = true; - }) - (steam.override { - nativeOnly = true; - extraPkgs = pkgs: [ - mono - fmodex - gtk3 - gtk3-x11 - libgdiplus - zlib - ]; - withJava = true; - }).run - # steam-run - # steam-run-native - system-config-printer - virtmanager - xorg.xev - xzgv - virtmanager-qt - ]; - - nixpkgs.config.allowBroken = true; - - # Splash screen - boot.plymouth.enable = true; - - services.avahi = { - enable = true; - browseDomains = [config.fudo.common.domain]; - domainName = config.fudo.common.domain; - }; - - boot.tmpOnTmpfs = true; - - services.xserver = { - # enable = true; - - layout = "us"; - xkbVariant = "dvp"; - xkbOptions = "ctrl:nocaps"; - - desktopManager.gnome3.enable = true; - - displayManager.gdm.enable = true; - - displayManager.defaultSession = "gnome"; - - windowManager.session = pkgs.lib.singleton { - name = "stumpwm"; - start = '' - ${pkgs.lispPackages.stumpwm}/bin/stumpwm & - waidPID=$! - ''; +in { + options.fudo.ui = { + console-only = mkOption { + type = types.bool; + description = "Don't install X, only console stuff."; + default = false; }; }; - services.gnome3 = { - evolution-data-server.enable = pkgs.lib.mkForce false; - gnome-user-share.enable = pkgs.lib.mkForce false; + config = mkIf ((profile == "desktop") || (profile == "laptop")) { + environment.systemPackages = with pkgs; + [ + libfixposix + python37Packages.youtube-dl + sqlite + virtmanager + xzgv + ] ++ (if (config.fudo.ui.console-only) then [] else [ + cool-retro-term + corefonts + chrome-gnome-shell + chromium + evince + ffmpeg-full + firefox + gimp + glxinfo + gnome3.gnome-shell + gnome3.gnome-session + google-chrome + gtk2 + gtk2-x11 + gtk3 + gtkimageview + i3lock + libfixposix + #minecraft-current + mono + mplayer + mpv + nomacs + openssl_1_1 + pdftk + python37Packages.youtube-dl + redshift + rhythmbox + shotwell + spotify + sqlite + (steam.override { + nativeOnly = true; + extraPkgs = pkgs: [ + mono + gtk3 + gtk3-x11 + libgdiplus + zlib + ]; + withJava = true; + }) + (steam.override { + nativeOnly = true; + extraPkgs = pkgs: [ + mono + fmodex + gtk3 + gtk3-x11 + libgdiplus + zlib + ]; + withJava = true; + }).run + # steam-run + # steam-run-native + system-config-printer + virtmanager + xorg.xev + xzgv + virtmanager-qt + ]); + + nixpkgs.config.allowBroken = true; + + # Splash screen + boot.plymouth.enable = + if (config.fudo.ui.console-only) then false else true; + + services.avahi = { + enable = true; + browseDomains = [config.fudo.common.domain]; + domainName = config.fudo.common.domain; + }; + + boot.tmpOnTmpfs = true; + + services.xserver = if (config.fudo.ui.console-only) then { + enable = false; + + layout = "us"; + xkbVariant = "dvp"; + xkbOptions = "ctrl:nocaps"; + } else { + enable = true; + + layout = "us"; + xkbVariant = "dvp"; + xkbOptions = "ctrl:nocaps"; + + desktopManager.gnome3.enable = true; + + displayManager.gdm.enable = true; + + displayManager.defaultSession = "gnome"; + + windowManager.session = pkgs.lib.singleton { + name = "stumpwm"; + start = '' + ${pkgs.lispPackages.stumpwm}/bin/stumpwm & + waidPID=$! + ''; + }; + }; + + services.gnome3 = mkIf (! config.fudo.ui.console-only) { + evolution-data-server.enable = pkgs.lib.mkForce false; + gnome-user-share.enable = pkgs.lib.mkForce false; + }; + + services.dbus.socketActivated = true; + + #services.openssh.forwardX11 = true; + + #programs.ssh.forwardX11 = true; + + sound.enable = true; + + hardware.pulseaudio.enable = true; + + fonts = mkIf (! config.fudo.ui.console-only) { + enableFontDir = true; + #fontconfig.antialias = true; + fontconfig.enable = true; + #fontconfig.penultimate.enable = true; + #fontconfig.subpixel.lcdfilter = "default"; + + fonts = with pkgs; [ + cantarell_fonts + dejavu_fonts + dina-font + dosemu_fonts + fira-code + fira-code-symbols + freefont_ttf + liberation_ttf + mplus-outline-fonts + #nerdfonts + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + proggyfonts + terminus_font + ubuntu_font_family + ucsFonts + unifont + vistafonts + xlibs.fontadobe100dpi + xlibs.fontadobe75dpi + xlibs.fontadobeutopia100dpi + xlibs.fontadobeutopia75dpi + xlibs.fontadobeutopiatype1 + xlibs.fontarabicmisc + xlibs.fontbh100dpi + xlibs.fontbh75dpi + xlibs.fontbhlucidatypewriter100dpi + xlibs.fontbhlucidatypewriter75dpi + xlibs.fontbhttf + xlibs.fontbhtype1 + xlibs.fontbitstream100dpi + xlibs.fontbitstream75dpi + xlibs.fontbitstreamtype1 + xlibs.fontcronyxcyrillic + xlibs.fontcursormisc + xlibs.fontdaewoomisc + xlibs.fontdecmisc + xlibs.fontibmtype1 + xlibs.fontisasmisc + xlibs.fontjismisc + xlibs.fontmicromisc + xlibs.fontmisccyrillic + xlibs.fontmiscethiopic + xlibs.fontmiscmeltho + xlibs.fontmiscmisc + xlibs.fontmuttmisc + xlibs.fontschumachermisc + xlibs.fontscreencyrillic + xlibs.fontsonymisc + xlibs.fontsunmisc + xlibs.fontwinitzkicyrillic + xlibs.fontxfree86type1 + ]; + }; }; - - services.dbus.socketActivated = true; - - #services.openssh.forwardX11 = true; - - #programs.ssh.forwardX11 = true; - - sound.enable = true; - - hardware.pulseaudio.enable = true; - - fonts = { - enableFontDir = true; - #fontconfig.antialias = true; - fontconfig.enable = true; - #fontconfig.penultimate.enable = true; - #fontconfig.subpixel.lcdfilter = "default"; - - fonts = with pkgs; [ - cantarell_fonts - dejavu_fonts - dina-font - dosemu_fonts - fira-code - fira-code-symbols - freefont_ttf - liberation_ttf - mplus-outline-fonts - #nerdfonts - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - proggyfonts - terminus_font - ubuntu_font_family - ucsFonts - unifont - vistafonts - xlibs.fontadobe100dpi - xlibs.fontadobe75dpi - xlibs.fontadobeutopia100dpi - xlibs.fontadobeutopia75dpi - xlibs.fontadobeutopiatype1 - xlibs.fontarabicmisc - xlibs.fontbh100dpi - xlibs.fontbh75dpi - xlibs.fontbhlucidatypewriter100dpi - xlibs.fontbhlucidatypewriter75dpi - xlibs.fontbhttf - xlibs.fontbhtype1 - xlibs.fontbitstream100dpi - xlibs.fontbitstream75dpi - xlibs.fontbitstreamtype1 - xlibs.fontcronyxcyrillic - xlibs.fontcursormisc - xlibs.fontdaewoomisc - xlibs.fontdecmisc - xlibs.fontibmtype1 - xlibs.fontisasmisc - xlibs.fontjismisc - xlibs.fontmicromisc - xlibs.fontmisccyrillic - xlibs.fontmiscethiopic - xlibs.fontmiscmeltho - xlibs.fontmiscmisc - xlibs.fontmuttmisc - xlibs.fontschumachermisc - xlibs.fontscreencyrillic - xlibs.fontsonymisc - xlibs.fontsunmisc - xlibs.fontwinitzkicyrillic - xlibs.fontxfree86type1 - ]; - }; -} \ No newline at end of file +} diff --git a/fudo/profiles/default.nix b/fudo/profiles/default.nix index fc70616..a4c5892 100644 --- a/fudo/profiles/default.nix +++ b/fudo/profiles/default.nix @@ -2,6 +2,7 @@ { imports = [ + ./common-ui.nix ./desktop.nix ./laptop.nix ./server.nix diff --git a/fudo/profiles/laptop.nix b/fudo/profiles/laptop.nix index f12e12a..dfb41fc 100644 --- a/fudo/profiles/laptop.nix +++ b/fudo/profiles/laptop.nix @@ -1,26 +1,41 @@ { config, lib, pkgs, ... }: with lib; -mkIf (config.fudo.common.profile == "laptop") { - environment.systemPackages = with pkgs; [ - acpi - upower - wpa_supplicant - ]; - networking = { - # networkmanager.enable = true; - wireless = { - enable = true; - userControlled = { +{ + options.fudo.laptop = { + use-network-manager = mkOption { + type = types.bool; + description = "Use NetworkManager instead of wpa_supplicant."; + default = false; + }; + }; + config = mkIf (config.fudo.common.profile == "laptop") { + environment.systemPackages = with pkgs; [ + acpi + upower + wpa_supplicant + ]; + + networking = if (config.fudo.laptop.use-network-manager) then { + networkmanager.enable = true; + } else { + networkmanager.enable = false; + wireless = { enable = true; - group = "wheel"; - }; - networks = { - "sea.fudo.org" = { - psk = "DahHaocheiD5"; + userControlled = { + enable = true; + group = "wheel"; + }; + networks = { + "sea.fudo.org" = { + psk = "DahHaocheiD5"; + }; + "Pixel_9041" = { + psk = "ea72027e4e6"; + }; }; }; }; }; -} \ No newline at end of file +} diff --git a/hosts/atom.nix b/hosts/atom.nix index c2787c1..f069c7c 100644 --- a/hosts/atom.nix +++ b/hosts/atom.nix @@ -33,10 +33,8 @@ in { bash.enableCompletion = true; }; - services.xserver = { - # videoDrivers = ["nvidia"]; - # displayManager.gdm.wayland = false; - }; + fudo.laptop.use-network-manager = false; + fudo.ui.console-only = true; hardware.opengl.driSupport32Bit = true; hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ]; @@ -45,5 +43,4 @@ in { hardware.pulseaudio.support32Bit = true; hardware.bluetooth.enable = true; - }