dotfiles
0

Configure Feed

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

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