mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2026-04-15 05:39:11 +02:00
wip: migrate client modules
This commit is contained in:
parent
f6d2ff1544
commit
7ce27d5d2f
245 changed files with 20254 additions and 188 deletions
7
profiles-clone/home/default.nix
Normal file
7
profiles-clone/home/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ lib, ... }:
|
||||
let
|
||||
profileNames = lib.swarselsystems.readNix "profiles-clone/home";
|
||||
in
|
||||
{
|
||||
imports = lib.swarselsystems.mkImports profileNames "profiles-clone/home";
|
||||
}
|
||||
30
profiles-clone/home/dgxspark/default.nix
Normal file
30
profiles-clone/home/dgxspark/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.dgxspark = lib.mkEnableOption "is this a dgx spark host";
|
||||
config = lib.mkIf config.swarselprofiles.dgxspark {
|
||||
swarselmodules = {
|
||||
atuin = lib.mkDefault true;
|
||||
bash = lib.mkDefault true;
|
||||
blueman-applet = lib.mkDefault true;
|
||||
direnv = lib.mkDefault true;
|
||||
eza = lib.mkDefault true;
|
||||
firefox = lib.mkDefault true;
|
||||
fuzzel = lib.mkDefault true;
|
||||
general = lib.mkDefault true;
|
||||
git = lib.mkDefault true;
|
||||
gpgagent = lib.mkDefault true;
|
||||
kitty = lib.mkDefault true;
|
||||
nix-index = lib.mkDefault true;
|
||||
nixgl = lib.mkDefault true;
|
||||
nix-your-shell = lib.mkDefault true;
|
||||
nm-applet = lib.mkDefault true;
|
||||
sops = lib.mkDefault true;
|
||||
starship = lib.mkDefault true;
|
||||
stylix = lib.mkDefault true;
|
||||
tmux = lib.mkDefault true;
|
||||
zellij = lib.mkDefault true;
|
||||
zsh = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
18
profiles-clone/home/hotel/default.nix
Normal file
18
profiles-clone/home/hotel/default.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.hotel = lib.mkEnableOption "is this a hotel host";
|
||||
config = lib.mkIf config.swarselprofiles.hotel {
|
||||
swarselprofiles.personal = true;
|
||||
swarselmodules = {
|
||||
yubikey = lib.mkForce false;
|
||||
ssh = lib.mkForce false;
|
||||
env = lib.mkForce false;
|
||||
git = lib.mkForce false;
|
||||
mail = lib.mkForce false;
|
||||
emacs = lib.mkForce false;
|
||||
obsidian = lib.mkForce false;
|
||||
gammastep = lib.mkForce false;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
13
profiles-clone/home/localserver/default.nix
Normal file
13
profiles-clone/home/localserver/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.server.local = lib.mkEnableOption "is this a local server";
|
||||
config = lib.mkIf config.swarselprofiles.server.local {
|
||||
swarselmodules = {
|
||||
general = lib.mkDefault true;
|
||||
server = {
|
||||
dotfiles = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
14
profiles-clone/home/minimal/default.nix
Normal file
14
profiles-clone/home/minimal/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.minimal = lib.mkEnableOption "is this a personal host";
|
||||
config = lib.mkIf config.swarselprofiles.minimal {
|
||||
swarselmodules = {
|
||||
general = lib.mkDefault true;
|
||||
sops = lib.mkDefault true;
|
||||
kitty = lib.mkDefault true;
|
||||
zsh = lib.mkDefault true;
|
||||
git = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
71
profiles-clone/home/personal/default.nix
Normal file
71
profiles-clone/home/personal/default.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host";
|
||||
config = lib.mkIf config.swarselprofiles.personal {
|
||||
swarselmodules = {
|
||||
anki = lib.mkDefault true;
|
||||
anki-tray = lib.mkDefault true;
|
||||
attic-store-push = lib.mkDefault true;
|
||||
atuin = lib.mkDefault true;
|
||||
autotiling = lib.mkDefault false; # niri
|
||||
batsignal = lib.mkDefault false; # niri
|
||||
blueman-applet = lib.mkDefault true;
|
||||
desktop = lib.mkDefault true;
|
||||
direnv = lib.mkDefault true;
|
||||
element-desktop = lib.mkDefault true;
|
||||
element-tray = lib.mkDefault true;
|
||||
emacs = lib.mkDefault true;
|
||||
env = lib.mkDefault true;
|
||||
eza = lib.mkDefault true;
|
||||
firefox = lib.mkDefault true;
|
||||
firezone-tray = lib.mkDefault true;
|
||||
fuzzel = lib.mkDefault true;
|
||||
gammastep = lib.mkDefault false; # niri
|
||||
general = lib.mkDefault true;
|
||||
git = lib.mkDefault true;
|
||||
gnome-keyring = lib.mkDefault true;
|
||||
gpgagent = lib.mkDefault true;
|
||||
hexchat = lib.mkDefault true;
|
||||
kanshi = lib.mkDefault false; # niri
|
||||
kdeconnect = lib.mkDefault true;
|
||||
kitty = lib.mkDefault true;
|
||||
khal = lib.mkDefault true;
|
||||
mail = lib.mkDefault true;
|
||||
mako = lib.mkDefault false; # niri
|
||||
nix-index = lib.mkDefault true;
|
||||
nixgl = lib.mkDefault true;
|
||||
nix-your-shell = lib.mkDefault true;
|
||||
nm-applet = lib.mkDefault true;
|
||||
obs-studio = lib.mkDefault true;
|
||||
obsidian = lib.mkDefault true;
|
||||
obsidian-tray = lib.mkDefault true;
|
||||
opkssh = lib.mkDefault true;
|
||||
ownpackages = lib.mkDefault true;
|
||||
packages = lib.mkDefault true;
|
||||
passwordstore = lib.mkDefault true;
|
||||
programs = lib.mkDefault true;
|
||||
sops = lib.mkDefault false;
|
||||
spicetify = lib.mkDefault true;
|
||||
spotify-player = lib.mkDefault true;
|
||||
ssh = lib.mkDefault true;
|
||||
starship = lib.mkDefault true;
|
||||
stylix = lib.mkDefault true;
|
||||
sway = lib.mkDefault false; # niri
|
||||
swayidle = lib.mkDefault true;
|
||||
swaylock = lib.mkDefault false; # niri
|
||||
swayosd = lib.mkDefault true;
|
||||
symlink = lib.mkDefault true;
|
||||
tmux = lib.mkDefault true;
|
||||
vesktop = lib.mkDefault true;
|
||||
vesktop-tray = lib.mkDefault true;
|
||||
shikane = lib.mkDefault true;
|
||||
syncthing-tray = lib.mkDefault true;
|
||||
waybar = lib.mkDefault true;
|
||||
yubikey = lib.mkDefault false;
|
||||
yubikeytouch = lib.mkDefault true;
|
||||
zellij = lib.mkDefault true;
|
||||
zsh = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
7
profiles-clone/nixos/default.nix
Normal file
7
profiles-clone/nixos/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ lib, ... }:
|
||||
let
|
||||
profileNames = lib.swarselsystems.readNix "profiles-clone/nixos";
|
||||
in
|
||||
{
|
||||
imports = lib.swarselsystems.mkImports profileNames "profiles-clone/nixos";
|
||||
}
|
||||
12
profiles-clone/nixos/hotel/default.nix
Normal file
12
profiles-clone/nixos/hotel/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.hotel = lib.mkEnableOption "is this a hotel host";
|
||||
config = lib.mkIf config.swarselprofiles.hotel {
|
||||
swarselprofiles.personal = true;
|
||||
swarselmodules = {
|
||||
yubikey = false;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
29
profiles-clone/nixos/localserver/default.nix
Normal file
29
profiles-clone/nixos/localserver/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.server = lib.mkEnableOption "is this a server";
|
||||
config = lib.mkIf config.swarselprofiles.server {
|
||||
swarselmodules = {
|
||||
general = lib.mkDefault true;
|
||||
lanzaboote = lib.mkDefault true;
|
||||
home-manager = lib.mkDefault true;
|
||||
xserver = lib.mkDefault true;
|
||||
time = lib.mkDefault true;
|
||||
impermanence = lib.mkDefault true;
|
||||
btrfs = lib.mkDefault true;
|
||||
sops = lib.mkDefault true;
|
||||
boot = lib.mkDefault true;
|
||||
nftables = lib.mkDefault true;
|
||||
server = {
|
||||
general = lib.mkDefault true;
|
||||
ids = lib.mkDefault true;
|
||||
network = lib.mkDefault true;
|
||||
diskEncryption = lib.mkDefault true;
|
||||
packages = lib.mkDefault true;
|
||||
ssh = lib.mkDefault true;
|
||||
attic-setup = lib.mkDefault true;
|
||||
dns-hostrecord = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
29
profiles-clone/nixos/microvm/default.nix
Normal file
29
profiles-clone/nixos/microvm/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.microvm = lib.mkEnableOption "is this a server";
|
||||
config = lib.mkIf config.swarselprofiles.microvm {
|
||||
swarselsystems = {
|
||||
isLinux = true;
|
||||
isNixos = true;
|
||||
};
|
||||
swarselmodules = {
|
||||
general = lib.mkDefault true;
|
||||
xserver = lib.mkDefault true;
|
||||
time = lib.mkDefault true;
|
||||
impermanence = lib.mkDefault true;
|
||||
btrfs = lib.mkDefault true;
|
||||
sops = lib.mkDefault true;
|
||||
nftables = lib.mkDefault true;
|
||||
server = {
|
||||
general = lib.mkDefault true;
|
||||
ids = lib.mkDefault true;
|
||||
packages = lib.mkDefault true;
|
||||
ssh = lib.mkDefault true;
|
||||
wireguard = lib.mkDefault true;
|
||||
dns-home = lib.mkDefault true;
|
||||
opkssh = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
29
profiles-clone/nixos/minimal/default.nix
Normal file
29
profiles-clone/nixos/minimal/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.minimal = lib.mkEnableOption "declare this a minimal host";
|
||||
config = lib.mkIf config.swarselprofiles.minimal {
|
||||
swarselmodules = {
|
||||
general = lib.mkDefault true;
|
||||
home-manager = lib.mkDefault true;
|
||||
xserver = lib.mkDefault true;
|
||||
lanzaboote = lib.mkDefault true;
|
||||
time = lib.mkDefault true;
|
||||
impermanence = lib.mkDefault true;
|
||||
security = lib.mkDefault true;
|
||||
sops = lib.mkDefault true;
|
||||
zsh = lib.mkDefault true;
|
||||
yubikey = lib.mkDefault true;
|
||||
autologin = lib.mkDefault true;
|
||||
boot = lib.mkDefault true;
|
||||
btrfs = lib.mkDefault true;
|
||||
nftables = lib.mkDefault true;
|
||||
|
||||
server = {
|
||||
ssh = lib.mkDefault true;
|
||||
diskEncryption = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
63
profiles-clone/nixos/personal/default.nix
Normal file
63
profiles-clone/nixos/personal/default.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.personal = lib.mkEnableOption "is this a personal host";
|
||||
config = lib.mkIf config.swarselprofiles.personal {
|
||||
swarselmodules = {
|
||||
# keyd = lib.mkDefault true;
|
||||
appimage = lib.mkDefault true;
|
||||
autologin = lib.mkDefault true;
|
||||
blueman = lib.mkDefault true;
|
||||
boot = lib.mkDefault true;
|
||||
btrfs = lib.mkDefault true;
|
||||
distrobox = lib.mkDefault true;
|
||||
env = lib.mkDefault true;
|
||||
firezone-client = lib.mkDefault true;
|
||||
general = lib.mkDefault true;
|
||||
gnome-keyring = lib.mkDefault true;
|
||||
gvfs = lib.mkDefault true;
|
||||
hardware = lib.mkDefault true;
|
||||
home-manager = lib.mkDefault true;
|
||||
impermanence = lib.mkDefault true;
|
||||
interceptionTools = lib.mkDefault true;
|
||||
keyboards = lib.mkDefault true;
|
||||
lanzaboote = lib.mkDefault true;
|
||||
ledger = lib.mkDefault true;
|
||||
lid = lib.mkDefault true;
|
||||
login = lib.mkDefault true;
|
||||
lowBattery = lib.mkDefault false;
|
||||
nautilus = lib.mkDefault true;
|
||||
network = lib.mkDefault true;
|
||||
networkDevices = lib.mkDefault true;
|
||||
nftables = lib.mkDefault true;
|
||||
nix-ld = lib.mkDefault true;
|
||||
nvd = lib.mkDefault true;
|
||||
packages = lib.mkDefault true;
|
||||
pipewire = lib.mkDefault true;
|
||||
ppd = lib.mkDefault true;
|
||||
programs = lib.mkDefault true;
|
||||
pulseaudio = lib.mkDefault true;
|
||||
remotebuild = lib.mkDefault true;
|
||||
security = lib.mkDefault true;
|
||||
sops = lib.mkDefault true;
|
||||
stylix = lib.mkDefault true;
|
||||
sway = lib.mkDefault false; # niri
|
||||
swayosd = lib.mkDefault false; # niri
|
||||
syncthing = lib.mkDefault true;
|
||||
systemdTimeout = lib.mkDefault true;
|
||||
time = lib.mkDefault true;
|
||||
uwsm = lib.mkDefault true;
|
||||
xdg-portal = lib.mkDefault true;
|
||||
xserver = lib.mkDefault true;
|
||||
yubikey = lib.mkDefault true;
|
||||
zsh = lib.mkDefault true;
|
||||
|
||||
};
|
||||
home-manager.users."${config.swarselsystems.mainUser}" = {
|
||||
swarselprofiles = {
|
||||
personal = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
14
profiles-clone/nixos/router/default.nix
Normal file
14
profiles-clone/nixos/router/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselprofiles.router = lib.mkEnableOption "enable the router profile";
|
||||
config = lib.mkIf config.swarselprofiles.router {
|
||||
swarselmodules = {
|
||||
nftables = lib.mkDefault true;
|
||||
server = {
|
||||
router = lib.mkDefault true;
|
||||
kea = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue