this repo has no description
1
fork

Configure Feed

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

at master 121 lines 3.2 kB view raw
1{ 2 description = "Hauleth's configuration"; 3 4 inputs = { 5 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 6 darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-25.05-darwin"; 7 flake-parts.url = "github:hercules-ci/flake-parts"; 8 9 home-manager = { 10 url = "github:nix-community/home-manager"; 11 inputs.nixpkgs.follows = "nixpkgs"; 12 }; 13 agnoster = { 14 url = "github:hauleth/agnoster"; 15 inputs.nixpkgs.follows = "nixpkgs"; 16 }; 17 darwin = { 18 url = "github:lnl7/nix-darwin"; 19 inputs.nixpkgs.follows = "nixpkgs"; 20 }; 21 22 # neorg-overlay = { 23 # url = "github:nvim-neorg/nixpkgs-neorg-overlay"; 24 # inputs.nixpkgs.follows = "nixpkgs"; 25 # }; 26 27 expert = { 28 url = "github:elixir-lang/expert"; 29 inputs.nixpkgs.follows = "nixpkgs"; 30 }; 31 32 # nixvim = { 33 # url = "github:nix-community/nixvim"; 34 # inputs.nixpkgs.follows = "nixpkgs"; 35 # }; 36 }; 37 38 nixConfig = { 39 extra-substituters = [ 40 "https://cache.lix.systems" 41 ]; 42 extra-trusted-public-keys = [ 43 "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" 44 ]; 45 }; 46 47 outputs = 48 { 49 self, 50 flake-parts, 51 ... 52 }@inputs: 53 flake-parts.lib.mkFlake { inherit inputs; } { 54 flake = { 55 lib = import ./lib.nix inputs; 56 57 # TODO: Automatically discover and build that 58 darwinConfigurations."Niuniobook" = (import ./hosts/niuniobook.nix { inherit inputs; }).system; 59 60 darwinConfigurations."Supadupa" = (import ./hosts/supadupa.nix { inherit inputs; }).system; 61 62 templates = { 63 elixir = { 64 path = ./templates/elixir; 65 description = "Basic requirements for Elixir applications"; 66 }; 67 }; 68 }; 69 70 systems = [ 71 "x86_64-darwin" 72 "aarch64-darwin" 73 ]; 74 75 perSystem = 76 { 77 self', 78 pkgs, 79 inputs', 80 ... 81 }: 82 { 83 formatter = pkgs.nixfmt-tree; 84 85 legacyPackages = inputs'.darwin-stable.legacyPackages.callPackage ./pkgs { }; 86 87 packages = (pkgs.callPackage ./pkgs { }) // { 88 default = pkgs.writeScriptBin "activate" '' 89 #!/bin/sh 90 ${pkgs.lib.getExe self'.packages.system} switch 91 ''; 92 93 system = 94 let 95 builder = 96 if pkgs.stdenv.isDarwin then 97 pkgs.lib.getExe' inputs'.darwin.packages.darwin-rebuild "darwin-rebuild" 98 else 99 pkgs.lib.getExe pkgs.nixos-rebuild; 100 in 101 pkgs.writeScriptBin "activate-system" '' 102 #!/bin/sh 103 exec ${builder} --flake "${self}" "$@" 104 ''; 105 }; 106 107 devShells = 108 let 109 globalShells = pkgs.callPackage ./dev_shells.nix { }; 110 default = pkgs.mkShell { 111 packages = [ 112 pkgs.fnlfmt 113 # TODO: Remove it and manage all configuration from Nix 114 pkgs.stow 115 ]; 116 }; 117 in 118 globalShells // { inherit default; }; 119 }; 120 }; 121}