nixos-config/flake.nix

120 lines
3 KiB
Nix
Raw Normal View History

2021-02-06 03:09:11 +01:00
{
description = "Nixos configuration with flakes";
inputs = {
2021-04-19 12:49:30 +02:00
nixpkgs = {
type = "github";
owner = "NixOS";
repo = "nixpkgs";
ref = "nixos-21.05";
2021-04-19 12:49:30 +02:00
};
nixpkgs-unstable = {
2021-05-27 20:16:14 +02:00
type = "github";
owner = "NixOS";
repo = "nixpkgs";
ref = "nixos-unstable-small";
};
2021-04-19 12:49:30 +02:00
emacs-overlay = {
type = "github";
owner = "nix-community";
repo = "emacs-overlay";
ref = "master";
};
2021-04-19 13:42:29 +02:00
home-manager = {
type = "github";
owner = "nix-community";
repo = "home-manager";
ref = "release-21.05";
inputs.nixpkgs.follows = "nixpkgs";
2021-04-19 13:42:29 +02:00
};
2021-02-06 03:09:11 +01:00
};
2021-07-14 17:53:31 +02:00
outputs = { self, nixpkgs, home-manager, ... } @inputs: {
2021-07-14 18:05:36 +02:00
nixosConfigurations = {
poseidon = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
./poseidon.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.alarsyo = import ./home;
home-manager.verbose = true;
}
{
nixpkgs.overlays = [
(self: super: {
packages = import ./pkgs { pkgs = super; };
# packages accessible through pkgs.unstable.package
unstable = import inputs.nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
fastPython3 = self.python3.override {
enableOptimizations = true;
reproducibleBuild = false;
self = self.fastPython3;
pythonAttr = "fastPython3";
};
matrix-synapse = super.matrix-synapse.override {
python3 = self.fastPython3;
};
})
];
}
];
};
boreal = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
./boreal.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.alarsyo = import ./home;
home-manager.verbose = true;
}
{
nixpkgs.overlays = [
inputs.emacs-overlay.overlay
(self: super: {
packages = import ./pkgs { pkgs = super; };
unstable = import inputs.nixpkgs-unstable {
inherit system;
config.allowUnfree = true;
};
steam = self.unstable.steam;
})
# uncomment this to build everything from scratch, fun but takes a
# while
#
# (self: super: {
# stdenv = super.impureUseNativeOptimizations super.stdenv;
# })
];
}
];
};
2021-04-16 21:33:48 +02:00
};
2021-02-06 03:09:11 +01:00
};
}