refactor: get rid of vars and move common to modules

This commit is contained in:
matt1432 2024-11-22 23:15:13 -05:00
parent e8fff0bbd3
commit c43560ff95
35 changed files with 411 additions and 427 deletions

View file

@ -14,26 +14,3 @@ This directory encompasses every device's main configuration file.
| `nos` | My custom built NAS |
| `servivi` | A gaming PC in a previous life, it is now used as a build farm and hosts game servers |
| `wim` | My 2-1 Lenovo Laptop that I use for uni |
## Global Vars
In every device's `default.nix`, you'll find these [settings](https://git.nelim.org/matt1432/nixos-configs/src/branch/master/common/vars/default.nix)
```nix
# $FLAKE/devices/<name>/default.nix
vars = {
mainUser = "matt";
...
};
```
from these declared settings, I get access to global variables
that are different on each host using a 'let in' block:
```nix
let
inherit (config.vars) mainUser ...;
in {
...
```

View file

@ -1,6 +1,6 @@
# FIXME: eval is broken
{
config,
lib,
self,
...
}: {
@ -35,15 +35,6 @@
# Global hm settings
home-manager.config = {
imports = [
# Make the vars be the same on Nix and HM
{
options.vars = lib.mkOption {
type = lib.types.attrs;
readOnly = true;
default = config.vars;
};
}
self.homeManagerModules.neovim
{programs.neovim.enable = true;}

View file

@ -1,10 +1,8 @@
{
config,
mainUser,
self,
...
}: let
inherit (config.vars) mainUser;
in {
}: {
# ------------------------------------------------
# Imports
# ------------------------------------------------
@ -13,6 +11,7 @@ in {
./modules
self.nixosModules.base
self.nixosModules.kmscon
self.nixosModules.plymouth
self.nixosModules.server
@ -24,8 +23,6 @@ in {
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars.mainUser = "mariah";
users.users.${mainUser} = {
isNormalUser = true;
extraGroups = [
@ -44,6 +41,11 @@ in {
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.base = {
enable = true;
user = mainUser;
};
roles.server = {
user = mainUser;
sshd.enable = true;

View file

@ -1,14 +1,13 @@
defaultSession: {
config,
lib,
mainUser,
pkgs,
...
}: {
config = let
inherit (lib) findFirst getExe mkForce;
inherit (config.vars) mainUser;
switch-session = pkgs.writeShellApplication {
name = "switch-session";

View file

@ -1,13 +1,12 @@
defaultSession: {
config,
lib,
mainUser,
pkgs,
self,
...
}: {
config = let
inherit (config.vars) mainUser;
in {
config = {
# Normal Steam Stuff
programs.steam = {
enable = true;

View file

@ -1,10 +1,8 @@
{
config,
mainUser,
self,
...
}: let
inherit (config.vars) mainUser;
in {
}: {
# ------------------------------------------------
# Imports
# ------------------------------------------------
@ -13,6 +11,7 @@ in {
./modules
self.nixosModules.base
self.nixosModules.desktop
self.nixosModules.kmscon
self.nixosModules.server
@ -24,8 +23,6 @@ in {
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars.mainUser = "matt";
users.users.${mainUser} = {
isNormalUser = true;
extraGroups = [
@ -52,6 +49,11 @@ in {
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.base = {
enable = true;
user = mainUser;
};
roles.desktop = {
user = mainUser;

View file

@ -1,12 +1,12 @@
{
config,
lib,
mainUser,
pkgs,
self,
...
}: let
inherit (lib) concatStringsSep getExe removePrefix;
inherit (config.vars) mainUser;
inherit (self.packages.${pkgs.system}) gpu-screen-recorder gsr-kms-server;
hyprPkgs = config.home-manager.users.${mainUser}.wayland.windowManager.hyprland.finalPackage;

View file

@ -1,10 +1,9 @@
deviceName: {
config,
mainUser,
self,
...
}: let
inherit (config.vars) mainUser;
clusterIP = config.services.pcsd.virtualIps.caddy-vip.ip;
in {
# ------------------------------------------------
@ -15,6 +14,7 @@ in {
./modules
self.nixosModules.base
self.nixosModules.kmscon
self.nixosModules.server
];
@ -25,8 +25,6 @@ in {
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars.mainUser = "matt";
users.users.${mainUser} = {
isNormalUser = true;
extraGroups = [
@ -54,6 +52,11 @@ in {
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.base = {
enable = true;
user = mainUser;
};
roles.server = {
user = mainUser;
tailscale.enable = true;

View file

@ -1,11 +1,11 @@
{
caddy-plugins,
pkgs,
config,
mainUser,
pkgs,
...
}: let
inherit (config.sops) secrets;
inherit (config.vars) mainUser;
inherit (config.networking) hostName;
caddy = caddy-plugins.packages.${pkgs.system}.default;

View file

@ -1,5 +1,8 @@
{config, ...}: let
inherit (config.vars) mainUser;
{
config,
mainUser,
...
}: let
inherit (config.networking) hostName;
clusterIP = config.services.pcsd.virtualIps.caddy-vip.ip;

View file

@ -1,6 +1,7 @@
{
config,
lib,
mainUser,
...
}: let
inherit (lib) foldl isList mapAttrsToList mergeAttrsWithFunc remove unique;
@ -11,7 +12,6 @@
else b)) {}
list;
inherit (config.vars) mainUser;
inherit (config.networking) hostName;
serviviIP = "100.64.0.7";

View file

@ -1,10 +1,8 @@
{
config,
mainUser,
self,
...
}: let
inherit (config.vars) mainUser;
in {
}: {
# ------------------------------------------------
# Imports
# ------------------------------------------------
@ -13,6 +11,7 @@ in {
./modules
self.nixosModules.base
self.nixosModules.docker
self.nixosModules.kmscon
self.nixosModules.server
@ -24,8 +23,6 @@ in {
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars.mainUser = "matt";
users.users.${mainUser} = {
isNormalUser = true;
extraGroups = [
@ -45,6 +42,11 @@ in {
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.base = {
enable = true;
user = mainUser;
};
roles.server = {
user = mainUser;
tailscale.enable = true;

View file

@ -1,10 +1,9 @@
{
config,
mainUser,
pkgs,
...
}: let
inherit (config.vars) mainUser;
in {
}: {
hardware.bluetooth = {
enable = true;
powerOnBoot = true;

View file

@ -1,10 +1,8 @@
{
config,
mainUser,
self,
...
}: let
inherit (config.vars) mainUser;
in {
}: {
# ------------------------------------------------
# Imports
# ------------------------------------------------
@ -13,6 +11,7 @@ in {
./modules
self.nixosModules.base
self.nixosModules.docker
self.nixosModules.kmscon
self.nixosModules.server
@ -24,8 +23,6 @@ in {
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars.mainUser = "matt";
users.users.${mainUser} = {
isNormalUser = true;
extraGroups = [
@ -46,6 +43,11 @@ in {
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.base = {
enable = true;
user = mainUser;
};
roles.server = {
user = mainUser;
tailscale.enable = true;

View file

@ -1,11 +1,11 @@
{
config,
jellyfin-flake,
mainUser,
lib,
...
}: let
inherit (lib) hasAttr optionals;
inherit (config.vars) mainUser;
optionalGroup = name:
optionals

View file

@ -1,10 +1,9 @@
{
config,
mainUser,
pkgs,
...
} @ inputs: let
inherit (config.vars) mainUser;
convertMkv = pkgs.callPackage ./convert.nix {inherit pkgs;};
extractSubs = pkgs.callPackage ./extract-subs {inherit pkgs;};
sub-clean = pkgs.callPackage ./cleanup.nix {inherit pkgs;};

View file

@ -1,10 +1,8 @@
{
config,
mainUser,
self,
...
}: let
inherit (config.vars) mainUser;
in {
}: {
# ------------------------------------------------
# Imports
# ------------------------------------------------
@ -13,6 +11,7 @@ in {
./modules
self.nixosModules.base
self.nixosModules.docker
self.nixosModules.kmscon
self.nixosModules.server
@ -24,8 +23,6 @@ in {
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars.mainUser = "matt";
users.users = {
${mainUser} = {
isNormalUser = true;
@ -59,6 +56,11 @@ in {
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.base = {
enable = true;
user = mainUser;
};
roles.server = {
user = mainUser;
tailscale.enable = true;

View file

@ -1,10 +1,10 @@
{
config,
mainUser,
nix-fast-build,
pkgs,
...
}: let
inherit (config.vars) mainUser;
inherit (config.sops) secrets;
nix-fast-build-pkg = nix-fast-build.packages.${pkgs.system}.nix-fast-build.override {

View file

@ -1,11 +1,9 @@
{
config,
mainUser,
minix,
pkgs,
...
}: let
inherit (config.vars) mainUser;
in {
}: {
imports = [minix.nixosModules.default];
environment.systemPackages = [

View file

@ -1,11 +1,9 @@
{
config,
mainUser,
self,
pkgs,
...
}: let
inherit (config.vars) mainUser;
in {
}: {
# ------------------------------------------------
# Imports
# ------------------------------------------------
@ -14,6 +12,7 @@ in {
./modules
self.nixosModules.base
self.nixosModules.desktop
self.nixosModules.docker
self.nixosModules.kmscon
@ -27,8 +26,6 @@ in {
# ------------------------------------------------
# User Settings
# ------------------------------------------------
vars.mainUser = "matt";
users.users.${mainUser} = {
isNormalUser = true;
extraGroups = [
@ -62,6 +59,11 @@ in {
# ------------------------------------------------
# `Self` Modules configuration
# ------------------------------------------------
roles.base = {
enable = true;
user = mainUser;
};
roles.desktop = {
user = mainUser;