me like nix
0

Configure Feed

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

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