me like nix
0

Configure Feed

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

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