chore(modules): add auto-import default.nix files
This commit is contained in:
@@ -8,31 +8,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../modules
|
../../modules
|
||||||
../../modules/3d
|
|
||||||
../../modules/ai-tools
|
|
||||||
../../modules/anki
|
|
||||||
../../modules/audio
|
|
||||||
../../modules/browser
|
|
||||||
../../modules/cloud
|
|
||||||
../../modules/comms
|
|
||||||
../../modules/desktop/niri
|
|
||||||
../../modules/devenv
|
|
||||||
../../modules/direnv
|
|
||||||
../../modules/git
|
|
||||||
../../modules/k8s/k9s.nix
|
|
||||||
../../modules/keepassxc
|
|
||||||
../../modules/music
|
|
||||||
../../modules/nvim
|
|
||||||
../../modules/pandoc
|
|
||||||
../../modules/photography
|
|
||||||
../../modules/secrets
|
|
||||||
../../modules/shell
|
|
||||||
../../modules/ssh
|
|
||||||
../../modules/taskwarrior
|
|
||||||
../../modules/terminal
|
|
||||||
../../modules/torrenting
|
|
||||||
../../modules/yubikey
|
|
||||||
../../modules/zk
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
|
|||||||
@@ -7,29 +7,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../modules
|
../../modules
|
||||||
../../modules/3d
|
|
||||||
../../modules/ai-tools
|
|
||||||
../../modules/anki
|
|
||||||
../../modules/audio
|
|
||||||
../../modules/browser
|
|
||||||
../../modules/cloud
|
|
||||||
../../modules/comms
|
|
||||||
../../modules/desktop/niri
|
|
||||||
../../modules/devenv
|
|
||||||
../../modules/direnv
|
|
||||||
../../modules/git
|
|
||||||
../../modules/k8s/k9s.nix
|
|
||||||
../../modules/keepassxc
|
|
||||||
../../modules/music
|
|
||||||
../../modules/nfc
|
|
||||||
../../modules/nvim
|
|
||||||
../../modules/pandoc
|
|
||||||
../../modules/secrets
|
|
||||||
../../modules/shell
|
|
||||||
../../modules/ssh
|
|
||||||
../../modules/taskwarrior
|
|
||||||
../../modules/terminal
|
|
||||||
../../modules/yubikey
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
@@ -48,34 +25,33 @@
|
|||||||
claude-code.enable = true;
|
claude-code.enable = true;
|
||||||
opencode.enable = true;
|
opencode.enable = true;
|
||||||
};
|
};
|
||||||
desktop.niri.enable = true;
|
anki.enable = true;
|
||||||
|
audio.enable = true;
|
||||||
browser.enable = true;
|
browser.enable = true;
|
||||||
browser.primary = "librewolf";
|
browser.primary = "librewolf";
|
||||||
cloud.hetzner.enable = true;
|
cloud.hetzner.enable = true;
|
||||||
comms.signal.enable = true;
|
comms.signal.enable = true;
|
||||||
|
desktop.niri.enable = true;
|
||||||
|
devenv.enable = true;
|
||||||
|
direnv.enable = true;
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
git.github.enable = true;
|
git.github.enable = true;
|
||||||
|
k8s.k9s.enable = true;
|
||||||
|
keepassxc.enable = true;
|
||||||
|
music.enable = true;
|
||||||
|
my.yubikey.enable = true;
|
||||||
|
nfc.enable = true;
|
||||||
|
nvim.enable = true;
|
||||||
|
pandoc.enable = true;
|
||||||
|
secrets.enable = true;
|
||||||
shell = {
|
shell = {
|
||||||
enable = true;
|
enable = true;
|
||||||
bash.aliases.lang-js = true;
|
bash.aliases.lang-js = true;
|
||||||
bash.addBinToPath = true;
|
bash.addBinToPath = true;
|
||||||
};
|
};
|
||||||
anki.enable = true;
|
|
||||||
k8s.k9s.enable = true;
|
|
||||||
secrets.enable = true;
|
|
||||||
taskwarrior.enable = true;
|
|
||||||
secrets.enable = true;
|
|
||||||
my.yubikey.enable = true;
|
|
||||||
audio.enable = true;
|
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
music.enable = true;
|
taskwarrior.enable = true;
|
||||||
terminal.enable = true;
|
terminal.enable = true;
|
||||||
devenv.enable = true;
|
|
||||||
keepassxc.enable = true;
|
|
||||||
direnv.enable = true;
|
|
||||||
nvim.enable = true;
|
|
||||||
nfc.enable = true;
|
|
||||||
pandoc.enable = true;
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
|||||||
@@ -9,35 +9,6 @@
|
|||||||
imports = [
|
imports = [
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
../../modules
|
../../modules
|
||||||
../../modules/ai-tools
|
|
||||||
../../modules/anki
|
|
||||||
../../modules/browser
|
|
||||||
../../modules/bruno
|
|
||||||
../../modules/cloud
|
|
||||||
../../modules/comms
|
|
||||||
../../modules/database
|
|
||||||
../../modules/dconf
|
|
||||||
../../modules/desktop/niri
|
|
||||||
../../modules/devenv
|
|
||||||
../../modules/direnv
|
|
||||||
../../modules/docker
|
|
||||||
../../modules/git
|
|
||||||
../../modules/go
|
|
||||||
../../modules/infra
|
|
||||||
../../modules/k8s
|
|
||||||
../../modules/k8s/k9s.nix
|
|
||||||
../../modules/keepassxc
|
|
||||||
../../modules/music
|
|
||||||
../../modules/nodejs
|
|
||||||
../../modules/nvim
|
|
||||||
../../modules/pandoc
|
|
||||||
../../modules/secrets
|
|
||||||
../../modules/shell
|
|
||||||
../../modules/stylix
|
|
||||||
../../modules/taskwarrior
|
|
||||||
../../modules/ticketing
|
|
||||||
../../modules/terminal
|
|
||||||
../../modules/vscode
|
|
||||||
];
|
];
|
||||||
|
|
||||||
sops.age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
|
sops.age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
|
||||||
@@ -63,50 +34,50 @@
|
|||||||
defaultWrapper = "mesa";
|
defaultWrapper = "mesa";
|
||||||
};
|
};
|
||||||
|
|
||||||
desktop.niri.enable = true;
|
|
||||||
browser = {
|
|
||||||
enable = true;
|
|
||||||
primary = "firefox";
|
|
||||||
secondary = "chromium";
|
|
||||||
};
|
|
||||||
devenv.enable = true;
|
|
||||||
music.enable = true;
|
|
||||||
terminal.enable = true;
|
|
||||||
keepassxc.enable = true;
|
|
||||||
direnv.enable = true;
|
|
||||||
nvim.enable = true;
|
|
||||||
my.dconf.enable = true;
|
|
||||||
pandoc.enable = true;
|
|
||||||
cloud.azure.enable = true;
|
|
||||||
comms.signal.enable = true;
|
|
||||||
comms.teams.enable = true;
|
|
||||||
ai-tools = {
|
ai-tools = {
|
||||||
claude-code.enable = true;
|
claude-code.enable = true;
|
||||||
tirith.enable = true;
|
tirith.enable = true;
|
||||||
opencode.enable = true;
|
opencode.enable = true;
|
||||||
};
|
};
|
||||||
|
anki.enable = true;
|
||||||
|
browser = {
|
||||||
|
enable = true;
|
||||||
|
primary = "firefox";
|
||||||
|
secondary = "chromium";
|
||||||
|
};
|
||||||
|
bruno.enable = true;
|
||||||
|
cloud.azure.enable = true;
|
||||||
|
comms.signal.enable = true;
|
||||||
|
comms.teams.enable = true;
|
||||||
database = {
|
database = {
|
||||||
mssql.enable = true;
|
mssql.enable = true;
|
||||||
postgresql.enable = true;
|
postgresql.enable = true;
|
||||||
redis.enable = true;
|
redis.enable = true;
|
||||||
};
|
};
|
||||||
anki.enable = true;
|
desktop.niri.enable = true;
|
||||||
taskwarrior.enable = true;
|
devenv.enable = true;
|
||||||
k8s.enable = true;
|
direnv.enable = true;
|
||||||
shell.enable = true;
|
docker.enable = true;
|
||||||
my.stylix.enable = true;
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
github.enable = true;
|
github.enable = true;
|
||||||
gitlab.enable = true;
|
gitlab.enable = true;
|
||||||
};
|
};
|
||||||
|
go.enable = true;
|
||||||
|
k8s.enable = true;
|
||||||
|
keepassxc.enable = true;
|
||||||
|
music.enable = true;
|
||||||
|
my.dconf.enable = true;
|
||||||
|
my.stylix.enable = true;
|
||||||
|
nvim.enable = true;
|
||||||
|
pandoc.enable = true;
|
||||||
|
shell.enable = true;
|
||||||
|
taskwarrior.enable = true;
|
||||||
|
terminal.enable = true;
|
||||||
|
infra.enable = true;
|
||||||
|
nodejs.enable = true;
|
||||||
secrets.enable = true;
|
secrets.enable = true;
|
||||||
secrets.vault.enable = true;
|
secrets.vault.enable = true;
|
||||||
bruno.enable = true;
|
|
||||||
docker.enable = true;
|
|
||||||
infra.enable = true;
|
|
||||||
go.enable = true;
|
|
||||||
nodejs.enable = true;
|
|
||||||
ticketing.enable = true;
|
ticketing.enable = true;
|
||||||
vscode.enable = true;
|
vscode.enable = true;
|
||||||
|
|
||||||
|
|||||||
@@ -5,52 +5,40 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
{
|
||||||
moduleDirs = lib.filterAttrs (_: v: v == "directory") (builtins.readDir ./.);
|
imports =
|
||||||
dirHasEnableOption =
|
|
||||||
name:
|
|
||||||
let
|
let
|
||||||
nixFiles = lib.filterAttrs (n: v: v == "regular" && lib.hasSuffix ".nix" n) (
|
dirs = lib.attrNames (lib.filterAttrs (_: v: v == "directory") (builtins.readDir ./.));
|
||||||
builtins.readDir ./${name}
|
hasDef = name: builtins.pathExists ./${name}/default.nix;
|
||||||
);
|
|
||||||
in
|
in
|
||||||
!(builtins.pathExists ./${name}/default.nix)
|
map (name: ./${name}) (builtins.filter hasDef dirs);
|
||||||
|| lib.any (f: lib.hasInfix "mkEnableOption" (builtins.readFile ./${name}/${f})) (
|
|
||||||
builtins.attrNames nixFiles
|
|
||||||
);
|
|
||||||
withoutEnableOption = builtins.attrNames (
|
|
||||||
lib.filterAttrs (name: _: !dirHasEnableOption name) moduleDirs
|
|
||||||
);
|
|
||||||
in
|
|
||||||
lib.throwIf (withoutEnableOption != [ ])
|
|
||||||
"home modules missing enable option: ${lib.concatStringsSep ", " withoutEnableOption}"
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
host.username = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = config.home.username;
|
|
||||||
};
|
|
||||||
|
|
||||||
nixgl.wrap = lib.mkOption {
|
options = {
|
||||||
type = lib.types.functionTo lib.types.package;
|
host.username = lib.mkOption {
|
||||||
default = if config.lib ? nixGL then config.lib.nixGL.wrap else lib.id;
|
type = lib.types.str;
|
||||||
readOnly = true;
|
default = config.home.username;
|
||||||
};
|
|
||||||
|
|
||||||
wrapApp = lib.mkOption {
|
|
||||||
type = lib.types.raw;
|
|
||||||
default =
|
|
||||||
pkg: flags:
|
|
||||||
if config.lib ? nixGL then
|
|
||||||
pkg.overrideAttrs (old: {
|
|
||||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ];
|
|
||||||
postInstall = (old.postInstall or "") + ''
|
|
||||||
wrapProgram $out/bin/${pkg.meta.mainProgram} --add-flags "${flags}"
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
else
|
|
||||||
pkg;
|
|
||||||
readOnly = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
nixgl.wrap = lib.mkOption {
|
||||||
|
type = lib.types.functionTo lib.types.package;
|
||||||
|
default = if config.lib ? nixGL then config.lib.nixGL.wrap else lib.id;
|
||||||
|
readOnly = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
wrapApp = lib.mkOption {
|
||||||
|
type = lib.types.raw;
|
||||||
|
default =
|
||||||
|
pkg: flags:
|
||||||
|
if config.lib ? nixGL then
|
||||||
|
pkg.overrideAttrs (old: {
|
||||||
|
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ];
|
||||||
|
postInstall = (old.postInstall or "") + ''
|
||||||
|
wrapProgram $out/bin/${pkg.meta.mainProgram} --add-flags "${flags}"
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
else
|
||||||
|
pkg;
|
||||||
|
readOnly = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -17,51 +17,57 @@ in
|
|||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
inputs.nixos-hardware.nixosModules.common-pc
|
inputs.nixos-hardware.nixosModules.common-pc
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
||||||
../../modules/common
|
../../modules
|
||||||
../../modules/boot/bootloader.nix
|
|
||||||
(import ../../modules/disko/zfs-encrypted-root.nix {
|
(import ../../modules/disko/zfs-encrypted-root.nix {
|
||||||
inherit lib config;
|
inherit lib config;
|
||||||
device = "/dev/nvme1n1";
|
device = "/dev/nvme1n1";
|
||||||
})
|
})
|
||||||
../../modules/ai-tools
|
|
||||||
../../modules/anki
|
|
||||||
../../modules/audio
|
|
||||||
../../modules/backups
|
|
||||||
../../modules/bluetooth
|
|
||||||
../../modules/desktops/niri
|
|
||||||
../../modules/docker
|
|
||||||
../../modules/firewall
|
|
||||||
../../modules/fonts
|
|
||||||
../../modules/gaming
|
|
||||||
../../modules/git
|
|
||||||
../../modules/hcloud
|
|
||||||
../../modules/keyboard
|
|
||||||
../../modules/localization
|
|
||||||
../../modules/networking
|
|
||||||
../../modules/nvidia
|
|
||||||
../../modules/secrets
|
|
||||||
../../modules/ssh
|
|
||||||
../../modules/storage
|
|
||||||
../../modules/stylix
|
|
||||||
../../modules/syncthing
|
|
||||||
../../modules/tailscale
|
|
||||||
../../modules/taskwarrior
|
|
||||||
../../modules/users
|
|
||||||
../../modules/wol
|
|
||||||
../../modules/yubikey
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.${config.host.username} = import ../../home/hosts/${config.host.name};
|
home-manager.users.${config.host.username} = import ../../home/hosts/${config.host.name};
|
||||||
|
|
||||||
secrets.nixSigningKey.enable = true;
|
"ai-tools".enable = true;
|
||||||
|
anki.enable = true;
|
||||||
restic-backup.enable = true;
|
audio.enable = true;
|
||||||
tailscale.enable = true;
|
bluetooth.enable = true;
|
||||||
|
bootloader.enable = true;
|
||||||
|
desktop.niri.enable = true;
|
||||||
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ 22 ];
|
||||||
|
};
|
||||||
|
gaming.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
keyboard.enable = true;
|
||||||
|
localization.enable = true;
|
||||||
|
my = {
|
||||||
|
fonts.enable = true;
|
||||||
|
stylix.enable = true;
|
||||||
|
users.enable = true;
|
||||||
|
yubikey = {
|
||||||
|
enable = true;
|
||||||
|
pam.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
desktop.ly.enable = true;
|
desktop.ly.enable = true;
|
||||||
|
|
||||||
docker.enable = true;
|
docker.enable = true;
|
||||||
|
|
||||||
hcloud.enable = true;
|
hcloud.enable = true;
|
||||||
|
networking.enable = true;
|
||||||
|
nvidia.enable = true;
|
||||||
|
restic-backup.enable = true;
|
||||||
|
secrets = {
|
||||||
|
enable = true;
|
||||||
|
nixSigningKey.enable = true;
|
||||||
|
};
|
||||||
|
ssh.enable = true;
|
||||||
|
storage.enable = true;
|
||||||
|
syncthing.enable = true;
|
||||||
|
tailscale.enable = true;
|
||||||
|
taskwarrior.enable = true;
|
||||||
|
wol = {
|
||||||
|
enable = true;
|
||||||
|
interfaces.eno1 = { inherit (wolInterfaces.eno1) macAddress; };
|
||||||
|
};
|
||||||
|
|
||||||
disko.devices = {
|
disko.devices = {
|
||||||
disk.data = {
|
disk.data = {
|
||||||
@@ -91,25 +97,10 @@ in
|
|||||||
inputs.colmena.packages.${pkgs.stdenv.hostPlatform.system}.colmena
|
inputs.colmena.packages.${pkgs.stdenv.hostPlatform.system}.colmena
|
||||||
];
|
];
|
||||||
|
|
||||||
my.yubikey = {
|
|
||||||
enable = true;
|
|
||||||
pam.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.locate = {
|
services.locate = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.plocate;
|
package = pkgs.plocate;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostId = "80eef97e";
|
networking.hostId = "80eef97e";
|
||||||
|
|
||||||
wol = {
|
|
||||||
enable = true;
|
|
||||||
interfaces.eno1 = { inherit (wolInterfaces.eno1) macAddress; };
|
|
||||||
};
|
|
||||||
|
|
||||||
firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [ 22 ];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,9 +5,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
wolInterfaces = import ../andromache/wol-interfaces.nix;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.disko.nixosModules.disko
|
inputs.disko.nixosModules.disko
|
||||||
@@ -16,47 +14,50 @@ in
|
|||||||
inputs.nixos-hardware.nixosModules.common-pc
|
inputs.nixos-hardware.nixosModules.common-pc
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
||||||
# inputs.nixos-hardware.nixosModules.lenovo-thinkpad-e14-intel-gen7 (not available yet?)
|
# inputs.nixos-hardware.nixosModules.lenovo-thinkpad-e14-intel-gen7 (not available yet?)
|
||||||
inputs.sops-nix.nixosModules.sops
|
../../modules
|
||||||
../../modules/common
|
|
||||||
../../modules/boot/bootloader.nix
|
|
||||||
(import ../../modules/disko/zfs-encrypted-root.nix {
|
(import ../../modules/disko/zfs-encrypted-root.nix {
|
||||||
inherit lib config;
|
inherit lib config;
|
||||||
device = "/dev/nvme0n1";
|
device = "/dev/nvme0n1";
|
||||||
})
|
})
|
||||||
../../modules/ai-tools
|
|
||||||
../../modules/anki
|
|
||||||
../../modules/audio
|
|
||||||
../../modules/backups
|
|
||||||
../../modules/bluetooth
|
|
||||||
../../modules/desktops/niri
|
|
||||||
../../modules/docker
|
|
||||||
../../modules/firewall
|
|
||||||
../../modules/fonts
|
|
||||||
../../modules/git
|
|
||||||
../../modules/keyboard
|
|
||||||
../../modules/localization
|
|
||||||
../../modules/networking
|
|
||||||
../../modules/nfc
|
|
||||||
../../modules/secrets
|
|
||||||
../../modules/ssh
|
|
||||||
../../modules/storage
|
|
||||||
../../modules/stylix
|
|
||||||
../../modules/tailscale
|
|
||||||
../../modules/taskwarrior
|
|
||||||
../../modules/users
|
|
||||||
../../modules/yubikey
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.${config.host.username} = import ../../home/hosts/${config.host.name};
|
home-manager.users.${config.host.username} = import ../../home/hosts/${config.host.name};
|
||||||
|
|
||||||
secrets.nixSigningKey.enable = true;
|
"ai-tools".enable = true;
|
||||||
|
anki.enable = true;
|
||||||
|
audio.enable = true;
|
||||||
|
bluetooth.enable = true;
|
||||||
|
bootloader.enable = true;
|
||||||
|
desktop.niri.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
keyboard.enable = true;
|
||||||
|
localization.enable = true;
|
||||||
|
my = {
|
||||||
|
fonts.enable = true;
|
||||||
|
stylix.enable = true;
|
||||||
|
users.enable = true;
|
||||||
|
yubikey = {
|
||||||
|
enable = true;
|
||||||
|
pam.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
networking.enable = true;
|
||||||
|
secrets.enable = true;
|
||||||
|
ssh.enable = true;
|
||||||
|
storage.enable = true;
|
||||||
|
taskwarrior.enable = true;
|
||||||
|
|
||||||
|
secrets.nixSigningKey.enable = true;
|
||||||
restic-backup.enable = true;
|
restic-backup.enable = true;
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
|
desktop.ly.enable = true;
|
||||||
docker.enable = true;
|
docker.enable = true;
|
||||||
nfc.enable = true;
|
nfc.enable = true;
|
||||||
desktop.ly.enable = true;
|
|
||||||
audio.automation.enable = true;
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ 22 ];
|
||||||
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
cpu.intel.updateMicrocode = true;
|
cpu.intel.updateMicrocode = true;
|
||||||
@@ -90,18 +91,8 @@ in
|
|||||||
hostId = "80eef97e";
|
hostId = "80eef97e";
|
||||||
};
|
};
|
||||||
|
|
||||||
firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [ 22 ];
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
|
|
||||||
my.yubikey = {
|
|
||||||
enable = true;
|
|
||||||
pam.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
fwupd.enable = true;
|
fwupd.enable = true;
|
||||||
locate = {
|
locate = {
|
||||||
|
|||||||
@@ -7,10 +7,11 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./hard.nix
|
./hard.nix
|
||||||
./host.nix
|
./host.nix
|
||||||
../../modules/common
|
../../modules
|
||||||
../../modules/ssh
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
ssh.enable = true;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"console=ttyS1,115200n8"
|
"console=ttyS1,115200n8"
|
||||||
|
|||||||
@@ -7,12 +7,10 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./hard.nix
|
./hard.nix
|
||||||
./host.nix
|
./host.nix
|
||||||
../../modules/common
|
../../modules
|
||||||
../../modules/ssh
|
|
||||||
../../modules/tailscale
|
|
||||||
# ../../modules/uptime-kuma
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
ssh.enable = true;
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
|
|||||||
@@ -12,14 +12,14 @@
|
|||||||
inputs.disko.nixosModules.disko
|
inputs.disko.nixosModules.disko
|
||||||
./hard.nix
|
./hard.nix
|
||||||
./host.nix
|
./host.nix
|
||||||
../../modules/common
|
../../modules
|
||||||
../../modules/ssh
|
|
||||||
../../modules/docker
|
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = config.host.name;
|
ssh.enable = true;
|
||||||
docker.enable = true;
|
docker.enable = true;
|
||||||
|
|
||||||
|
networking.hostName = config.host.name;
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-label/nixos";
|
device = "/dev/disk/by-label/nixos";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
|
|||||||
@@ -9,27 +9,30 @@
|
|||||||
./hard.nix
|
./hard.nix
|
||||||
./host.nix
|
./host.nix
|
||||||
./disk.nix
|
./disk.nix
|
||||||
../../modules/common
|
../../modules
|
||||||
../../modules/anki
|
|
||||||
../../modules/audio
|
|
||||||
../../modules/boot/bootloader.nix
|
|
||||||
../../modules/fonts
|
|
||||||
../../modules/git
|
|
||||||
../../modules/keyboard
|
|
||||||
../../modules/localization
|
|
||||||
../../modules/networking
|
|
||||||
../../modules/ai-tools
|
|
||||||
../../modules/ssh
|
|
||||||
../../modules/storage
|
|
||||||
../../modules/stylix
|
|
||||||
../../modules/secrets
|
|
||||||
../../modules/taskwarrior
|
|
||||||
../../modules/users
|
|
||||||
../../modules/x
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.${config.host.username} = import ../../home/hosts/vm;
|
home-manager.users.${config.host.username} = import ../../home/hosts/vm;
|
||||||
|
|
||||||
|
"ai-tools".enable = true;
|
||||||
|
anki.enable = true;
|
||||||
|
audio.enable = true;
|
||||||
|
bootloader.enable = true;
|
||||||
|
desktop.x.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
keyboard.enable = true;
|
||||||
|
localization.enable = true;
|
||||||
|
my = {
|
||||||
|
fonts.enable = true;
|
||||||
|
stylix.enable = true;
|
||||||
|
users.enable = true;
|
||||||
|
};
|
||||||
|
networking.enable = true;
|
||||||
|
secrets.enable = true;
|
||||||
|
ssh.enable = true;
|
||||||
|
storage.enable = true;
|
||||||
|
taskwarrior.enable = true;
|
||||||
|
|
||||||
disko = {
|
disko = {
|
||||||
devices.disk.main = {
|
devices.disk.main = {
|
||||||
device = "/dev/vda";
|
device = "/dev/vda";
|
||||||
|
|||||||
10
modules/default.nix
Normal file
10
modules/default.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
let
|
||||||
|
dirs = lib.attrNames (lib.filterAttrs (_: v: v == "directory") (builtins.readDir ./.));
|
||||||
|
hasDef = name: builtins.pathExists ./${name}/default.nix;
|
||||||
|
in
|
||||||
|
map (name: ./${name}) (builtins.filter hasDef dirs);
|
||||||
|
}
|
||||||
8
modules/desktops/default.nix
Normal file
8
modules/desktops/default.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./gnome
|
||||||
|
./niri
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user