Reason for this post is to encourage external NixOS users to join our instance,

  • not sure if this’ll work but it’s an interesting experiment for me😆

  1. Configuring VS Code extensions with Home Manager

@Operator21 it seems that you’re trying to install VSCodium in Home Manager. While I’ve stopped using HM and can’t directly answer this I hope the following config helps: VSCodium override in configuration.nix - pastebin


  1. Brother Printers

@CharleHuff, one suggestion I have for fixing your printer problem is to host a Windows VM and print within it,

  • With Virt-manager, your configuration will look like this:

configuration.nix:

  ## [NixOS Virt-manager](https://nixos.wiki/wiki/Virt-manager)

  services =
  {
    ## Enables the qemu guest agent.
    qemuGuest.enable = true;
  };

  dconf.settings =
  {
    "org/virt-manager/virt-manager/connections" =
    {
      autoconnect = ["qemu:///system"];
      uris = ["qemu:///system"];
    };
  };


  ## Ungrouped Single-line configs:
  # virtualisation.libvirtd.enable = true;
  # programs.virt-manager.enable = true;

  ## Grouped configs:
  virtualisation =
  {
    ## Enables the libvirtd daemon that manages virtual machines.
    libvirtd.enable = true;

    ## Enables SPICE USB redirection helper with setuid privileges.
    ## Enable/uncomment to pass USB devices into your guest VMs
    # spiceUSBRedirection.enable = true;
  };

  programs =
  {
    ## Enables Virt-manager.
    virt-manager.enable = true;
  };


  users =
  {
    users =
    {
      <your_system_username> =
      {
        extraGroups = ["wheel" "storage" "networkmanager" "libvirtd"];

        ## tbh this might not be needed:
        ## this is from my days with archlinux (installing all dependencies)
        packages = with pkgs;
        [
          ## Virtual machine software/packages.
          dconf           # is a low-level configuration system. Its main purpose is to provide a backend to GSettings on platforms that don't already have configuration storage systems.
          dnsmasq         # An integrated DNS, DHCP and TFTP server for small networks.
          # bridge-utils  # (deprecated in favour of iproute2).
          iproute2        # A collection of utilities for controlling TCP/IP networking and traffic control in Linux.
          # ebtables      # (deprecated in favour of iptables).
          iptables        # A program to configure the Linux IP packet filtering ruleset.
          libguestfs      # Tools for accessing and modifying virtual machine disk images.
          libvirt         # A toolkit to interact with the virtualization capabilities of recent versions of Linux and other OSes.
          netcat-openbsd  # TCP/IP swiss army knife. OpenBSD variant.
          OVMF            # Sample UEFI firmware for QEMU and KVM.
          qemu_full       # provides qemu_kvm.
          vde2            # Virtual Distributed Ethernet, an Ethernet compliant virtual network.
          virt-manager    # Desktop user interface for managing virtual machines.
        ];
      };
    };
  };

configuration.nix:

  ## [NixOS VirtualBox](https://nixos.wiki/wiki/VirtualBox)

  ## Required for forwarding USB_2/3 to your guest VMs.
  ## Uncomment to enable [unfree packages](https://nixos.wiki/wiki/FAQ/unfree).
  nixpkgs.config.allowUnfree = true;


  ## Ungrouped Single-line configs:
  # virtualisation.virtualbox.host.enable = true;
  # users.extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" ];

  ## Grouped configs:
  virtualisation =
  {
    virtualbox =
    {
      ## Enables VirtualBox.
      host.enable = true;

      ## Required for forwarding USB_2/3 to your guest VMs.
      ## Uncomment to enable extensions.
      # host.enableExtensionPack = true;

      ## Uncomment to enable VirtualBox Guest Additions.
      # guest.enable = true;
      # guest.x11 = true;
    };
  };


  users =
  {
    ## Enable VirtualBox.
    extraGroups.vboxusers.members = [ "user-with-access-to-virtualbox" ];

    users =
    {
      <your_system_username> =
      {
        extraGroups = ["wheel" "storage" "networkmanager"];

        packages = with pkgs;
        [
          nano
        ];
      };
    };
  };

after finishing modifications run sudo nixos-rebuild switch --upgrade, hope this helps! 🤗