diff options
| author | seth <[email protected]> | 2023-03-08 02:57:57 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-03-08 15:32:06 -0500 |
| commit | fa7a407bda1b26b413702287f227629af0798f55 (patch) | |
| tree | 38cc9ae1791939a0f92a3f03d37a0249e62cdf1a /hosts | |
| parent | 729db074dc1b93cab10b43119197c8e02a452405 (diff) | |
another major refactor
Diffstat (limited to 'hosts')
| -rw-r--r-- | hosts/common/default.nix | 25 | ||||
| -rw-r--r-- | hosts/common/desktop/default.nix | 28 | ||||
| -rw-r--r-- | hosts/common/desktop/gnome.nix | 24 | ||||
| -rw-r--r-- | hosts/common/desktop/plasma.nix | 14 | ||||
| -rw-r--r-- | hosts/common/documentation.nix | 7 | ||||
| -rw-r--r-- | hosts/common/fonts.nix | 27 | ||||
| -rw-r--r-- | hosts/common/hardware/default.nix | 3 | ||||
| -rw-r--r-- | hosts/common/hardware/nvidia.nix | 24 | ||||
| -rw-r--r-- | hosts/common/locale.nix | 13 | ||||
| -rw-r--r-- | hosts/common/packages.nix | 36 | ||||
| -rw-r--r-- | hosts/common/security.nix | 23 | ||||
| -rw-r--r-- | hosts/common/systemd.nix | 16 | ||||
| -rw-r--r-- | hosts/common/users.nix | 19 | ||||
| -rw-r--r-- | hosts/common/virtualisation.nix | 11 | ||||
| -rw-r--r-- | hosts/default.nix | 32 | ||||
| -rw-r--r-- | hosts/glados-wsl/default.nix | 29 | ||||
| -rw-r--r-- | hosts/glados/default.nix | 21 |
17 files changed, 77 insertions, 275 deletions
diff --git a/hosts/common/default.nix b/hosts/common/default.nix deleted file mode 100644 index 25d08d3..0000000 --- a/hosts/common/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -_: { - imports = [ - ./documentation.nix - ./desktop - ./fonts.nix - ./locale.nix - ./packages.nix - ./security.nix - ./systemd.nix - ./users.nix - ]; - - nix = { - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; - settings = { - auto-optimise-store = true; - warn-dirty = false; - }; - }; - # config.services.kmscon.enable = true; -} diff --git a/hosts/common/desktop/default.nix b/hosts/common/desktop/default.nix deleted file mode 100644 index 68ac655..0000000 --- a/hosts/common/desktop/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - lib, - desktop, - ... -}: let - gui = desktop != ""; -in { - imports = - [] - ++ ( - if (desktop == "gnome") - then [./gnome.nix] - else [] - ) - ++ ( - if (desktop == "plasma") - then [./plasma.nix] - else [] - ); - - environment.noXlibs = lib.mkForce false; - programs = { - dconf.enable = gui; - xwayland.enable = gui; - }; - services.xserver.enable = gui; - xdg.portal.enable = gui; -} diff --git a/hosts/common/desktop/gnome.nix b/hosts/common/desktop/gnome.nix deleted file mode 100644 index 04e32e1..0000000 --- a/hosts/common/desktop/gnome.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - environment = { - gnome.excludePackages = with pkgs; [ - epiphany - gnome-tour - ]; - systemPackages = with pkgs; [ - adw-gtk3 - blackbox-terminal - ]; - }; - - services.xserver = { - displayManager.gdm = { - enable = true; - wayland = lib.mkForce true; - }; - desktopManager.gnome.enable = true; - }; -} diff --git a/hosts/common/desktop/plasma.nix b/hosts/common/desktop/plasma.nix deleted file mode 100644 index bc38720..0000000 --- a/hosts/common/desktop/plasma.nix +++ /dev/null @@ -1,14 +0,0 @@ -{pkgs, ...}: { - services.xserver = { - displayManager.sddm.enable = true; - desktopManager.plasma5 = { - enable = true; - excludePackages = with pkgs.libsForQt5; [ - khelpcenter - plasma-browser-integration - print-manager - ]; - useQtScaling = true; - }; - }; -} diff --git a/hosts/common/documentation.nix b/hosts/common/documentation.nix deleted file mode 100644 index bd22316..0000000 --- a/hosts/common/documentation.nix +++ /dev/null @@ -1,7 +0,0 @@ -{pkgs, ...}: { - environment.systemPackages = with pkgs; [man-pages man-pages-posix]; - documentation = { - dev.enable = true; - man.enable = true; - }; -} diff --git a/hosts/common/fonts.nix b/hosts/common/fonts.nix deleted file mode 100644 index 698b4fb..0000000 --- a/hosts/common/fonts.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - pkgs, - desktop, - ... -}: -if desktop != "" -then { - fonts = { - enableDefaultFonts = true; - fonts = with pkgs; [ - corefonts - fira-code - (nerdfonts.override {fonts = ["FiraCode"];}) - noto-fonts - noto-fonts-extra - noto-fonts-emoji - noto-fonts-cjk-sans - ]; - fontconfig.defaultFonts = { - serif = ["Noto Serif"]; - sansSerif = ["Noto Sans"]; - emoji = ["Noto Color Emoji"]; - monospace = ["Fira Code"]; - }; - }; -} -else {} diff --git a/hosts/common/hardware/default.nix b/hosts/common/hardware/default.nix deleted file mode 100644 index be395d2..0000000 --- a/hosts/common/hardware/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -_: { - hardware.enableAllFirmware = true; -} diff --git a/hosts/common/hardware/nvidia.nix b/hosts/common/hardware/nvidia.nix deleted file mode 100644 index 99f7d6e..0000000 --- a/hosts/common/hardware/nvidia.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - config, - pkgs, - ... -}: { - hardware = { - nvidia = { - package = config.boot.kernelPackages.nvidiaPackages.stable; - modesetting.enable = true; - # nvidiaPersistenced = true; - # powerManagement.enable = true; - }; - opengl = { - enable = true; - # make steam work - driSupport32Bit = true; - extraPackages = with pkgs; [ - vaapiVdpau - ]; - }; - }; - - services.xserver.videoDrivers = ["nvidia"]; -} diff --git a/hosts/common/locale.nix b/hosts/common/locale.nix deleted file mode 100644 index 45589ef..0000000 --- a/hosts/common/locale.nix +++ /dev/null @@ -1,13 +0,0 @@ -_: { - i18n = { - supportedLocales = [ - "en_US.UTF-8/UTF-8" - ]; - defaultLocale = "en_US.UTF-8"; - }; - - time = { - hardwareClockInLocalTime = true; - timeZone = "America/New_York"; - }; -} diff --git a/hosts/common/packages.nix b/hosts/common/packages.nix deleted file mode 100644 index 3a4d2b2..0000000 --- a/hosts/common/packages.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - pkgs, - desktop, - ... -}: let - gui = desktop != ""; - pinentry = with pkgs; - if desktop == "gnome" - then pinentry-gnome - else pinentry-curses; -in { - environment.systemPackages = with pkgs; - [ - neofetch - python311 - ] - ++ [pinentry]; - - programs = { - firefox.enable = - if gui - then true - else false; - git.enable = true; - gnupg = { - agent = { - enable = true; - pinentryFlavor = - if desktop == "gnome" - then "gnome3" - else "curses"; - }; - }; - vim.defaultEditor = true; - }; -} diff --git a/hosts/common/security.nix b/hosts/common/security.nix deleted file mode 100644 index 260538a..0000000 --- a/hosts/common/security.nix +++ /dev/null @@ -1,23 +0,0 @@ -{wsl, ...}: { - security = { - apparmor.enable = !wsl; - audit.enable = !wsl; - auditd.enable = !wsl; - rtkit.enable = true; - sudo = { - execWheelOnly = true; - extraRules = [ - { - users = ["root"]; - groups = ["root"]; - commands = ["ALL"]; - } - { - users = ["seth"]; - commands = ["ALL"]; - } - ]; - }; - polkit.enable = true; - }; -} diff --git a/hosts/common/systemd.nix b/hosts/common/systemd.nix deleted file mode 100644 index 86fea4a..0000000 --- a/hosts/common/systemd.nix +++ /dev/null @@ -1,16 +0,0 @@ -{wsl, ...}: { - services = { - journald.extraConfig = '' - MaxRetentionSec=1w - ''; - resolved = { - enable = !wsl; - dnssec = "allow-downgrade"; - extraConfig = '' - [Resolve] - DNS=1.1.1.1 1.0.0.1 - DNSOverTLS=yes - ''; - }; - }; -} diff --git a/hosts/common/users.nix b/hosts/common/users.nix deleted file mode 100644 index 6ca24c4..0000000 --- a/hosts/common/users.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - config, - pkgs, - ... -}: { - users = { - defaultUserShell = pkgs.bash; - mutableUsers = false; - - users = { - root = { - home = "/root"; - uid = config.ids.uids.root; - group = "root"; - initialHashedPassword = "***REMOVED***"; - }; - }; - }; -} diff --git a/hosts/common/virtualisation.nix b/hosts/common/virtualisation.nix deleted file mode 100644 index f78ca1d..0000000 --- a/hosts/common/virtualisation.nix +++ /dev/null @@ -1,11 +0,0 @@ -{pkgs, ...}: { - virtualisation = { - podman = { - enable = true; - enableNvidia = true; - extraPackages = with pkgs; [podman-compose]; - autoPrune.enable = true; - }; - oci-containers.backend = "podman"; - }; -} diff --git a/hosts/default.nix b/hosts/default.nix new file mode 100644 index 0000000..8aff79e --- /dev/null +++ b/hosts/default.nix @@ -0,0 +1,32 @@ +{inputs}: +with inputs; let + common = { + system = "x86_64-linux"; + stateVersion = "23.05"; + pkgs = nixpkgsUnstable; + modules = with inputs; [ + home-manager.nixosModules.home-manager + nur.nixosModules.nur + ]; + }; +in { + glados = { + modules = + common.modules + ++ [ + nixos-hardware.nixosModules.common-cpu-amd-pstate + nixos-hardware.nixosModules.common-gpu-nvidia-nonprime + nixos-hardware.nixosModules.common-pc-ssd + lanzaboote.nixosModules.lanzaboote + ]; + inherit (common) system stateVersion pkgs; + }; + glados-wsl = { + modules = + common.modules + ++ [ + nixos-wsl.nixosModules.wsl + ]; + inherit (common) system stateVersion pkgs; + }; +} diff --git a/hosts/glados-wsl/default.nix b/hosts/glados-wsl/default.nix index af6e712..cb0854e 100644 --- a/hosts/glados-wsl/default.nix +++ b/hosts/glados-wsl/default.nix @@ -1,5 +1,32 @@ -{modulesPath, ...}: { +{ + lib, + modulesPath, + ... +}: { imports = [ (modulesPath + "/profiles/minimal.nix") + ../../profiles/nixos + ../../users/seth ]; + + wsl = { + enable = true; + defaultUser = "seth"; + nativeSystemd = true; + wslConf.network = { + hostname = "glados-wsl"; + generateResolvConf = true; + }; + startMenuLaunchers = false; + interop.includePath = false; + }; + + services.resolved.enable = lib.mkForce false; + security = { + apparmor.enable = lib.mkForce false; + audit.enable = lib.mkForce false; + auditd.enable = lib.mkForce false; + }; + + system.stateVersion = "23.05"; } diff --git a/hosts/glados/default.nix b/hosts/glados/default.nix index 0b6d7c5..e8b083e 100644 --- a/hosts/glados/default.nix +++ b/hosts/glados/default.nix @@ -1,14 +1,25 @@ -_: { +{ + config, + home-manager, + ... +}: { imports = [ - ../common/hardware - ../common/hardware/nvidia.nix - ../common/virtualisation.nix + ../../profiles/desktop/gnome + ../../profiles/hardware/nvidia.nix + ../../profiles/virtualisation.nix + ../../users/seth ./boot.nix ./hardware-configuration.nix ./network.nix ./services.nix ]; + home-manager.users.seth = { + imports = [ + ../../users/seth/desktop/gnome + ]; + }; + environment.etc."environment".text = '' LIBVA_DRIVER_NAME=vdpau ''; @@ -26,4 +37,6 @@ _: { swapDevices = 1; memoryPercent = 50; }; + + system.stateVersion = "23.05"; } |
