nixos-config/flake.nix

122 lines
3.1 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-20.09";
};
nixpkgs-unstable = {
type = "github";
owner = "NixOS";
repo = "nixpkgs";
ref = "nixos-unstable";
};
2021-05-27 20:16:14 +02:00
nixpkgs-unstable-small = {
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 = "master";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
2021-02-06 03:09:11 +01:00
};
2021-05-27 20:16:14 +02:00
outputs = { self,
nixpkgs,
nixpkgs-unstable,
nixpkgs-unstable-small,
emacs-overlay,
home-manager }: {
2021-02-15 17:23:25 +01:00
nixosConfigurations.poseidon = nixpkgs.lib.nixosSystem rec {
2021-02-06 03:09:11 +01:00
system = "x86_64-linux";
modules =
2021-04-22 20:59:54 +02:00
let
pkgsUnstable = import nixpkgs-unstable { inherit system; };
2021-04-22 20:59:54 +02:00
in
2021-02-06 03:09:11 +01:00
[
2021-02-14 13:42:43 +01:00
./poseidon.nix
2021-02-15 17:23:25 +01:00
# hack to use an unstable home manager within a stable NixOS install,
# do not reproduce... at home :clown_face:
2021-04-22 20:59:54 +02:00
({ config, utils, ... }: home-manager.nixosModules.home-manager {
pkgs = pkgsUnstable;
lib = pkgsUnstable.lib;
2021-04-22 20:59:54 +02:00
inherit config utils;
})
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.alarsyo = import ./home;
home-manager.verbose = true;
}
2021-02-15 16:31:08 +01:00
{
nixpkgs.overlays = [
(final: prev: {
# packages accessible through pkgs.unstable.package
unstable = pkgsUnstable;
bitwarden_rs = pkgsUnstable.bitwarden_rs;
bitwarden_rs-vault = pkgsUnstable.bitwarden_rs-vault;
})
];
2021-02-15 16:31:08 +01:00
}
2021-02-06 03:09:11 +01:00
];
};
2021-04-16 21:33:48 +02:00
nixosConfigurations.boreal = nixpkgs-unstable.lib.nixosSystem rec {
system = "x86_64-linux";
modules =
[
./boreal.nix
2021-04-17 20:39:01 +02:00
2021-04-19 13:42:29 +02:00
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.alarsyo = import ./home;
2021-04-19 15:04:52 +02:00
home-manager.verbose = true;
2021-04-19 13:42:29 +02:00
}
2021-04-17 20:39:01 +02:00
{
nixpkgs.overlays = [
emacs-overlay.overlay
2021-04-22 14:22:55 +02:00
(self: super: {
packages = import ./pkgs { pkgs = super; };
2021-05-27 20:16:14 +02:00
unstable-small = import nixpkgs-unstable-small {
inherit system;
config.allowUnfree = true;
};
2021-04-22 14:22:55 +02:00
})
# uncomment this to build everything from scratch, fun but takes a
# while
#
# (self: super: {
# stdenv = super.impureUseNativeOptimizations super.stdenv;
# })
];
2021-04-17 20:39:01 +02:00
}
2021-04-16 21:33:48 +02:00
];
};
2021-02-06 03:09:11 +01:00
};
}