me like nix
0

Configure Feed

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

1{ config, pkgs, inputs, ... }: 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 programs.niri = { 47 enable = true; 48 package = pkgs.niri; 49 }; 50 51 services.greetd = { 52 enable = true; 53 settings = { 54 default_session = { 55 command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd niri"; 56 user = "greeter"; 57 }; 58 }; 59 }; 60 61 xdg.portal = { 62 enable = true; 63 64 # Specify the backends you want to use. 65 # The order matters, the first one is the primary. 66 extraPortals = with pkgs; [ 67 xdg-desktop-portal-wlr 68 xdg-desktop-portal-gtk 69 ]; 70 # Set the default portal for common interfaces. 71 # "wlr" is for wlroots-based compositors like niri. 72 # "gtk" is a fallback for file pickers and other things. 73 config.common.default = [ "wlr" "gtk" ]; 74 }; 75 76 # Enable CUPS to print documents. 77 services.printing.enable = true; 78 79 # Enable sound with pipewire. 80 services.pulseaudio.enable = false; 81 security.rtkit.enable = true; 82 services.pipewire = { 83 enable = true; 84 alsa.enable = true; 85 alsa.support32Bit = true; 86 pulse.enable = true; 87 # If you want to use JACK applications, uncomment this 88 #jack.enable = true; 89 90 # use the example session manager (no others are packaged yet so this is enabled by default, 91 # no need to redefine it in your config for now) 92 #media-session.enable = true; 93 }; 94 95 96 97 # Enable touchpad support (enabled default in most desktopManager). 98 # services.xserver.libinput.enable = true; 99 100 # Define a user account. Don't forget to set a password with ‘passwd’. 101 users.users.sean = { 102 isNormalUser = true; 103 description = "Sean Aye"; 104 extraGroups = [ "networkmanager" "wheel" "video" ]; 105 shell = pkgs.fish; 106 }; 107 108 # Install firefox. 109 programs.firefox.enable = true; 110 programs.fish.enable = true; 111 112 programs._1password.enable = true; 113 programs._1password-gui = { 114 enable = true; 115 polkitPolicyOwners = ["sean"]; 116 }; 117 118 programs.steam = { 119 enable = true; 120 }; 121 122 # Allow unfree packages 123 nixpkgs.config.allowUnfree = true; 124 125 # List packages installed in system profile. To search, run: 126 # $ nix search wget 127 environment.systemPackages = with pkgs; [ 128 git 129 wl-clipboard 130 ]; 131 environment.variables = { 132 EDITOR = "hx"; 133 VISUAL = "hx"; 134 SUDO_EDITOR = "hx"; 135 }; 136 137 138 # List services that you want to enable: 139 nixarr = { 140 enable = true; 141 vpn = { 142 enable = true; 143 wgConf = "/data/wireguard.conf"; 144 }; 145 146 jellyfin = { 147 enable = true; 148 openFirewall = true; 149 }; 150 151 transmission = { 152 enable = true; 153 vpn.enable = true; 154 }; 155 sabnzbd = { 156 enable = true; 157 vpn.enable = true; 158 openFirewall = true; 159 }; 160 161 prowlarr.enable = true; 162 radarr.enable = true; 163 sonarr.enable = true; 164 jellyseerr = { 165 enable = true; 166 openFirewall = true; 167 }; 168 169 recyclarr = { 170 enable = true; 171 configuration = { 172 sonarr = { 173 series = { 174 base_url = "http://localhost:8989"; 175 api_key = "!env_var SONARR_API_KEY"; 176 quality_definition = { 177 type = "series"; 178 }; 179 delete_old_custom_formats = true; 180 custom_formats = [ 181 { 182 trash_ids = [ 183 "85c61753df5da1fb2aab6f2a47426b09" # BR-DISK 184 "9c11cd3f07101cdba90a2d81cf0e56b4" # LQ 185 ]; 186 assign_scores_to = [ 187 { 188 name = "WEB-DL (1080p)"; 189 score = -10000; 190 } 191 ]; 192 } 193 ]; 194 }; 195 }; 196 radarr = { 197 movies = { 198 base_url = "http://localhost:7878"; 199 api_key = "!env_var RADARR_API_KEY"; 200 quality_definition = { 201 type = "movie"; 202 }; 203 delete_old_custom_formats = true; 204 custom_formats = [ 205 { 206 trash_ids = [ 207 "570bc9ebecd92723d2d21500f4be314c" # Remaster 208 "eca37840c13c6ef2dd0262b141a5482f" # 4K Remaster 209 ]; 210 assign_scores_to = [ 211 { 212 name = "HD Bluray + WEB"; 213 score = 25; 214 } 215 ]; 216 } 217 ]; 218 }; 219 }; 220 }; 221 }; 222 }; 223 224 # Enable the OpenSSH daemon. 225 # services.openssh.enable = true; 226 227 # Open ports in the firewall. 228 networking.firewall.allowedTCPPorts = [ 8096 5055 ]; 229 networking.firewall.allowedUDPPorts = [ 8096 5055 ]; 230 # Or disable the firewall altogether. 231 # networking.firewall.enable = false; 232 233 # This value determines the NixOS release from which the default 234 # settings for stateful data, like file locations and database versions 235 # on your system were taken. It‘s perfectly fine and recommended to leave 236 # this value at the release version of the first install of this system. 237 # Before changing this value read the documentation for this option 238 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). 239 system.stateVersion = "25.05"; # Did you read the comment? 240 241}