Reproducible dotfiles in nix

feat: update to new macOS and determinate nix

+21 -35
+13
flake.lock
··· 1 1 { 2 2 "nodes": { 3 + "carbonfox": { 4 + "flake": false, 5 + "locked": { 6 + "narHash": "sha256-+eFqCHaoGwsprtXt4hX8qLDTXvMDJO2kTjkjS4RxPIU=", 7 + "type": "file", 8 + "url": "https://raw.githubusercontent.com/EdenEast/nightfox.nvim/refs/heads/main/extra/carbonfox/carbonfox.ghostty" 9 + }, 10 + "original": { 11 + "type": "file", 12 + "url": "https://raw.githubusercontent.com/EdenEast/nightfox.nvim/refs/heads/main/extra/carbonfox/carbonfox.ghostty" 13 + } 14 + }, 3 15 "flake-compat": { 4 16 "flake": false, 5 17 "locked": { ··· 375 387 }, 376 388 "root": { 377 389 "inputs": { 390 + "carbonfox": "carbonfox", 378 391 "flake-parts": "flake-parts", 379 392 "freeze-flake": "freeze-flake", 380 393 "git-ce": "git-ce",
+4 -2
flake.nix
··· 13 13 url = "github:zigtools/zls"; 14 14 inputs.nixpkgs.follows = "nixpkgs"; 15 15 }; 16 - # ghostty.url = "github:clo4/ghostty-hm-module"; 17 16 superhtml.url = "https://flakehub.com/f/ethanholz/superhtml-flake/0.5.0.tar.gz"; 18 17 ziggy.url = "github:kristoff-it/ziggy"; 19 18 git-ce.url = "github:ethanholz/git-ce"; 20 - # TODO: Waiting on https://github.com/brizzbuzz/opnix/pull/16 so we can actually use on nix-darwin 19 + carbonfox = { 20 + url = "https://raw.githubusercontent.com/EdenEast/nightfox.nvim/refs/heads/main/extra/carbonfox/carbonfox.ghostty"; 21 + flake = false; 22 + }; 21 23 }; 22 24 23 25 outputs = inputs @ {
+2 -33
lib/default.nix
··· 17 17 inherit system; 18 18 modules = [ 19 19 { 20 - # environment.systemPackages = 21 - # [ 22 - # ]; 23 - nix.enable = true; 20 + # Manage using determinate Nix instead 21 + nix.enable = false; 24 22 25 23 nixpkgs.config.allowUnfree = true; 26 - nix.gc = { 27 - automatic = true; 28 - interval = [ 29 - { 30 - Hour = 8; 31 - Minute = 0; 32 - Weekday = 1; 33 - } 34 - ]; 35 - }; 36 - 37 - # Necessary for using flakes on this system. 38 - # nix.settings.experimental-features = "nix-command flakes"; 39 - nix.settings = { 40 - experimental-features = "nix-command flakes"; 41 - trusted-users = ["root" "${userName}"]; 42 - trusted-substituters = ["https://cache.nixos.org" "https://git-ce.cachix.org"]; 43 - trusted-public-keys = ["cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "git-ce.cachix.org-1:U+Gm5iuIbU4Q/RKIlK1eCB5HPXH5eqDTlp4tbOjG30M="]; 44 - }; 45 24 46 25 # Create /etc/zshrc that loads the nix-darwin environment. 47 26 programs.zsh.enable = true; # default shell on catalina 48 27 programs.fish.enable = true; 49 - # programs.fish.enable = true; 50 - 51 - # Set Git commit hash for darwin-version. 52 - # system.configurationRevision = self.rev or self.dirtyRev or null; 53 - 54 - # Used for backwards compatibility, please read the changelog before changing. 55 - # $ darwin-rebuild changelog 56 28 system.stateVersion = 4; 57 29 58 30 # The platform the configuration will be used on. ··· 73 45 (import ./shared/nix.nix {inherit inputs pkgs;}) 74 46 ]; 75 47 }; 76 - # home-manager.extraSpecialArgs = {inherit gitce freeze zls pkgs userName;}; 77 - # extraSpecialArgs = {inherit inputs.gitce inputs.grlx inputs.zls inputs.freeze;}; 78 - # home-manager.sharedModules = [./nix-config/lsp.nix]; 79 48 } 80 49 ]; 81 50 };
+2
lib/shared/home.nix
··· 16 16 if pkgs.stdenv.isDarwin 17 17 then "15" 18 18 else "14"; 19 + carbonfox = inputs.carbonfox; 19 20 20 21 in { 21 22 home.username = userName; ··· 149 150 keybind = shift+enter=text:\n 150 151 macos-icon = retro 151 152 ''; 153 + ".config/ghostty/themes/carbonfox".source = carbonfox; 152 154 }; 153 155 154 156 # You can also manage environment variables but you will have to manually