Alejandro Angulo
ee91268f30
Using nixpkgs unstable so updating home manager to track more closely with that (ran into an issue building).
105 lines
2.5 KiB
Nix
105 lines
2.5 KiB
Nix
{
|
|
description = "My Nix Configuration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
home-manager.url = "github:nix-community/home-manager/master";
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
ssbm-nix.url = github:djanatyn/ssbm-nix;
|
|
};
|
|
|
|
outputs = {
|
|
nixpkgs,
|
|
home-manager,
|
|
ssbm-nix,
|
|
...
|
|
}: let
|
|
system = "x86_64-linux";
|
|
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config = {
|
|
allowUnfree = true;
|
|
};
|
|
};
|
|
|
|
lib = nixpkgs.lib;
|
|
in {
|
|
homeManagerConfigurations = {
|
|
alejandro = home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
modules = [
|
|
./users/alejandro/home.nix
|
|
{
|
|
home = {
|
|
username = "alejandro";
|
|
homeDirectory = "/home/alejandro";
|
|
|
|
# This value determines the Home Manager release that your
|
|
# configuration is compatible with. This helps avoid breakage
|
|
# when a new Home Manager release introduces backwards
|
|
# incompatible changes.
|
|
#
|
|
# You can update Home Manager without changing this value. See
|
|
# the Home Manager release notes for a list of state version
|
|
# changes in each release.
|
|
stateVersion = "22.05";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
nixosConfigurations = {
|
|
virtual = lib.nixosSystem {
|
|
inherit system;
|
|
|
|
modules = [
|
|
./system/virtual/configuration.nix
|
|
];
|
|
};
|
|
|
|
carbon = lib.nixosSystem {
|
|
inherit system;
|
|
|
|
modules = [
|
|
./system/carbon/configuration.nix
|
|
./common/yubikey.nix
|
|
];
|
|
};
|
|
|
|
gospel = lib.nixosSystem {
|
|
inherit system;
|
|
|
|
modules = [
|
|
ssbm-nix.nixosModule
|
|
./system/gospel/configuration.nix
|
|
./common/yubikey.nix
|
|
];
|
|
};
|
|
};
|
|
|
|
devShells.${system} = {
|
|
default = pkgs.mkShell {
|
|
name = "nixosbuildshell";
|
|
buildInputs = with pkgs; [
|
|
git
|
|
git-crypt
|
|
nixVersions.stable
|
|
alejandra
|
|
pre-commit
|
|
direnv
|
|
];
|
|
|
|
shellHook = ''
|
|
echo "You can apply this flake to your system with nixos-rebuild switch --flake .#"
|
|
|
|
PATH=${pkgs.writeShellScriptBin "nix" ''
|
|
${pkgs.nixVersions.stable}/bin/nix --experimental-features "nix-command flakes" "$@"
|
|
''}/bin:$PATH
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|