/ flake.nix
flake.nix
1 # git add .; nix run .#update --show-trace 2 # git add .; nix run .#activate --show-trace 3 # git add .; nix run .#activate $USER@$HOST --show-trace 4 { 5 description = "Mumtahin Farabi's distributed NixOS Configurations."; 6 7 inputs = { 8 nixos-unified.url = "github:srid/nixos-unified"; 9 flake-parts.url = "github:hercules-ci/flake-parts"; 10 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; 11 12 # lix-module.url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"; 13 # lix-module.inputs.nixpkgs.follows = "nixpkgs"; 14 15 nix-darwin.url = "github:nix-darwin/nix-darwin/master"; 16 nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; 17 18 nixos-wsl.url = "github:nix-community/NixOS-WSL/main"; 19 nixos-wsl.inputs.nixpkgs.follows = "nixpkgs"; 20 21 home-manager.url = "github:nix-community/home-manager"; 22 home-manager.inputs.nixpkgs.follows = "nixpkgs"; 23 24 stylix.url = "github:danth/stylix"; 25 stylix.inputs.nixpkgs.follows = "nixpkgs"; 26 27 lazyvim.url = "github:pfassina/lazyvim-nix"; 28 29 nix-doom-emacs-unstraightened.url = "github:marienz/nix-doom-emacs-unstraightened"; 30 nix-doom-emacs-unstraightened.inputs.nixpkgs.follows = ""; 31 32 nix-index-database.url = "github:nix-community/nix-index-database"; 33 nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; 34 35 nixGL.url = "github:guibou/nixGL"; 36 nixGL.inputs.nixpkgs.follows = "nixpkgs"; 37 38 hyprland-plugins.url = "github:hyprwm/hyprland-plugins"; 39 # hyprland-plugins.inputs.hyprland.follows = "nixpkgs"; 40 41 nix-on-droid.url = "github:nix-community/nix-on-droid/release-24.05"; 42 nix-on-droid.inputs.nixpkgs.follows = "nixpkgs"; 43 nix-on-droid.inputs.home-manager.follows = "home-manager"; 44 45 # use fork to allow disabling modules introduced by mkRemovedOptionModule and similar functions 46 # see PR nixos:nixpkgs#398456 (https://github.com/NixOS/nixpkgs/pull/398456) 47 # nixpkgs-nvmd-modules-with-keys.url = "github:nvmd/nixpkgs/modules-with-keys-25.05"; 48 nixos-raspberrypi = { 49 url = "github:nvmd/nixos-raspberrypi/main"; 50 # inputs.nixpkgs.follows = "nixpkgs-nvmd-modules-with-keys"; 51 }; 52 53 # nix-dokploy.url = "github:kedom1337/nix-dokploy/kd/feat/compat"; 54 nix-dokploy.url = ./nix-dokploy; 55 proxmox-nixos.url = "github:SaumonNet/proxmox-nixos"; 56 }; 57 58 # nixos-unified.org/autowiring.html 59 outputs = 60 inputs: 61 let 62 flake = inputs.nixos-unified.lib.mkFlake { 63 inherit inputs; 64 root = ./.; 65 }; 66 in 67 flake 68 // { 69 nixOnDroidConfigurations.default = inputs.nix-on-droid.lib.nixOnDroidConfiguration { 70 home-manager-path = inputs.home-manager.outPath; 71 extraSpecialArgs = { 72 # rootPath = ./.; 73 inherit inputs; 74 }; 75 76 pkgs = import inputs.nixpkgs { 77 system = "aarch64-linux"; 78 overlays = [ 79 inputs.nix-on-droid.overlays.default 80 ]; 81 }; 82 83 modules = [ 84 ./modules/nixos/time.nix 85 ./configurations/nixos/nix-on-droid/terminal.nix 86 ./configurations/nixos/nix-on-droid/environment.nix 87 ./configurations/nixos/nix-on-droid/nix-on-droid.nix 88 ./configurations/nixos/nix-on-droid/home-manager.nix 89 ./configurations/nixos/nix-on-droid/android-integration.nix 90 ]; 91 }; 92 }; 93 }