me like nix
0

Configure Feed

Select the types of activity you want to include in your feed.

1{ pkgs, ... }: 2 3let 4 berkeley-mono-typeface = pkgs.callPackage ../../berkely-mono/berkeley.nix { }; 5in 6{ 7 8 nix.settings.experimental-features = [ 9 "nix-command" 10 "flakes" 11 ]; 12 nix.settings.download-buffer-size = 268435456; 13 14 hardware.bluetooth.enable = true; 15 hardware.bluetooth.powerOnBoot = true; 16 services.blueman.enable = true; 17 18 # Bootloader. 19 boot.loader.systemd-boot.enable = true; 20 boot.loader.efi.canTouchEfiVariables = true; 21 22 services.fwupd.enable = true; 23 # Use latest kernel. 24 boot.kernelPackages = pkgs.linuxPackages_latest; 25 26 # Fix USB disconnection issues with Dell U4025QW Thunderbolt dock 27 # Disables autosuspend and LPM for Dell hub (vendor ID: 1d5c, product ID: 5801) 28 # boot.kernelParams = [ "usbcore.quirks=1d5c:5801:gk" ]; 29 # If USB disconnects persist, try disabling UCSI ACPI instead: 30 # boot.kernelParams = [ "module_blacklist=ucsi_acpi" ]; 31 32 # Enable networking 33 networking.networkmanager.enable = true; 34 35 # Set your time zone. 36 # time.timeZone = "America/New_York"; 37 time.timeZone = "America/Toronto"; 38 39 # Select internationalisation properties. 40 i18n.defaultLocale = "en_US.UTF-8"; 41 42 i18n.extraLocaleSettings = { 43 LC_ADDRESS = "en_US.UTF-8"; 44 LC_IDENTIFICATION = "en_US.UTF-8"; 45 LC_MEASUREMENT = "en_US.UTF-8"; 46 LC_MONETARY = "en_US.UTF-8"; 47 LC_NAME = "en_US.UTF-8"; 48 LC_NUMERIC = "en_US.UTF-8"; 49 LC_PAPER = "en_US.UTF-8"; 50 LC_TELEPHONE = "en_US.UTF-8"; 51 LC_TIME = "en_US.UTF-8"; 52 }; 53 54 # Font configuration 55 fonts = { 56 fontDir.enable = true; 57 fontconfig = { 58 enable = true; 59 defaultFonts = { 60 monospace = [ 61 "BerkeleyMono Nerd Font" 62 "BerkeleyMono" 63 ]; 64 }; 65 }; 66 packages = with pkgs; [ 67 berkeley-mono-typeface 68 ]; 69 }; 70 71 programs.niri = { 72 enable = true; 73 }; 74 75 catppuccin = { 76 enable = true; 77 flavor = "frappe"; 78 }; 79 80 programs.regreet.enable = true; 81 82 # Enable CUPS to print documents. 83 services.printing.enable = true; 84 85 security.polkit.enable = true; 86 security.rtkit.enable = true; 87 services.pipewire = { 88 enable = true; 89 alsa.enable = true; 90 alsa.support32Bit = true; 91 pulse.enable = true; 92 # If you want to use JACK applications, uncomment this 93 #jack.enable = true; 94 95 # use the example session manager (no others are packaged yet so this is enabled by default, 96 # no need to redefine it in your config for now) 97 #media-session.enable = true; 98 }; 99 100 services.gnome.gnome-keyring.enable = true; 101 security.pam.services.greetd.enableGnomeKeyring = true; 102 103 services.udisks2.enable = true; 104 services.tailscale.enable = true; 105 services.pcscd.enable = true; # Smart card daemon for Yubikey 106 107 security.pam.u2f = { 108 enable = true; 109 control = "sufficient"; 110 cue = true; 111 settings = { 112 origin = "pam://nixos"; 113 appid = "pam://nixos"; 114 }; 115 }; 116 security.pam.services.sudo.u2fAuth = true; 117 118 programs.yubikey-touch-detector.enable = true; 119 120 # ZSA Keyboard udev rules for Oryx web flashing and live training 121 services.udev.extraRules = '' 122 # Rules for Oryx web flashing and live training 123 KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", MODE="0664", GROUP="plugdev" 124 KERNEL=="hidraw*", ATTRS{idVendor}=="3297", MODE="0664", GROUP="plugdev" 125 126 # Legacy rules for live training over webusb (Not needed for firmware v21+) 127 # Rule for all ZSA keyboards 128 SUBSYSTEM=="usb", ATTR{idVendor}=="3297", GROUP="plugdev" 129 # Rule for the Moonlander 130 SUBSYSTEM=="usb", ATTR{idVendor}=="3297", ATTR{idProduct}=="1969", GROUP="plugdev" 131 # Rule for the Ergodox EZ 132 SUBSYSTEM=="usb", ATTR{idVendor}=="feed", ATTR{idProduct}=="1307", GROUP="plugdev" 133 # Rule for the Planck EZ 134 SUBSYSTEM=="usb", ATTR{idVendor}=="feed", ATTR{idProduct}=="6060", GROUP="plugdev" 135 136 # Wally Flashing rules for the Ergodox EZ 137 ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" 138 ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" 139 SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666" 140 KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666" 141 142 # Keymapp / Wally Flashing rules for the Moonlander and Planck EZ 143 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666", SYMLINK+="stm32_dfu" 144 # Keymapp Flashing rules for the Voyager 145 SUBSYSTEMS=="usb", ATTRS{idVendor}=="3297", MODE:="0666", SYMLINK+="ignition_dfu" 146 # USB serial device access via Chrome/Chromium 147 KERNEL=="ttyUSB[0-9]*", MODE:="0666", GROUP="dialout" 148 KERNEL=="ttyACM[0-9]*", MODE:="0666", GROUP="dialout" 149 ''; 150 151 # Define a user account. Don't forget to set a password with ‘passwd’. 152 users.groups.storage = { }; 153 users.groups.plugdev = { }; 154 users.users.sean = { 155 isNormalUser = true; 156 description = "Sean Aye"; 157 extraGroups = [ 158 "docker" 159 "networkmanager" 160 "wheel" 161 "video" 162 "disk" 163 "storage" 164 "input" 165 "plugdev" 166 "dialout" 167 ]; 168 shell = pkgs.fish; 169 }; 170 171 programs.steam = { 172 enable = true; 173 remotePlay.openFirewall = true; 174 gamescopeSession = { 175 enable = true; 176 args = [ 177 "-r 120" 178 "-R 120" 179 ]; 180 env = { 181 STEAM_DESKTOP_SESSION = "niri"; 182 }; 183 }; 184 extraCompatPackages = with pkgs; [ 185 proton-ge-bin 186 ]; 187 }; 188 189 programs.gamemode.enable = true; 190 191 programs.gamescope = { 192 enable = true; 193 }; 194 195 programs.fish.enable = true; 196 programs._1password.enable = true; 197 programs._1password-gui = { 198 enable = true; 199 polkitPolicyOwners = [ "sean" ]; 200 }; 201 202 virtualisation.docker.enable = true; 203 204 # Allow unfree packages 205 nixpkgs.config.allowUnfree = true; 206 207 # List packages installed in system profile. To search, run: 208 # $ nix search wget 209 environment.systemPackages = with pkgs; [ 210 wl-clipboard 211 ]; 212 environment.variables = { 213 EDITOR = "hx"; 214 VISUAL = "hx"; 215 SUDO_EDITOR = "hx"; 216 }; 217}