All checks were successful
		
		
	
	Run nix flake check / flake-check (push) Successful in 2m38s
				
			
		
			
				
	
	
		
			149 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   pkgs,
 | |
|   ...
 | |
| }:
 | |
| 
 | |
| {
 | |
|   imports = [ ./hardware-configuration.nix ];
 | |
| 
 | |
|   # Bootloader stuff
 | |
|   boot.kernelParams = [
 | |
|     "quiet"
 | |
|     "splash"
 | |
|     "rd.systemd.show_status=false"
 | |
|     "acpi_backlight=native"
 | |
|     "video=efifb:nobgrt"
 | |
|     "loglevel=3"
 | |
|     "rd.udev.log_level=3"
 | |
|   ];
 | |
|   boot.kernelPackages = pkgs.linuxPackages_latest;
 | |
| 
 | |
|   boot.loader.systemd-boot = {
 | |
|     enable = true;
 | |
|     configurationLimit = 3;
 | |
|   };
 | |
| 
 | |
|   boot.loader.efi = {
 | |
|     canTouchEfiVariables = true;
 | |
|   };
 | |
| 
 | |
|   boot.initrd.systemd.enable = true;
 | |
|   boot.plymouth = {
 | |
|     enable = true;
 | |
|     themePackages = with pkgs; [ catppuccin-plymouth ];
 | |
|     theme = "catppuccin-macchiato";
 | |
|     extraConfig = ''
 | |
|       UseFirmwareBackground=false
 | |
|     '';
 | |
|   };
 | |
| 
 | |
|   # Networking stuff
 | |
|   networking.hostName = "magicman"; # Define your hostname.
 | |
|   networking.networkmanager.enable = true;
 | |
|   networking.nftables.enable = true;
 | |
|   networking.firewall = {
 | |
|     enable = true;
 | |
|   };
 | |
| 
 | |
|   # Set time stuff
 | |
|   time.timeZone = "Europe/Oslo";
 | |
| 
 | |
|   hardware = {
 | |
|     enableRedistributableFirmware = true;
 | |
|     enableAllFirmware = true;
 | |
| 
 | |
|     # Enable opengl
 | |
|     graphics = {
 | |
|       enable = true;
 | |
|       extraPackages = with pkgs; [
 | |
|         intel-media-driver
 | |
|         vaapiVdpau
 | |
|         libvdpau-va-gl
 | |
|       ];
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   # Bluetooth stuff
 | |
|   services.blueman.enable = true;
 | |
|   hardware.bluetooth.enable = true;
 | |
|   services.pipewire.wireplumber.extraConfig = {
 | |
|     "monitor.bluez.properties" = {
 | |
|       "bluez5.enable-sbc-xq" = true;
 | |
|       "bluez5.enable-msbc" = true;
 | |
|       "bluez5.enable-hw-volume" = true;
 | |
|       "bluez5.roles" = [
 | |
|         "hsp_hs"
 | |
|         "hsp_ag"
 | |
|         "hfp_hf"
 | |
|         "hfp_ag"
 | |
|       ];
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   # Setup hyprland
 | |
|   services.xserver.enable = true;
 | |
|   services.displayManager.gdm.wayland = {
 | |
|     gdm.wayland = true;
 | |
|     lightdm.enable = false;
 | |
|   };
 | |
|   programs.hyprland = {
 | |
|     enable = true;
 | |
|     withUWSM = true;
 | |
|     xwayland.enable = true;
 | |
|     portalPackage = pkgs.xdg-desktop-portal-hyprland;
 | |
|   };
 | |
| 
 | |
|   # TRIM
 | |
|   services.fstrim.enable = true;
 | |
| 
 | |
|   # Setup common XDG env vars
 | |
|   environment.sessionVariables = rec {
 | |
|     XDG_CACHE_HOME = "$HOME/.cache";
 | |
|     XDG_CONFIG_HOME = "$HOME/.config";
 | |
|     XDG_DATA_HOME = "$HOME/.local/share";
 | |
|     XDG_STATE_HOME = "$HOME/.local/state";
 | |
|     XDG_BIN_HOME = "$HOME/.local/bin";
 | |
|     PATH = [ "${XDG_BIN_HOME}" ];
 | |
|   };
 | |
| 
 | |
|   # Setup xdg portal
 | |
|   xdg.portal = {
 | |
|     enable = true;
 | |
|     xdgOpenUsePortal = true;
 | |
|     extraPortals = (
 | |
|       with pkgs;
 | |
|       [
 | |
|         # xdg-desktop-portal-hyprland
 | |
|         xdg-desktop-portal-gtk
 | |
|       ]
 | |
|     );
 | |
|   };
 | |
| 
 | |
|   programs.steam.enable = true;
 | |
| 
 | |
|   # Enable flakes
 | |
|   nix.settings.experimental-features = [
 | |
|     "nix-command"
 | |
|     "flakes"
 | |
|   ];
 | |
|   nix.settings.trusted-users = [
 | |
|     "root"
 | |
|     "torjus"
 | |
|   ];
 | |
| 
 | |
|   nixpkgs.config.allowUnfree = true;
 | |
|   # Install system-wide packages
 | |
|   environment.systemPackages = with pkgs; [
 | |
|     vim
 | |
|     wget
 | |
|     curl
 | |
|     git
 | |
|   ];
 | |
| 
 | |
|   # 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 = "23.11"; # Did you read the comment?
 | |
| }
 |