dotfiles/flake.nix

95 lines
2.8 KiB
Nix

{
description = "The Flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:vaxerski/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, home-manager, hyprland, ... }:
let
system = "x86_64-linux";
username = "chris";
localOverlay = final: prev: {
myAwesome = final.awesome.overrideAttrs (old: rec {
pname = "myAwesome";
version = "git-20220508-c539e0e";
src = prev.fetchFromGitHub {
owner = "awesomeWM";
repo = "awesome";
rev = "c539e0e4350a42f813952fc28dd8490f42d934b3";
sha256 = "4z3w6iuv+Gw2xRvhv2AX4suO6dl82woJn0p1nkEx3uM=";
};
});
qt5ct = final.qt5ct.overrideAttrs (old: rec {
patches = (old.patches or []) ++ [
../../qt5ct.patch
];
});
emacsPgtkNativeComp = final.emacsPgtkNativeComp.overrideAttrs (old: rec {
pname = "emacs";
src = prev.fetchFromTarball {
url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
sha256 = "09rsqmz7i7lyays59b9600z11qqr6h6lcskw1zzp54yw2csxn2ix";
};
});
};
pkgs = import nixpkgs {
inherit system;
config = { allowUnfree = true; };
# overlays = [
# hyprland.overlay
# localOverlay
# ];
};
lib = nixpkgs.lib;
in {
nixosConfigurations = {
syl = lib.nixosSystem {
inherit system;
# inherit pkgs;
modules = [
./system/syl/configuration.nix
home-manager.nixosModules.home-manager
hyprland.nixosModules.default
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.chris = import ./user/home.nix;
programs.hyprland.enable = true;
}
];
};
kaladin = lib.nixosSystem {
inherit system;
modules = [
./system/kaladin/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.chris = import ./user/home.nix;
}
];
};
dalinar = lib.nixosSystem {
inherit system;
modules = [
./system/dalinar/configuration.nix
];
};
};
};
}