Introduces non-server home-manager configs

Allows home-manager configs to be done on a server/non-server basis

Provides an example config by moving emacs to its own space (behind a
lib.optionals so only non-server machines accept it)

marks artemision and rhapsody-in-green as explicitly non-server machines

Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
This commit is contained in:
ahuston-0 2024-05-21 13:40:16 -04:00 committed by Alice Huston
parent 32bd3b839f
commit 1589f59e3b
6 changed files with 33 additions and 9 deletions

View File

@ -159,7 +159,9 @@ rec {
}@args:
lib.nixosSystem {
inherit system;
specialArgs = inputs;
specialArgs = {
inherit inputs server;
};
modules =
[
inputs.nixos-modules.nixosModule

View File

@ -1,4 +1,9 @@
{ lib, sops-nix, ... }:
{
lib,
inputs,
server,
...
}:
{
boot.default = lib.mkDefault true;
@ -18,6 +23,11 @@
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
sharedModules = [ sops-nix.homeManagerModules.sops ];
sharedModules = [ inputs.sops-nix.homeManagerModules.sops ];
extraSpecialArgs = {
machineConfig = {
inherit server;
};
};
};
}

View File

@ -3,6 +3,7 @@
system = "x86_64-linux";
home = true;
sops = true;
server = false;
users = [ "alice" ];
modules = [
inputs.nixos-hardware.nixosModules.framework-16-7040-amd

View File

@ -4,5 +4,6 @@
system = "x86_64-linux";
home = true;
sops = true;
server = false;
modules = [ inputs.nixos-hardware.nixosModules.framework-13-7040-amd ];
}

View File

@ -1,4 +1,10 @@
{ config, pkgs, ... }:
{
config,
pkgs,
lib,
machineConfig,
...
}:
{
imports = [
@ -6,7 +12,7 @@
./home/doom
./home/gammastep.nix
./home/git.nix
];
] ++ lib.optionals (!machineConfig.server) [ ./non-server.nix ];
home = {
# # Adds the 'hello' command to your environment. It prints a friendly
@ -100,10 +106,6 @@
};
programs = {
emacs = {
enable = true;
package = pkgs.emacs29-pgtk;
};
starship.enable = true;
fzf = {

View File

@ -0,0 +1,8 @@
{ pkgs, ... }:
{
programs.emacs = {
enable = true;
package = pkgs.emacs29-pgtk;
};
}