Evie Litherland-Smith
010f0f6fc3
nixpkgs url and flake lock updates Remove nixpkgs from registry and nixPath as it's done automatically in NixOS now Stop setting nix package to nixVersions.unstable as that's now deprecated
144 lines
4.2 KiB
Nix
144 lines
4.2 KiB
Nix
{
|
|
description = "Evie's machine configurations";
|
|
|
|
nixConfig = {
|
|
extra-substituters = ["https://nix.xenia.me.uk"];
|
|
extra-trusted-public-keys = ["nix.xenia.me.uk:tlgwOaG5KMLjQUk2YaErS8mAG69ZCr3PaHXZYi+Y5eI="];
|
|
};
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
|
iosevka-custom.url = "git+https://git.xenia.me.uk/pixelifytica/iosevka.git";
|
|
niri = {
|
|
url = "github:yalter/niri/v0.1.6"; # Follow stable releases
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
nixpkgs,
|
|
iosevka-custom,
|
|
niri,
|
|
...
|
|
}: let
|
|
defaultSpecialArgs = {system ? "x86_64-linux", ...}: {
|
|
niri = niri.packages.${system}.default;
|
|
iosevkaCustom = {
|
|
packages = iosevka-custom.outputs.packages.${system};
|
|
names = iosevka-custom.outputs.names;
|
|
};
|
|
};
|
|
defaultModules = {
|
|
hostName ? "Atlas",
|
|
primaryUser ? "pixelifytica",
|
|
loginShell ? "zsh",
|
|
...
|
|
}: [
|
|
./configuration/default.nix
|
|
./configuration/${hostName}.nix
|
|
./hardware-configuration/${hostName}.nix
|
|
({
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
networking = {inherit hostName;};
|
|
nix = {
|
|
settings.trusted-users = [primaryUser];
|
|
registry = {
|
|
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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
services.greetd.settings.initial_session.user = primaryUser;
|
|
programs.${loginShell}.enable = true;
|
|
users.users.${primaryUser} = {
|
|
shell = pkgs.${loginShell};
|
|
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;};
|
|
};
|
|
})
|
|
];
|
|
in {
|
|
devShells.x86_64-linux.default = let
|
|
pkgs = import nixpkgs {system = "x86_64-linux";};
|
|
in
|
|
pkgs.mkShellNoCC {
|
|
packages = [pkgs.nil];
|
|
};
|
|
nixosConfigurations = {
|
|
## Server
|
|
Legion = nixpkgs.lib.nixosSystem rec {
|
|
system = "x86_64-linux";
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
modules = defaultModules {
|
|
hostName = "Legion";
|
|
primaryUser = "pixelifytica";
|
|
loginShell = "zsh";
|
|
};
|
|
};
|
|
## Personal
|
|
Northstar = nixpkgs.lib.nixosSystem rec {
|
|
system = "x86_64-linux";
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
modules = defaultModules {
|
|
hostName = "Northstar";
|
|
primaryUser = "pixelifytica";
|
|
loginShell = "zsh";
|
|
};
|
|
};
|
|
Vanguard = nixpkgs.lib.nixosSystem rec {
|
|
system = "x86_64-linux";
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
modules = defaultModules {
|
|
hostName = "Vanguard";
|
|
primaryUser = "pixelifytica";
|
|
loginShell = "zsh";
|
|
};
|
|
};
|
|
## Work
|
|
Tone = nixpkgs.lib.nixosSystem rec {
|
|
system = "x86_64-linux";
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
modules = defaultModules {
|
|
hostName = "Tone";
|
|
primaryUser = "elitherl";
|
|
loginShell = "zsh";
|
|
};
|
|
};
|
|
Scorch = nixpkgs.lib.nixosSystem rec {
|
|
system = "x86_64-linux";
|
|
specialArgs = defaultSpecialArgs {inherit system;};
|
|
modules = defaultModules {
|
|
hostName = "Scorch";
|
|
primaryUser = "elitherl";
|
|
loginShell = "zsh";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|