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.

Initial Nix config

james7132 5c2cc4ee ef2a5137

+220
+220
.config/nix/configuration.nix
··· 1 + # Edit this configuration file to define what should be installed on 2 + # your system. Help is available in the configuration.nix(5) man page, on 3 + # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). 4 + 5 + { 6 + config, 7 + lib, 8 + pkgs, 9 + ... 10 + }: 11 + 12 + let 13 + unstable = import <nixos-unstable> { config = { allowUnfree = true; }; }; 14 + in 15 + { 16 + imports = [ 17 + # Include the results of the hardware scan. 18 + ./hardware-configuration.nix 19 + ]; 20 + 21 + # Use latest kernel. 22 + boot.kernelPackages = pkgs.linuxPackages_latest; 23 + 24 + networking.hostName = "amaterasu"; 25 + 26 + # Configure network connections interactively with nmcli or nmtui. 27 + networking.networkmanager.enable = true; 28 + 29 + # Set your time zone. 30 + time.timeZone = "America/Los_Angeles"; 31 + 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 + # Select internationalisation properties. 37 + i18n.defaultLocale = "en_US.UTF-8"; 38 + # console = { 39 + # font = "Lat2-Terminus16"; 40 + # keyMap = "us"; 41 + # useXkbConfig = true; # use xkb.options in tty. 42 + # }; 43 + 44 + # Enable CUPS to print documents. 45 + # services.printing.enable = true; 46 + 47 + # Enable sound. 48 + services.pipewire = { 49 + enable = true; 50 + pulse.enable = true; 51 + }; 52 + 53 + # Enable touchpad support (enabled default in most desktopManager). 54 + # services.libinput.enable = true; 55 + 56 + users.users.james = { 57 + isNormalUser = true; 58 + extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. 59 + packages = with pkgs; [ 60 + tree 61 + ]; 62 + }; 63 + 64 + nixpkgs.config. allowUnfreePredicate = pkg: 65 + builtins.elem (lib.getName pkg) [ 66 + "steam" 67 + "steam-original" 68 + "steam-unwrapped" 69 + "steam-run" 70 + ]; 71 + 72 + # List packages installed in system profile. 73 + # You can use https://search.nixos.org/ to find more packages (and options). 74 + environment.systemPackages = with pkgs; [ 75 + # Editors 76 + vim 77 + helix 78 + 79 + curl 80 + git 81 + 82 + # Niri related 83 + foot 84 + fuzzel 85 + swaylock 86 + htop 87 + mako 88 + swayidle 89 + swaybg 90 + waybar 91 + xwayland-satellite 92 + keepassxc 93 + 94 + # Web Browsers 95 + librewolf 96 + mullvad-browser 97 + tor-browser 98 + 99 + # Communications 100 + unstable.vesktop 101 + thunderbird 102 + signal-desktop 103 + 104 + # Media 105 + jellyfin-desktop 106 + mpv 107 + unstable.ncspot 108 + 109 + # Programming 110 + python3 111 + rustup 112 + just 113 + typst 114 + unstable.zola 115 + 116 + # Profiling 117 + unstable.tracy 118 + 119 + # Language Servers 120 + superhtml # HTML 121 + vscode-css-languageserver # CSS 122 + vscode-json-languageserver # JSON 123 + protols # Protobuf 124 + taplo # TOML 125 + tinymist # Typst 126 + nil # Nix 127 + # rust-analyzer from rustup # Rust 128 + 129 + # Formatters 130 + # taplo # TOML 131 + nixfmt # Nix 132 + # rustfmt from rustup # Rust 133 + 134 + # Terminal utilities 135 + eza 136 + zoxide 137 + yazi 138 + tmux 139 + freshfetch 140 + fzf 141 + fd 142 + pstree 143 + ripgrep 144 + handlr-regex 145 + ]; 146 + 147 + fonts.packages = with pkgs; [ 148 + # Fonts 149 + noto-fonts 150 + noto-fonts-cjk-sans 151 + noto-fonts-color-emoji 152 + font-awesome 153 + ]; 154 + 155 + # Enable dynamically linked binaries 156 + programs.nix-ld.enable = true; 157 + programs.nix-ld.libraries = with pkgs; [ 158 + # Add any missing dynamic libraries for unpackaged programs 159 + # here, NOT in environment.systemPackages 160 + ]; 161 + 162 + programs.niri.enable = true; 163 + # Enable fish 164 + programs.fish.enable = true; 165 + programs.bash = { 166 + interactiveShellInit = '' 167 + if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] 168 + then 169 + shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" 170 + exec ${pkgs.fish}/bin/fish $LOGIN_OPTION 171 + fi 172 + ''; 173 + }; 174 + 175 + programs.steam = { 176 + enable = true; 177 + remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play 178 + dedicatedServer.openFirewall = false; # Close ports in the firewall for Source Dedicated Server 179 + localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers 180 + }; 181 + 182 + security.polkit.enable = true; 183 + services.gnome.gnome-keyring.enable = true; 184 + security.pam.services.swaylock = { }; 185 + 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 + # }; 193 + 194 + # Copy the NixOS configuration file and link it from the resulting system 195 + # (/run/current-system/configuration.nix). This is useful in case you 196 + # accidentally delete configuration.nix. 197 + # system.copySystemConfiguration = true; 198 + 199 + # This option defines the first version of NixOS you have installed on this particular machine, 200 + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. 201 + # 202 + # Most users should NEVER change this value after the initial install, for any reason, 203 + # even if you've upgraded your system to a new NixOS release. 204 + # 205 + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, 206 + # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how 207 + # to actually do that. 208 + # 209 + # This value being lower than the current NixOS release does NOT mean your system is 210 + # out of date, out of support, or vulnerable. 211 + # 212 + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, 213 + # and migrated your data accordingly. 214 + # 215 + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . 216 + system.stateVersion = "25.11"; # Did you read the comment? 217 + 218 + # Enable zram as swap 219 + zramSwap.enable = true; 220 + }