init viridian
This commit is contained in:
		
							parent
							
								
									0949fbc9c7
								
							
						
					
					
						commit
						26815e170b
					
				
					 2 changed files with 100 additions and 0 deletions
				
			
		
							
								
								
									
										100
									
								
								nixos/viridian/configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								nixos/viridian/configuration.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,100 @@
 | 
			
		|||
# This is your system's configuration file.
 | 
			
		||||
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
 | 
			
		||||
{
 | 
			
		||||
  inputs,
 | 
			
		||||
  outputs,
 | 
			
		||||
  lib,
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  # You can import other NixOS modules here
 | 
			
		||||
  imports = [
 | 
			
		||||
    # If you want to use modules your own flake exports (from modules/nixos):
 | 
			
		||||
    # outputs.nixosModules.example
 | 
			
		||||
 | 
			
		||||
    # Or modules from other flakes (such as nixos-hardware):
 | 
			
		||||
    # inputs.hardware.nixosModules.common-cpu-amd
 | 
			
		||||
    # inputs.hardware.nixosModules.common-ssd
 | 
			
		||||
 | 
			
		||||
    # You can also split up your configuration and import pieces of it here:
 | 
			
		||||
    # ./users.nix
 | 
			
		||||
 | 
			
		||||
    # Import your generated (nixos-generate-config) hardware configuration
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  nixpkgs = {
 | 
			
		||||
    # You can add overlays here
 | 
			
		||||
    overlays = [
 | 
			
		||||
      # Add overlays your own flake exports (from overlays and pkgs dir):
 | 
			
		||||
      outputs.overlays.additions
 | 
			
		||||
      outputs.overlays.modifications
 | 
			
		||||
      outputs.overlays.unstable-packages
 | 
			
		||||
 | 
			
		||||
      # You can also add overlays exported from other flakes:
 | 
			
		||||
      # neovim-nightly-overlay.overlays.default
 | 
			
		||||
 | 
			
		||||
      # Or define it inline, for example:
 | 
			
		||||
      # (final: prev: {
 | 
			
		||||
      #   hi = final.hello.overrideAttrs (oldAttrs: {
 | 
			
		||||
      #     patches = [ ./change-hello-to-hi.patch ];
 | 
			
		||||
      #   });
 | 
			
		||||
      # })
 | 
			
		||||
    ];
 | 
			
		||||
    # Configure your nixpkgs instance
 | 
			
		||||
    config = {
 | 
			
		||||
      # Disable if you don't want unfree packages
 | 
			
		||||
      allowUnfree = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  nix = {
 | 
			
		||||
    # This will add each flake input as a registry
 | 
			
		||||
    # To make nix3 commands consistent with your flake
 | 
			
		||||
    registry = lib.mapAttrs (_: value: {flake = value;}) inputs;
 | 
			
		||||
 | 
			
		||||
    # This will additionally add your inputs to the system's legacy channels
 | 
			
		||||
    # Making legacy nix commands consistent as well, awesome!
 | 
			
		||||
    nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
 | 
			
		||||
 | 
			
		||||
    settings = {
 | 
			
		||||
      # Enable flakes and new 'nix' command
 | 
			
		||||
      experimental-features = "nix-command flakes";
 | 
			
		||||
      # Deduplicate and optimize nix store
 | 
			
		||||
      auto-optimise-store = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  networking.hostName = "viridian";
 | 
			
		||||
 | 
			
		||||
  boot.loader = {
 | 
			
		||||
    systemd-boot.enable = true;
 | 
			
		||||
    efi = {
 | 
			
		||||
        canTouchEfiVariables = true;
 | 
			
		||||
        efiSysMountPoint = "/boot/efi";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  users.users = {
 | 
			
		||||
    admin = {
 | 
			
		||||
      isNormalUser = true;
 | 
			
		||||
      extraGroups = [ "wheel" "docker" ];
 | 
			
		||||
      openssh.authorizedKeys.keyFiles = [ ../fuchsia/id_ed25519_sk.pub ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # This setups a SSH server. Very important if you're setting up a headless system.
 | 
			
		||||
  # Feel free to remove if you don't need it.
 | 
			
		||||
  services.openssh = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    # Forbid root login through SSH.
 | 
			
		||||
    permitRootLogin = "no";
 | 
			
		||||
    # Use keys only. Remove if you want to SSH using password (not recommended)
 | 
			
		||||
    passwordAuthentication = false;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
 | 
			
		||||
  system.stateVersion = "23.05";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue