dotfiles
0

Configure Feed

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

dot / nix / flake.nix
3.6 kB 134 lines
1{ 2 description = "nix-darwin system flake"; 3 4 inputs = { 5 nixpkgs-2511.url = "github:NixOS/nixpkgs/nixpkgs-25.11-darwin"; 6 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-26.05-darwin"; 7 nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 8 9 nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-26.05"; 10 nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; 11 }; 12 13 outputs = inputs@{ 14 self, 15 nix-darwin, 16 nixpkgs-2511, 17 nixpkgs, 18 nixpkgs-unstable 19 }: 20 let 21 system = "aarch64-darwin"; 22 pkgs = import nixpkgs { 23 inherit system; 24 config.allowUnfree = true; 25 overlays = [ 26 (import ./overlays/jpm.nix) 27 (import ./overlays/bleve.nix) 28 (final: prev: { 29 kotlin-lsp = final.callPackage ./overlays/kotlin-lsp.nix {}; 30 }) 31 ]; 32 }; 33 pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; 34 pkgs-2511 = nixpkgs-2511.legacyPackages.${system}; 35 in 36 { 37 # Build darwin flake using: 38 # $ sudo darwin-rebuild build --flake ~/.config/nix 39 # $ sudo darwin-rebuild switch --flake ~/.config/nix 40 darwinConfigurations."boltless-MacBook-Air" = nix-darwin.lib.darwinSystem { 41 modules = [ 42 ./darwin.nix 43 ]; 44 specialArgs = { 45 inherit self pkgs-unstable; 46 }; 47 }; 48 darwinConfigurations."boltless-Studio" = nix-darwin.lib.darwinSystem { 49 modules = [ 50 ./darwin.nix 51 # ({ lib, ... }: { 52 # nix.linux-builder.maxJobs = 6; 53 # nix.linux-builder.config.virtualisation.cores = 8; 54 # }) 55 ]; 56 specialArgs = { 57 inherit self pkgs-unstable; 58 }; 59 }; 60 # based on https://zaynetro.com/post/2024-you-dont-need-home-manager-nix 61 # $ nix profile install . 62 # $ nix profile upgrade nix 63 packages.${system}.default = pkgs.buildEnv { 64 name = "my-env"; 65 paths = [ 66 pkgs.bacon 67 pkgs.bleve-cli 68 pkgs.btop 69 pkgs.difftastic 70 pkgs-unstable.direnv 71 pkgs.dust 72 pkgs.eza 73 pkgs.fd 74 pkgs.fzf 75 pkgs.gh 76 pkgs.git 77 pkgs.go 78 pkgs.gopls 79 pkgs.hello 80 pkgs.janet 81 pkgs.yarn 82 pkgs.jpm 83 # pkgs.kotlin-lsp 84 pkgs.ktfmt 85 pkgs.meld 86 pkgs.mprocs 87 pkgs.nil 88 pkgs.nixfmt 89 pkgs.nodejs_26 90 pkgs.pandoc 91 pkgs.qmk 92 pkgs.ripgrep 93 pkgs.stack 94 pkgs.lua-language-server 95 pkgs.tmux 96 pkgs.tree 97 pkgs.typescript-language-server 98 pkgs.typst 99 pkgs.unixtools.watch 100 pkgs.vim 101 pkgs.pnpm 102 pkgs.worktrunk 103 pkgs.zellij 104 pkgs.llvmPackages.clang-tools 105 pkgs-unstable.jujutsu 106 pkgs-2511.neovim 107 (pkgs-unstable.lua5_1.withPackages (ps: with ps; [luarocks])) 108 (pkgs.buildEnv { 109 name = "mailing"; 110 paths = [ 111 pkgs.neomutt 112 # pkgs.mutt-wizard 113 # pkgs.isync 114 # pkgs.msmtp 115 # pkgs.pass 116 # pkgs.cacert 117 # pkgs.gettext 118 ]; 119 }) 120 ] ++ (if pkgs.stdenv.isDarwin then [ 121 # TODO: automate this with nix: 122 # $ ln -sfn ~/.nix-profile/Applications ~/Applications/Nix\ User\ Apps 123 pkgs.anki-bin 124 pkgs.iina 125 pkgs.imagemagick 126 pkgs.macmon 127 pkgs-unstable.docker 128 ] else []); 129 }; 130 # This can be just `imports = [ ./templates/templates.nix ]` when using flake-parts 131 templates = ((import ./templates/templates.nix) { inherit inputs; }).flake.templates; 132 }; 133} 134# vim: et:ts=2