My Nix Configuration
2
fork

Configure Feed

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

at main 183 lines 5.2 kB view raw
1{ 2 nixConfig = { 3 experimental-features = "nix-command flakes"; 4 substitute = "true"; 5 extra-substituters = [ 6 "https://cache.nixos.org" 7 "https://nix-community.cachix.org" 8 ]; 9 trusted-public-keys = [ 10 "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" 11 "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" 12 ]; 13 cores = 0; 14 max-jobs = 2; 15 netrc-file = "/home/thehedgehog/.netrc"; 16 }; 17 description = "PyroNet machines and services"; 18 19 inputs = { 20 flake-parts = { 21 url = "github:hercules-ci/flake-parts"; 22 }; 23 nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; 24 # Overrides 25 flake-compat.url = "github:edolstra/flake-compat"; 26 flake-utils = { 27 url = "github:numtide/flake-utils"; 28 }; 29 30 # Inputs 31 agenix = { 32 url = "github:ryantm/agenix"; 33 inputs = { 34 nixpkgs.follows = "nixpkgs"; 35 darwin.follows = ""; 36 home-manager.follows = "home-manager"; 37 }; 38 }; 39 buildbot-nix = { 40 url = "github:nix-community/buildbot-nix"; 41 inputs.nixpkgs.follows = "nixpkgs"; 42 inputs.flake-parts.follows = "flake-parts"; 43 inputs.hercules-ci-effects.follows = ""; 44 inputs.treefmt-nix.follows = ""; 45 }; 46 ctp = { 47 url = "github:catppuccin/nix"; 48 inputs.nixpkgs.follows = "nixpkgs"; 49 }; 50 dn42 = { 51 url = "github:pyrox0/dn43.nix"; 52 inputs.nixpkgs.follows = "nixpkgs"; 53 }; 54 easy-hosts.url = "github:tgirlcloud/easy-hosts"; 55 glide = { 56 url = "github:glide-browser/glide.nix"; 57 inputs.nixpkgs.follows = "nixpkgs"; 58 inputs.home-manager.follows = "home-manager"; 59 }; 60 golink = { 61 url = "github:tailscale/golink"; 62 inputs.nixpkgs.follows = "nixpkgs"; 63 }; 64 hardware = { 65 url = "github:nixos/nixos-hardware"; 66 }; 67 home-manager = { 68 url = "github:nix-community/home-manager"; 69 inputs.nixpkgs.follows = "nixpkgs"; 70 }; 71 nix-index-database = { 72 url = "github:Mic92/nix-index-database"; 73 inputs.nixpkgs.follows = "nixpkgs"; 74 }; 75 nvf = { 76 url = "github:notashelf/nvf"; 77 inputs.flake-compat.follows = "flake-compat"; 78 inputs.flake-parts.follows = "flake-parts"; 79 inputs.nixpkgs.follows = "nixpkgs"; 80 inputs.ndg.follows = ""; 81 }; 82 my-pkgs = { 83 url = "git+https://git.pyrox.dev/pyrox/pkgs"; 84 inputs.nixpkgs.follows = "nixpkgs"; 85 }; 86 quickshell = { 87 url = "github:quickshell-mirror/quickshell"; 88 inputs.nixpkgs.follows = "nixpkgs"; 89 }; 90 tangled = { 91 url = "git+https://tangled.org/tangled.org/core"; 92 inputs.nixpkgs.follows = "nixpkgs"; 93 inputs.flake-compat.follows = "flake-compat"; 94 # Disable useless monorepo inputs 95 inputs.actor-typeahead-src.follows = ""; 96 inputs.fenix.follows = ""; 97 inputs.htmx-src.follows = ""; 98 inputs.htmx-ws-src.follows = ""; 99 inputs.ibm-plex-mono-src.follows = ""; 100 inputs.inter-fonts-src.follows = ""; 101 inputs.lucide-src.follows = ""; 102 inputs.mermaid-src.follows = ""; 103 }; 104 treefmt-nix = { 105 url = "github:numtide/treefmt-nix"; 106 inputs.nixpkgs.follows = "nixpkgs"; 107 }; 108 }; 109 110 outputs = 111 inputs: 112 inputs.flake-parts.lib.mkFlake { inherit inputs; } { 113 # Systems we want to build for 114 systems = [ 115 "x86_64-linux" 116 ]; 117 118 # Flake modules 119 imports = [ 120 inputs.easy-hosts.flakeModule 121 inputs.home-manager.flakeModules.home-manager 122 inputs.treefmt-nix.flakeModule 123 ./packages.nix 124 ./lib 125 ./overlays 126 ./devShells 127 ./nixosModules 128 ./homeModules 129 ./templates 130 ./hosts 131 ./neovim 132 ./data 133 # Called fmodule instead of flake-module to clean up autosuggestions 134 (import ./fmodule.nix) 135 ]; 136 137 # Per-system stuff 138 perSystem = 139 { 140 system, 141 ... 142 }: 143 { 144 _module.args.pkgs = import inputs.nixpkgs { 145 inherit system; 146 overlays = [ 147 inputs.self.overlays.openssh-fixperms 148 inputs.agenix.overlays.default 149 inputs.glide.overlays.default 150 inputs.golink.overlays.default 151 ]; 152 config = { 153 allowUnfree = true; 154 }; 155 }; 156 treefmt = { 157 programs = { 158 deadnix = { 159 enable = true; 160 no-underscore = true; 161 }; 162 jsonfmt.enable = true; 163 jsonfmt.excludes = [ ".zed/settings.json" ]; 164 just.enable = true; 165 keep-sorted.enable = true; 166 mdformat.enable = true; 167 mdformat.settings.wrap = 120; 168 nixf-diagnose.enable = true; 169 nixfmt.enable = true; 170 nixfmt.indent = 2; 171 nixfmt.width = 120; 172 shellcheck.enable = true; 173 statix.enable = true; 174 stylua.enable = true; 175 taplo.enable = true; 176 yamlfmt.enable = true; 177 }; 178 }; 179 }; 180 # Enable debugging for nixd 181 debug = true; 182 }; 183}