[Tibo-NixTop] Add host
This commit is contained in:
		
							parent
							
								
									7d520d8cec
								
							
						
					
					
						commit
						5a6036dd62
					
				
					 3 changed files with 235 additions and 0 deletions
				
			
		
							
								
								
									
										193
									
								
								nixos/hosts/Tibo-NixTop/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								nixos/hosts/Tibo-NixTop/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,193 @@ | |||
| # 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 | ||||
|   ]; | ||||
| 
 | ||||
|   sisyphus = { | ||||
|     desktop.hyprland.enable = true; | ||||
| 
 | ||||
|     hardware = { | ||||
|       eid.enable = true; | ||||
|       nvidia = { | ||||
|         enable = true; | ||||
|         model = "Quadro T2000"; | ||||
|       }; | ||||
|       yubikey.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     networking = { | ||||
|       networkmanager.enable = true; | ||||
|       openconnect-sso.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     nix = { | ||||
|       flakes.enable = true; | ||||
|       gc.onFull.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     programs = { | ||||
|       direnv.enable = true; | ||||
|       home-manager.enable = true; | ||||
|       sops.enable = true; | ||||
|       ssh.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     services = { | ||||
|       pipewire.enable = true; | ||||
|       tailscale.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     users.tdpeuter.enable = true; | ||||
| 
 | ||||
|     virtualisation = { | ||||
|       docker.enable = true; | ||||
|       virtualbox.enable = true; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   boot = { | ||||
|     initrd = { | ||||
|       # Use EFI and YubiKey | ||||
|       kernelModules = [ "vfat" "nls_cp437" "nls_iso8859-1" "usbhid" ]; | ||||
| 
 | ||||
|       luks = { | ||||
|         # Enable YubiKey PBA | ||||
|         yubikeySupport = true; | ||||
|         devices."encrypted".yubikey = { | ||||
|           slot = 2; | ||||
|           twoFactor = false; | ||||
|           gracePeriod = 10; | ||||
|           keyLength = 64; | ||||
|           saltLength = 16; | ||||
|           storage.device = "/dev/nvme0n1p1"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     loader = { | ||||
|       # Use the systemd-boot EFI boot loader. | ||||
|       systemd-boot.enable = true; | ||||
|       efi.canTouchEfiVariables = true; | ||||
|     }; | ||||
| 
 | ||||
|     # Use latest kernel. | ||||
|     kernelPackages = pkgs.linuxPackages_latest; | ||||
|   }; | ||||
| 
 | ||||
|   hardware.bluetooth = { | ||||
|     enable = true; | ||||
|     powerOnBoot = false; | ||||
|   }; | ||||
| 
 | ||||
|   programs.zsh.enable = true; | ||||
| 
 | ||||
|   services = { | ||||
|     auto-cpufreq = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         battery = { | ||||
|           governor = "powersave"; | ||||
|           turbo = "never"; | ||||
|         }; | ||||
|         charger = { | ||||
|           governor = "performance"; | ||||
|           turbo = "auto"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     logind = { | ||||
|       # Handle the laptop lid switch as follows: | ||||
|       lidSwitch = "hybrid-sleep"; | ||||
|       lidSwitchExternalPower = "lock"; | ||||
|       lidSwitchDocked = "ignore"; | ||||
| 
 | ||||
|       # Handle the power key | ||||
|       powerKey = "suspend"; | ||||
|     }; | ||||
| 
 | ||||
| 
 | ||||
|     power-profiles-daemon.enable = false; | ||||
| 
 | ||||
|     thermald.enable = true; | ||||
| 
 | ||||
|     xserver = { | ||||
|       # Keyboard layout | ||||
|       xkb = { | ||||
|         layout = "us"; | ||||
|         variant = "altgr-intl"; | ||||
|       }; | ||||
|     }; | ||||
| 
 | ||||
|     # Touchpad | ||||
|     libinput.enable = true; | ||||
|   }; | ||||
| 
 | ||||
|   networking = { | ||||
|     hostName = "Tibo-NixTop"; # Define your hostname. | ||||
|   }; | ||||
| 
 | ||||
|   # Set your time zone. | ||||
|   time.timeZone = "Europe/Brussels"; | ||||
| 
 | ||||
|   # Select internationalisation properties. | ||||
|   i18n = { | ||||
|     defaultLocale = "en_GB.UTF-8"; # LANG | ||||
|     extraLocaleSettings.LC_TIME = "nl_BE.UTF-8"; | ||||
|   }; | ||||
| 
 | ||||
|   console = { | ||||
|   #   font = "Lat2-Terminus16"; | ||||
|   #   keyMap = "us"; | ||||
|     useXkbConfig = true; # use xkb.options in tty. | ||||
|   }; | ||||
| 
 | ||||
|   # Enable CUPS to print documents. | ||||
|   # services.printing.enable = true; | ||||
| 
 | ||||
|   # Enable touchpad support (enabled default in most desktopManager). | ||||
|   # services.libinput.enable = true; | ||||
| 
 | ||||
|   # List packages installed in system profile. | ||||
|   # You can use https://search.nixos.org/ to find more packages (and options). | ||||
|   environment = { | ||||
|     # Enabled to allow installed binaries in ~/.local/bin | ||||
|     localBinInPath = true; | ||||
| 
 | ||||
|     systemPackages = with pkgs; [ | ||||
|       git | ||||
|       vim-full # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. | ||||
|       w3m | ||||
|       wget | ||||
|       zenith-nvidia | ||||
|     ]; | ||||
|   }; | ||||
| 
 | ||||
|   # 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 = "25.05"; # Did you read the comment? | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue