Configuration for my NixOS based systems and Home Manager
at master 79 lines 1.9 kB view raw
1{ pkgs, unstable, ... }: 2{ 3 # Enable the X11 windowing system. 4 services.xserver.enable = true; 5 6 # Configure keymap in X11 7 # services.xserver.xkb.layout = "us"; 8 # services.xserver.xkb.options = "eurosign:e,caps:escape"; 9 10 # Enable CUPS to print documents. 11 # services.printing.enable = true; 12 13 # Enable sound. 14 security.rtkit.enable = true; 15 services.pipewire = { 16 enable = true; 17 alsa.enable = true; 18 alsa.support32Bit = true; 19 pulse.enable = true; 20 wireplumber.enable = true; 21 }; 22 23 # Graphics and parallel compute configuration 24 hardware.opengl.extraPackages = [ 25 pkgs.libva 26 ]; 27 28 # Enable touchpad support (enabled default in most desktopManager). 29 # services.xserver.libinput.enable = true; 30 31 # Fonts 32 fonts.packages = with pkgs; [ 33 fira-code 34 fira-code-symbols 35 noto-fonts 36 noto-fonts-cjk 37 noto-fonts-emoji 38 noto-fonts-extra 39 (nerdfonts.override { fonts = [ "FiraCode" ]; }) 40 ]; 41 42 # Polkit is a dependency of Sway. It's responsible for handling security policies 43 security.polkit.enable = true; 44 45 # Enable the sway window manager 46 programs.sway = { 47 enable = true; 48 package = unstable.sway; 49 wrapperFeatures.gtk = true; 50 }; 51 # Use greetd as the displaymanager 52 #services.xserver.displayManager.greetd.enable = true; 53 #services.xserver.displayManager.lightdm.enable = false; 54 services.xserver.displayManager.sddm.enable = true; 55 services.xserver.displayManager.defaultSession = "none+i3"; 56 services.xserver.displayManager.autoLogin = { 57 enable = true; 58 user = "noah"; 59 }; 60 61 # i3, for when I need XOrg 62 services.xserver.windowManager.i3 = { 63 enable = true; 64 extraPackages = with pkgs; [ 65 dmenu 66 i3status 67 i3lock 68 i3blocks 69 ]; 70 }; 71 72 xdg.portal = { 73 enable = true; 74 wlr.enable = true; 75 extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; 76 }; 77 services.dbus.enable = true; 78 services.gnome.gnome-keyring.enable = true; 79}