{ description = "Emile's Nix Dotfiles"; inputs = { #nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; spicetify-nix = { url = "github:Gerg-L/spicetify-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; nixcord.url = "github:kaylorben/nixcord"; grub2-themes.url = "github:vinceliuice/grub2-themes"; # is this necessary? (aren't I enabling it in `configuration.nix` anyways?) hyprland.url = "github:hyprwm/Hyprland"; swww.url = "github:LGFae/swww"; # TODO: declarative flatpak management nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; ags.url = "github:Aylur/ags"; hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; }; outputs = { self, nixpkgs, home-manager, hyprland, grub2-themes, nixcord, ... } @ inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; # Colmena's latest stable version is # unusable so get latest unstable version. #packageOverrides = pkgsBuild: let # src = pkgsBuild.fetchFromGitHub { # owner = "zhaofengli"; # repo = "colmena"; # rev = "47b6414d800c8471e98ca072bc0835345741a56a"; # sha256 = "rINodqeUuezuCWOnpJgrH7u9vJ86fYT+Dj8Mu8T/IBc="; # };:cl # #flake = import (src + "/flake.nix"); #in { # colmena = let # flake = pkgsBuild.callPackage "${src}/flake.nix" {}; # #flake = import "${src}/package.nix"; # #flake = import "${src}/flake.nix"; # #flake-outputs = flake.outputs { # # inherit self; # # inherit nixpkgs; # # inherit stable; # # inherit flake-utils; # # # #}; # in # flake; # #flake.outputs.packages."${system}".colmena {}; # # #pkgsBuild.callPackage flake.packages.${system}.colmena {}; # #colmena = flake.packages."${system}".colmena; #}; }; }; # colmena-new = pkgs.colmena.overrideAttrs (old: { # src = pkgs.fetchFromGitHub { # owner = "zhaofengli"; # repo = "colmena"; # rev = "47b6414d800c8471e98ca072bc0835345741a56a"; # sha256 = "rINodqeUuezuCWOnpJgrH7u9vJ86fYT+Dj8Mu8T/IBc="; # }; # cargoHash = pkgs.lib.fakeHash; # cargoSha256 = pkgs.lib.fakeSha256; # }); #pkgsColmena = import (builtins.fetchGit { # name = "nixpkgs-unstable-colmena"; # url = "https://github.com/NixOS/nixpkgs/"; # ref = "refs/heads/nixpkgs-unstable"; # rev = "21808d22b1cda1898b71cf1a1beb524a97add2c4"; #}) {}; #pkgsColmena = import (builtins.fetchTarball { # url = "https://github.com/NixOS/nixpkgs/archive/21808d22b1cda1898b71cf1a1beb524a97add2c4.tar.gz"; # sha256 = "0v2z6jphhbk1ik7fqhlfnihcyff5np9wb3pv19j9qb9mpildx0cg"; #}) {inherit system;}; # TODO: come back to this its really cool # this is just something I'm experimenting with PROJECT_ROOT = builtins.toString ./.; in { # `nix develop` shell devShells."x86_64-linux".default = pkgs.mkShell { buildInputs = [ #colmena-new ]; }; nixosConfigurations = { # i be on my puter fr myputer = nixpkgs.lib.nixosSystem { # nix passes these to every single module specialArgs = {inherit inputs pkgs;}; modules = [ ./hosts/myputer grub2-themes.nixosModules.default ]; }; # my laptop 0w0 lolcathost = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs pkgs;}; modules = [ ./hosts/lolcathost grub2-themes.nixosModules.default ]; }; # meine vps #imbored = nixpkgs.lib.nixosSystem { # specialargs = {inherit inputs pkgs;}; # # modules = [ # ./hosts/imbored # ]; #}; }; # remote deployment to my servers!! colmena = { meta = { # set nixpkgs global nixpkgs = pkgs; # set nixpkgs per server # nodeNixpkgs = { # hyrule = pkgs; # }; }; # meine vps hyrule = import ./hosts/hyrule; }; }; }