Nix configurations for my personal machines (Linux & macOS)
1{ 2 inputs = { 3 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; 4 nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; 5 # nur.url = "github:nix-community/NUR"; 6 7 nix-darwin = { 8 url = "github:LnL7/nix-darwin"; 9 inputs.nixpkgs.follows = "nixpkgs"; 10 }; 11 12 home-manager = { 13 url = "github:nix-community/home-manager"; 14 inputs.nixpkgs.follows = "nixpkgs"; 15 }; 16 17 nix-index-database = { 18 url = "github:nix-community/nix-index-database"; 19 inputs.nixpkgs.follows = "nixpkgs"; 20 }; 21 22 iosevka-solai = { 23 url = "github:ovyerus/iosevka-solai"; 24 inputs.nixpkgs.follows = "nixpkgs"; 25 }; 26 27 niri-flake = { 28 url = "github:sodiboo/niri-flake"; 29 inputs.nixpkgs.follows = "nixpkgs"; 30 }; 31 32 lix-module = { 33 url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz"; 34 inputs.nixpkgs.follows = "nixpkgs"; 35 }; 36 37 denix = { 38 url = "github:yunfachi/denix"; 39 inputs.nixpkgs.follows = "nixpkgs"; 40 inputs.home-manager.follows = "home-manager"; 41 }; 42 43 zen-browser = { 44 url = "github:youwen5/zen-browser-flake"; 45 inputs.nixpkgs.follows = "nixpkgs"; 46 }; 47 48 # ags = { 49 # url = "github:Aylur/ags"; 50 # inputs.nixpkgs.follows = "nixpkgs"; 51 # }; 52 }; 53 54 outputs = { 55 # ags, 56 denix, 57 home-manager, 58 lix-module, 59 niri-flake, 60 nix-darwin, 61 nix-index-database, 62 nixpkgs, 63 self, 64 ... 65 } @ inputs: let 66 system = "x86_64-linux"; 67 pkgs = nixpkgs.legacyPackages.${system}; 68 # agsPkgs = ags.packages.${system}; 69 mkConfigurations = moduleSystem: 70 denix.lib.configurations (let 71 homeManagerUser = "ovy"; 72 in { 73 inherit moduleSystem homeManagerUser; 74 75 paths = [./hosts ./modules]; #./rices]; 76 specialArgs = {inherit inputs moduleSystem homeManagerUser;}; 77 }); 78 in { 79 packages.${system} = { 80 iconifydl = pkgs.callPackage ./pkgs/iconifydl.nix {}; 81 82 # default = ags.lib.bundle { 83 # inherit pkgs; 84 # src = ./files/astal; 85 # name = "ovy-shell"; 86 # entry = "app.ts"; 87 # }; 88 }; 89 90 # devShells.x86_64-linux.default = pkgs.mkShell { 91 # buildInputs = [agsPkgs.agsFull agsPkgs.io agsPkgs.apps agsPkgs.tray self.packages.${system}.iconifydl]; 92 # }; 93 94 nixosConfigurations = mkConfigurations "nixos"; 95 darwinConfigurations = mkConfigurations "darwin"; 96 97 # nixosModules.serverHomeManager = {...}: { 98 # imports = [home-manager.nixosModules.home-manager]; 99 100 # home-manager = { 101 # useGlobalPkgs = true; 102 # useUserPackages = true; 103 # backupFileExtension = "backup"; 104 # users.ovy = import ./home/server.nix; 105 # extraSpecialArgs = {inherit inputs;}; 106 # }; 107 # }; 108 109 formatter = { 110 aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra; 111 aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.alejandra; 112 x86_64-darwin = nixpkgs.legacyPackages.x86_64-darwin.alejandra; 113 x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; 114 }; 115 }; 116}