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 # Enable networking 27 networking.networkmanager.enable = true; 28 29 # Set your time zone. 30 # time.timeZone = "America/New_York"; 31 time.timeZone = "America/Toronto"; 32 33 # Select internationalisation properties. 34 i18n.defaultLocale = "en_US.UTF-8"; 35 36 i18n.extraLocaleSettings = { 37 LC_ADDRESS = "en_US.UTF-8"; 38 LC_IDENTIFICATION = "en_US.UTF-8"; 39 LC_MEASUREMENT = "en_US.UTF-8"; 40 LC_MONETARY = "en_US.UTF-8"; 41 LC_NAME = "en_US.UTF-8"; 42 LC_NUMERIC = "en_US.UTF-8"; 43 LC_PAPER = "en_US.UTF-8"; 44 LC_TELEPHONE = "en_US.UTF-8"; 45 LC_TIME = "en_US.UTF-8"; 46 }; 47 48 # Font configuration 49 fonts = { 50 fontDir.enable = true; 51 fontconfig = { 52 enable = true; 53 defaultFonts = { 54 monospace = [ 55 "BerkeleyMono Nerd Font" 56 "BerkeleyMono" 57 ]; 58 }; 59 }; 60 packages = with pkgs; [ 61 berkeley-mono-typeface 62 ]; 63 }; 64 65 programs.niri = { 66 enable = true; 67 }; 68 69 services.greetd = { 70 enable = true; 71 settings = { 72 default_session = { 73 command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session"; 74 user = "greeter"; 75 }; 76 }; 77 }; 78 79 # Enable CUPS to print documents. 80 services.printing.enable = true; 81 82 security.polkit.enable = true; 83 security.rtkit.enable = true; 84 services.pipewire = { 85 enable = true; 86 alsa.enable = true; 87 alsa.support32Bit = true; 88 pulse.enable = true; 89 # If you want to use JACK applications, uncomment this 90 #jack.enable = true; 91 92 # use the example session manager (no others are packaged yet so this is enabled by default, 93 # no need to redefine it in your config for now) 94 #media-session.enable = true; 95 }; 96 97 services.udisks2.enable = true; 98 services.tailscale.enable = true; 99 100 # ZSA Keyboard udev rules for Oryx web flashing and live training 101 services.udev.extraRules = '' 102 # Rules for Oryx web flashing and live training 103 KERNEL=="hidraw*", ATTRS{idVendor}=="16c0", MODE="0664", GROUP="plugdev" 104 KERNEL=="hidraw*", ATTRS{idVendor}=="3297", MODE="0664", GROUP="plugdev" 105 106 # Legacy rules for live training over webusb (Not needed for firmware v21+) 107 # Rule for all ZSA keyboards 108 SUBSYSTEM=="usb", ATTR{idVendor}=="3297", GROUP="plugdev" 109 # Rule for the Moonlander 110 SUBSYSTEM=="usb", ATTR{idVendor}=="3297", ATTR{idProduct}=="1969", GROUP="plugdev" 111 # Rule for the Ergodox EZ 112 SUBSYSTEM=="usb", ATTR{idVendor}=="feed", ATTR{idProduct}=="1307", GROUP="plugdev" 113 # Rule for the Planck EZ 114 SUBSYSTEM=="usb", ATTR{idVendor}=="feed", ATTR{idProduct}=="6060", GROUP="plugdev" 115 116 # Wally Flashing rules for the Ergodox EZ 117 ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1" 118 ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1" 119 SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666" 120 KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666" 121 122 # Keymapp / Wally Flashing rules for the Moonlander and Planck EZ 123 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666", SYMLINK+="stm32_dfu" 124 # Keymapp Flashing rules for the Voyager 125 SUBSYSTEMS=="usb", ATTRS{idVendor}=="3297", MODE:="0666", SYMLINK+="ignition_dfu" 126 # USB serial device access via Chrome/Chromium 127 KERNEL=="ttyUSB[0-9]*", MODE:="0666", GROUP="dialout" 128 KERNEL=="ttyACM[0-9]*", MODE:="0666", GROUP="dialout" 129 ''; 130 131 # Define a user account. Don't forget to set a password with ‘passwd’. 132 users.groups.storage = { }; 133 users.groups.plugdev = { }; 134 users.users.sean = { 135 isNormalUser = true; 136 description = "Sean Aye"; 137 extraGroups = [ 138 "docker" 139 "networkmanager" 140 "wheel" 141 "video" 142 "disk" 143 "storage" 144 "input" 145 "plugdev" 146 "dialout" 147 ]; 148 shell = pkgs.fish; 149 }; 150 151 programs.fish.enable = true; 152 programs._1password.enable = true; 153 programs._1password-gui = { 154 enable = true; 155 polkitPolicyOwners = [ "sean" ]; 156 }; 157 158 virtualisation.docker.enable = true; 159 160 # Allow unfree packages 161 nixpkgs.config.allowUnfree = true; 162 163 # List packages installed in system profile. To search, run: 164 # $ nix search wget 165 environment.systemPackages = with pkgs; [ 166 wl-clipboard 167 ]; 168 environment.variables = { 169 EDITOR = "hx"; 170 VISUAL = "hx"; 171 SUDO_EDITOR = "hx"; 172 }; 173}