adding GLaDOS disko config
This commit is contained in:
		
							parent
							
								
									032da60de7
								
							
						
					
					
						commit
						82bac88a7b
					
				
					 5 changed files with 261 additions and 17 deletions
				
			
		
							
								
								
									
										121
									
								
								configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										121
									
								
								configuration.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,121 @@
 | 
			
		|||
# Edit this configuration file to define what should be installed on
 | 
			
		||||
# your system. Help is available in the configuration.nix(5) man page, on
 | 
			
		||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
 | 
			
		||||
 | 
			
		||||
{ config, lib, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [ # Include the results of the hardware scan.
 | 
			
		||||
      ./hardware-configuration.nix
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  # Use the systemd-boot EFI boot loader.
 | 
			
		||||
  boot.loader.systemd-boot.enable = true;
 | 
			
		||||
  boot.loader.efi.canTouchEfiVariables = true;
 | 
			
		||||
 | 
			
		||||
  # networking.hostName = "nixos"; # Define your hostname.
 | 
			
		||||
  # Pick only one of the below networking options.
 | 
			
		||||
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
 | 
			
		||||
  # networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default.
 | 
			
		||||
 | 
			
		||||
  # Set your time zone.
 | 
			
		||||
  # time.timeZone = "Europe/Amsterdam";
 | 
			
		||||
 | 
			
		||||
  # Configure network proxy if necessary
 | 
			
		||||
  # networking.proxy.default = "http://user:password@proxy:port/";
 | 
			
		||||
  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
 | 
			
		||||
 | 
			
		||||
  # Select internationalisation properties.
 | 
			
		||||
  # i18n.defaultLocale = "en_US.UTF-8";
 | 
			
		||||
  # console = {
 | 
			
		||||
  #   font = "Lat2-Terminus16";
 | 
			
		||||
  #   keyMap = "us";
 | 
			
		||||
  #   useXkbConfig = true; # use xkb.options in tty.
 | 
			
		||||
  # };
 | 
			
		||||
 | 
			
		||||
  # Enable the X11 windowing system.
 | 
			
		||||
  services.xserver.enable = true;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # Enable the Plasma 5 Desktop Environment.
 | 
			
		||||
  services.xserver.displayManager.sddm.enable = true;
 | 
			
		||||
  services.xserver.desktopManager.plasma5.enable = true;
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  # Configure keymap in X11
 | 
			
		||||
  # services.xserver.xkb.layout = "us";
 | 
			
		||||
  # services.xserver.xkb.options = "eurosign:e,caps:escape";
 | 
			
		||||
 | 
			
		||||
  # Enable CUPS to print documents.
 | 
			
		||||
  # services.printing.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Enable sound.
 | 
			
		||||
  # sound.enable = true;
 | 
			
		||||
  # hardware.pulseaudio.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Enable touchpad support (enabled default in most desktopManager).
 | 
			
		||||
  # services.xserver.libinput.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Define a user account. Don't forget to set a password with ‘passwd’.
 | 
			
		||||
  # users.users.alice = {
 | 
			
		||||
  #   isNormalUser = true;
 | 
			
		||||
  #   extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
 | 
			
		||||
  #   packages = with pkgs; [
 | 
			
		||||
  #     firefox
 | 
			
		||||
  #     tree
 | 
			
		||||
  #   ];
 | 
			
		||||
  # };
 | 
			
		||||
 | 
			
		||||
  # List packages installed in system profile. To search, run:
 | 
			
		||||
  # $ nix search wget
 | 
			
		||||
  # environment.systemPackages = with pkgs; [
 | 
			
		||||
  #   vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
 | 
			
		||||
  #   wget
 | 
			
		||||
  # ];
 | 
			
		||||
 | 
			
		||||
  # Some programs need SUID wrappers, can be configured further or are
 | 
			
		||||
  # started in user sessions.
 | 
			
		||||
  # programs.mtr.enable = true;
 | 
			
		||||
  # programs.gnupg.agent = {
 | 
			
		||||
  #   enable = true;
 | 
			
		||||
  #   enableSSHSupport = true;
 | 
			
		||||
  # };
 | 
			
		||||
 | 
			
		||||
  # List services that you want to enable:
 | 
			
		||||
 | 
			
		||||
  # Enable the OpenSSH daemon.
 | 
			
		||||
  # services.openssh.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Open ports in the firewall.
 | 
			
		||||
  # networking.firewall.allowedTCPPorts = [ ... ];
 | 
			
		||||
  # networking.firewall.allowedUDPPorts = [ ... ];
 | 
			
		||||
  # Or disable the firewall altogether.
 | 
			
		||||
  # networking.firewall.enable = false;
 | 
			
		||||
 | 
			
		||||
  # Copy the NixOS configuration file and link it from the resulting system
 | 
			
		||||
  # (/run/current-system/configuration.nix). This is useful in case you
 | 
			
		||||
  # accidentally delete configuration.nix.
 | 
			
		||||
  # system.copySystemConfiguration = true;
 | 
			
		||||
 | 
			
		||||
  # This option defines the first version of NixOS you have installed on this particular machine,
 | 
			
		||||
  # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
 | 
			
		||||
  #
 | 
			
		||||
  # Most users should NEVER change this value after the initial install, for any reason,
 | 
			
		||||
  # even if you've upgraded your system to a new NixOS release.
 | 
			
		||||
  #
 | 
			
		||||
  # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
 | 
			
		||||
  # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
 | 
			
		||||
  # to actually do that.
 | 
			
		||||
  #
 | 
			
		||||
  # This value being lower than the current NixOS release does NOT mean your system is
 | 
			
		||||
  # out of date, out of support, or vulnerable.
 | 
			
		||||
  #
 | 
			
		||||
  # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
 | 
			
		||||
  # and migrated your data accordingly.
 | 
			
		||||
  #
 | 
			
		||||
  # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
 | 
			
		||||
  system.stateVersion = "24.05"; # Did you read the comment?
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										71
									
								
								disko/GLaDOS/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								disko/GLaDOS/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,71 @@
 | 
			
		|||
{
 | 
			
		||||
  disko.devices = {
 | 
			
		||||
    disk = {
 | 
			
		||||
      sda1 = {
 | 
			
		||||
        type = "disk";
 | 
			
		||||
        device = "/dev/disk/by-path/pci-0000:06:00.0-ata-6";
 | 
			
		||||
        content = {
 | 
			
		||||
          type = "gpt";
 | 
			
		||||
          partitions = {
 | 
			
		||||
            ESP = {
 | 
			
		||||
              size = "512M";
 | 
			
		||||
              type = "EF00";
 | 
			
		||||
              content = {
 | 
			
		||||
                type = "filesystem";
 | 
			
		||||
                format = "vfat";
 | 
			
		||||
                mountpoint = "/boot";
 | 
			
		||||
                mountOptions = [
 | 
			
		||||
                  "defaults"
 | 
			
		||||
                ];
 | 
			
		||||
              };
 | 
			
		||||
            };
 | 
			
		||||
            luks = {
 | 
			
		||||
              size = "100%";
 | 
			
		||||
              content = {
 | 
			
		||||
                type = "luks";
 | 
			
		||||
                name = "crypted";
 | 
			
		||||
                extraOpenArgs = [];
 | 
			
		||||
                settings = {
 | 
			
		||||
                  # if you want to use the key for interactive login be sure there is no trailing newline
 | 
			
		||||
                  # for example use `echo -n "password" > /tmp/secret.key`
 | 
			
		||||
                  #keyFile = "/tmp/secret.key";
 | 
			
		||||
                  allowDiscards = true;
 | 
			
		||||
                };
 | 
			
		||||
                #additionalKeyFiles = ["/tmp/additionalSecret.key"];
 | 
			
		||||
                content = {
 | 
			
		||||
                  type = "lvm_pv";
 | 
			
		||||
                  vg = "pool";
 | 
			
		||||
                };
 | 
			
		||||
              };
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    lvm_vg = {
 | 
			
		||||
      pool = {
 | 
			
		||||
        type = "lvm_vg";
 | 
			
		||||
        lvs = {
 | 
			
		||||
          swap = {
 | 
			
		||||
            size = "16G";
 | 
			
		||||
            content = {
 | 
			
		||||
              type = "swap";
 | 
			
		||||
              resumeDevice = true; # resume from hiberation from this device
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
          root = {
 | 
			
		||||
            size = "100%FREE";
 | 
			
		||||
            content = {
 | 
			
		||||
              type = "filesystem";
 | 
			
		||||
              format = "bcachefs";
 | 
			
		||||
              mountpoint = "/";
 | 
			
		||||
              mountOptions = [
 | 
			
		||||
                "defaults"
 | 
			
		||||
              ];
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										39
									
								
								hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [ (modulesPath + "/installer/scan/not-detected.nix")
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
 | 
			
		||||
  boot.initrd.kernelModules = [ "dm-snapshot" ];
 | 
			
		||||
  boot.kernelModules = [ ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" =
 | 
			
		||||
    { device = "UUID=166dc8d8-b77f-43fe-8bee-a0fc5b26aeb5";
 | 
			
		||||
      fsType = "bcachefs";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/743A-083A";
 | 
			
		||||
      fsType = "vfat";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  swapDevices =
 | 
			
		||||
    [ { device = "/dev/disk/by-uuid/3d300fda-35d4-4bdb-ac89-21b0f29b167c"; }
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
  # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
			
		||||
  # still possible to use this option, but it's recommended to use it in conjunction
 | 
			
		||||
  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
 | 
			
		||||
  networking.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
			
		||||
  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -24,11 +24,25 @@
 | 
			
		|||
 | 
			
		||||
    ../../desktop
 | 
			
		||||
 | 
			
		||||
    ../../../disko/GLaDOS
 | 
			
		||||
 | 
			
		||||
    # Import your generated (nixos-generate-config) hardware configuration
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  boot.loader.systemd-boot.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Lanzaboote currently replaces the systemd-boot module.
 | 
			
		||||
  # This setting is usually set to true in configuration.nix
 | 
			
		||||
  # generated at installation time. So we force it to false
 | 
			
		||||
  # for now.
 | 
			
		||||
  # boot.loader.systemd-boot.enable = lib.mkForce false;
 | 
			
		||||
 | 
			
		||||
  # boot.lanzaboote = {
 | 
			
		||||
  #   enable = true;
 | 
			
		||||
  #   pkiBundle = "/etc/secureboot";
 | 
			
		||||
  # };
 | 
			
		||||
 | 
			
		||||
  boot.loader.systemd-boot.configurationLimit = 3;
 | 
			
		||||
  boot.loader.efi.canTouchEfiVariables = true;
 | 
			
		||||
  boot.supportedFilesystems = ["bcachefs"];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,24 +8,24 @@
 | 
			
		|||
    [ (modulesPath + "/installer/scan/not-detected.nix")
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
 | 
			
		||||
  boot.initrd.kernelModules = [ ];
 | 
			
		||||
  boot.kernelModules = [ "kvm-amd" ];
 | 
			
		||||
  boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
 | 
			
		||||
  boot.initrd.kernelModules = [ "dm-snapshot" ];
 | 
			
		||||
  boot.kernelModules = [ ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/14883cd2-72b8-4ab3-8cbf-d5dca40e036a";
 | 
			
		||||
      fsType = "ext4";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" =
 | 
			
		||||
    { device = "/dev/disk/by-uuid/BA43-C24E";
 | 
			
		||||
      fsType = "vfat";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
  swapDevices =
 | 
			
		||||
    [ { device = "/dev/disk/by-uuid/cffe625e-1dac-45bd-a744-303baa09affd"; }
 | 
			
		||||
    ];
 | 
			
		||||
#   fileSystems."/" =
 | 
			
		||||
#     { device = "UUID=166dc8d8-b77f-43fe-8bee-a0fc5b26aeb5";
 | 
			
		||||
#       fsType = "bcachefs";
 | 
			
		||||
#     };
 | 
			
		||||
#
 | 
			
		||||
#   fileSystems."/boot" =
 | 
			
		||||
#     { device = "/dev/disk/by-uuid/743A-083A";
 | 
			
		||||
#       fsType = "vfat";
 | 
			
		||||
#     };
 | 
			
		||||
#
 | 
			
		||||
#   swapDevices =
 | 
			
		||||
#     [ { device = "/dev/disk/by-uuid/3d300fda-35d4-4bdb-ac89-21b0f29b167c"; }
 | 
			
		||||
#     ];
 | 
			
		||||
 | 
			
		||||
  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
 | 
			
		||||
  # (the default) this is the recommended approach. When using systemd-networkd it's
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +33,6 @@
 | 
			
		|||
  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
 | 
			
		||||
  networking.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
 | 
			
		||||
  # networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
 | 
			
		||||
 | 
			
		||||
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
			
		||||
  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue