parent
e8fff0bbd3
commit
c43560ff95
35 changed files with 411 additions and 427 deletions
devices
|
@ -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 {
|
||||
...
|
||||
```
|
||||
|
|
|
@ -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;}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
{
|
||||
config,
|
||||
mainUser,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.vars) mainUser;
|
||||
in {
|
||||
}: {
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
config,
|
||||
jellyfin-flake,
|
||||
mainUser,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) hasAttr optionals;
|
||||
inherit (config.vars) mainUser;
|
||||
|
||||
optionalGroup = name:
|
||||
optionals
|
||||
|
|
|
@ -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;};
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
{
|
||||
config,
|
||||
mainUser,
|
||||
minix,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.vars) mainUser;
|
||||
in {
|
||||
}: {
|
||||
imports = [minix.nixosModules.default];
|
||||
|
||||
environment.systemPackages = [
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue