me like nix
0

Configure Feed

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

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