{ inputs, lib, pkgs, self, ... }:{ flake.nixosModules.lily-desktop = { pkgs, ... }:{ # Use the systemd-boot EFI boot loader. boot.loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; networking.hostName = "lily-desktop"; # Define your hostname. networking.networkmanager.enable = true; services.xserver.enable = true; services.displayManager.gdm.enable = true; services.desktopManager.gnome.enable = true; # Enable CUPS to print documents. services.printing.enable = true; # Enable sound. # services.pulseaudio.enable = true; # OR services.pipewire = { enable = true; pulse.enable = true; }; # Enable touchpad support (enabled default in most desktopManager). # services.libinput.enable = true; programs = { firefox.enable = true; niri = { enable = true; package = self.packages.${pkgs.stdenv.hostPlatform.system}.niri; }; }; nixpkgs.config.allowUnfree = true; # List packages installed in system profile. # You can use https://search.nixos.org/ to find more packages (and options). environment.systemPackages = with pkgs; [ tree noctalia-shell quickshell git vim wget home-manager self.packages.${pkgs.stdenv.hostPlatform.system}.nh ]; # 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; # }; # Enable the OpenSSH daemon. services.openssh.enable = true; networking.firewall.allowedTCPPorts = [ 22 ]; # networking.firewall.allowedUDPPorts = [ ... ]; # 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; nix.settings.experimental-features = [ "nix-command" "flakes" ]; system.stateVersion = "25.11"; # Did you read the comment? }; }