# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { config, pkgs, lib, inputs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix inputs.home-manager.nixosModules.default ]; # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "cspark-nixos-laptop"; # Define your hostname. # Enable networking networking.networkmanager.enable = true; # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. services.xserver = { # Enable the X11 windowing system. enable = true; # Remove/disable xterm, we are using Konsole. desktopManager.xterm.enable = false; excludePackages = with pkgs; [ xterm ]; # Enable touchpad support (enabled default in most desktopManager). # libinput.enable = true; }; # Enable the Sway Tiling Compositor and add extra system packages. programs.sway = { enable = true; extraPackages = with pkgs; [ swaylock # Locking swayidle # Idle Detection (For locking) foot # Terminal Emulator dmenu # Application Launcher wmenu # Application Launcher - Wayland wdisplays # Manage wayland displays wlsunset # Day/night gamma adjustment/filter for wayland sway-contrib.grimshot # Screenshot tool for wayland lxqt.pcmanfm-qt # File Manager lxqt.lxqt-archiver # Archiver qt6Packages.qt6ct # Manage QT6 Themes libsForQt5.qt5ct # Manage QT5 Themes lxappearance # Manage GTK Themes ]; }; # XDG Portal Integration (For file chooser/screensharing etc) xdg.portal.enable = true; xdg.portal.wlr.enable = true; xdg.portal.extraPortals = with pkgs; [ kdePackages.xdg-desktop-portal-kde ]; # Whether to enable Qt configuration, including theming. qt.enable = true # GTK themes are not applied in Wayland applications / Window Decorations missing / Cursor looks different programs.dconf.enable = true; # Enable CUPS to print documents. services.printing.enable = true; # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; # If you want to use JACK applications, uncomment this jack.enable = true; # use the example session manager (no others are packaged yet so this is enabled by default, # no need to redefine it in your config for now) #media-session.enable = true; }; # Home Manager Configuration home-manager = { extraSpecialArgs = { inherit inputs; }; users = { "cspark" = import ./home.nix; }; }; # Steam Game Platform programs.steam = { enable = true; # remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play # dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server gamescopeSession.enable = true; }; # Waydroid Android Emulation virtualisation.waydroid.enable = true; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ git vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. cifs-utils exfatprogs neofetch appimage-run wl-clipboard python3 usbutils nvtop-intel ]; # Set konsole to be default terminal environment.sessionVariables = { TERM = "foot"; }; environment.variables = { TERM = "foot"; }; }