Personal dotfiles. Install via curl -Lks https://bit.ly/2Jlynh5 | /bin/bash -x
0
fork

Configure Feed

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

Flesh out more of the NixOS config

no-bull.sh 2e4a0996 93f7e656

verified
+54 -18
+54 -18
.config/nix/configuration.nix
··· 10 10 }: 11 11 12 12 let 13 - unstable = import <nixos-unstable> { config = { allowUnfree = true; }; }; 13 + unstable = import <nixos-unstable> { 14 + config = { 15 + allowUnfree = true; 16 + }; 17 + }; 14 18 in 15 19 { 16 20 imports = [ ··· 29 33 # Set your time zone. 30 34 time.timeZone = "America/Los_Angeles"; 31 35 32 - # Configure network proxy if necessary 33 - # networking.proxy.default = "http://user:password@proxy:port/"; 34 - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; 35 - 36 36 # Select internationalisation properties. 37 37 i18n.defaultLocale = "en_US.UTF-8"; 38 38 # console = { ··· 50 50 pulse.enable = true; 51 51 }; 52 52 53 + # Enable Syncthing 54 + services.syncthing = { 55 + enable = true; 56 + openDefaultPorts = true; # Open ports in the firewall for Syncthing, excluding the GUI ports. 57 + user = "james"; 58 + group = "users"; 59 + configDir = "/home/james/.config/syncthing"; 60 + }; 61 + 53 62 # Enable touchpad support (enabled default in most desktopManager). 54 63 # services.libinput.enable = true; 55 64 ··· 61 70 ]; 62 71 }; 63 72 64 - nixpkgs.config. allowUnfreePredicate = pkg: 73 + nixpkgs.config.allowUnfreePredicate = 74 + pkg: 65 75 builtins.elem (lib.getName pkg) [ 66 76 "steam" 67 77 "steam-original" ··· 78 88 79 89 curl 80 90 git 91 + jujutsu 81 92 82 93 # Niri related 83 94 foot ··· 109 120 # Programming 110 121 python3 111 122 rustup 123 + gcc 112 124 just 113 125 typst 126 + mold 127 + unstable.wild 114 128 unstable.zola 115 129 116 130 # Profiling ··· 129 143 # Formatters 130 144 # taplo # TOML 131 145 nixfmt # Nix 132 - # rustfmt from rustup # Rust 146 + # rustfmt from rustup # Rust 133 147 134 148 # Terminal utilities 135 149 eza ··· 142 156 pstree 143 157 ripgrep 144 158 handlr-regex 159 + 160 + xivlauncher 145 161 ]; 146 162 147 163 fonts.packages = with pkgs; [ ··· 160 176 ]; 161 177 162 178 programs.niri.enable = true; 179 + 163 180 # Enable fish 164 181 programs.fish.enable = true; 182 + 165 183 programs.bash = { 166 184 interactiveShellInit = '' 167 185 if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] ··· 179 197 localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers 180 198 }; 181 199 200 + # Enable Protonmail Brdige 201 + services.protonmail-bridge.enable = true; 202 + 182 203 security.polkit.enable = true; 183 204 services.gnome.gnome-keyring.enable = true; 184 205 security.pam.services.swaylock = { }; 206 + # Use sudo-rs instead of sudo 207 + security.sudo-rs.enable = true; 185 208 186 - # Some programs need SUID wrappers, can be configured further or are 187 - # started in user sessions. 188 - # programs.mtr.enable = true; 189 - # programs.gnupg.agent = { 190 - # enable = true; 191 - # enableSSHSupport = true; 192 - # }; 209 + # Enable zram as swap 210 + zramSwap.enable = true; 211 + 212 + # Enable automatic upgrades 213 + system.autoUpgrade = { 214 + enable = true; 215 + flags = [ 216 + "--print-build-logs" 217 + ]; 218 + dates = "weekly"; 219 + randomizedDelaySec = "45min"; 220 + allowReboot = false; # Set to true if you want automatic reboots 221 + }; 222 + 223 + # Enable automatic garbage collection 224 + nix.gc = { 225 + automatic = true; 226 + dates = "weekly"; 227 + options = "--delete-older-than 30d"; 228 + }; 229 + 230 + # Enable flakes 231 + nix.settings.experimental-features = [ "nix-command" "flakes" ]; 193 232 194 233 # Copy the NixOS configuration file and link it from the resulting system 195 234 # (/run/current-system/configuration.nix). This is useful in case you 196 235 # accidentally delete configuration.nix. 197 - # system.copySystemConfiguration = true; 236 + system.copySystemConfiguration = true; 198 237 199 238 # This option defines the first version of NixOS you have installed on this particular machine, 200 239 # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. ··· 214 253 # 215 254 # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . 216 255 system.stateVersion = "25.11"; # Did you read the comment? 217 - 218 - # Enable zram as swap 219 - zramSwap.enable = true; 220 256 }