2023-06-21 17:41:35 +01:00
|
|
|
{
|
2023-06-21 20:49:28 +01:00
|
|
|
description = "Evie's machine configurations";
|
|
|
|
|
2024-03-02 16:57:02 +00:00
|
|
|
nixConfig = {
|
|
|
|
extra-substituters = ["https://nix.xenia.me.uk"];
|
2024-04-17 18:04:43 +01:00
|
|
|
extra-trusted-public-keys = ["nix.xenia.me.uk:tlgwOaG5KMLjQUk2YaErS8mAG69ZCr3PaHXZYi+Y5eI="];
|
2024-03-02 16:57:02 +00:00
|
|
|
};
|
|
|
|
|
2023-06-21 20:49:28 +01:00
|
|
|
inputs = {
|
2024-03-31 12:59:24 +01:00
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
2024-03-12 05:46:32 +00:00
|
|
|
iosevka-custom.url = "git+https://git.xenia.me.uk/pixelifytica/iosevka.git";
|
2024-05-27 18:45:54 +01:00
|
|
|
niri = {
|
|
|
|
url = "github:yalter/niri/v0.1.6"; # Follow stable releases
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-06-21 20:49:28 +01:00
|
|
|
};
|
2023-06-21 17:41:35 +01:00
|
|
|
|
2024-01-30 14:21:50 +00:00
|
|
|
outputs = {
|
|
|
|
nixpkgs,
|
2024-03-03 21:16:22 +00:00
|
|
|
iosevka-custom,
|
2024-05-27 18:45:54 +01:00
|
|
|
niri,
|
2024-01-30 14:21:50 +00:00
|
|
|
...
|
|
|
|
}: let
|
2024-05-11 15:41:19 +01:00
|
|
|
defaultSpecialArgs = {system ? "x86_64-linux", ...}: {
|
2024-05-27 18:45:54 +01:00
|
|
|
niri = niri.packages.${system}.default;
|
2024-05-11 15:41:19 +01:00
|
|
|
iosevkaCustom = {
|
|
|
|
packages = iosevka-custom.outputs.packages.${system};
|
|
|
|
names = iosevka-custom.outputs.names;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
defaultModules = {
|
2024-02-24 08:44:26 +00:00
|
|
|
hostName ? "Atlas",
|
2024-05-11 15:41:19 +01:00
|
|
|
primaryUser ? "pixelifytica",
|
|
|
|
loginShell ? "zsh",
|
|
|
|
...
|
|
|
|
}: [
|
|
|
|
./configuration/default.nix
|
|
|
|
./configuration/${hostName}.nix
|
|
|
|
./hardware-configuration/${hostName}.nix
|
|
|
|
({
|
|
|
|
config,
|
|
|
|
lib,
|
2024-05-11 17:27:37 +01:00
|
|
|
pkgs,
|
2024-05-11 15:41:19 +01:00
|
|
|
...
|
|
|
|
}: {
|
|
|
|
networking = {inherit hostName;};
|
|
|
|
nix = {
|
|
|
|
settings.trusted-users = [primaryUser];
|
2024-05-21 09:12:31 +01:00
|
|
|
registry = {
|
|
|
|
nixpkgs.flake = nixpkgs;
|
|
|
|
my-nixos = {
|
|
|
|
from = {
|
|
|
|
type = "indirect";
|
|
|
|
id = "my-nixos";
|
|
|
|
};
|
|
|
|
to = {
|
|
|
|
type = "git";
|
|
|
|
url = "https://git.xenia.me.uk/pixelifytica/nixos.git?ref=main";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
my-home-manager = {
|
|
|
|
from = {
|
|
|
|
type = "indirect";
|
|
|
|
id = "my-home-manager";
|
|
|
|
};
|
|
|
|
to = {
|
|
|
|
type = "git";
|
|
|
|
url = "https://git.xenia.me.uk/pixelifytica/home-manager.git?ref=main";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-03-31 12:59:24 +01:00
|
|
|
};
|
2024-05-11 17:27:37 +01:00
|
|
|
services.greetd.settings.initial_session.user = primaryUser;
|
2024-05-11 15:41:19 +01:00
|
|
|
programs.${loginShell}.enable = true;
|
|
|
|
users.users.${primaryUser} = {
|
2024-05-11 17:27:37 +01:00
|
|
|
shell = pkgs.${loginShell};
|
2024-05-11 15:41:19 +01:00
|
|
|
group = "users";
|
|
|
|
isNormalUser = true;
|
|
|
|
description = "Evie Litherland-Smith";
|
|
|
|
extraGroups = ["networkmanager" "wheel" "video" "input" "uinput"];
|
|
|
|
initialHashedPassword = "$y$j9T$tHIPQt09Kf3KH2eIRze3g/$2mwSlcq27DTGvHNPJ5EP9/1CfL3bXP0F6oS/Vuffmn3";
|
|
|
|
openssh = {inherit (config.users.users.root.openssh) authorizedKeys;};
|
|
|
|
};
|
|
|
|
})
|
|
|
|
];
|
2024-01-30 14:21:50 +00:00
|
|
|
in {
|
2024-05-24 12:17:20 +01:00
|
|
|
devShells.x86_64-linux.default = let
|
|
|
|
pkgs = import nixpkgs {system = "x86_64-linux";};
|
|
|
|
in
|
|
|
|
pkgs.mkShellNoCC {
|
|
|
|
packages = [pkgs.nil];
|
|
|
|
};
|
2024-04-12 21:17:54 +01:00
|
|
|
nixosConfigurations = {
|
2024-01-30 14:21:50 +00:00
|
|
|
## Server
|
2024-05-11 15:41:19 +01:00
|
|
|
Legion = nixpkgs.lib.nixosSystem rec {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
|
|
modules = defaultModules {
|
|
|
|
hostName = "Legion";
|
|
|
|
primaryUser = "pixelifytica";
|
|
|
|
loginShell = "zsh";
|
|
|
|
};
|
2024-03-08 07:01:08 +00:00
|
|
|
};
|
2024-01-30 14:21:50 +00:00
|
|
|
## Personal
|
2024-05-11 15:41:19 +01:00
|
|
|
Northstar = nixpkgs.lib.nixosSystem rec {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
|
|
modules = defaultModules {
|
|
|
|
hostName = "Northstar";
|
|
|
|
primaryUser = "pixelifytica";
|
|
|
|
loginShell = "zsh";
|
|
|
|
};
|
2024-03-08 08:01:13 +00:00
|
|
|
};
|
2024-05-11 15:41:19 +01:00
|
|
|
Vanguard = nixpkgs.lib.nixosSystem rec {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
|
|
modules = defaultModules {
|
|
|
|
hostName = "Vanguard";
|
|
|
|
primaryUser = "pixelifytica";
|
|
|
|
loginShell = "zsh";
|
|
|
|
};
|
2024-03-08 07:30:18 +00:00
|
|
|
};
|
2024-01-30 14:21:50 +00:00
|
|
|
## Work
|
2024-05-20 07:10:25 +01:00
|
|
|
Tone = nixpkgs.lib.nixosSystem rec {
|
2024-05-11 15:41:19 +01:00
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
|
|
modules = defaultModules {
|
2024-05-20 07:10:25 +01:00
|
|
|
hostName = "Tone";
|
2024-05-11 15:41:19 +01:00
|
|
|
primaryUser = "elitherl";
|
|
|
|
loginShell = "zsh";
|
|
|
|
};
|
2024-03-08 08:01:13 +00:00
|
|
|
};
|
2024-05-11 15:41:19 +01:00
|
|
|
Scorch = nixpkgs.lib.nixosSystem rec {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
|
|
modules = defaultModules {
|
|
|
|
hostName = "Scorch";
|
|
|
|
primaryUser = "elitherl";
|
|
|
|
loginShell = "zsh";
|
|
|
|
};
|
2024-03-08 08:01:13 +00:00
|
|
|
};
|
2023-06-21 20:49:28 +01:00
|
|
|
};
|
2024-01-30 14:21:50 +00:00
|
|
|
};
|
2023-06-21 17:41:35 +01:00
|
|
|
}
|