Further configs for tower
This commit is contained in:
		@@ -14,6 +14,9 @@
 | 
			
		||||
          cpu = {
 | 
			
		||||
            intel.updateMicrocode = true;
 | 
			
		||||
          };
 | 
			
		||||
          opengl.extraPackages = with pkgs; [
 | 
			
		||||
            intel-media-driver
 | 
			
		||||
          ];
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        boot = {
 | 
			
		||||
@@ -75,6 +78,9 @@
 | 
			
		||||
            enable = true;
 | 
			
		||||
            extraConfig = mkForce "";
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          fprintd.enable = true;
 | 
			
		||||
          blueman.enable = true;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        networking = {
 | 
			
		||||
@@ -101,6 +107,10 @@
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        systemd = {
 | 
			
		||||
          services = {
 | 
			
		||||
            systemd-networkd-wait-online.enable = false;
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          network = {
 | 
			
		||||
            links = {
 | 
			
		||||
              "10-wifi" = {
 | 
			
		||||
@@ -114,6 +124,32 @@
 | 
			
		||||
        my = {
 | 
			
		||||
          user = {
 | 
			
		||||
            tmphome = false;
 | 
			
		||||
            homeConfig = {
 | 
			
		||||
              services = {
 | 
			
		||||
                network-manager-applet.enable = true;
 | 
			
		||||
              };
 | 
			
		||||
 | 
			
		||||
              home = {
 | 
			
		||||
                packages = with pkgs; [
 | 
			
		||||
                  spotify
 | 
			
		||||
                ];
 | 
			
		||||
              };
 | 
			
		||||
 | 
			
		||||
              services = {
 | 
			
		||||
                blueman-applet.enable = true;
 | 
			
		||||
              };
 | 
			
		||||
 | 
			
		||||
              wayland.windowManager.sway = {
 | 
			
		||||
                config = {
 | 
			
		||||
                  input."1:1:AT_Translated_Set_2_keyboard".xkb_layout = "ie";
 | 
			
		||||
                  output.eDP-1.scale = "1";
 | 
			
		||||
                };
 | 
			
		||||
              };
 | 
			
		||||
 | 
			
		||||
              my = {
 | 
			
		||||
                gui.standalone = true;
 | 
			
		||||
              };
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          #deploy.generate.system.mode = "boot";
 | 
			
		||||
@@ -124,6 +160,8 @@
 | 
			
		||||
          firewall = {
 | 
			
		||||
            enable = true;
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
          gui.enable = true;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
@@ -14,5 +14,6 @@
 | 
			
		||||
    network = ./network.nix;
 | 
			
		||||
    pdns = ./pdns.nix;
 | 
			
		||||
    nginx-sso = ./nginx-sso.nix;
 | 
			
		||||
    gui = ./gui.nix;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								nixos/modules/gui.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								nixos/modules/gui.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
{ lib, pkgs, config, ... }:
 | 
			
		||||
let
 | 
			
		||||
  inherit (lib) optional mkIf mkDefault mkMerge;
 | 
			
		||||
  inherit (lib.my) mkBoolOpt';
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.gui;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  options.my.gui = with lib.types; {
 | 
			
		||||
    enable = mkBoolOpt' true "Whether to enable GUI system options.";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  config = mkIf cfg.enable {
 | 
			
		||||
    hardware = {
 | 
			
		||||
      opengl.enable = mkDefault true;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    services = {
 | 
			
		||||
      pipewire = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        alsa.enable = true;
 | 
			
		||||
        pulse.enable = true;
 | 
			
		||||
        jack.enable = true;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -338,7 +338,18 @@ in
 | 
			
		||||
        ];
 | 
			
		||||
      })
 | 
			
		||||
      (mkIf config.networking.networkmanager.enable {
 | 
			
		||||
        my.tmproot.persistence.config.directories = [ "/var/lib/NetworkManager" ];
 | 
			
		||||
        my.tmproot.persistence.config.directories = [
 | 
			
		||||
          "/var/lib/NetworkManager"
 | 
			
		||||
          "/etc/NetworkManager/system-connections"
 | 
			
		||||
        ];
 | 
			
		||||
      })
 | 
			
		||||
      (mkIf config.services.fprintd.enable {
 | 
			
		||||
        my.tmproot.persistence.config.directories = [
 | 
			
		||||
          {
 | 
			
		||||
            directory = "/var/lib/fprint";
 | 
			
		||||
            mode = "700";
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
      })
 | 
			
		||||
      (mkIf config.my.build.isDevVM {
 | 
			
		||||
        fileSystems = mkVMOverride {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{ lib, options, config, ... }:
 | 
			
		||||
let
 | 
			
		||||
  inherit (lib) mkIf mkDefault mkOption mkMerge mkAliasDefinitions;
 | 
			
		||||
  inherit (lib) mkIf mkDefault mkOption mkMerge mkAliasDefinitions optional;
 | 
			
		||||
  inherit (lib.my) mkBoolOpt' mkOpt' mkDefault';
 | 
			
		||||
 | 
			
		||||
  cfg = config.my.user;
 | 
			
		||||
@@ -34,7 +34,9 @@ in
 | 
			
		||||
            name = mkDefault' "dev";
 | 
			
		||||
            isNormalUser = true;
 | 
			
		||||
            uid = mkDefault 1000;
 | 
			
		||||
            extraGroups = [ "wheel" "kvm" ];
 | 
			
		||||
            extraGroups =
 | 
			
		||||
              [ "wheel" "kvm" ] ++
 | 
			
		||||
              (optional config.networking.networkmanager.enable "networkmanager");
 | 
			
		||||
            password = mkIf (cfg.passwordSecret == null) (mkDefault "hunter2");
 | 
			
		||||
            shell =
 | 
			
		||||
              let shell = cfg.homeConfig.my.shell;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user