Programs.regreet.cursortheme does not exist

I do not have regreet in my flake as I use lightdm. This was working previously until I tried to do an update and now this is being pulled in for some reason and is blocking my update.

Please share your config, including the lockfile, and the exact full error.

Here are the files in my /etc/nixos folder:

flake.nix

{
  description = "Nixos config flake";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
    home-manager = {
      url = "github:nix-community/home-manager/release-24.05";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    stylix = {
      url = "github:danth/stylix";
      inputs = {
        nixpkgs.follows = "nixpkgs";
        home-manager.follows = "home-manager";
      };
    };
  };

  outputs = { self, nixpkgs, home-manager, stylix, ... }@inputs: {
    nixpkgs.config.allowUnfree = true;
    nixosConfigurations.default = nixpkgs.lib.nixosSystem {
      specialArgs = {inherit inputs;};
      system = "x86_64-linux";
      modules = [
        ./hosts/default/configuration.nix
        inputs.home-manager.nixosModules.default
          {
            home-manager.useGlobalPkgs = true;
            home-manager.useUserPackages = true;
            home-manager.users.neofax = import ./hosts/default/home.nix;
            home-manager.extraSpecialArgs = {inherit inputs self;};
          }
        inputs.stylix.nixosModules.stylix
      ];
    };
  };
}

configuration.nix

{ config, lib, pkgs, inputs, ... }:

{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
      ./xfce.nix
      inputs.home-manager.nixosModules.default
    ];

  # boot.kernelPackages = pkgs.linuxPackages_latest;

  # Use the systemd-boot EFI boot loader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  networking.hostName = "nixie"; # Define your hostname.
  networking.networkmanager.enable = true;
  # networking.proxy.default = "http://user:password@proxy:port/";
  # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";

  time.timeZone = "America/New_York";

  # Select internationalisation properties.
  i18n.defaultLocale = "en_US.UTF-8";
  console = {
    font = "Lat2-Terminus16";
  #  keyMap = "us";
    useXkbConfig = true; # use xkb.options in tty.
  };

  hardware.bluetooth.enable = true;
  hardware.bluetooth.powerOnBoot = true;
  virtualisation.virtualbox.guest.enable = true;
  # virtualisation.virtualbox.guest.x11 = true;
  security.rtkit.enable = true;
  services = {
    blueman.enable = true;
    xserver = {
      enable = true;
      layout = "us";
      xkbOptions = "caps:super, grp:shifts_toggle, parens:swap_brackets";
      exportConfiguration = true;
      displayManager = {
        lightdm.enable = true;
        defaultSession = "xfce";
      };
      xkb.layout = "us";
      desktopManager.xfce.enable = true;
      windowManager.qtile.enable = true;
    };
    printing.enable = true;
    pipewire = {
      enable = true;
      alsa.enable = true;
      alsa.support32Bit = true;
      pulse.enable = true;
      jack.enable = true;
      wireplumber.enable = true;
      wireplumber.configPackages = [
        (pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/10-bluez.conf" ''
          monitor.bluez.properties = {
            bluez5.roles = [ a2dp_sink a2dp_source bap_sink bap_source hsp_hs hsp_ag hfp_hf hfp_ag ]
            bluez5.codecs = [ sbc sbc_xq aac ]
            bluez5.enable-sbc-xq = true
            bluez5.hfphsp-backend = "native"
          }
        '')
      ];
    };
    openssh.enable = true;

  };
  
  users.users.neofax = {
    isNormalUser = true;
    extraGroups = [ 
      "audio"
      "networkmanager" 
      "sshd" 
      "video" 
      "vboxsf"
      "wheel" 
    ];
    shell = pkgs.zsh;
  };

  users.defaultUserShell = pkgs.zsh;
  # environment.shells = with pkgs; [ zsh ];

  programs = {
    mtr.enable = true;
    gnupg.agent = {
      enable = true;
      enableSSHSupport = true;
    };

    zsh.enable = true;
  };

  #----=[ System-Wide Packages ]=----#
  environment.systemPackages = with pkgs; [
    bacon
    bat
    borgbackup
    bottom
    brave
    btop
    cachix
    cargo
    cargo-edit
    cargo-feature
    cargo-info
    cargo-license
    cargo-tarpaulin
    choose
    clippy
    cmatrix
    colorpanes
    cowsay
    delta
    deno
    dig
    direnv
    diskonaut
    duf
    elinks
    eza
    fastfetch
    fd
    fdupes
    ffmpeg
    figlet
    file
    firefox
    flatpak
    fontconfig
    freetype
    fuse-common
    fx
    fzf
    gcc
    gcc14
    gdu
    gh
    git
    gnugrep
    gnumake
    gparted
    graalvm-ce
    graphviz
    gum
    hdparm
    hexyl
    htop
    httpie
    hwinfo
    iamb
    imagemagick
    ipfetch
    jpegoptim
    jq
    keychain
    killall
    less
    libverto
    lightdm
    litecli
    lolcat
    luarocks
    lychee
    mtr
    nano
    ncdu
    neofetch
    neovim
    nerdfonts
    nfs-utils
    ninja
    nix-direnv
    nix-init
    nixpkgs-review
    nix-search-cli
    nix-tree
    nodejs
    npm-check-updates
    nvd
    onefetch
    ookla-speedtest
    p7zip
    pass
    pavucontrol
    polkit_gnome
    powershell
    protonup-ng
    python3Full
    rclone
    recode
    restic
    ripgrep
    ripgrep-all
    rmlint
    rsync
    rustc
    rustfmt
    scc
    sd
    sl
    smartmontools
    sox
    stow
    stress
    tectonic
    terminus-nerdfont
    tig
    timg
    tldr
    trash-cli
    trashy
    tree
    treefmt
    unar
    unzip
    usbutils
    vim
    vscode
    w3m
    wget
    whois
    xorg.libX11
    xorg.libX11.dev
    xorg.libxcb
    xorg.libXft
    xorg.libXinerama
    xorg.xinit
    xorg.xinput
    yazi
    zellij
    zoxide
    zsh

  ];

  stylix = {
    enable = true;
    image = ./wallpaper.jpg;
    polarity = "dark";
    base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-storm.yaml";
    imageScalingMode = "fill";
#    fonts = {
#      serif = {
#        package = pkgs.noto-fonts;
#        name = "Noto Serif";
#      };
#
#      sansSerif = {
#        package = pkgs.noto-fonts;
#        name = "Noto Sans";
#      };
#
#      monospace = {
#        package = pkgs.noto-fonts;
#        name = "Noto Sans Mono";
#      };
#
#      emoji = {
#        package = pkgs.noto-fonts-emoji;
#        name = "Noto Color Emoji";
#      };
#      sizes = {
#        applications = 12;
#        desktop = 12;
#        popups = 12;
#        terminal = 11;
#      };
#    };
    targets = {
      chromium.enable = true;
      console.enable = true;
      feh.enable = true;
      lightdm.enable = true;
      nixos-icons.enable = true;
      
    };
  };


  nixpkgs.config.allowUnfree = true;

  # 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;

  system.stateVersion = "24.05";

  home-manager = {
    # also pass inputs to home-manager modules
    extraSpecialArgs = {inherit inputs;};
    users = {
      "neofax" = import ./home.nix;
    };
  };

  nix = {
    package = pkgs.nixFlakes;
    extraOptions = ''
      experimental-features = nix-command flakes
    '';
  };

}

cli.nix

{ pkgs, ... }:

{
  home = {
    packages = with pkgs; [
      abduco
      age
      aria2
      bat
      bc
      bottom
      entr
      fd
      file
      fossil
      ijq
      joshuto
      jq
      lazydocker
      lazygit
      moreutils
      trash-cli
      unzip
      usbutils
      wget
    ];
    sessionVariables = {
      LESS_TERMCAP_mb = "$(tput bold; tput setaf 2)";
      LESS_TERMCAP_md = "$(tput bold; tput setaf 6)";
      LESS_TERMCAP_me = "$(tput sgr0)";
      LESS_TERMCAP_so = "$(tput bold; tput setaf 3; tput setab 4)";
      LESS_TERMCAP_se = "$(tput rmso; tput sgr0)";
      LESS_TERMCAP_us = "$(tput smul; tput bold; tput setaf 7)";
      LESS_TERMCAP_ue = "$(tput rmul; tput sgr0)";
      LESS_TERMCAP_mr = "$(tput rev)";
      LESS_TERMCAP_mh = "$(tput dim)";
      LESS_TERMCAP_ZN = "$(tput ssubm)";
      LESS_TERMCAP_ZV = "$(tput rsubm)";
      LESS_TERMCAP_ZO = "$(tput ssupm)";
      LESS_TERMCAP_ZW = "$(tput rsupm)";
      LESS = "--quit-if-one-screen";
    };
  };

  programs = {
    eza = {
      enable = true;
      enableZshIntegration = true;
    };
    zsh = {
      enable = true;
      autosuggestion.enable = true;
      syntaxHighlighting.enable = true;
      oh-my-zsh = {
        enable = true;
        theme = "robbyrussell";
        plugins = [
          "git"
          "npm"
          "history"
          "node"
          "rust"
          "deno"
        ];
      };
    };
    fzf.enable = true;
    fzf.enableZshIntegration = true;
    git = {
      enable = true;
      delta.enable = true;
      signing = {
        signByDefault = true;
        key = null;
      };
    };
    gpg.enable = true;
    home-manager.enable = true;
    ssh = {
      enable = true;
    };
    tealdeer = {
      enable = true;
      settings = {
        auto_update = true;
      };
    };
    zoxide = {
      enable = true;
      enableBashIntegration = true;
      enableZshIntegration = true;
    };
  };
}

hardware-configuration

# 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 = [ ];

  boot.initrd.availableKernelModules = [ "xhci_pci" "ata_piix" "ahci" "sd_mod" "sr_mod" ];
  boot.initrd.kernelModules = [ ];
  boot.kernelModules = [ ];
  boot.extraModulePackages = [ ];
  boot.kernel.sysctl = { "vm.swappiness" = 10;};

  fileSystems."/" =
    { 
      # device = "/dev/disk/by-uuid/aa9981bc-0ee1-459b-934f-bb498ffaa282";
      device = "/dev/disk/by-label/NIXOS";
      fsType = "btrfs";
      options = [ "subvol=@" ];
    };

  fileSystems."/home" =
    { 
      # device = "/dev/disk/by-uuid/aa9981bc-0ee1-459b-934f-bb498ffaa282";
      device = "/dev/disk/by-label/NIXOS";
      fsType = "btrfs";
      options = [ "subvol=@home" ];
    };

  fileSystems."/nix" =
    { 
      # device = "/dev/disk/by-uuid/aa9981bc-0ee1-459b-934f-bb498ffaa282";
      device = "/dev/disk/by-label/NIXOS";
      fsType = "btrfs";
      options = [ "subvol=@nix" ];
    };

  fileSystems."/var/log" =
    { 
      # device = "/dev/disk/by-uuid/aa9981bc-0ee1-459b-934f-bb498ffaa282";
      device = "/dev/disk/by-label/NIXOS";
      fsType = "btrfs";
      options = [ "subvol=@log" ];
    };

  fileSystems."/boot" =
    { 
      # device = "/dev/disk/by-uuid/A348-65A1";
      device = "/dev/disk/by-label/UEFI";
      fsType = "vfat";
      options = [ "fmask=0022" "dmask=0022" ];
    };

  swapDevices =
    [ 
      { 
        # device = "/dev/disk/by-uuid/4fb803fe-616a-4136-bb03-2d35b429a7a0"; 
        device = "/dev/disk/by-label/SWAP";
      }
    ];

  # 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.enp0s3.useDHCP = lib.mkDefault true;

  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  virtualisation.virtualbox.guest.enable = true;
}

home.nix

{ config, pkgs, lib, stylix, ... }:

{
  imports = [
    ./xfce-home.nix
    ./cli.nix
    ./nvim.nix
  ];

  home = {
    username = "neofax";
    homeDirectory = "/home/neofax";
    stateVersion = "24.05";
  };

  fonts = {
    fontconfig = {
      enable = true;
      defaultFonts = {
        serif = ["Noto Serif"];
        sansSerif = ["Noto Sans"];
        monospace = ["FiraCode Mono"];
      };
    };
  };

  # Allow unfree packages
  # nixpkgs.config.allowUnfree = true;

  home.packages = with pkgs; [
    alacritty
    alacritty-theme
    asciiquarium
    celluloid
    dmenu
    dunst
    dwt1-shell-color-scripts
    eww
    feh
    flameshot
    github-desktop
    glow
    gnome.gnome-keyring
    hugo
    kitty
    lxappearance
    mangohud
    mediainfo
    mediainfo-gui
    mosh
    mtr-gui
    nitrogen
    nomacs
    pass-wayland
    picom
    rofi
    sanctity
    st
    starship
    swaycons
    sxhkd
    synergy
    variety
    wl-clipboard
    xclip
    xdg-desktop-portal-gtk
    yt-dlp

    #----=[ Fonts ]=----#
    noto-fonts
    noto-fonts-emoji
    fira-code
    fira-code-symbols
    font-awesome
    (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; })

  ];

  stylix = {
    enable = true;
    image = pkgs.fetchurl {
      url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg";
      sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50=";
    };
    # image = ./wallpaper.jpg;
    polarity = "dark";
    base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-storm.yaml";
  
    fonts = {
      serif = lib.mkDefault {
        package = lib.mkDefault pkgs.noto-fonts;
        name = lib.mkDefault "Noto Serif";
      };

      sansSerif = lib.mkDefault {
        package = lib.mkDefault pkgs.noto-fonts;
        name = lib.mkDefault "Noto Sans";
      };

      monospace = lib.mkDefault {
        package = lib.mkDefault pkgs.noto-fonts;
        name = lib.mkDefault "Noto Sans Mono";
      };

      emoji = lib.mkDefault {
        package = lib.mkDefault pkgs.noto-fonts-emoji;
        name = lib.mkDefault "Noto Color Emoji";
      };
      sizes = {
        applications = 12;
        desktop = 12;
        popups = 12;
        terminal = 11;
      };
    };
    targets = {
      alacritty.enable = true;
      bat.enable = true;
      btop.enable = true;
      dunst.enable = true;
      feh.enable = true;
      # firefox.profilenames = [ "default" ];
      fzf.enable = true;
      gedit.enable = true;
      gtk.enable = true;
      gtk.extraCss = ''
      '';
      # hyprland.enable = true;
      # hyprpaper.enable = true;
      kitty.enable = true;
      kitty.variant256Colors = true;
      mangohud.enable = true;
      nixvim.enable = true;
      rofi.enable = true;
      tofi.enable = true;
      vim.enable = true;
      vscode.enable = true;
      waybar.enable = true;
      waybar.enableCenterBackColors = true;
      waybar.enableRightBackColors = true;
      xfce.enable = true;
      xresources.enable = true;
      yazi.enable = true;
      zathura.enable = true;
      zellij.enable = true;
    };
  };

  xdg = {
    enable = true;
    userDirs = {
      enable = true;
      createDirectories = true;
    };
  };

  home.file = {
  };

  programs = {
    alacritty = {
	    enable = true;
	    settings = {

	      window.padding = {
		      x = 2;
		      y = 2;
	      };

	      shell.program = "${pkgs.zsh}/bin/zsh";

	      cursor.style = "Beam";

	    };
    };
  };

  home.sessionVariables = {
    EDITOR = "nano";
    GTK_THEME = "Tokyonight-Dark-B";
  };

  programs.home-manager.enable = true;
}

nvim.nix

{ pkgs, lib, ...}:

let
  fromGitHub = ref: repo: pkgs.vimUtils.buildVimPluginFrom2Nix {
    pname = "${lib.strings.sanitizeDerivationName repo}";
    version = ref;
    src = builtins.fetchGit {
      url = "https://github.com/${repo}.git";
      ref = ref;
    };
  };
in

{
  home = {
    packages = with pkgs; [
      lua-language-server
      nil
    ];
    sessionVariables = {
      # EDITOR = "nvim";
      VISUAL = "nvim";
    };
  };

  programs = {
    neovim = {
      enable = true;
      viAlias = true;
      vimAlias = true;
      vimdiffAlias = true;
      plugins = with pkgs.vimPlugins; [
        gruvbox-material
	      nvim-treesitter.withAllGrammars
	      plenary-nvim
        fzf-lua
        gitsigns-nvim
        lush-nvim
        neodev-nvim
        nvim-bqf
        nvim-lspconfig
        nvim-lspconfig
        nvim-treesitter-context
        nvim-treesitter-refactor
        nvim-treesitter-textobjects
        plantuml-syntax
        vim-nix
        which-key-nvim
        # (fromGitHub "HEAD" "echasnovski/mini.nvim")
        # (fromGitHub "HEAD" "levouh/tint.nvim")
        # (fromGitHub "HEAD" "sam4llis/nvim-lua-gf")
        # (fromGitHub "HEAD" "stevearc/oil.nvim")
        # (fromGitHub "HEAD" "nat-418/boole.nvim")
        # (fromGitHub "HEAD" "nat-418/bufala.nvim")
        # (fromGitHub "HEAD" "nat-418/scamp.nvim")
        # (fromGitHub "HEAD" "nat-418/tabbot.nvim")
        # (fromGitHub "HEAD" "nat-418/termitary.nvim")
      ];
    };
  };
}

xfce.nix

{ pkgs, ... }:

{
  environment = {
    systemPackages = with pkgs; [
      bibata-cursors
      blueman
      brave
      chromium
      deja-dup
      drawing
      elementary-xfce-icon-theme
      evince
      firefox
      foliate
      font-manager
      gimp-with-plugins
      gnome.file-roller
      gnome.gnome-disk-utility
      inkscape-with-extensions
      libqalculate
      libreoffice
      orca
      pavucontrol
      qalculate-gtk
      thunderbird
      tokyo-night-gtk
      wmctrl
      xclip
      xcolor
      xdo
      xdotool
      xfce.catfish
      xfce.gigolo
      xfce.orage
      xfce.xfburn
      xfce.xfce4-appfinder
      xfce.xfce4-clipman-plugin
      xfce.xfce4-cpugraph-plugin
      xfce.xfce4-dict
      xfce.xfce4-fsguard-plugin
      xfce.xfce4-genmon-plugin
      xfce.xfce4-netload-plugin
      xfce.xfce4-panel
      xfce.xfce4-pulseaudio-plugin
      xfce.xfce4-systemload-plugin
      xfce.xfce4-weather-plugin
      xfce.xfce4-whiskermenu-plugin
      xfce.xfce4-xkb-plugin
      xfce.xfdashboard
      xorg.xev
      xsel
      xtitle
      xwinmosaic
      zuki-themes
    ];
  };

  hardware = {
    bluetooth.enable = true;
  };

  programs = {
    dconf.enable = true;
    gnupg.agent = {
      enable = true;
      enableSSHSupport = true;
    };
    thunar = {
      enable = true;
      plugins = with pkgs.xfce; [
        thunar-archive-plugin
        thunar-media-tags-plugin
        thunar-volman
      ];
    };
  };

  security.pam.services.gdm.enableGnomeKeyring = true;

  services = {
    blueman.enable = true;
    gnome.gnome-keyring.enable = true;
    pipewire = {
      enable = true;
      alsa = {
        enable = true;
        support32Bit = true;
      };
      pulse.enable = true;
    };
    xserver = {
      enable = true;
      excludePackages = with pkgs; [
        xterm
      ];
      displayManager = {
        lightdm = {
          enable = true;
          greeters.slick = {
            enable = true;
            theme.name = "Tokyonight-Dark-B";
          };
        };
      };
      desktopManager.xfce.enable = true;
    };
  };

  sound.enable = true;
}

xfce-home.nix

{ config, pkgs, lib, ... }:

{
  gtk = {
    enable = true;
    iconTheme = {
      name = "Tokyonight-Dark";
      package = pkgs.elementary-xfce-icon-theme;
    };
    theme = lib.mkForce {
      name = "Tokyonight-Dark-B";
      package = pkgs.tokyo-night-gtk;
    };
    cursorTheme = {
      name = "Bibata-Modern-Classic";
      package = pkgs.bibata-cursors;
    };
    gtk3.extraConfig = {
      gtk-decoration-layout = "menu:";
      Settings = ''
        gtk-application-prefer-dark-theme=1
      '';
    };
    gtk4.extraConfig = {
      Settings = ''
        gtk-application-prefer-dark-theme=1
      '';
    };
  };

  programs.gpg.enable = true;

  services.gpg-agent.enable = true;
}

This is a problem with Stylix: Bug: Nixos not rebuilding after regreet was added to stylix · Issue #577 · danth/stylix · GitHub

1 Like