me like nix
0

Configure Feed

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

1{ 2 pkgs, 3 ... 4}: 5 6{ 7 imports = [ 8 # Include the results of the hardware scan. 9 ./hardware-configuration.nix 10 ]; 11 12 nix.settings.experimental-features = [ 13 "nix-command" 14 "flakes" 15 ]; 16 17 # Bootloader. 18 boot.loader.systemd-boot.enable = true; 19 boot.loader.efi.canTouchEfiVariables = true; 20 21 # Use latest kernel. 22 boot.kernelPackages = pkgs.linuxPackages_latest; 23 24 networking.hostName = "nixos"; # Define your hostname. 25 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. 26 27 # Configure network proxy if necessary 28 # networking.proxy.default = "http://user:password@proxy:port/"; 29 # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 30 31 # Enable networking 32 networking.networkmanager.enable = true; 33 34 # Set your time zone. 35 time.timeZone = "America/New_York"; 36 37 # Select internationalisation properties. 38 i18n.defaultLocale = "en_US.UTF-8"; 39 40 i18n.extraLocaleSettings = { 41 LC_ADDRESS = "en_US.UTF-8"; 42 LC_IDENTIFICATION = "en_US.UTF-8"; 43 LC_MEASUREMENT = "en_US.UTF-8"; 44 LC_MONETARY = "en_US.UTF-8"; 45 LC_NAME = "en_US.UTF-8"; 46 LC_NUMERIC = "en_US.UTF-8"; 47 LC_PAPER = "en_US.UTF-8"; 48 LC_TELEPHONE = "en_US.UTF-8"; 49 LC_TIME = "en_US.UTF-8"; 50 }; 51 52 programs.niri = { 53 enable = true; 54 package = pkgs.niri; 55 }; 56 57 services.greetd = { 58 enable = true; 59 settings = { 60 default_session = { 61 command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd niri-session"; 62 user = "greeter"; 63 }; 64 }; 65 }; 66 67 # xdg.portal = { 68 # enable = true; 69 # xdgOpenUsePortal = true; 70 # config = { 71 # common = { 72 # default = [ 73 # "gnome" 74 # "gtk" 75 # ]; 76 77 # "org.freedesktop.impl.portal.ScreenCast" = "gnome"; 78 # "org.freedesktop.impl.portal.Screenshot" = "gnome"; 79 # "org.freedesktop.impl.portal.RemoteDesktop" = "gnome"; 80 # }; 81 # }; 82 83 # # Specify the backends you want to use. 84 # # The order matters, the first one is the primary. 85 # extraPortals = with pkgs; [ 86 # xdg-desktop-portal-gtk 87 # xdg-desktop-portal-gnome 88 # ]; 89 # }; 90 91 # Enable CUPS to print documents. 92 services.printing.enable = true; 93 94 # Enable sound with pipewire. 95 security.polkit.enable = true; 96 security.rtkit.enable = true; 97 services.pipewire = { 98 enable = true; 99 alsa.enable = true; 100 alsa.support32Bit = true; 101 pulse.enable = true; 102 # If you want to use JACK applications, uncomment this 103 #jack.enable = true; 104 105 # use the example session manager (no others are packaged yet so this is enabled by default, 106 # no need to redefine it in your config for now) 107 #media-session.enable = true; 108 }; 109 110 services.udisks2.enable = true; 111 services.tailscale.enable = true; 112 services.openssh = { 113 enable = true; 114 ports = [ 5431 ]; 115 settings = { 116 PasswordAuthentication = false; 117 KbdInteractiveAuthentication = false; 118 PermitRootLogin = "no"; 119 AllowUsers = [ "sean" ]; 120 }; 121 }; 122 123 # Define a user account. Don't forget to set a password with ‘passwd’. 124 users.groups.storage = { }; 125 users.users.sean = { 126 openssh.authorizedKeys.keys = [ 127 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDCIqgZ7kedxo+mOW7YG73Vp3zel3h180y3GKvHtRsXfGlpIIvRDy7pgCBQ4AGXYD4y78URQmFohYSAPqCPOPaWcU2un3XG9KvCzEsHmsbskPonitUmCiKvrKkb6oW4jCBtd7AEtBn+AiajAQFtPZ7NN2Df3AmTypvR6Irg7R+nxnfc9NTIHmGvxSDyWcbb4pguL20sctUSqGL6xGh8q/bqhdOThSimM+z9bEUNxK/5rPhwkNniMrp4pJcUrUiAh5/4DiRFG6KT+oeg+/myoz/Z1sPvAs7u/8JDQI4RshRD8Hu0oTkRBN6Hxj478q2SXbeBUZlD6IdjP3RhGpmSecoDdtWqKbpuV3eVRtQtba3KL86GBeV/bugaOdJ1Aud+1SOFJreAAuvxzMMKT+cdQZk6oOPP148DA/No+mDm/2S43lcdCXh79wA6YRAmKQ8jmZxTCtPutrvuZK1rguvvUlEoG/vhdNHh7eDa4Td07V6bjCRPUl8qk/e4M0E3pwsTlZc=" 128 ]; 129 isNormalUser = true; 130 description = "Sean Aye"; 131 extraGroups = [ 132 "docker" 133 "networkmanager" 134 "wheel" 135 "video" 136 "disk" 137 "storage" 138 "input" 139 ]; 140 shell = pkgs.fish; 141 }; 142 143 programs.fish.enable = true; 144 programs._1password.enable = true; 145 programs._1password-gui = { 146 enable = true; 147 polkitPolicyOwners = [ "sean" ]; 148 }; 149 150 programs.steam = { 151 enable = true; 152 }; 153 virtualisation.docker.enable = true; 154 155 # Allow unfree packages 156 nixpkgs.config.allowUnfree = true; 157 158 # List packages installed in system profile. To search, run: 159 # $ nix search wget 160 environment.systemPackages = with pkgs; [ 161 wl-clipboard 162 ]; 163 environment.variables = { 164 EDITOR = "hx"; 165 VISUAL = "hx"; 166 SUDO_EDITOR = "hx"; 167 }; 168 169 # List services that you want to enable: 170 nixarr = { 171 enable = true; 172 mediaDir = "/mnt/storage1/nixarr/media"; 173 vpn = { 174 enable = true; 175 wgConf = "/mnt/storage1/nixarr/wireguard.conf"; 176 }; 177 178 jellyfin = { 179 enable = true; 180 openFirewall = true; 181 }; 182 183 transmission = { 184 enable = true; 185 vpn.enable = true; 186 }; 187 sabnzbd = { 188 enable = true; 189 vpn.enable = true; 190 openFirewall = true; 191 }; 192 193 prowlarr.enable = true; 194 radarr.enable = true; 195 sonarr.enable = true; 196 jellyseerr = { 197 enable = true; 198 openFirewall = true; 199 }; 200 201 recyclarr = { 202 enable = true; 203 configuration = { 204 sonarr = { 205 series = { 206 base_url = "http://localhost:8989"; 207 api_key = "!env_var SONARR_API_KEY"; 208 quality_definition = { 209 type = "series"; 210 }; 211 delete_old_custom_formats = true; 212 custom_formats = [ 213 { 214 trash_ids = [ 215 "85c61753df5da1fb2aab6f2a47426b09" # BR-DISK 216 "9c11cd3f07101cdba90a2d81cf0e56b4" # LQ 217 ]; 218 assign_scores_to = [ 219 { 220 name = "WEB-DL (1080p)"; 221 score = -10000; 222 } 223 ]; 224 } 225 ]; 226 }; 227 }; 228 radarr = { 229 movies = { 230 base_url = "http://localhost:7878"; 231 api_key = "!env_var RADARR_API_KEY"; 232 quality_definition = { 233 type = "movie"; 234 }; 235 delete_old_custom_formats = true; 236 custom_formats = [ 237 { 238 trash_ids = [ 239 "570bc9ebecd92723d2d21500f4be314c" # Remaster 240 "eca37840c13c6ef2dd0262b141a5482f" # 4K Remaster 241 ]; 242 assign_scores_to = [ 243 { 244 name = "HD Bluray + WEB"; 245 score = 25; 246 } 247 ]; 248 } 249 ]; 250 }; 251 }; 252 }; 253 }; 254 }; 255 256 # Enable the OpenSSH daemon. 257 # services.openssh.enable = true; 258 259 # Open ports in the firewall. 260 networking.firewall.allowedTCPPorts = [ 261 8096 262 5055 263 ]; 264 networking.firewall.allowedUDPPorts = [ 265 8096 266 5055 267 ]; 268 # Or disable the firewall altogether. 269 # networking.firewall.enable = false; 270 271 # This value determines the NixOS release from which the default 272 # settings for stateful data, like file locations and database versions 273 # on your system were taken. It‘s perfectly fine and recommended to leave 274 # this value at the release version of the first install of this system. 275 # Before changing this value read the documentation for this option 276 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 277 system.stateVersion = "25.05"; # Did you read the comment? 278 279}