Nix-Config/flake.nix

132 lines
4.3 KiB
Nix
Raw Normal View History

2023-03-09 18:49:28 +00:00
{
description = "~tsv's system config";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-03-15 14:58:55 +00:00
devenv.url = "github:cachix/devenv/latest";
2023-04-01 21:18:50 +00:00
hyprland.url = "github:hyprwm/Hyprland";
2023-04-28 18:09:55 +00:00
hyprcontrib.url = "github:hyprwm/contrib";
2023-04-04 08:06:26 +00:00
flake-utils.url = "github:numtide/flake-utils";
codeium = {
url = "github:jcdickinson/codeium.nvim";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-03-09 18:49:28 +00:00
};
2023-04-28 18:09:55 +00:00
outputs = inputs@{ nixpkgs, home-manager, devenv, hyprland, hyprcontrib, codeium, ... }: {
2023-03-09 18:49:28 +00:00
nixosConfigurations = {
2023-10-09 15:34:34 +00:00
######################################################################################
# ritchie (Work laptop)
# Named after Dennis Ritchie, co-creator of UNIX and C
######################################################################################
ritchie = nixpkgs.lib.nixosSystem { # My work machine
2023-03-09 18:49:28 +00:00
system = "x86_64-linux";
2023-03-15 14:58:55 +00:00
specialArgs.inputs = inputs;
2023-03-09 18:49:28 +00:00
modules = [
2023-07-07 06:57:08 +00:00
./system/ritchie/ritchie.nix
2023-04-01 21:18:50 +00:00
hyprland.nixosModules.default
2023-06-13 09:42:46 +00:00
{
programs.hyprland = {
enable = true;
2023-08-28 13:38:58 +00:00
enableNvidiaPatches = true;
2023-06-13 09:42:46 +00:00
xwayland = {
enable = true;
};
};
}
2023-04-01 21:18:50 +00:00
home-manager.nixosModules.home-manager {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.tsv = import users/tsv/ritchie.nix;
users.foxsoft = import users/foxsoft/home.nix;
2023-09-03 14:43:50 +00:00
users.root = import users/root/home.nix;
};
}
2023-03-09 18:49:28 +00:00
];
};
2023-10-09 15:34:34 +00:00
######################################################################################
# thompson (Personl laptop)
# Named after Ken Thompson, co-creator of UNIX and C
######################################################################################
thompson = nixpkgs.lib.nixosSystem { # My personal laptop
system = "x86_64-linux";
specialArgs.inputs = inputs;
modules = [
2023-07-07 06:57:08 +00:00
./system/thompson/thompson.nix
hyprland.nixosModules.default
2023-10-09 15:34:34 +00:00
{
programs.hyprland = {
enable = true;
enableNvidiaPatches = true;
xwayland = {
enable = true;
};
};
}
home-manager.nixosModules.home-manager {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.tsv = import users/tsv/thompson.nix;
};
}
];
};
2023-10-09 15:34:34 +00:00
######################################################################################
# kernighan (VPS hosted with Hetzner)
# Named after Brian Kernighan, key UNIX figure and author
######################################################################################
2023-07-02 10:28:50 +00:00
kernighan = nixpkgs.lib.nixosSystem { # Pi home server
system = "aarch64-linux";
specialArgs.inputs = inputs;
modules = [
2023-07-07 06:57:08 +00:00
./system/kernighan/kernighan.nix
2023-07-02 10:28:50 +00:00
];
};
2023-07-07 18:41:07 +00:00
2023-10-09 15:34:34 +00:00
######################################################################################
# miyamoto (Butchered laptop—music and games for the kids
# Named after Shigery Miyamoto, creator of Donkey Kong, Mario and X
######################################################################################
miyamoto = nixpkgs.lib.nixosSystem { # Kid's game and music box
system = "x86_64-linux";
2023-07-07 18:41:07 +00:00
specialArgs.inputs = inputs;
modules = [
2023-10-09 15:34:34 +00:00
./system/miyamoto/miyamoto.nix
2023-07-07 18:41:07 +00:00
];
};
2023-10-09 15:34:34 +00:00
######################################################################################
# Other, non-Nix systems (for completeness/documentation):
# mcilroy (printer)
# Named after Doug McIlroy, who proposed UNIX pipes, developed a bunch of UNIX stuff
# and wrote one iteration of roff.
# Home Assistant on a Raspberry Pi 4
# Todo:
# Internet Radio
# Kids laptop
######################################################################################
2023-03-09 18:49:28 +00:00
};
};
}