2023-12-08 19:07:54 +00:00
|
|
|
{
|
|
|
|
description = "Local machine - framework";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
|
|
|
bootstrap = {
|
|
|
|
url = "github:jrpotter/bootstrap/v0.1.2";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
home-manager = {
|
|
|
|
url = "github:nix-community/home-manager/release-23.05";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
outputs = { bootstrap, home-manager, ... }: {
|
2023-12-10 18:58:13 +00:00
|
|
|
nixosModules.default = { pkgs, system, jrpotter, ... }:
|
2023-12-08 19:07:54 +00:00
|
|
|
let
|
2023-12-10 18:58:13 +00:00
|
|
|
# This value determines the NixOS and home-manager release from which
|
|
|
|
# the default settings for stateful data, like file locations and
|
|
|
|
# database versions on your system were taken. This should probably
|
|
|
|
# never change.
|
|
|
|
stateVersion = "23.05";
|
|
|
|
in
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./hardware-configuration.nix
|
|
|
|
./configuration.nix
|
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
];
|
|
|
|
|
|
|
|
home-manager = {
|
2023-12-08 19:07:54 +00:00
|
|
|
useGlobalPkgs = true;
|
|
|
|
useUserPackages = true;
|
2023-12-10 18:58:13 +00:00
|
|
|
users.jrpotter = jrpotter;
|
2023-12-08 19:07:54 +00:00
|
|
|
|
|
|
|
# Used to pass non-default parameters to submodules.
|
|
|
|
extraSpecialArgs = {
|
2023-12-10 18:58:13 +00:00
|
|
|
inherit system stateVersion;
|
2023-12-08 19:07:54 +00:00
|
|
|
bootstrap = bootstrap.packages.${system}.default;
|
|
|
|
};
|
|
|
|
};
|
2023-12-10 18:58:13 +00:00
|
|
|
|
|
|
|
users.users.jrpotter = {
|
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = [
|
|
|
|
"docker"
|
|
|
|
"networkmanager"
|
|
|
|
"wheel"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
system.stateVersion = stateVersion;
|
2023-12-08 19:07:54 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|