let's do some inheritance shenanigans

This commit is contained in:
Daylin Morgan 2024-03-21 15:59:10 -05:00
parent 60a6311a0d
commit f3a5290a80
Signed by: daylin
GPG Key ID: 950D13E9719334AD
8 changed files with 96 additions and 120 deletions

View File

@ -6,7 +6,7 @@
lib = nixpkgs.lib.extend (import ./extended.nix);
inherit (builtins) mapAttrs readDir filter listToAttrs;
inherit (lib) nixosSystem genAttrs isNixFile;
inherit (lib) nixosSystem genAttrs isNixFile mkDefaultOizysModule mkOizysModule;
inherit (lib.filesystem) listFilesRecursive;
inherit (import ./find-modules.nix {inherit lib;}) findModulesList;
@ -29,7 +29,7 @@ in rec {
isNixFile
(listFilesRecursive (../. + "/hosts/${hostname}"));
specialArgs = {inherit inputs lib self;};
specialArgs = {inherit inputs lib self mkDefaultOizysModule mkOizysModule;};
};
oizysHosts = mapAttrs (name: _: mkSystem name) (readDir ../hosts);

View File

@ -2,10 +2,9 @@
inputs,
pkgs,
config,
lib,
mkOizysModule,
...
}: let
inherit (lib) mkOizysModule enabled;
lock = pkgs.writeShellApplication {
name = "lock";
runtimeInputs = with pkgs; [swaylock];
@ -15,7 +14,7 @@
};
in
mkOizysModule config "hyprland" {
programs.hyprland = enabled;
programs.hyprland.enable = true;
security.pam.services.swaylock = {};
# Optional, hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL = "1";

View File

@ -1,31 +1,29 @@
{
inputs,
lib,
pkgs,
config,
mkDefaultOizysModule,
...
}: let
inherit (lib) mkDefaultOizysModule;
in
mkDefaultOizysModule config "cli" {
programs.direnv.enable = true;
environment.sessionVariables = {
DIRENV_LOG_FORMAT = "direnv: %s";
};
}:
mkDefaultOizysModule config "cli" {
programs.direnv.enable = true;
environment.sessionVariables = {
DIRENV_LOG_FORMAT = "direnv: %s";
};
environment.systemPackages = with pkgs; [
chezmoi
zoxide
lsd
fzf
environment.systemPackages = with pkgs; [
chezmoi
zoxide
lsd
fzf
# utils
fd
bat
delta
ripgrep
# utils
fd
bat
delta
ripgrep
btop
inputs.tsm.packages.${pkgs.system}.tsm
];
}
btop
inputs.tsm.packages.${pkgs.system}.tsm
];
}

View File

@ -1,11 +1,9 @@
{
config,
lib,
pkgs,
mkOizysModule,
...
}: let
inherit (lib) mkOizysModule;
in
mkOizysModule config "vpn" {
environment.systemPackages = [pkgs.openconnect];
}
}:
mkOizysModule config "vpn" {
environment.systemPackages = [pkgs.openconnect];
}

View File

@ -1,30 +1,28 @@
{
pkgs,
config,
lib,
mkOizysModule,
...
}: let
inherit (lib) mkOizysModule;
in
mkOizysModule config "chrome" {
programs.chromium = {
enable = true;
}:
mkOizysModule config "chrome" {
programs.chromium = {
enable = true;
extensions = [
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
"gfbliohnnapiefjpjlpjnehglfpaknnc" # surfingkeys
"pbmlfaiicoikhdbjagjbglnbfcbcojpj" # simplify gmail
"oemmndcbldboiebfnladdacbdfmadadm" # pdf viewer
"clngdbkpkpeebahjckkjfobafhncgmne" # stylus
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
];
};
environment.systemPackages = with pkgs; [
(google-chrome.override {
commandLineArgs = [
"--force-dark-mode"
];
})
extensions = [
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
"gfbliohnnapiefjpjlpjnehglfpaknnc" # surfingkeys
"pbmlfaiicoikhdbjagjbglnbfcbcojpj" # simplify gmail
"oemmndcbldboiebfnladdacbdfmadadm" # pdf viewer
"clngdbkpkpeebahjckkjfobafhncgmne" # stylus
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
];
}
};
environment.systemPackages = with pkgs; [
(google-chrome.override {
commandLineArgs = [
"--force-dark-mode"
];
})
];
}

View File

@ -1,37 +1,35 @@
{
config,
pkgs,
lib,
mkOizysModule,
...
}: let
inherit (lib) mkOizysModule;
in
mkOizysModule config "backups" {
environment.systemPackages = with pkgs; [rclone];
}:
mkOizysModule config "backups" {
environment.systemPackages = with pkgs; [rclone];
services.restic.backups.gdrive = {
# BUG: if .conda/environments.txt doesn't exist then this won't work
# workaround for now `mkdir ~/.conda && touch ~/.conda/environments.txt`
services.restic.backups.gdrive = {
# BUG: if .conda/environments.txt doesn't exist then this won't work
# workaround for now `mkdir ~/.conda && touch ~/.conda/environments.txt`
extraBackupArgs = [
"--exclude-file /home/daylin/.config/restic/excludes.txt"
"--exclude-file /home/daylin/.conda/environments.txt"
"--verbose"
"--one-file-system"
"--tag systemd.timer"
];
pruneOpts = [
"--verbose"
"--tag systemd.timer"
"--keep-daily 7"
"--keep-weekly 4"
"--keep-monthly 12"
"--keep-yearly 3"
];
timerConfig = {
OnCalendar = "00:05";
Persistent = true;
RandomizedDelaySec = "5h";
};
extraBackupArgs = [
"--exclude-file /home/daylin/.config/restic/excludes.txt"
"--exclude-file /home/daylin/.conda/environments.txt"
"--verbose"
"--one-file-system"
"--tag systemd.timer"
];
pruneOpts = [
"--verbose"
"--tag systemd.timer"
"--keep-daily 7"
"--keep-weekly 4"
"--keep-monthly 12"
"--keep-yearly 3"
];
timerConfig = {
OnCalendar = "00:05";
Persistent = true;
RandomizedDelaySec = "5h";
};
}
};
}

View File

@ -1,25 +1,12 @@
{
pkgs,
config,
lib,
mkOizysModule,
...
}: let
inherit (lib) mkOizysModule;
in
mkOizysModule config "docker" {
virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [
lazydocker
];
}
# in {
# options.oizys.docker.enable = mkEnableOption "enable docker support";
#
# config = mkIf cfg.enable {
# virtualisation.docker.enable = true;
# environment.systemPackages = with pkgs; [
# lazydocker
# ];
# };
# }
}:
mkOizysModule config "docker" {
virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [
lazydocker
];
}

View File

@ -1,13 +1,11 @@
{
config,
lib,
mkOizysModule,
...
}: let
inherit (lib) mkOizysModule;
in
mkOizysModule config "vbox" {
virtualisation.virtualbox = {
host.enable = true;
};
users.extraGroups.vboxusers.members = ["daylin"];
}
}:
mkOizysModule config "vbox" {
virtualisation.virtualbox = {
host.enable = true;
};
users.extraGroups.vboxusers.members = ["daylin"];
}